I'm in threads with many thousands of emails. So with this new `notmuch-search-unthread-thread`, I can be in my normal daily notmuch-search of tag:inbox and tag:personal and if I put my cursor on at rhead and then run this command, I get a buffer with the messages from that thread in a flat list. (Because so huge are the threads that `notmuch-tree-from-search-thread` can't handle them either.) And then from that "exploded view" of a thread I can go to messages one at a time in a non-borking way and then hit q to go back to the exploded view. --- emacs/notmuch.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 6eef4af1..c8f53625 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -547,6 +547,23 @@ Return non-nil on success." (message "End of search results.") nil))) +(defun notmuch-search-unthread-thread (&optional entire) + "View the relevant parts of the currently selected thread +as single messages. + +Without a prefix, it only shows the messages from the thread that +match the search query. With a prefix, it shows the entire +thread. + +Return non-nil on success." + (interactive "P") + (let ((thread-id (notmuch-search-find-thread-id))) + (if thread-id + (notmuch-unthreaded (if entire thread-id + (concat notmuch-search-query-string " and " thread-id))) + (message "No such thread with that id found!") + nil))) + (defun notmuch-tree-from-search-current-query () "Tree view of current query." (interactive) -- 2.39.2 _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-leave@notmuchmail.org