summaryrefslogtreecommitdiff
path: root/lisp/buff-menu.el
diff options
context:
space:
mode:
authorAlp Aker <alp.tekin.aker@gmail.com>2013-10-30 14:35:19 -0400
committerAlp Aker <alp.tekin.aker@gmail.com>2013-10-30 14:35:19 -0400
commitcf59e41cd43faf1ebb5b80f3b2519477ebbbceee (patch)
treec7fd3d60c89ac501ce343e633f8f082eb33d2c0d /lisp/buff-menu.el
parent26fb3b30ea646ae87714d93d0d362091ea879eca (diff)
downloademacs-cf59e41cd43faf1ebb5b80f3b2519477ebbbceee.tar.gz
emacs-cf59e41cd43faf1ebb5b80f3b2519477ebbbceee.tar.bz2
emacs-cf59e41cd43faf1ebb5b80f3b2519477ebbbceee.zip
Ensure unmarking in buffer menu clears 'S' marks. (Bug#15761)
* buff-menu.el (Buffer-menu--unmark): New function. (Buffer-menu-unmark, Buffer-menu-backup-unmark): Use it.
Diffstat (limited to 'lisp/buff-menu.el')
-rw-r--r--lisp/buff-menu.el12
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 58fde695b39..627c02f6e62 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -353,14 +353,22 @@ It will be displayed by the \\<Buffer-menu-mode-map>\\[Buffer-menu-select] comma
"Cancel all requested operations on buffer on this line and move down.
Optional prefix arg means move up."
(interactive "P")
- (tabulated-list-set-col 0 " " t)
+ (Buffer-menu--unmark)
(forward-line (if backup -1 1)))
(defun Buffer-menu-backup-unmark ()
"Move up and cancel all requested operations on buffer on line above."
(interactive)
(forward-line -1)
- (tabulated-list-set-col 0 " " t))
+ (Buffer-menu--unmark))
+
+(defun Buffer-menu--unmark ()
+ (tabulated-list-set-col 0 " " t)
+ (let ((buf (Buffer-menu-buffer)))
+ (when buf
+ (if (buffer-modified-p buf)
+ (tabulated-list-set-col 2 "*" t)
+ (tabulated-list-set-col 2 " " t)))))
(defun Buffer-menu-delete (&optional arg)
"Mark the buffer on this Buffer Menu buffer line for deletion.