Mercurial > emacs
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)))))) |