From 3effd82ace9bfb2fa1aa32bfcd054abf849a63c4 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 4 Nov 2009 10:32:44 -0800 Subject: [PATCH] notmuch.el: Move "show next thread" from magic-space-bar to archive-thread If I explicitly hit the 'a' key before reading the whole thread, I still want to advance to the next thread in my search. --- notmuch.el | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/notmuch.el b/notmuch.el index 747f60c4..e15921bc 100644 --- a/notmuch.el +++ b/notmuch.el @@ -102,9 +102,13 @@ (notmuch-show-set-tags (delete tag tags)))))) (defun notmuch-show-archive-thread () - "Archive each message currrently shown by removing the \"inbox\" tag from each. + "Archive each message in thread, and show next thread from search. -This command is safe from any race condition of new messages +Archive each message currrently shown by removing the \"inbox\" +tag from each. Then kill this buffer and show the next thread +from the search from which this thread was originally shown. + +Note: This command is safe from any race condition of new messages being delivered to the same thread. It does not archive the entire thread, but only the messages shown in the current buffer." @@ -116,7 +120,13 @@ buffer." (if (not (eobp)) (forward-char)) (if (not (re-search-forward notmuch-show-message-begin-regexp nil t)) - (goto-char (point-max)))))) + (goto-char (point-max))))) + (let ((parent-buffer notmuch-show-parent-buffer)) + (kill-this-buffer) + (if parent-buffer + (progn + (switch-to-buffer parent-buffer) + (notmuch-search-show-thread))))) (defun notmuch-show-move-to-current-message-summary-line () "Move to the beginning of the one-line summary of the current message. @@ -207,14 +217,7 @@ which this thread was originally shown." (unread (member "unread" (notmuch-show-get-tags)))) (if (and (not unread) (equal next (point))) - (progn - (notmuch-show-archive-thread) - (let ((parent-buffer notmuch-show-parent-buffer)) - (kill-this-buffer) - (if parent-buffer - (progn - (switch-to-buffer parent-buffer) - (notmuch-search-show-thread))))) + (notmuch-show-archive-thread) (if (< (notmuch-show-find-next-message) (window-end)) (notmuch-show-mark-read-then-next-message) (scroll-up nil)))))