diff options
| author | Lars Ingebrigtsen | 2019-10-13 22:56:38 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2019-10-13 22:56:44 +0200 |
| commit | e56c0bba4f66d5171daccbd743fbc5dd721c7dc3 (patch) | |
| tree | 088eeb448ec92bd5c717efb97bba6149f8ed79d0 | |
| parent | 097a03d2a372c1285696779c7051d5b044d437f5 (diff) | |
| download | emacs-e56c0bba4f66d5171daccbd743fbc5dd721c7dc3.tar.gz emacs-e56c0bba4f66d5171daccbd743fbc5dd721c7dc3.zip | |
Make list-buffers--refresh preserve marks
* lisp/buff-menu.el (list-buffers--refresh): Preserve the marked
buffers when refreshing the list (bug#6491).
| -rw-r--r-- | lisp/buff-menu.el | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 3cea186e6e3..2a67eab4606 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el | |||
| @@ -646,7 +646,11 @@ means list those buffers and no others." | |||
| 646 | (defun list-buffers--refresh (&optional buffer-list old-buffer) | 646 | (defun list-buffers--refresh (&optional buffer-list old-buffer) |
| 647 | ;; Set up `tabulated-list-format'. | 647 | ;; Set up `tabulated-list-format'. |
| 648 | (let ((name-width Buffer-menu-name-width) | 648 | (let ((name-width Buffer-menu-name-width) |
| 649 | (size-width Buffer-menu-size-width)) | 649 | (size-width Buffer-menu-size-width) |
| 650 | (marked-buffers (Buffer-menu-marked-buffers)) | ||
| 651 | (buffer-menu-buffer (current-buffer)) | ||
| 652 | (show-non-file (not Buffer-menu-files-only)) | ||
| 653 | entries) | ||
| 650 | ;; Handle obsolete variable: | 654 | ;; Handle obsolete variable: |
| 651 | (if Buffer-menu-buffer+size-width | 655 | (if Buffer-menu-buffer+size-width |
| 652 | (setq name-width (- Buffer-menu-buffer+size-width size-width))) | 656 | (setq name-width (- Buffer-menu-buffer+size-width size-width))) |
| @@ -656,14 +660,11 @@ means list those buffers and no others." | |||
| 656 | '("M" 1 t) | 660 | '("M" 1 t) |
| 657 | `("Buffer" ,name-width t) | 661 | `("Buffer" ,name-width t) |
| 658 | `("Size" ,size-width tabulated-list-entry-size-> | 662 | `("Size" ,size-width tabulated-list-entry-size-> |
| 659 | :right-align t) | 663 | :right-align t) |
| 660 | `("Mode" ,Buffer-menu-mode-width t) | 664 | `("Mode" ,Buffer-menu-mode-width t) |
| 661 | '("File" 1 t)))) | 665 | '("File" 1 t))) |
| 662 | (setq tabulated-list-use-header-line Buffer-menu-use-header-line) | 666 | (setq tabulated-list-use-header-line Buffer-menu-use-header-line) |
| 663 | ;; Collect info for each buffer we're interested in. | 667 | ;; Collect info for each buffer we're interested in. |
| 664 | (let ((buffer-menu-buffer (current-buffer)) | ||
| 665 | (show-non-file (not Buffer-menu-files-only)) | ||
| 666 | entries) | ||
| 667 | (dolist (buffer (or buffer-list | 668 | (dolist (buffer (or buffer-list |
| 668 | (buffer-list (if Buffer-menu-use-frame-buffer-list | 669 | (buffer-list (if Buffer-menu-use-frame-buffer-list |
| 669 | (selected-frame))))) | 670 | (selected-frame))))) |
| @@ -677,12 +678,16 @@ means list those buffers and no others." | |||
| 677 | (not (eq buffer buffer-menu-buffer)) | 678 | (not (eq buffer buffer-menu-buffer)) |
| 678 | (or file show-non-file)))) | 679 | (or file show-non-file)))) |
| 679 | (push (list buffer | 680 | (push (list buffer |
| 680 | (vector (if (eq buffer old-buffer) "." " ") | 681 | (vector (cond |
| 682 | ((eq buffer old-buffer) ".") | ||
| 683 | ((member buffer marked-buffers) ">") | ||
| 684 | (t " ")) | ||
| 681 | (if buffer-read-only "%" " ") | 685 | (if buffer-read-only "%" " ") |
| 682 | (if (buffer-modified-p) "*" " ") | 686 | (if (buffer-modified-p) "*" " ") |
| 683 | (Buffer-menu--pretty-name name) | 687 | (Buffer-menu--pretty-name name) |
| 684 | (number-to-string (buffer-size)) | 688 | (number-to-string (buffer-size)) |
| 685 | (concat (format-mode-line mode-name nil nil buffer) | 689 | (concat (format-mode-line mode-name |
| 690 | nil nil buffer) | ||
| 686 | (if mode-line-process | 691 | (if mode-line-process |
| 687 | (format-mode-line mode-line-process | 692 | (format-mode-line mode-line-process |
| 688 | nil nil buffer))) | 693 | nil nil buffer))) |