From: Örjan Ekeberg Date: Fri, 12 Apr 2019 12:01:10 +0000 (+0200) Subject: emacs: Add References header to forwarded messages X-Git-Tag: archive/debian/0.29_rc0-1~106 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=3b807db52b1c5e638f78df94f075389277bd3532 emacs: Add References header to forwarded messages Include the message-id of forwarded messages in the new message. This ensures that the new (forwarding) message is linked to the same thread as the message being forwarded. --- diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index 708db248..23f3d8b1 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -470,8 +470,9 @@ the From: address." (let* ((other-headers (when (or prompt-for-sender notmuch-always-prompt-for-sender) (list (cons 'From (notmuch-mua-prompt-for-sender))))) - forward-subject) ;; Comes from the first message and is + forward-subject ;; Comes from the first message and is ;; applied later. + forward-references) ;; List of accumulated message-references of forwarded messages ;; Generate the template for the outgoing message. (notmuch-mua-mail nil "" other-headers nil (notmuch-mua-get-switch-function)) @@ -489,7 +490,8 @@ the From: address." ;; Because we process the messages in reverse order, ;; always generate a forwarded subject, then use the ;; last (i.e. first) one. - (setq forward-subject (message-make-forward-subject))) + (setq forward-subject (message-make-forward-subject)) + (push (message-fetch-field "Message-ID") forward-references)) ;; Make a copy ready to be forwarded in the ;; composition buffer. (message-forward-make-body temp-buffer) @@ -503,7 +505,10 @@ the From: address." (save-restriction (message-narrow-to-headers) (message-remove-header "Subject") - (message-add-header (concat "Subject: " forward-subject))) + (message-add-header (concat "Subject: " forward-subject)) + (message-remove-header "References") + (message-add-header (concat "References: " + (mapconcat 'identity forward-references " ")))) ;; `message-forward-make-body' shows the User-agent header. Hide ;; it again.