From: Lars Ingebrigtsen Date: Thu, 12 Apr 2018 17:36:28 +0000 (+0200) Subject: Restore point in summary buffer after sorting X-Git-Tag: emacs-27.0.90~5280 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6499285898c7e1665fa8ef147002daff04a04b93;p=emacs.git 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). --- 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.