emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gitlab Migration


From: Eli Zaretskii
Subject: Re: Gitlab Migration
Date: Sun, 29 Aug 2021 15:55:37 +0300

> From: Richard Stallman <rms@gnu.org>
> Date: Sat, 28 Aug 2021 23:03:22 -0400
> Cc: emacs-devel@gnu.org
> 
> Would someone like to implement Message-ID threading in Rmail?
> I would definitely appreciate it.

Is the below good enough?  If it is, I can easily code a similar
"previous-by-thread" command.

Note that this actually goes by sub-thread, i.e. it follows the
"In-Reply-To" headers, so if a thread breaks into several separate
lines of parallel discussions, this will follow only one of them.  I
think it's reasonable, given that we have rmail-next-same-subject,
which can be used to find the other sub-threads, but I'm no email
expert, so I might be missing something.

(defun rmail-next-by-thread ()
  (interactive)
  (let* ((i rmail-current-message)
         (id (rmail-get-header "message-id" i))
         done)
    (while (and (not done) (< i rmail-total-messages))
      (setq i (1+ i)
            done (string-equal id (rmail-get-header "in-reply-to" i))))
    (if done (rmail-show-message i)
      ;; If not found forward, try backward: messages could have
      ;; arrived out of order.
      (while (and (not done) (> i 1))
        (setq i (1- i)
              done (string-equal id (rmail-get-header "in-reply-to" i))))
      (if done (rmail-show-message i)
        (error "No further messages in this thread")))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]