On Sun, 08 Apr 2012, Jameson Graef Rollins <jrollins@finestructure.net> wrote: > 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. One other comment on this patch is that it would be nice to have a tag region in show view as well. Of course that is a feature request rather than a requirement for this patch series! Best wishes Mark > --- > emacs/notmuch-show.el | 26 +++++++++++++++----------- > 1 files changed, 15 insertions(+), 11 deletions(-) > > diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el > index a4c313d..69bca02 100644 > --- a/emacs/notmuch-show.el > +++ b/emacs/notmuch-show.el > @@ -1641,22 +1641,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)) > -- > 1.7.9.1 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch