From: Eric Wong Date: Wed, 6 Apr 2016 07:21:12 +0000 (+0000) Subject: view: do not prune ghosts from threads X-Git-Tag: v1.0.0~620 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=af4959d5148b60b2549712b5955fd66d71e9a63a;p=public-inbox.git view: do not prune ghosts from threads Keeping readers informed of ghost messages is important, so do not ever prune them. Previously, ghosts could get pruned and sole children would get promoted as the new root. --- diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 2cf7e4f0..5f9ecd10 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -729,8 +729,16 @@ sub thread_results { my ($msgs, $nosubject) = @_; require PublicInbox::Thread; my $th = PublicInbox::Thread->new(@$msgs); + + # WARNING! both these Mail::Thread knobs were found by inspecting + # the Mail::Thread 2.55 source code, and we have some monkey patches + # in PublicInbox::Thread to fix memory leaks. Since Mail::Thread + # appears unmaintained, I suppose it's safe to depend on these + # variables for now: no warnings 'once'; $Mail::Thread::nosubject = $nosubject; + # Keep ghosts with only a single direct child: + $Mail::Thread::noprune = 1; $th->thread; $th->order(*sort_ts); $th