[PATCH v2 3/6] emacs: use new tag change helper to mark messages as replied
Clarify documentation while at it. --- emacs/notmuch-message.el | 24 ++-- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/emacs/notmuch-message.el b/emacs/notmuch-message.el index 3798046..4dc4883 100644 --- a/emacs/notmuch-message.el +++ b/emacs/notmuch-message.el @@ -23,14 +23,16 @@ (require 'notmuch-tag) (require 'notmuch-mua) -(defcustom notmuch-message-replied-tags '("replied") - "Tags to be automatically added to or removed from a message when it is replied to. -Any tag in the list will be added to a replied message or, -if it is prefaced with a \"-\", removed. +(defcustom notmuch-message-replied-tags '("+replied") + "List of tag changes to apply to a message when it has been replied to. + +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 replied to. For example, if you wanted to add a \"replied\" tag and remove -the \"inbox\" and \"todo\", you would set -(\"replied\" \"-inbox\" \"-todo\"\)" +the \"inbox\" and \"todo\" tags, you would set: +(\"+replied\" \"-inbox\" \"-todo\"\)" :type '(repeat string) :group 'notmuch-send) @@ -38,14 +40,8 @@ the \"inbox\" and \"todo\", you would set ;; get the in-reply-to header and parse it for the message id. (let ((rep (mail-header-parse-addresses (message-field-value "In-Reply-To" (when (and notmuch-message-replied-tags rep) - ;; add a "+" to any tag that is doesn't already begin with a "+" - ;; or "-" - (let ((tags (mapcar (lambda (str) - (if (not (string-match "^[+-]" str)) - (concat "+" str) - str)) - notmuch-message-replied-tags))) - (funcall 'notmuch-tag (notmuch-id-to-query (car (car rep))) tags) + (funcall 'notmuch-tag (notmuch-id-to-query (car (car rep))) + (notmuch-tag-change-list notmuch-message-replied-tags) (add-hook 'message-send-hook 'notmuch-message-mark-replied) -- 1.7.9.5
[PATCH v2 3/6] emacs: use new tag change helper to mark messages as replied
Clarify documentation while at it. --- emacs/notmuch-message.el | 24 ++-- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/emacs/notmuch-message.el b/emacs/notmuch-message.el index 3798046..4dc4883 100644 --- a/emacs/notmuch-message.el +++ b/emacs/notmuch-message.el @@ -23,14 +23,16 @@ (require 'notmuch-tag) (require 'notmuch-mua) -(defcustom notmuch-message-replied-tags '(replied) - Tags to be automatically added to or removed from a message when it is replied to. -Any tag in the list will be added to a replied message or, -if it is prefaced with a \-\, removed. +(defcustom notmuch-message-replied-tags '(+replied) + List of tag changes to apply to a message when it has been replied to. + +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 replied to. For example, if you wanted to add a \replied\ tag and remove -the \inbox\ and \todo\, you would set -(\replied\ \-inbox\ \-todo\\) +the \inbox\ and \todo\ tags, you would set: +(\+replied\ \-inbox\ \-todo\\) :type '(repeat string) :group 'notmuch-send) @@ -38,14 +40,8 @@ the \inbox\ and \todo\, you would set ;; get the in-reply-to header and parse it for the message id. (let ((rep (mail-header-parse-addresses (message-field-value In-Reply-To (when (and notmuch-message-replied-tags rep) - ;; add a + to any tag that is doesn't already begin with a + - ;; or - - (let ((tags (mapcar (lambda (str) - (if (not (string-match ^[+-] str)) - (concat + str) - str)) - notmuch-message-replied-tags))) - (funcall 'notmuch-tag (notmuch-id-to-query (car (car rep))) tags) + (funcall 'notmuch-tag (notmuch-id-to-query (car (car rep))) + (notmuch-tag-change-list notmuch-message-replied-tags) (add-hook 'message-send-hook 'notmuch-message-mark-replied) -- 1.7.9.5 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch