[PATCH v3 3/8] emacs: break out thread navigation from notmuch-show-archive-thread

David Edmondson dme at dme.org
Wed Jan 25 02:49:51 PST 2012


On Tue, 24 Jan 2012 16:06:18 -0800, Jameson Graef Rollins <jrollins at finestructure.net> wrote:
> This function is now just for archiving the current thread.  A new
> function is created to archive-then-next.  The 'a' key binding is
> updated accordingly.
> 
> This will allow people to bind to the simple thread archiving function
> without the extra navigation.  The archive-thread function now also
> takes a prefix to unarchive the current thread (ie. put the whole
> thread back in the inbox).
> ---
>  emacs/notmuch-show.el |   23 +++++++++++++++++------
>  1 files changed, 17 insertions(+), 6 deletions(-)
> 
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index fb908b0..071e662 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -1044,7 +1044,7 @@ thread id.  If a prefix is given, crypto processing is toggled."
>  	(define-key map "-" 'notmuch-show-remove-tag)
>  	(define-key map "+" 'notmuch-show-add-tag)
>  	(define-key map "x" 'notmuch-show-archive-thread-then-exit)
> -	(define-key map "a" 'notmuch-show-archive-thread)
> +	(define-key map "a" 'notmuch-show-archive-thread-then-next)
>  	(define-key map "N" 'notmuch-show-next-message)
>  	(define-key map "P" 'notmuch-show-previous-message)
>  	(define-key map "n" 'notmuch-show-next-open-message)
> @@ -1304,7 +1304,7 @@ thread from the search from which this thread was originally
>  shown."
>    (interactive)
>    (if (notmuch-show-advance)
> -      (notmuch-show-archive-thread)))
> +      (notmuch-show-archive-thread-then-next)))
>  
>  (defun notmuch-show-rewind ()
>    "Backup through the thread, (reverse scrolling compared to \\[notmuch-show-advance-and-archive]).
> @@ -1558,8 +1558,12 @@ added."
>        (if show-next
>  	  (notmuch-search-show-thread)))))
>  
> -(defun notmuch-show-archive-thread ()
> -  "Archive each message in thread, then show next thread from search.
> +(defun notmuch-show-archive-thread (&optional unarchive)
> +  "Archive each message in thread.
> +
> +If a prefix argument is given, the messages will be
> +\"unarchived\" (ie. the \"inbox\" tag will be added instead of
> +removed).

It's clearer to reference "inbox" directly:

     Remove the "inbox" tag from the messages currently shown.

     If a prefix argument is given the "inbox" tag will be added rather
     than removed.

>  
>  Archive each message currently shown by removing the \"inbox\"
>  tag from each. Then kill this buffer and show the next thread
> @@ -1569,14 +1573,21 @@ Note: This command is safe from any race condition of new messages
>  being delivered to the same thread. It does not archive the
>  entire thread, but only the messages shown in the current
>  buffer."
> +  (interactive "P")
> +  (if unarchive
> +      (notmuch-show-add-tag-thread "inbox")
> +    (notmuch-show-remove-tag-thread "inbox")))
> +
> +(defun notmuch-show-archive-thread-then-next ()
> +  "Archive each message in thread, then show next thread from search."
>    (interactive)
> -  (notmuch-show-remove-tag-thread "inbox")
> +  (notmuch-show-archive-thread)
>    (notmuch-show-next-thread t))
>  
>  (defun notmuch-show-archive-thread-then-exit ()
>    "Archive each message in thread, then exit back to search results."
>    (interactive)
> -  (notmuch-show-remove-tag-thread "inbox")
> +  (notmuch-show-archive-thread)
>    (notmuch-show-next-thread))
>  
>  (defun notmuch-show-stash-cc ()
> -- 
> 1.7.8.3
> 
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20120125/41f6e70f/attachment.pgp>


More information about the notmuch mailing list