Re: [PATCH 7/8] emacs: modify show tag functions to use new notmuch-tag interface

Subject: Re: [PATCH 7/8] emacs: modify show tag functions to use new notmuch-tag interface

Date: Mon, 09 Apr 2012 19:42:20 +0100

To: Jameson Graef Rollins, Notmuch Mail

Cc:

From: Mark Walters


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

Thread: