aboutsummaryrefslogtreecommitdiffhomepage
path: root/emacs
diff options
context:
space:
mode:
authorGravatar Dmitry Kurochkin <dmitry.kurochkin@gmail.com>2012-02-05 11:13:49 +0400
committerGravatar David Bremner <bremner@debian.org>2012-02-08 11:18:37 -0400
commit904eafaefc356b654842ff59de6afc17f24ccf17 (patch)
tree95bc9f0dbab59061bf38a6d456036bba4478573c /emacs
parent26d5b0efe4160b789670fbb059bea4630a352212 (diff)
emacs: separate history for operations which accept single and multiple tags
Some tag-related operations accept a single tag without prefix (`notmuch-select-tag-with-completion'), others accept multiple tags prefixed with '+' or '-' (`notmuch-read-tag-changes'). Before the change, both functions used a single default minibuffer history. This is inconvenient because you have to skip options with incompatible format when going through the history. The patch adds separate history lists for the two functions. Note that functions that accept the same input format (e.g. "+", "-", "*") share the history list as before.
Diffstat (limited to 'emacs')
-rw-r--r--emacs/notmuch.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 1f351a5a..862d9e8f 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -76,6 +76,14 @@ For example:
(defvar notmuch-query-history nil
"Variable to store minibuffer history for notmuch queries")
+(defvar notmuch-select-tag-history nil
+ "Variable to store minibuffer history for
+`notmuch-select-tag-with-completion' function.")
+
+(defvar notmuch-read-tag-changes-history nil
+ "Variable to store minibuffer history for
+`notmuch-read-tag-changes' function.")
+
(defun notmuch-tag-completions (&optional search-terms)
(split-string
(with-output-to-string
@@ -86,7 +94,7 @@ For example:
(defun notmuch-select-tag-with-completion (prompt &rest search-terms)
(let ((tag-list (notmuch-tag-completions search-terms)))
- (completing-read prompt tag-list)))
+ (completing-read prompt tag-list nil nil nil 'notmuch-select-tag-history)))
(defun notmuch-read-tag-changes (&optional initial-input &rest search-terms)
(let* ((all-tag-list (notmuch-tag-completions))
@@ -106,7 +114,8 @@ For example:
(define-key map " " 'self-insert-command)
map)))
(delete "" (completing-read-multiple "Tags (+add -drop): "
- tag-list nil nil initial-input))))
+ tag-list nil nil initial-input
+ 'notmuch-read-tag-changes-history))))
(defun notmuch-update-tags (tags tag-changes)
"Return a copy of TAGS with additions and removals from TAG-CHANGES.