• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/emacs-93/emacs/lisp/

Lines Matching +defs:buffer +defs:menu

98 ;; Provide a mode-specific menu on a mouse button.
100 (defun popup-menu (menu &optional position prefix)
101 "Popup the given menu and call the selected option.
102 MENU can be a keymap, an easymenu-style menu or a list of keymaps as for
103 `x-popup-menu'.
108 ((keymapp menu) menu)
109 ((and (listp menu) (keymapp (car menu))) menu)
110 (t (let* ((map (easy-menu-create-menu (car menu) (cdr menu)))
112 (plist-get (get map 'menu-prop) :filter))))
118 ;; The looping behavior was taken from lmenu's popup-menu-popup
123 (x-popup-menu position (indirect-function map))))
124 ;; Strangely x-popup-menu returns a list.
125 ;; mouse-major-mode-menu was using a weird:
126 ;; (key-binding (apply 'vector (append '(menu-bar) menu-prefix events)))
150 ;; expects this to be set from a menu keymap.
152 ;; mouse-major-mode-menu was using `command-execute' instead.
155 (defvar mouse-major-mode-menu-prefix) ; dynamically bound
157 (defun mouse-major-mode-menu (event &optional prefix)
158 "Pop up a mode-specific menu of mouse commands.
159 Default to the Edit menu if the major mode doesn't define a menu."
164 (run-hooks 'activate-menubar-hook 'menu-bar-update-hook)
165 (let* (;; This is where mouse-major-mode-menu-prefix
166 ;; returns the prefix we should use (after menu-bar).
168 (mouse-major-mode-menu-prefix nil)
170 (ancestor (mouse-major-mode-menu-1
172 (local-key-binding [menu-bar]))))
173 ;; Make a keymap in which our last command leads to a menu or
174 ;; default to the edit menu.
177 menu-bar-edit-menu)))
179 ;; Make our menu inherit from the desired keymap which we want
180 ;; to display as the menu now.
182 (popup-menu newmap event prefix)))
186 ;;;(defun mouse-major-mode-menu-compute-equiv-keys (menu)
187 ;;; (and (eq (car menu) 'keymap)
188 ;;; (x-popup-menu nil menu))
189 ;;; (while menu
190 ;;; (and (consp (car menu))
191 ;;; (consp (cdr (car menu)))
192 ;;; (let ((tail (cdr (car menu))))
197 ;;; (mouse-major-mode-menu-compute-equiv-keys tail))))
198 ;;; (setq menu (cdr menu))))
200 ;; Given a mode's menu bar keymap,
201 ;; if it defines exactly one menu bar menu,
202 ;; return just that menu.
203 ;; Otherwise return a menu for all of them.
204 (defun mouse-major-mode-menu-1 (menubar)
216 (setq mouse-major-mode-menu-prefix (list (car submap)))
220 "Pop up a menu equivalent to the menu bar for keyboard EVENT with PREFIX.
221 The contents are the items that would be in the menu bar whether or
224 (run-hooks 'activate-menubar-hook 'menu-bar-update-hook)
225 (let* ((local-menu (and (current-local-map)
226 (lookup-key (current-local-map) [menu-bar])))
227 (global-menu (lookup-key global-map [menu-bar]))
232 ;; display non-empty menu pane names.
236 (lambda (menu)
237 (let* ((minor-mode (car menu))
238 (menu (cdr menu))
239 (title-or-map (cadr menu)))
241 (setq menu
248 (cdr menu)))))
249 menu)))
250 (minor-mode-key-binding [menu-bar])))
251 (local-title-or-map (and local-menu (cadr local-menu)))
252 (global-title-or-map (cadr global-menu)))
253 (or (null local-menu)
255 (setq local-menu (cons 'keymap
257 (cdr local-menu)))))
259 (setq global-menu (cons 'keymap
261 (cdr global-menu)))))
263 (popup-menu (append (list global-menu)
264 (if local-menu
265 (list local-menu))
270 "Popup a menu like either `mouse-major-mode-menu' or `mouse-popup-menubar'.
271 Use the former if the menu bar is showing, otherwise the latter."
273 (if (zerop (assoc-default 'menu-bar-lines (frame-parameters) 'eq 0))
275 (mouse-major-mode-menu event prefix)))
286 (run-hooks 'mouse-leave-buffer-hook))
310 "Delete the window clicked on, and create a new frame displaying its buffer."
314 (buf (window-buffer window))
317 (switch-to-buffer buf)
403 (run-hooks 'mouse-leave-buffer-hook)
552 (run-hooks 'mouse-leave-buffer-hook)
645 (eq mouse-last-region-tick (buffer-modified-tick))))
680 (setq mouse-last-region-tick (buffer-modified-tick)))
739 ;; Create an overlay and immediately delete it, to get "overlay in no buffer".
748 (defvar mouse-selection-click-count-buffer nil)
757 If the click is in the echo area, display the `*Messages*' buffer."
765 (set-buffer (get-buffer-create "*Messages*"))
767 (display-buffer (current-buffer)))
769 (run-hooks 'mouse-leave-buffer-hook)
775 POS may be either a buffer position or a click position like
779 the corresponding buffer position is searched for PROPERTY.
792 "Return non-nil if POS is on a link in the current buffer.
793 POS must be a buffer position in the current buffer or a mouse
840 ;; FIXME: This seems questionable if the click is not in a buffer.
843 (with-current-buffer (window-buffer (posn-window pos))
861 (with-current-buffer (window-buffer (posn-window pos))
894 (setq mouse-selection-click-count-buffer (current-buffer))
896 ;; We've recorded what we needed from the current buffer and
1023 (let ((buffer (current-buffer)))
1030 (eq buffer (current-buffer))
1330 (run-hooks 'mouse-leave-buffer-hook)
1355 ;; because they happen automatically only for the current buffer.
1357 (if (or (= beg end) (eq buffer-undo-list t))
1358 ;; If we have no undo list in this buffer,
1362 ;; First, delete just one char, so in case buffer is being modified
1367 (let ((buffer-undo-list buffer-undo-list))
1370 (primitive-undo 1 buffer-undo-list))
1373 (setq buffer-undo-list t)
1377 (let ((tail buffer-undo-list))
1378 ;; Search back in buffer-undo-list for the string
1400 (with-current-buffer (window-buffer (posn-window (event-start click)))
1407 (if (and (with-current-buffer
1408 (window-buffer (posn-window (event-start click)))
1410 ;; Don't be fooled by a recent click in some other buffer.
1411 (eq mouse-selection-click-count-buffer
1412 (current-buffer)))))
1429 (kill-new (buffer-substring (point) (mark t)) t)
1445 ;; mouse-save-then-kill, delete the text from the buffer.
1471 (kill-new (buffer-substring (point) (mark t)) t))
1477 (kill-new (buffer-substring (point) (mark t))))
1511 (with-current-buffer (window-buffer (posn-window posn))
1528 (with-current-buffer (window-buffer (posn-window posn))
1534 (buffer-substring (overlay-start mouse-secondary-overlay)
1555 (with-current-buffer (window-buffer start-window)
1564 ;; (window-buffer start-window))
1566 (window-buffer start-window)))
1618 (buffer-substring (overlay-start mouse-secondary-overlay)
1628 (run-hooks 'mouse-leave-buffer-hook)
1637 The current buffer (in case of keyboard use), or the buffer clicked on,
1643 (or (eq (overlay-buffer mouse-secondary-overlay)
1645 (window-buffer (posn-window (event-start click)))
1646 (current-buffer)))
1647 (error "Select or click on the buffer where the secondary selection is")))
1649 (with-current-buffer (overlay-buffer mouse-secondary-overlay)
1658 You must use this in a buffer where you have recently done \\[mouse-start-secondary].
1665 If you have already made a secondary selection in that buffer,
1676 (or (eq (window-buffer (posn-window posn))
1677 (or (overlay-buffer mouse-secondary-overlay)
1679 (marker-buffer mouse-secondary-start))))
1680 (error "Wrong buffer"))
1681 (with-current-buffer (window-buffer (posn-window posn))
1702 (kill-new (buffer-substring
1722 ;; mouse-secondary-save-then-kill, delete the text from the buffer.
1749 (kill-new (buffer-substring
1763 (if (overlay-buffer mouse-secondary-overlay)
1765 (buffer-substring
1770 (defcustom mouse-buffer-menu-maxlen 20
1771 "*Number of buffers in one pane (submenu) of the buffer menu.
1773 `mouse-buffer-menu-maxlen' and make a pane (or submenu) for each one."
1777 (defcustom mouse-buffer-menu-mode-mult 4
1778 "*Group the buffers by the major mode groups on \\[mouse-buffer-menu]?
1779 This number which determines (in a hairy way) whether \\[mouse-buffer-menu]
1780 will split the buffer menu by the major modes (see
1781 `mouse-buffer-menu-mode-groups') or just by menu length.
1788 (defvar mouse-buffer-menu-mode-groups
1799 "How to group various major modes together in \\[mouse-buffer-menu].
1803 (defun mouse-buffer-menu (event)
1804 "Pop up a menu of buffers for selection with the mouse.
1809 (let ((buffers (buffer-list)) alist menu split-by-major-mode sum-of-squares)
1815 (with-current-buffer (car tail)
1817 (let ((tail mouse-buffer-menu-mode-groups))
1840 (if (< (* sum-of-squares mouse-buffer-menu-mode-mult)
1850 ;; that has more than one buffer,
1855 (let ((this-mode-list (mouse-buffer-menu-alist
1870 (mouse-buffer-menu-alist
1878 (setq menu (cons "Buffer Menu" (nreverse subdivided-menus))))
1880 (setq alist (mouse-buffer-menu-alist buffers))
1881 (setq menu (cons "Buffer Menu"
1882 (mouse-buffer-menu-split "Select Buffer" alist)))))
1883 (let ((buf (x-popup-menu event menu))
1889 (switch-to-buffer buf)))))
1891 (defun mouse-buffer-menu-alist (buffers)
1898 (string< (buffer-name elt1) (buffer-name elt2))))))
1901 (or (eq ?\s (aref (buffer-name (car tail)) 0))
1904 (length (buffer-name (car tail))))))
1909 (if (/= (aref (buffer-name elt) 0) ?\s)
1915 (buffer-name elt)
1916 (if (buffer-modified-p elt) "*" " ")
1918 (set-buffer elt)
1919 (if buffer-read-only "%" " "))
1920 (or (buffer-file-name elt)
1922 (set-buffer elt)
1933 (defun mouse-buffer-menu-split (title alist)
1936 (if (> (length alist) (/ (* mouse-buffer-menu-maxlen 3) 2))
1940 ;; Pull off the next mouse-buffer-menu-maxlen buffers
1942 (setq next (nthcdr mouse-buffer-menu-maxlen alist))
1944 (setcdr (nthcdr (1- mouse-buffer-menu-maxlen) alist)
1985 ;;;!! (let* ((scale-factor (max 1 (/ length (/ 8000000 (buffer-size)))))
1986 ;;;!! (newpos (* (/ (* (/ (buffer-size) scale-factor)
2095 ;;;!! ;;(defun mouse-select-buffer-line (event)
2148 ;;;!! ;; (message "%s" (buffer-substring begin-reg end-reg))
2286 "Click on an alternative in the `*Completions*' buffer to choose it."
2289 (run-hooks 'mouse-leave-buffer-hook)
2290 (let ((buffer (window-buffer))
2294 (set-buffer (window-buffer (posn-window (event-start event))))
2295 (if completion-reference-buffer
2296 (setq buffer completion-reference-buffer))
2308 (setq choice (buffer-substring-no-properties beg end)))))
2313 ;; This is a special buffer's frame
2316 (bury-buffer)))
2318 (choose-completion-string choice buffer base-size)))
2323 (defun font-menu-add-default ()
2334 '("Font menu"
2409 (x-popup-menu
2414 (append x-fixed-font-alist (list (generate-fontset-menu))))))
2453 (global-set-key [C-down-mouse-1] 'mouse-buffer-menu)