Better support for helm in the address completion

Sebastian Fischmeister sfischme at uwaterloo.ca
Tue Sep 16 05:47:53 PDT 2014


Hi,

I noticed that the completing-read in notmuch-address-selection-function
was eating the first returned address when using helm. Here's a patch
that fixes it. The defaults are as they used to be.

For helm use:

(setq notmuch-address-suggest-initial-match nil)

If you don't want to enter a new address in the selection (with helm)
use:

(setq notmuch-address-require-match t)

  Sebastian

diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el
index fa65cd5..d9b66cd 100644
--- a/emacs/notmuch-address.el
+++ b/emacs/notmuch-address.el
@@ -42,11 +42,25 @@ to know how address selection is made by default."
   :group 'notmuch-send
   :group 'notmuch-external)
 
+(defcustom notmuch-address-suggest-initial-match t
+  "Pass an initial match to the address completing read."
+  :type 'boolean
+  :group 'notmuch-send)
+
+(defcustom notmuch-address-require-match nil
+  "Require a match in the address selection in `notmuch-address-selection-function'."
+  :type 'boolean
+  :group 'notmuch-send)
+
 (defun notmuch-address-selection-function (prompt collection initial-input)
   "Call (`completing-read'
       PROMPT COLLECTION nil nil INITIAL-INPUT 'notmuch-address-history)"
   (completing-read
-   prompt collection nil nil initial-input 'notmuch-address-history))
+   prompt
+   (if notmuch-address-suggest-initial-match 'collection (list initial-input collection))
+   nil notmuch-address-require-match
+   (if notmuch-address-suggest-initial-match 'initial-input nil)
+   'notmuch-address-history))
 
 (defvar notmuch-address-message-alist-member
   '("^\\(Resent-\\)?\\(To\\|B?Cc\\|Reply-To\\|From\\|Mail-Followup-To\\|Mail-Copies-To\\):"


More information about the notmuch mailing list