[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d3cb07d 2/2: Make the recency sorting stable when we have inverte
From: |
Lars Ingebrigtsen |
Subject: |
master d3cb07d 2/2: Make the recency sorting stable when we have inverted sorting |
Date: |
Thu, 4 Feb 2021 07:00:34 -0500 (EST) |
branch: master
commit d3cb07d784a4c4029f0a50ba003ebf4b93dd59c3
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
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).
---
lisp/ibuffer.el | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 84c53b1..c91a70b 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -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)