[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