]> code.delx.au - gnu-emacs/commitdiff
Ensure unmarking in buffer menu clears 'S' marks. (Bug#15761)
authorAlp Aker <alp.tekin.aker@gmail.com>
Wed, 30 Oct 2013 18:35:19 +0000 (14:35 -0400)
committerAlp Aker <alp.tekin.aker@gmail.com>
Wed, 30 Oct 2013 18:35:19 +0000 (14:35 -0400)
* buff-menu.el (Buffer-menu--unmark): New function.
  (Buffer-menu-unmark, Buffer-menu-backup-unmark): Use it.

lisp/ChangeLog
lisp/buff-menu.el

index 5a91ad0f55cb66c48640735646e4545633507cb9..114896f070ecd7bf36f9715acaf8bd2dde50cb76 100644 (file)
@@ -1,3 +1,9 @@
+2013-10-30  Alp Aker  <alp.tekin.aker@gmail.com>
+
+       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.
+
 2013-10-30  Glenn Morris  <rgm@gnu.org>
 
        * Makefile.in (AUTOGENEL): Add org/org-loaddefs.el.
index 58fde695b39f9c7b79a3cd959c674c98534606e5..627c02f6e624dca3a79e15568d84af2922850d95 100644 (file)
@@ -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.