aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-08-15 21:28:08 +0000
committerGerd Moellmann2000-08-15 21:28:08 +0000
commit601ed8a0b1e5238534acf1799332d7ef1040750a (patch)
treed7019fe93f93e3eb9c7224d922e548018f6884a2
parentb9f80d41be5cfadaec0c1a12653a50bf5ebb72fa (diff)
downloademacs-601ed8a0b1e5238534acf1799332d7ef1040750a.tar.gz
emacs-601ed8a0b1e5238534acf1799332d7ef1040750a.zip
(list-buffers-noselect): Set `buffer' as well as
'buffer-menu' property. (Buffer-menu-buffer): Use `buffer' property if `buffer-name' fails. (Buffer-menu-execute): When deleting, test `(and buf (buffer-name buf))', instead of `(Buffer-menu-buffer nil)', to see if buffer wasn't killed.
-rw-r--r--lisp/buff-menu.el15
1 files changed, 10 insertions, 5 deletions
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index cd7c8debcbd..c84ed105d9b 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -158,15 +158,18 @@ Letters do not insert themselves; instead, they are commands.
158 (let* ((where (save-excursion 158 (let* ((where (save-excursion
159 (beginning-of-line) 159 (beginning-of-line)
160 (+ (point) Buffer-menu-buffer-column))) 160 (+ (point) Buffer-menu-buffer-column)))
161 (name (and (not (eobp)) (get-text-property where 'buffer-name)))) 161 (name (and (not (eobp)) (get-text-property where 'buffer-name)))
162 (buf (and (not (eobp)) (get-text-property where 'buffer))))
162 (if name 163 (if name
163 (or (get-buffer name) 164 (or (get-buffer name)
165 (and buf (buffer-name buf) buf)
164 (if error-if-non-existent-p 166 (if error-if-non-existent-p
165 (error "No buffer named `%s'" name) 167 (error "No buffer named `%s'" name)
166 nil)) 168 nil))
169 (or (and buf (buffer-name buf) buf)
167 (if error-if-non-existent-p 170 (if error-if-non-existent-p
168 (error "No buffer on this line") 171 (error "No buffer on this line")
169 nil)))) 172 nil)))))
170 173
171(defun buffer-menu (&optional arg) 174(defun buffer-menu (&optional arg)
172 "Make a menu of buffers so you can save, delete or select them. 175 "Make a menu of buffers so you can save, delete or select them.
@@ -305,12 +308,12 @@ and then move up one line. Prefix arg means move that many lines."
305 (let ((buf (Buffer-menu-buffer nil))) 308 (let ((buf (Buffer-menu-buffer nil)))
306 (or (eq buf nil) 309 (or (eq buf nil)
307 (eq buf buff-menu-buffer) 310 (eq buf buff-menu-buffer)
308 (save-excursion (kill-buffer buf)))) 311 (save-excursion (kill-buffer buf)))
309 (if (Buffer-menu-buffer nil) 312 (if (and buf (buffer-name buf))
310 (progn (delete-char 1) 313 (progn (delete-char 1)
311 (insert ? )) 314 (insert ? ))
312 (delete-region (point) (progn (forward-line 1) (point))) 315 (delete-region (point) (progn (forward-line 1) (point)))
313 (forward-char -1)))))) 316 (forward-char -1)))))))
314 317
315(defun Buffer-menu-select () 318(defun Buffer-menu-select ()
316 "Select this line's buffer; also display buffers marked with `>'. 319 "Select this line's buffer; also display buffers marked with `>'.
@@ -548,6 +551,8 @@ The R column contains a % for buffers that are read-only."
548 (indent-to 17 2) 551 (indent-to 17 2)
549 (put-text-property this-buffer-line-start name-end 552 (put-text-property this-buffer-line-start name-end
550 'buffer-name name) 553 'buffer-name name)
554 (put-text-property this-buffer-line-start (point)
555 'buffer buffer)
551 (put-text-property this-buffer-line-start name-end 556 (put-text-property this-buffer-line-start name-end
552 'mouse-face 'highlight)) 557 'mouse-face 'highlight))
553 (let (size 558 (let (size