Subject: Re: bug#28477: 25.2; Gnus threading sometimes erratic

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 11 Apr 2018 23:45:07 +0200

[email-masked] (N. Jackson) writes:

> Sometimes when threading is enabled, Gnus displays the messages in
> a thread in a bizarre order in the *Summary* buffer, with an older
> message shown as a reply to a newer message. This cannot be right
> unless the author of one of the messages has a time machine.

It difficult to tell from the images you included, but it seems like
what you're seeing is the result of "gathered threads": Articles with
the same subject that are displayed visually as kinda sorta being in the
same thread.  In those cases, getting the response before the answer
isn't unusual, because mail arrive in any which order.

> I thought perhaps that the `gnus-sort-gathered-threads-function'
> might be the solution here, but so far I have had no success with
> it. If I try to do
>
>   (setq gnus-sort-gathered-threads-function '((not gnus-thread-sort-by-date)))
>
> , when the *Summary* buffer opens I get the error message
>
>   sort: Invalid function: ((not gnus-thread-sort-by-date))
>
> .
>
> It almost seems that "a list containing functions and ‘(not
> some-function)’ elements" is not supported here?

Yes, that's correct.  It just takes a function.

> To try to work around this, I tried
>
>   (defun nlj-thread-sort-by-date-descending (h1 h2)
>     "Sort threads in the opposite order to `gnus-thread-sort-by-date'."
>     (not (gnus-thread-sort-by-date h1 h2)))
>
>   (setq gnus-sort-gathered-threads-function 'nlj-thread-sort-by-date-descending)

What about

   (defun nlj-thread-sort-by-date-descending (h1 h2)
     "Sort threads in the opposite order to `gnus-thread-sort-by-date'."
      (gnus-thread-sort-by-date h2 h1))

?

In any case, I don't think what you're seeing is a bug, so I'm closing
this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no