comparison lisp/menu-bar.el @ 3898:92d25f36e8aa

(mouse-menu-bar-buffers): Include % and * in each item. Calculate amount of space needed for longest buffer name.
author Richard M. Stallman <rms@gnu.org>
date Fri, 25 Jun 1993 22:30:49 +0000
parents d59af8c9bc65
children 877f540d9717
comparison
equal deleted inserted replaced
3897:83d0fc1ccca9 3898:92d25f36e8aa
158 (setcdr (nthcdr buffers-menu-max-size buffers) nil))) 158 (setcdr (nthcdr buffers-menu-max-size buffers) nil)))
159 (setq menu 159 (setq menu
160 (list "Buffer Menu" 160 (list "Buffer Menu"
161 (cons "Select Buffer" 161 (cons "Select Buffer"
162 (let ((tail buffers) 162 (let ((tail buffers)
163 (maxbuf 0)
163 (maxlen 0) 164 (maxlen 0)
164 head) 165 head)
166 (while tail
167 (or (eq ?\ (aref (buffer-name (car tail)) 0))
168 (setq maxbuf
169 (max maxbuf
170 (length (buffer-name (car tail))))))
171 (setq tail (cdr tail)))
172 (setq tail buffers)
165 (while tail 173 (while tail
166 (let ((elt (car tail))) 174 (let ((elt (car tail)))
167 (if (not (string-match "^ " 175 (if (not (string-match "^ "
168 (buffer-name elt))) 176 (buffer-name elt)))
169 (setq head (cons 177 (setq head (cons
170 (cons 178 (cons
171 (format 179 (format
172 "%14s %s" 180 (format "%%%ds %%s%%s %%s"
181 maxbuf)
173 (buffer-name elt) 182 (buffer-name elt)
183 (if (buffer-modified-p elt) "*" " ")
184 (save-excursion
185 (set-buffer elt)
186 (if buffer-read-only "%" " "))
174 (or (buffer-file-name elt) "")) 187 (or (buffer-file-name elt) ""))
175 elt) 188 elt)
176 head))) 189 head)))
177 (and head (> (length (car (car head))) maxlen) 190 (and head (> (length (car (car head))) maxlen)
178 (setq maxlen (length (car (car head)))))) 191 (setq maxlen (length (car (car head))))))