Previously, notmuch-show-previous-message would move to the beginning of the message before the message containing point. This patch makes it instead move to the previous message *boundary*. That is, if point isn't already at the beginning of the message, it moves to the beginning of the current message. This is consistent with notmuch-show-next-message, which can be thought of as moving to the next message boundary. Several people have expressed a preference for this. ---
This patch accompanies the series in [0] (though they're independent and can be applied in either order). This makes the behavior of 'p' and 'P' in show-mode conceptually similar to the new behavior of 'p' in search-mode. [0] 1342140319-19859-1-git-send-email-amdra...@mit.edu emacs/notmuch-show.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 6335d45..02e319f 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1525,9 +1525,11 @@ thread, navigate to the next thread in the parent search buffer." (goto-char (point-max))))) (defun notmuch-show-previous-message () - "Show the previous message." + "Show the previous message or the start of the current message." (interactive) - (notmuch-show-goto-message-previous) + (if (= (point) (notmuch-show-message-top)) + (notmuch-show-goto-message-previous) + (notmuch-show-move-to-message-top)) (notmuch-show-mark-read) (notmuch-show-message-adjust)) @@ -1587,7 +1589,9 @@ to show, nil otherwise." (defun notmuch-show-previous-open-message () "Show the previous open message." (interactive) - (while (and (notmuch-show-goto-message-previous) + (while (and (if (= (point) (notmuch-show-message-top)) + (notmuch-show-goto-message-previous) + (notmuch-show-move-to-message-top)) (not (notmuch-show-message-visible-p)))) (notmuch-show-mark-read) (notmuch-show-message-adjust)) -- 1.7.10 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch