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