Use the buffer-local variable notmuch-message-queued-tag-changes
to change tags when the forwarding message is sent.
:type '(repeat string)
:group 'notmuch-send)
:type '(repeat string)
:group 'notmuch-send)
+(defcustom notmuch-message-forwarded-tags '("+forwarded")
+ "List of tag changes to apply to a message when it has been forwarded.
+
+Tags starting with \"+\" (or not starting with either \"+\" or
+\"-\") in the list will be added, and tags starting with \"-\"
+will be removed from the message being forwarded.
+
+For example, if you wanted to add a \"forwarded\" tag and remove
+the \"inbox\" tag, you would set:
+ (\"+forwarded\" \"-inbox\")"
+ :type '(repeat string)
+ :group 'notmuch-send)
+
(defconst notmuch-message-queued-tag-changes nil
"List of messages and corresponding tag-changes to be applied when sending a message.
(defconst notmuch-message-queued-tag-changes nil
"List of messages and corresponding tag-changes to be applied when sending a message.
(list (cons 'From (notmuch-mua-prompt-for-sender)))))
forward-subject ;; Comes from the first message and is
;; applied later.
(list (cons 'From (notmuch-mua-prompt-for-sender)))))
forward-subject ;; Comes from the first message and is
;; applied later.
- forward-references) ;; List of accumulated message-references of forwarded messages
+ forward-references ;; List of accumulated message-references of forwarded messages
+ forward-queries) ;; List of corresponding message-query
;; Generate the template for the outgoing message.
(notmuch-mua-mail nil "" other-headers nil (notmuch-mua-get-switch-function))
;; Generate the template for the outgoing message.
(notmuch-mua-mail nil "" other-headers nil (notmuch-mua-get-switch-function))
;; always generate a forwarded subject, then use the
;; last (i.e. first) one.
(setq forward-subject (message-make-forward-subject))
;; always generate a forwarded subject, then use the
;; last (i.e. first) one.
(setq forward-subject (message-make-forward-subject))
- (push (message-fetch-field "Message-ID") forward-references))
+ (push (message-fetch-field "Message-ID") forward-references)
+ (push id forward-queries))
;; Make a copy ready to be forwarded in the
;; composition buffer.
(message-forward-make-body temp-buffer)
;; Make a copy ready to be forwarded in the
;; composition buffer.
(message-forward-make-body temp-buffer)
(message-add-header (concat "References: "
(mapconcat 'identity forward-references " "))))
(message-add-header (concat "References: "
(mapconcat 'identity forward-references " "))))
+ ;; Create a buffer-local queue for tag changes triggered when sending the message
+ (when notmuch-message-forwarded-tags
+ (setq-local notmuch-message-queued-tag-changes
+ (loop for id in forward-queries
+ collect
+ (cons id
+ notmuch-message-forwarded-tags))))
+
;; `message-forward-make-body' shows the User-agent header. Hide
;; it again.
(message-hide-headers)
;; `message-forward-make-body' shows the User-agent header. Hide
;; it again.
(message-hide-headers)