From 1f30f7d290f2989fba610c625e3cca6c6df1d118 Mon Sep 17 00:00:00 2001 From: Michal Nazarewicz Date: Tue, 21 Aug 2012 15:13:36 +0200 Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option The `notmuch-show-mark-read-tags' lists tags that are to be applied when message is read. By default, the only value is "-unread" which will remove the unread tag. Among other uses, this variable can be used to stop notmuch-show from modifying tags when message is shown (by setting the variable to an empty list). --- emacs/notmuch-show.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 82b5399c..c9fd867a 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' input." notmuch-show-stash-mlarchive-link-alist)) :group 'notmuch-show) +(defcustom notmuch-show-mark-read-tags '("-unread") + "List of tags to apply when message is read, ie. shown in notmuch-show +buffer." + :type '(repeat string) + :group 'notmuch-show) + + (defmacro with-current-notmuch-show-message (&rest body) "Evaluate body with current buffer set to the text of current message" `(save-excursion @@ -1383,8 +1390,9 @@ current thread." (notmuch-show-get-prop :headers-visible)) (defun notmuch-show-mark-read () - "Mark the current message as read." - (notmuch-show-tag-message "-unread")) + "Apply `notmuch-show-mark-read-tags' to the message." + (when notmuch-show-mark-read-tags + (apply 'notmuch-show-tag-message notmuch-show-mark-read-tags))) ;; Functions for getting attributes of several messages in the current ;; thread.