Function: rmail-summary-by-thread
rmail-summary-by-thread is an autoloaded, interactive and
byte-compiled function defined in rmailsum.el.gz.
Signature
(rmail-summary-by-thread &optional MSGNUM)
Documentation
Display a summary of messages in the same discussion thread as MSGNUM.
Interactively, prompt for MSGNUM, defaulting to the current message. Threads are based on the "Subject", "References" and "In-reply-to" headers of the messages.
Probably introduced at or before Emacs version 29.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/mail/rmailsum.el.gz
;;;###autoload
(defun rmail-summary-by-thread (&optional msgnum)
"Display a summary of messages in the same discussion thread as MSGNUM.
Interactively, prompt for MSGNUM, defaulting to the current message.
Threads are based on the \"Subject\", \"References\" and \"In-reply-to\"
headers of the messages."
(interactive
(let* ((msg rmail-current-message)
(prompt (concat "Show thread containing message number")))
(list (read-number prompt msg))))
(with-current-buffer rmail-buffer
(unless msgnum
(setq msgnum rmail-current-message))
(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
(with-current-buffer rmail-buffer
(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)))
(lambda (msg _msgnum)
(aref enc-msgs msg)))
msgnum)))