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

Mark Walters markwalters1009 at gmail.com
Sat Feb 4 11:12:28 PST 2012


On Sat, 04 Feb 2012 20:03:13 +0200, Jani Nikula <jani at nikula.org> wrote:
> 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?

Does any user actually want to be prompted for a From address when
mailing/forwarding normally but not when replying and there is no reason
to choose one address over another?

What I would actually like is to consolidate the From address choosing
so that it occurs in one place in the emacs code, so the three
(mail/forward/reply) naturally behave the same.

Thanks for the rapid review (and the significant bug catch!)

Best wishes

Mark


> 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