]> git.eshelyaron.com Git - emacs.git/commitdiff
(menu-bar-update-buffers): Record buffers' mod and
authorRichard M. Stallman <rms@gnu.org>
Thu, 19 May 1994 05:54:26 +0000 (05:54 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 19 May 1994 05:54:26 +0000 (05:54 +0000)
read-only flags, and recompute if they change.

lisp/menu-bar.el

index 8b33d7d08c3c131f724df4fbd8dc4e4725d322d4..c89a356b6af1aeabcaaf127842ec746ca55aa2e1 100644 (file)
@@ -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)