Mailman's pipermail archives are threaded based on In-Reply-To: and maybe References: headers. It turns out the code always had a fallback to thread by Subject: if there were no In-Reply-To: or References: headers, but this fallback never worked due to a bug.
I have recently committed a fix to the 2.1 branch for the bug, so starting with the next release, fallback to threading by subject should work.
I have a question however. The current (fixed) code does the following:
if the current message has In-Reply-To: thread it to the In-Reply-To message if that message exists in the current volume else if the current message has References: thread it to to the most recent existing message in the current volume in References else thread the current message to the oldest message in the current volume with matching Subject.
The subject threading to "oldest" won't always be correct, but the only reasonable alternative is "newest" and that won't always be correct either, and I think either alternative is better than none. That's not my question.
My question is the above logic implies that if the current message has an In-Reply-To and the replied to message is not in the archive, the message won't be threaded even if it has a References: to a message in the archive.
This occurs often. A posts; B replies off list to A; A replies to B and Cc's the list. Should A's reply to B be threaded with A's original post? I think it should, and it can be by References or even Subject, but I wonder if I'm overlooking some other cases in which it shouldn't be done.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan