[PATCH] emacs-show: open excluded matches if no other matches

Tomi Ollila tomi.ollila at iki.fi
Thu Apr 12 12:10:10 PDT 2012


On Thu, Mar 15 2012, Mark Walters wrote:

> Currently emacs show does not open matching but excluded
> messages. This is normally the desired behaviour but is probably not
> ideal if only excluded messages match. This patch opens all the
> matching (necessarily excluded) messages in this case and goes to the
> first one.
> ---

I don't (yet) fully understand this exclude stuff, but the 
implementation looks ok.

+1

Tomi

>  emacs/notmuch-show.el |   14 ++++++++++++--
>  1 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 4a60631..bd4ba0f 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -1608,6 +1608,11 @@ to show, nil otherwise."
>  	  (notmuch-show-message-adjust))
>        (goto-char (point-max)))))
>  
> +(defun notmuch-show-open-if-matched ()
> +  "Open a message if it is matched (whether or not excluded)."
> +  (let ((props (notmuch-show-get-message-properties)))
> +    (notmuch-show-message-visible props (plist-get props :match))))
> +
>  (defun notmuch-show-goto-first-wanted-message ()
>    "Move to the first open message and mark it read"
>    (goto-char (point-min))
> @@ -1615,9 +1620,14 @@ to show, nil otherwise."
>        (notmuch-show-mark-read)
>      (notmuch-show-next-open-message))
>    (when (eobp)
> +    ;; There are no matched non-excluded messages so open all matched
> +    ;; (necessarily excluded) messages and go to the first.
> +    (notmuch-show-mapc 'notmuch-show-open-if-matched)
> +    (force-window-update)
>      (goto-char (point-min))
> -    (unless (notmuch-show-get-prop :match)
> -      (notmuch-show-next-matching-message))))
> +    (if (notmuch-show-message-visible-p)
> +	(notmuch-show-mark-read)
> +      (notmuch-show-next-open-message))))
>  
>  (defun notmuch-show-previous-open-message ()
>    "Show the previous open message."
> -- 
> 1.7.9.1
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list