about summary refs log tree commit homepage
path: root/lib/PublicInbox/View.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/View.pm')
-rw-r--r--lib/PublicInbox/View.pm8
1 files changed, 8 insertions, 0 deletions
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