From: Carl Worth Date: Wed, 4 Nov 2009 19:30:15 +0000 (-0800) Subject: notmuch.el: Fix to show *something* when all messages are already read. X-Git-Tag: 0.1~584 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=9fc6f4e60d6c2bd98d6bd918af9982131c7fb0b1;p=notmuch.git notmuch.el: Fix to show *something* when all messages are already read. With the recent change of showing the first unread message, we would scroll down to the end of the buffer if all messages were already read. This would confusingly show nothing visible in the window. Instead, detect this case and move to the beginning of the buffer. --- diff --git a/notmuch.el b/notmuch.el index 81c7b447..66291fb8 100644 --- a/notmuch.el +++ b/notmuch.el @@ -175,8 +175,8 @@ the buffer." (defun notmuch-show-next-unread-message () "Advance to the beginning of the next unread message in the buffer. -Does nothing if there are no more unread messages past the -current point." +Moves to the end of the buffer if there are no more unread +messages past the current point." (while (and (not (eobp)) (not (member "unread" (notmuch-show-get-tags)))) (notmuch-show-next-message))) @@ -184,7 +184,7 @@ current point." (defun notmuch-show-find-next-unread-message () "Returns the position of the next message in the buffer. -Returns the current point if there are no more unread messages +Or the end of the buffer if there are no more unread messages past the current point." ; save-excursion doesn't save our window position ; save-window-excursion doesn't save point @@ -423,6 +423,8 @@ thread from that buffer can be show when done with this one)." (notmuch-show-markup-messages) ) (notmuch-show-next-unread-message) + (if (eobp) + (goto-char (point-min))) ))) (defvar notmuch-search-mode-map