From 6499285898c7e1665fa8ef147002daff04a04b93 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Thu, 12 Apr 2018 19:36:28 +0200 Subject: [PATCH] Restore point in summary buffer after sorting * lisp/gnus/gnus-sum.el (gnus-summary-sort): Keep point on the current article when sorting (bug#30615). --- lisp/gnus/gnus-sum.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index e3cc1928d57..cb262406617 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -11989,7 +11989,8 @@ Argument REVERSE means reverse order." (defun gnus-summary-sort (predicate reverse) "Sort summary buffer by PREDICATE. REVERSE means reverse order." - (let* ((thread (intern (format "gnus-thread-sort-by-%s" predicate))) + (let* ((current (gnus-summary-article-number)) + (thread (intern (format "gnus-thread-sort-by-%s" predicate))) (article (intern (format "gnus-article-sort-by-%s" predicate))) (gnus-thread-sort-functions (if (not reverse) @@ -12008,7 +12009,9 @@ Argument REVERSE means reverse order." ;; We do the sorting by regenerating the threads. (gnus-summary-prepare) ;; Hide subthreads if needed. - (gnus-summary-maybe-hide-threads))) + (gnus-summary-maybe-hide-threads) + ;; Restore point. + (gnus-summary-goto-subject current))) ;; Summary saving commands. -- 2.39.5