From 1896ad97145ae27b2d5619b973d75afb774ca5b1 Mon Sep 17 00:00:00 2001 From: Charles Celerier Date: Sat, 27 Dec 2014 10:18:27 +0100 Subject: [PATCH] emacs: Added "is:" style completion to notmuch-read-query. The notmuch-search-terms man page states that "tag:" is equivalent to "is:". Completion for "is:" style searches is now supported in the Emacs interface. Amended by David Bremner: combine lexical-let and let into lexical-let* --- emacs/notmuch.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index ab004543..f03c2f90 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -855,13 +855,15 @@ See `notmuch-tag' for information on the format of TAG-CHANGES." "Read a notmuch-query from the minibuffer with completion. PROMPT is the string to prompt with." - (lexical-let - ((completions - (append (list "folder:" "path:" "thread:" "id:" "date:" "from:" "to:" - "subject:" "attachment:" "mimetype:") - (mapcar (lambda (tag) - (concat "tag:" (notmuch-escape-boolean-term tag))) - (process-lines notmuch-command "search" "--output=tags" "*"))))) + (lexical-let* + ((all-tags + (mapcar (lambda (tag) (notmuch-escape-boolean-term tag)) + (process-lines notmuch-command "search" "--output=tags" "*"))) + (completions + (append (list "folder:" "path:" "thread:" "id:" "date:" "from:" "to:" + "subject:" "attachment:" "mimetype:") + (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))