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 (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)))