mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-19 18:13:55 +00:00
Make the recency sorting stable when we have inverted sorting
* lisp/ibuffer.el (recency): Remove. (recency): New macro function so that sorting by recency is stable when inverted sorting is switched on (bug#30129).
This commit is contained in:
parent
3b27f2e464
commit
d3cb07d784
@ -219,7 +219,6 @@ view of the buffers."
|
||||
(const :tag "File name" :value filename/process)
|
||||
(const :tag "Major mode" :value major-mode)))
|
||||
(defvar ibuffer-sorting-mode nil)
|
||||
(defvar ibuffer-last-sorting-mode nil)
|
||||
|
||||
(defcustom ibuffer-default-sorting-reversep nil
|
||||
"If non-nil, reverse the default sorting order."
|
||||
@ -2129,16 +2128,13 @@ the value of point at the beginning of the line for that buffer."
|
||||
(and ibuffer-buf
|
||||
(not (eq ibuffer-buf buf))))))
|
||||
|
||||
;; This function is a special case; it's not defined by
|
||||
;; `define-ibuffer-sorter'.
|
||||
(defun ibuffer-do-sort-by-recency ()
|
||||
"Sort the buffers by last view time."
|
||||
(interactive)
|
||||
(setq ibuffer-sorting-mode 'recency)
|
||||
(when (eq ibuffer-last-sorting-mode 'recency)
|
||||
(setq ibuffer-sorting-reversep (not ibuffer-sorting-reversep)))
|
||||
(ibuffer-update nil t)
|
||||
(setq ibuffer-last-sorting-mode 'recency))
|
||||
(define-ibuffer-sorter recency
|
||||
"Sort the buffers by how recently they've been used."
|
||||
(:description "recency")
|
||||
(time-less-p (with-current-buffer (car b)
|
||||
(or buffer-display-time 0))
|
||||
(with-current-buffer (car a)
|
||||
(or buffer-display-time 0))))
|
||||
|
||||
(defun ibuffer-update-format ()
|
||||
(when (null ibuffer-current-format)
|
||||
|
Loading…
Reference in New Issue
Block a user