Better support for helm in the address completion
Tomi Ollila
tomi.ollila at iki.fi
Tue Sep 16 15:26:57 PDT 2014
On Tue, Sep 16 2014, Sebastian Fischmeister <sfischme at uwaterloo.ca> wrote:
> 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.
If you don't want to provide patch according to
http://notmuchmail.org/contributing/
(patch format & commit message are important to attract reviewers (who!?;) ))
and additionally explain (to me) why some of those things are changed to
symbols you can just edit
~/.emacs.d/notmuch-config.el
and add
(setq notmuch-address-selection-function
(lambda (prompt collection initial-input)
(completing-read prompt (cons initial-input collection) nil t nil 'notmuch-address-history)))
there (or use customize to do that (?)).
If I were smarter when I split this call out from notmuch-address-expand-name
I would not have called it with (car options) (cdr options) but split
it in that selection-function but that is how it is now...(*)
Tomi
(*) Especially as I did that just so that I can do this:
(setq notmuch-address-selection-function
(lambda (prompt collection initial-input)
(selection-menu "Send To:" (cons initial-input collection) t)))
;/
> 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\\):"
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list