The notmuch-search-terms man page states that "tag:<tag>" is equivalent
to "is:<tag>". Completion for "is:<tag>" style searches is now supported
in the Emacs interface.

Signed-off-by: Charles Celerier <cceleri at>
 emacs/notmuch.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 218486a..e4b77c7 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -855,13 +855,15 @@ See `notmuch-tag' for information on the format of 
   "Read a notmuch-query from the minibuffer with completion.

 PROMPT is the string to prompt with."
+  (setq all-tags
+        (mapcar (lambda (tag) (notmuch-escape-boolean-term tag))
+                (process-lines notmuch-command "search" "--output=tags" "*")))
        (append (list "folder:" "path:" "thread:" "id:" "date:" "from:" "to:"
                      "subject:" "attachment:")
-               (mapcar (lambda (tag)
-                         (concat "tag:" (notmuch-escape-boolean-term tag)))
-                       (process-lines notmuch-command "search" "--output=tags" 
+               (mapcar (lambda (tag) (concat "tag:" tag)) all-tags)
+               (mapcar (lambda (tag) (concat "is:" tag)) all-tags))))
     (let ((keymap (copy-keymap minibuffer-local-map))
          (current-query (case major-mode
                           (notmuch-search-mode (notmuch-search-get-query))

Reply via email to