mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
(menu-bar-update-buffers): Reuse the entry for
list-buffers rather than making a new one each time.
This commit is contained in:
parent
d133d8353a
commit
06ff75391c
@ -429,6 +429,8 @@ A large number or nil slows down menu responsiveness.")
|
|||||||
file))
|
file))
|
||||||
(car elt)))
|
(car elt)))
|
||||||
|
|
||||||
|
(defvar menu-bar-buffers-menu-list-buffers-entry nil)
|
||||||
|
|
||||||
(defun menu-bar-update-buffers ()
|
(defun menu-bar-update-buffers ()
|
||||||
;; If user discards the Buffers item, play along.
|
;; If user discards the Buffers item, play along.
|
||||||
(and (lookup-key (current-global-map) [menu-bar buffer])
|
(and (lookup-key (current-global-map) [menu-bar buffer])
|
||||||
@ -486,6 +488,25 @@ A large number or nil slows down menu responsiveness.")
|
|||||||
(setq maxlen (length (car (car alist))))))
|
(setq maxlen (length (car (car alist))))))
|
||||||
(setq tail (cdr tail)))
|
(setq tail (cdr tail)))
|
||||||
(setq alist (nreverse alist))
|
(setq alist (nreverse alist))
|
||||||
|
;; Make the menu item for list-buffers
|
||||||
|
;; or reuse the one we already have.
|
||||||
|
;; The advantage in reusing one
|
||||||
|
;; is that it already has the keyboard equivalent
|
||||||
|
;; cached, so we save the time to look that up again.
|
||||||
|
(or menu-bar-buffers-menu-list-buffers-entry
|
||||||
|
(setq menu-bar-buffers-menu-list-buffers-entry
|
||||||
|
(cons
|
||||||
|
'list-buffers
|
||||||
|
(cons
|
||||||
|
""
|
||||||
|
'list-buffers))))
|
||||||
|
;; Update the item string for menu's new width.
|
||||||
|
(setcar (cdr menu-bar-buffers-menu-list-buffers-entry)
|
||||||
|
(concat (make-string (max (- (/ maxlen 2) 8) 0)
|
||||||
|
?\ )
|
||||||
|
"List All Buffers"))
|
||||||
|
;; Now make the actual list of items,
|
||||||
|
;; ending with the list-buffers item.
|
||||||
(nconc (mapcar '(lambda (pair)
|
(nconc (mapcar '(lambda (pair)
|
||||||
;; This is somewhat risque, to use
|
;; This is somewhat risque, to use
|
||||||
;; the buffer name itself as the event
|
;; the buffer name itself as the event
|
||||||
@ -498,14 +519,7 @@ A large number or nil slows down menu responsiveness.")
|
|||||||
(cons nil nil))
|
(cons nil nil))
|
||||||
'menu-bar-select-buffer))
|
'menu-bar-select-buffer))
|
||||||
alist)
|
alist)
|
||||||
(list
|
(list menu-bar-buffers-menu-list-buffers-entry)))))
|
||||||
(cons
|
|
||||||
'list-buffers
|
|
||||||
(cons
|
|
||||||
(concat (make-string (max (- (/ maxlen 2) 8) 0)
|
|
||||||
?\ )
|
|
||||||
"List All Buffers")
|
|
||||||
'list-buffers)))))))
|
|
||||||
|
|
||||||
|
|
||||||
;; Make a Frames menu if we have more than one frame.
|
;; Make a Frames menu if we have more than one frame.
|
||||||
|
Loading…
Reference in New Issue
Block a user