[PATCH 2/2] emacs: Improve prompting for user address when replying.

Jani Nikula jani at nikula.org
Sat Feb 4 10:03:13 PST 2012


On Sat,  4 Feb 2012 17:09:10 +0000, Mark Walters <markwalters1009 at gmail.com> wrote:
> This patch uses the new --from option to notmuch reply to allow it to
> prompt the user for the From: address in cases when the cli does not
> know the "correct" from address. If the cli does not it either uses
> the users default address or, if notmuch-always-prompt-for-sender
> is set, prompts the user.
> ---
>  emacs/notmuch-mua.el |   47 ++++++++++++++++++++++++++++-------------------
>  1 files changed, 28 insertions(+), 19 deletions(-)
> 
> diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
> index 41f82c2..36e62f9 100644
> --- a/emacs/notmuch-mua.el
> +++ b/emacs/notmuch-mua.el
> @@ -51,6 +51,24 @@ list."
>  
>  ;;
>  
> +(defcustom notmuch-identities nil
> +  "Identities that can be used as the From: address when composing a new message.
> +
> +If this variable is left unset, then a list will be constructed from the
> +name and addresses configured in the notmuch configuration file."
> +  :type '(repeat string)
> +  :group 'notmuch-send)
> +
> +(defcustom notmuch-always-prompt-for-sender nil
> +  "Always prompt for the From: address when composing or forwarding a message.
> +
> +This is not taken into account when replying to a message, because in that case
> +the From: header is already filled in by notmuch."
> +  :type 'boolean
> +  :group 'notmuch-send)
> +
> +(defvar notmuch-mua-sender-history nil)
> +
>  (defun notmuch-mua-user-agent-full ()
>    "Generate a `User-Agent:' string suitable for notmuch."
>    (concat (notmuch-mua-user-agent-notmuch)
> @@ -75,7 +93,7 @@ list."
>  (defun notmuch-mua-reply (query-string &optional sender reply-all)
>    (let (headers
>  	body
> -	(args '("reply")))
> +	(args '("reply" "--from=fallback-received")))

There are better reviewers for the rest of the emacs bits, but wouldn't
it be better to just use the "notmuch reply" default when the user wants
the current behaviour?

BR,
Jani.


>      (if notmuch-show-process-crypto
>  	(setq args (append args '("--decrypt"))))
>      (if reply-all
> @@ -99,6 +117,15 @@ list."
>      ;; If sender is non-nil, set the From: header to its value.
>      (when sender
>        (mail-header-set 'from sender headers))
> +    ;; If we do not have a From: header yet it means that
> +    ;; notmuch-reply.c was not able to make a useful guess so we fill
> +    ;; it in ourselves.
> +    (when (string= "" (mail-header 'from headers))
> +      (if notmuch-always-prompt-for-sender
> +	  (setq sender (notmuch-mua-prompt-for-sender))
> +	(setq sender (concat
> +		      (notmuch-user-name) " <" (notmuch-user-primary-email) ">")))
> +      (mail-header-set 'from sender headers))
>      (let
>  	;; Overlay the composition window on that being used to read
>  	;; the original message.
> @@ -153,24 +180,6 @@ OTHER-ARGS are passed through to `message-mail'."
>  
>    (message-goto-to))
>  
> -(defcustom notmuch-identities nil
> -  "Identities that can be used as the From: address when composing a new message.
> -
> -If this variable is left unset, then a list will be constructed from the
> -name and addresses configured in the notmuch configuration file."
> -  :type '(repeat string)
> -  :group 'notmuch-send)
> -
> -(defcustom notmuch-always-prompt-for-sender nil
> -  "Always prompt for the From: address when composing or forwarding a message.
> -
> -This is not taken into account when replying to a message, because in that case
> -the From: header is already filled in by notmuch."
> -  :type 'boolean
> -  :group 'notmuch-send)
> -
> -(defvar notmuch-mua-sender-history nil)
> -
>  (defun notmuch-mua-prompt-for-sender ()
>    (interactive)
>    (let (name addresses one-name-only)
> -- 
> 1.7.2.3
> 
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list