Allow a parameter to notmuch-show to just show the matching
messages. This is very similar to
notmuch-show-elide-non-matching-messages but since it calls
notmuch-show.c with the --thread=none parameter it does not keep any
threading information.

In particular the sort order is different: the elide-non-matching
sorts by thread and just omits the non-matching messages, this option
sorts by message.

It is likely that the two should be unified.
---
 emacs/notmuch-show.el |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 8a8acf6..1adf964 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -152,6 +152,12 @@ indentation."
 (make-variable-buffer-local 'notmuch-show-elide-non-matching-messages)
 (put 'notmuch-show-elide-non-matching-messages 'permanent-local t)

+;; This is very similar to the previous variable: they should be
+;; unified. MJW
+(defvar notmuch-show-just-matches nil)
+(make-variable-buffer-local 'notmuch-show-just-matches)
+(put 'notmuch-show-just-matches 'permanent-local t)
+
 (defvar notmuch-show-indent-content t)
 (make-variable-buffer-local 'notmuch-show-indent-content)
 (put 'notmuch-show-indent-content 'permanent-local t)
@@ -1014,7 +1020,7 @@ a corresponding notmuch search."
                        'face goto-address-mail-face))))

 ;;;###autoload
-(defun notmuch-show (thread-id &optional parent-buffer query-context 
buffer-name)
+(defun notmuch-show (thread-id &optional parent-buffer query-context 
buffer-name just-matches)
   "Run \"notmuch show\" with the given thread ID and display results.

 The optional PARENT-BUFFER is the notmuch-search buffer from
@@ -1047,7 +1053,9 @@ function is used."

     (setq notmuch-show-thread-id thread-id
          notmuch-show-parent-buffer parent-buffer
-         notmuch-show-query-context query-context)
+         notmuch-show-query-context query-context
+         notmuch-show-just-matches just-matches)
+
     (notmuch-show-worker)
     (current-buffer)))

@@ -1066,6 +1074,8 @@ function is used."
                       (append (list "\'") basic-args
                               (list "and (" notmuch-show-query-context ")\'"))
                     (append (list "\'") basic-args (list "\'")))))
+       (if notmuch-show-just-matches
+           (setq args (append (list "--thread=none") args)))
        (notmuch-show-insert-forest (notmuch-query-get-threads args))
        ;; If the query context reduced the results to nothing, run
        ;; the basic query.
-- 
1.7.2.3

Reply via email to