emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master e56c0bb: Make list-buffers--refresh preserve marks


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master e56c0bb: Make list-buffers--refresh preserve marks
Date: Sun, 13 Oct 2019 16:56:52 -0400 (EDT)

branch: master
commit e56c0bba4f66d5171daccbd743fbc5dd721c7dc3
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Make list-buffers--refresh preserve marks
    
    * lisp/buff-menu.el (list-buffers--refresh): Preserve the marked
    buffers when refreshing the list (bug#6491).
---
 lisp/buff-menu.el | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 3cea186..2a67eab 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -646,7 +646,11 @@ means list those buffers and no others."
 (defun list-buffers--refresh (&optional buffer-list old-buffer)
   ;; Set up `tabulated-list-format'.
   (let ((name-width Buffer-menu-name-width)
-       (size-width Buffer-menu-size-width))
+       (size-width Buffer-menu-size-width)
+        (marked-buffers (Buffer-menu-marked-buffers))
+        (buffer-menu-buffer (current-buffer))
+       (show-non-file (not Buffer-menu-files-only))
+       entries)
     ;; Handle obsolete variable:
     (if Buffer-menu-buffer+size-width
        (setq name-width (- Buffer-menu-buffer+size-width size-width)))
@@ -656,14 +660,11 @@ means list those buffers and no others."
                  '("M" 1 t)
                  `("Buffer" ,name-width t)
                  `("Size" ,size-width tabulated-list-entry-size->
-                           :right-align t)
+                    :right-align t)
                  `("Mode" ,Buffer-menu-mode-width t)
-                 '("File" 1 t))))
-  (setq tabulated-list-use-header-line Buffer-menu-use-header-line)
-  ;; Collect info for each buffer we're interested in.
-  (let ((buffer-menu-buffer (current-buffer))
-       (show-non-file (not Buffer-menu-files-only))
-       entries)
+                 '("File" 1 t)))
+    (setq tabulated-list-use-header-line Buffer-menu-use-header-line)
+    ;; Collect info for each buffer we're interested in.
     (dolist (buffer (or buffer-list
                        (buffer-list (if Buffer-menu-use-frame-buffer-list
                                         (selected-frame)))))
@@ -677,12 +678,16 @@ means list those buffers and no others."
                              (not (eq buffer buffer-menu-buffer))
                              (or file show-non-file))))
            (push (list buffer
-                       (vector (if (eq buffer old-buffer) "." " ")
+                       (vector (cond
+                                 ((eq buffer old-buffer) ".")
+                                 ((member buffer marked-buffers) ">")
+                                 (t " "))
                                (if buffer-read-only "%" " ")
                                (if (buffer-modified-p) "*" " ")
                                (Buffer-menu--pretty-name name)
                                (number-to-string (buffer-size))
-                               (concat (format-mode-line mode-name nil nil 
buffer)
+                               (concat (format-mode-line mode-name
+                                                          nil nil buffer)
                                        (if mode-line-process
                                            (format-mode-line mode-line-process
                                                              nil nil buffer)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]