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@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch