diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-05-19 05:54:26 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-05-19 05:54:26 +0000 |
commit | c91c739e64db76a4682df0bff1c5583ee2492d7c (patch) | |
tree | 8d272b041c11a4099867972052e38151168c536d /lisp | |
parent | 268466edbe1e807739cc6e1a9e07b5b9650c68fa (diff) | |
download | emacs-c91c739e64db76a4682df0bff1c5583ee2492d7c.tar.gz emacs-c91c739e64db76a4682df0bff1c5583ee2492d7c.tar.bz2 emacs-c91c739e64db76a4682df0bff1c5583ee2492d7c.zip |
(menu-bar-update-buffers): Record buffers' mod and
read-only flags, and recompute if they change.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/menu-bar.el | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 8b33d7d08c3..c89a356b6af 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -264,11 +264,19 @@ A large number or nil slows down menu responsiveness.") (defun menu-bar-update-buffers () (let ((buffers (buffer-list)) (frames (frame-list)) + buffers-info buffers-menu frames-menu) - (if (and (equal buffers menu-bar-update-buffers-last-buffers) + (setq buffers-info + (mapcar (function (lambda (buffer) + (list buffer (buffer-modified-p buffer) + (save-excursion + (set-buffer buffer) + buffer-read-only)))) + buffers)) + (if (and (equal buffers-info menu-bar-update-buffers-last-buffers) (equal frames menu-bar-update-buffers-last-frames)) nil - (setq menu-bar-update-buffers-last-buffers buffers) + (setq menu-bar-update-buffers-last-buffers buffers-info) (setq menu-bar-update-buffers-last-frames frames) ;; If requested, list only the N most recently selected buffers. (if (and (integerp buffers-menu-max-size) |