Hello, I try to configure gnus-thread-sort-functions so that threads are sorted from least recently updated (at the top) to most recently updated (at the bottom): #+begin_src elisp (setq gnus-thread-sort-functions '(gnus-thread-sort-by-number (not gnus-thread-sort-by-most-recent-date))) #+end_src The above works as intended most of the time, except when loose threads are involved. To reproduce: - copy the attached emacs-devel.mbox to /tmp, - copy the attached init.el somewhere, - install gnus-mock from ELPA, - evaluate the following, with init.el in default-directory: #+begin_src elisp (let ((gnus-mock-init-file (expand-file-name "init.el")) (gnus-mock-emacs-program (expand-file-name "src/emacs" source-directory))) (package-initialize) (gnus-mock-start)) #+end_src This produces the following summary buffer: 20200708T163331 Philip K. Re: Updating dired-guess-shell-alist-default 20200708T170847 Stefan Monnier 20200708T163824 João Távora Re: Byte-compilation warnings after merging eldoc changes AFAICT, the first thread should be sorted last, since it has been updated more recently than the second thread. What leads me to believe that this issue is linked to loose threads is that if we ask Gnus not to gather those… #+begin_src elisp ;; Evaluate: (setq gnus-summary-make-false-root nil) ;; Then refresh with M-g. #+end_src … then the issue goes away: 20200708T163331 Philip K. Re: Updating dired-guess-shell-alist-default 20200708T163824 João Távora Re: Byte-compilation warnings after merging eldoc changes 20200708T170847 Stefan Monnier Re: Updating dired-guess-shell-alist-default Is this indeed a bug, or am I missing something? Thank you for your time. PS: when playing with this example, if you happen to set gnus-summary-make-false-root to 'dummy, and notice that both the dummy root *and* the first message display the subject line, note that I already sent a report (and a patch) over at bug#40520.