From 9fc6f4e60d6c2bd98d6bd918af9982131c7fb0b1 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 4 Nov 2009 11:30:15 -0800 Subject: [PATCH] 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. --- notmuch.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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