# HG changeset patch # User Richard M. Stallman # Date 741047449 0 # Node ID 92d25f36e8aa2f3a316634d7d0d9bfbe8ce0985b # Parent 83d0fc1ccca91303724b84b7c60b4dbc0b8adbfc (mouse-menu-bar-buffers): Include % and * in each item. Calculate amount of space needed for longest buffer name. diff -r 83d0fc1ccca9 -r 92d25f36e8aa lisp/menu-bar.el --- a/lisp/menu-bar.el Fri Jun 25 22:01:47 1993 +0000 +++ b/lisp/menu-bar.el Fri Jun 25 22:30:49 1993 +0000 @@ -160,17 +160,30 @@ (list "Buffer Menu" (cons "Select Buffer" (let ((tail buffers) + (maxbuf 0) (maxlen 0) head) (while tail + (or (eq ?\ (aref (buffer-name (car tail)) 0)) + (setq maxbuf + (max maxbuf + (length (buffer-name (car tail)))))) + (setq tail (cdr tail))) + (setq tail buffers) + (while tail (let ((elt (car tail))) (if (not (string-match "^ " (buffer-name elt))) (setq head (cons (cons (format - "%14s %s" + (format "%%%ds %%s%%s %%s" + maxbuf) (buffer-name elt) + (if (buffer-modified-p elt) "*" " ") + (save-excursion + (set-buffer elt) + (if buffer-read-only "%" " ")) (or (buffer-file-name elt) "")) elt) head)))