aboutsummaryrefslogtreecommitdiffhomepage
path: root/emacs
diff options
context:
space:
mode:
authorGravatar Jameson Graef Rollins <jrollins@finestructure.net>2012-04-14 11:52:53 -0700
committerGravatar David Bremner <bremner@debian.org>2012-04-29 17:42:43 -0300
commitc1bcf5f8c0874a38b27bdd38b4c74d248d32c2f6 (patch)
tree570c1b627ef987ebd15b7437553e1f962424a22b /emacs
parentdba0e53ea840e33756813c3b35bb5b5793b009c7 (diff)
emacs: modify show tag functions to use new notmuch-tag interface
The main change here is to modify argument parsing so as to not force tag-changes to be a list, and to let notmuch-tag handle prompting the user when required. doc strings are also updated and cleaned up.
Diffstat (limited to 'emacs')
-rw-r--r--emacs/notmuch-show.el26
1 files changed, 15 insertions, 11 deletions
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 79fa5c52..37f0ebb3 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -1653,22 +1653,26 @@ TAG-CHANGES is a list of tag operations for `notmuch-tag'."
(let* ((current-tags (notmuch-show-get-tags))
(new-tags (notmuch-update-tags current-tags tag-changes)))
(unless (equal current-tags new-tags)
- (apply 'notmuch-tag (notmuch-show-get-message-id) tag-changes)
+ (funcall 'notmuch-tag (notmuch-show-get-message-id) tag-changes)
(notmuch-show-set-tags new-tags))))
-(defun notmuch-show-tag (&optional initial-input)
- "Change tags for the current message, read input from the minibuffer."
+(defun notmuch-show-tag (&optional tag-changes)
+ "Change tags for the current message.
+
+See `notmuch-tag' for information on the format of TAG-CHANGES."
(interactive)
- (let ((tag-changes (notmuch-read-tag-changes
- initial-input (notmuch-show-get-message-id))))
- (apply 'notmuch-show-tag-message tag-changes)))
+ (setq tag-changes (funcall 'notmuch-tag (notmuch-show-get-message-id) tag-changes))
+ (let* ((current-tags (notmuch-show-get-tags))
+ (new-tags (notmuch-update-tags current-tags tag-changes)))
+ (unless (equal current-tags new-tags)
+ (notmuch-show-set-tags new-tags))))
-(defun notmuch-show-tag-all (&rest tag-changes)
- "Change tags for all messages in the current buffer.
+(defun notmuch-show-tag-all (&optional tag-changes)
+ "Change tags for all messages in the current show buffer.
-TAG-CHANGES is a list of tag operations for `notmuch-tag'."
- (interactive (notmuch-read-tag-changes nil notmuch-show-thread-id))
- (apply 'notmuch-tag (notmuch-show-get-messages-ids-search) tag-changes)
+See `notmuch-tag' for information on the format of TAG-CHANGES."
+ (interactive)
+ (setq tag-changes (funcall 'notmuch-tag (notmuch-show-get-messages-ids-search) tag-changes))
(notmuch-show-mapc
(lambda ()
(let* ((current-tags (notmuch-show-get-tags))