From 8729a2a10d9b8d88f6ba33b5ce62f74d89e7788a Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Sat, 6 Jan 2024 19:30:16 +0200
Subject: [PATCH] Fix 'rmail-summary-by-thread'

* lisp/mail/rmailsum.el (rmail-summary-by-thread): Call
'rmail-new-summary' from the original buffer, not from
'rmail-buffer' to avoid failing the logic in 'rmail-new-summary'
that decides whether to pop up a new window.  Reported by Andrea
Monaco <andrea.monaco@autistici.org>.
---
 lisp/mail/rmailsum.el | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 30fe75f7e5c..cccd702dae2 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -436,19 +436,19 @@ headers of the messages."
     (unless (and rmail-summary-message-parents-vector
 		 (= (length rmail-summary-message-parents-vector)
 		    (1+ rmail-total-messages)))
-      (rmail-summary-fill-message-parents-and-descs-vectors))
-    (let ((enc-msgs (make-bool-vector (1+ rmail-total-messages) nil)))
-      (rmail-summary--walk-thread-message-recursively msgnum enc-msgs)
-      (rmail-new-summary (format "thread containing message %d" msgnum)
-			 (list 'rmail-summary-by-thread msgnum)
-			 (if (and rmail-summary-progressively-narrow
-				  (rmail-summary--exists-1))
-			     (lambda (msg _msgnum)
-			       (and (aref rmail-summary-currently-displayed-msgs msg)
-				    (aref enc-msgs msg)))
+      (rmail-summary-fill-message-parents-and-descs-vectors)))
+  (let ((enc-msgs (make-bool-vector (1+ rmail-total-messages) nil)))
+    (rmail-summary--walk-thread-message-recursively msgnum enc-msgs)
+    (rmail-new-summary (format "thread containing message %d" msgnum)
+		       (list 'rmail-summary-by-thread msgnum)
+		       (if (and rmail-summary-progressively-narrow
+				(rmail-summary--exists-1))
 			   (lambda (msg _msgnum)
-                             (aref enc-msgs msg)))
-			 msgnum))))
+			     (and (aref rmail-summary-currently-displayed-msgs msg)
+				  (aref enc-msgs msg)))
+			 (lambda (msg _msgnum)
+                           (aref enc-msgs msg)))
+		       msgnum)))
 
 ;;;###autoload
 (defun rmail-summary-by-labels (labels)
-- 
2.39.5