]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch.el
lib: work around talloc_steal usage from C++ code
[notmuch] / emacs / notmuch.el
index f851c6f70476fcf91dff581ca94034bdc0f7997b..ba833e642e82efc5a30a019b953f154f206e4feb 100644 (file)
@@ -85,11 +85,13 @@ For example:
 `notmuch-read-tag-changes' function.")
 
 (defun notmuch-tag-completions (&optional search-terms)
+  (if (null search-terms)
+      (setq search-terms (list "*")))
   (split-string
    (with-output-to-string
      (with-current-buffer standard-output
        (apply 'call-process notmuch-command nil t
-             nil "search-tags" search-terms)))
+             nil "search" "--output=tags" "--exclude=false" search-terms)))
    "\n+" t))
 
 (defun notmuch-select-tag-with-completion (prompt &rest search-terms)
@@ -872,16 +874,18 @@ non-authors is found, assume that all of the authors match."
                      (goto-char (point-max))
                      (if (/= (match-beginning 1) line)
                          (insert (concat "Error: Unexpected output from notmuch search:\n" (substring string line (match-beginning 1)) "\n")))
-                     (let ((beg (point)))
-                       (notmuch-search-show-result date count authors
-                                                   (notmuch-prettify-subject subject) tags)
-                       (notmuch-search-color-line beg (point) tag-list)
-                       (put-text-property beg (point) 'notmuch-search-thread-id thread-id)
-                       (put-text-property beg (point) 'notmuch-search-authors authors)
-                       (put-text-property beg (point) 'notmuch-search-subject subject)
-                       (when (string= thread-id notmuch-search-target-thread)
-                         (set 'found-target beg)
-                         (set 'notmuch-search-target-thread "found")))
+                     ;; We currently just throw away excluded matches.
+                     (unless (eq (aref count 1) ?0)
+                       (let ((beg (point)))
+                         (notmuch-search-show-result date count authors
+                                                     (notmuch-prettify-subject subject) tags)
+                         (notmuch-search-color-line beg (point) tag-list)
+                         (put-text-property beg (point) 'notmuch-search-thread-id thread-id)
+                         (put-text-property beg (point) 'notmuch-search-authors authors)
+                         (put-text-property beg (point) 'notmuch-search-subject subject)
+                         (when (string= thread-id notmuch-search-target-thread)
+                           (set 'found-target beg)
+                           (set 'notmuch-search-target-thread "found"))))
                      (set 'line (match-end 0)))
                  (set 'more nil)
                  (while (and (< line (length string)) (= (elt string line) ?\n))
@@ -960,7 +964,7 @@ PROMPT is the string to prompt with."
                                         completions)))
               (t (list string)))))))
       ;; this was simpler than convincing completing-read to accept spaces:
-      (define-key keymap (kbd "<tab>") 'minibuffer-complete)
+      (define-key keymap (kbd "TAB") 'minibuffer-complete)
       (let ((history-delete-duplicates t))
        (read-from-minibuffer prompt nil keymap nil
                              'notmuch-search-history nil nil)))))