On Sat, 04 Feb 2012 20:03:13 +0200, Jani Nikula <jani@nikula.org> wrote: > On Sat, 4 Feb 2012 17:09:10 +0000, Mark Walters <markwalters1009@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@notmuchmail.org > > http://notmuchmail.org/mailman/listinfo/notmuch