summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ibuf-macs.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el
index d3a4da54e50..947c2b7040a 100644
--- a/lisp/ibuf-macs.el
+++ b/lisp/ibuf-macs.el
@@ -150,7 +150,10 @@ value if and only if `a' is \"less than\" `b'.
,(or documentation "No :documentation specified for this sorting method.")
(interactive)
(setq ibuffer-sorting-mode ',name)
- (ibuffer-redisplay t))
+ (when (eq ibuffer-sorting-mode ibuffer-last-sorting-mode)
+ (setq ibuffer-sorting-reversep (not ibuffer-sorting-reversep)))
+ (ibuffer-redisplay t)
+ (setq ibuffer-last-sorting-mode ',name))
(push (list ',name ,description
#'(lambda (a b)
,@body))