The function to advance through threads with the space bar is useful. However, the current implementation also archives messages. The idea of archiving a message should not be intertwined with the processes of advancing through messages to read them. Archiving in general should be a separate operation that one does explicitly. This patch just renames the advance function "notmuch-show-advance", and removes the archiving of a thread when the end of the thread is reached. --- emacs/notmuch-show.el | 27 +++++++++++---------------- 1 files changed, 11 insertions(+), 16 deletions(-) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index f872cdf..b0c1f63 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -579,7 +579,7 @@ function is used. " (define-key map "n" 'notmuch-show-next-open-message) (define-key map "p" 'notmuch-show-previous-open-message) (define-key map (kbd "DEL") 'notmuch-show-rewind) - (define-key map " " 'notmuch-show-advance-and-archive) + (define-key map " " 'notmuch-show-advance) (define-key map (kbd "M-RET") 'notmuch-show-open-or-close-all) (define-key map (kbd "RET") 'notmuch-show-toggle-message) map) @@ -601,7 +601,7 @@ which \\[notmuch-show-next-button] and \\[notmuch-show-previous-button] are helpful). Reading the thread sequentially is well-supported by pressing -\\[notmuch-show-advance-and-archive]. This will scroll the +\\[notmuch-show-advance]. This will scroll the current message (if necessary), advance to the next message, or advance to the next thread (if already on the last message of a thread). @@ -611,7 +611,7 @@ more selectively, (such as '\\[notmuch-show-next-message]' and '\\[notmuch-show-previous-message]' to advance to messages without removing any tags, and '\\[notmuch-show-archive-thread]' to archive an entire thread without scrolling through with -\\[notmuch-show-advance-and-archive]). +\\[notmuch-show-advance]). You can add or remove arbitary tags from the current message with '\\[notmuch-show-add-tag]' or '\\[notmuch-show-remove-tag]'. @@ -780,8 +780,8 @@ All currently available key bindings: ;; Commands typically bound to keys. -(defun notmuch-show-advance-and-archive () - "Advance through thread and archive. +(defun notmuch-show-advance () + "Advance through threads. This command is intended to be one of the simplest ways to process a thread of email. It does the following: @@ -793,10 +793,9 @@ Otherwise, (the end of the current message is already within the current window), advance to the next open message. Finally, if there is no further message to advance to, and this -last message is already read, then archive the entire current -thread, (remove the \"inbox\" tag from each message). Also kill -this buffer, and display the next thread from the search from -which this thread was originally shown." +last message is already read. Also kill this buffer, and display +the next thread from the search from which this thread was +originally shown." (interactive) (let ((end-of-this-message (notmuch-show-message-bottom))) (cond @@ -814,14 +813,10 @@ which this thread was originally shown." ((not (= end-of-this-message (point-max))) ;; This is not the last message - move to the next visible one. - (notmuch-show-next-open-message)) - - (t - ;; This is the last message - archive the thread. - (notmuch-show-archive-thread))))) + (notmuch-show-next-open-message))))) (defun notmuch-show-rewind () - "Backup through the thread, (reverse scrolling compared to \\[notmuch-show-advance-and-archive]). + "Backup through the thread, (reverse scrolling compared to \\[notmuch-show-advance]). Specifically, if the beginning of the previous email is fewer than `window-height' lines from the current point, move to it @@ -831,7 +826,7 @@ Otherwise, just scroll down a screenful of the current message. This command does not modify any message tags, (it does not undo any effects from previous calls to -`notmuch-show-advance-and-archive'." +`notmuch-show-advance'." (interactive) (let ((start-of-message (notmuch-show-message-top)) (start-of-window (window-start))) -- 1.7.1