aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2002-04-23 14:33:02 +0000
committerMiles Bader2002-04-23 14:33:02 +0000
commit68703c115692066d00800da1fcbfd951f4f943e1 (patch)
tree09e389e7e734e941729c014d194349cb854a021c
parentb3738089df517937f7ddc13a8f00a7a59280729a (diff)
downloademacs-68703c115692066d00800da1fcbfd951f4f943e1.tar.gz
emacs-68703c115692066d00800da1fcbfd951f4f943e1.zip
(menu-bar-update-buffers-1): Don't display a directory separator if
there's no directory. Don't display directories at all if uniquify is active. Some code cleanup. (uniquify-buffer-name-style): Declare (but don't initialize).
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/menu-bar.el42
2 files changed, 26 insertions, 21 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3c2442b9dba..099bfe3b0f4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,10 @@
12002-04-23 Miles Bader <miles@gnu.org> 12002-04-23 Miles Bader <miles@gnu.org>
2 2
3 * menu-bar.el (menu-bar-update-buffers-1): Don't display a
4 directory separator if there's no directory. Don't display
5 directories at all if uniquify is active. Some code cleanup.
6 (uniquify-buffer-name-style): Declare (but don't initialize).
7
3 * menu-bar.el (menu-bar-update-buffers): Don't use constant lists 8 * menu-bar.el (menu-bar-update-buffers): Don't use constant lists
4 for command menu entries, since the low-level menu code modifies 9 for command menu entries, since the low-level menu code modifies
5 them. Cache the resulting list. 10 them. Cache the resulting list.
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index c5765230f03..60fdb59994a 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -68,6 +68,10 @@ A large number or nil slows down menu responsiveness."
68 68
69;; This alias is for compatibility with 19.28 and before. 69;; This alias is for compatibility with 19.28 and before.
70(defvar menu-bar-file-menu menu-bar-files-menu) 70(defvar menu-bar-file-menu menu-bar-files-menu)
71
72;; This is referenced by some code below; it is defined in uniquify.el
73(defvar uniquify-buffer-name-style)
74
71 75
72;; The "File" menu items 76;; The "File" menu items
73(define-key menu-bar-files-menu [exit-emacs] 77(define-key menu-bar-files-menu [exit-emacs]
@@ -1260,27 +1264,23 @@ key (or menu-item)"))
1260 (select-frame frame))) 1264 (select-frame frame)))
1261 1265
1262(defun menu-bar-update-buffers-1 (elt) 1266(defun menu-bar-update-buffers-1 (elt)
1263 (cons (format 1267 ;; (format "%%%ds %%s%%s %%s" menu-bar-update-buffers-maxbuf)
1264 ;; (format "%%%ds %%s%%s %%s" menu-bar-update-buffers-maxbuf) 1268 (let* ((buf (car elt))
1265 "%s %s%s -- %s" 1269 (file
1266 (cdr elt) 1270 (and (null uniquify-buffer-name-style)
1267 (if (buffer-modified-p (car elt)) 1271 (or (buffer-file-name buf)
1268 "*" " ") 1272 (buffer-local-value 'list-buffers-directory buf))))
1269 (save-excursion 1273 (mod (if (buffer-modified-p buf) "*" ""))
1270 (set-buffer (car elt)) 1274 (ro (if (buffer-local-value 'buffer-read-only buf) "%" "")))
1271 (if buffer-read-only "%" " ")) 1275 (when file
1272 (let ((file 1276 (setq file (file-name-directory file)))
1273 (or (buffer-file-name (car elt)) 1277 (when (and file (> (length file) 20))
1274 (save-excursion 1278 (setq file (concat "..." (substring file -17))))
1275 (set-buffer (car elt)) 1279 (cons (if file
1276 list-buffers-directory) 1280 (format "%s %s%s -- %s" (cdr elt) mod ro file)
1277 ""))) 1281 (format "%s %s%s" (cdr elt) mod ro))
1278 (setq file (or (file-name-directory file) 1282 buf)))
1279 "")) 1283
1280 (if (> (length file) 20)
1281 (setq file (concat "..." (substring file -17))))
1282 file))
1283 (car elt)))
1284 1284
1285;; Used to cache the menu entries for commands in the Buffers menu 1285;; Used to cache the menu entries for commands in the Buffers menu
1286(defvar menu-bar-buffers-menu-command-entries nil) 1286(defvar menu-bar-buffers-menu-command-entries nil)