From: Stefan Monnier Date: Mon, 22 Oct 2007 04:10:04 +0000 (+0000) Subject: (global-buffers-menu-map): New var. X-Git-Tag: emacs-pretest-22.1.90~549 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bf90285595edf103510242be5f8c50e8cb976d96;p=emacs.git (global-buffers-menu-map): New var. (global-map, menu-bar-update-buffers): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1a274bf1721..9aaf99278ba 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-10-22 Stefan Monnier + + * menu-bar.el (global-buffers-menu-map): New var. + (global-map, menu-bar-update-buffers): Use it. + 2007-10-21 Dan Nicolaescu * hexl.el (hexl-menu): New major mode menu. @@ -58,6 +63,11 @@ * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Tweak regexp to avoid stack overflow. +2007-10-16 Stefan Monnier + + * simple.el (reindent-then-newline-and-indent): Don't assume that + indent-according-to-mode preserves point. + 2007-10-16 Juanma Barranquero * bs.el (bs--window-config-coming-from): Revert 2006-11-09 change. diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 51855d4db8e..a44165ff633 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -56,9 +56,10 @@ A large number or nil slows down menu responsiveness." (defvar menu-bar-tools-menu (make-sparse-keymap "Tools")) (define-key global-map [menu-bar tools] (cons "Tools" menu-bar-tools-menu)) ;; This definition is just to show what this looks like. -;; It gets overridden below when menu-bar-update-buffers is called. +;; It gets modified in place when menu-bar-update-buffers is called. +(defvar global-buffers-menu-map (make-sparse-keymap "Buffers")) (define-key global-map [menu-bar buffer] - (cons "Buffers" (make-sparse-keymap "Buffers"))) + (cons "Buffers" global-buffers-menu-map)) (defvar menu-bar-options-menu (make-sparse-keymap "Options")) (define-key global-map [menu-bar options] (cons "Options" menu-bar-options-menu)) @@ -1576,7 +1577,7 @@ Buffers menu is regenerated." (or force (frame-or-buffer-changed-p)) (let ((buffers (buffer-list)) (frames (frame-list)) - buffers-menu frames-menu) + buffers-menu) ;; If requested, list only the N most recently selected buffers. (if (and (integerp buffers-menu-max-size) (> buffers-menu-max-size 1)) @@ -1677,10 +1678,10 @@ Buffers menu is regenerated." (setq buffers-menu (nconc buffers-menu menu-bar-buffers-menu-command-entries)) - (setq buffers-menu (cons 'keymap (cons "Select Buffer" buffers-menu))) - (define-key (current-global-map) [menu-bar buffer] - ;; Call copy-sequence so the string is not pure. - (cons (copy-sequence "Buffers") buffers-menu))))) + ;; We used to "(define-key (current-global-map) [menu-bar buffer]" + ;; but that did not do the right thing when the [menu-bar buffer] + ;; entry above had been moved (e.g. to a parent keymap). + (setcdr global-buffers-menu-map (cons "Select Buffer" buffers-menu))))) (add-hook 'menu-bar-update-hook 'menu-bar-update-buffers) @@ -1773,5 +1774,5 @@ turn on menu bars; otherwise, turn off menu bars." (provide 'menu-bar) -;;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced +;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced ;;; menu-bar.el ends here