[PATCH 2/2] emacs: Improve prompting for user address when replying.
On Sat, 4 Feb 2012 17:09:10 +, Mark Walters 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 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
[PATCH 2/2] emacs: Improve prompting for user address when replying.
On Sat, 04 Feb 2012 20:03:13 +0200, Jani Nikula wrote: > On Sat, 4 Feb 2012 17:09:10 +, Mark Walters 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 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
[PATCH 2/2] emacs: Improve prompting for user address when replying.
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 sender reply-all) (let (headers body - (args '("reply"))) + (args '("reply" "--from=fallback-received"))) (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
Re: [PATCH 2/2] emacs: Improve prompting for user address when replying.
On Sat, 4 Feb 2012 17:09:10 +, Mark Walters markwalters1...@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@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 2/2] emacs: Improve prompting for user address when replying.
On Sat, 04 Feb 2012 20:03:13 +0200, Jani Nikula j...@nikula.org wrote: On Sat, 4 Feb 2012 17:09:10 +, Mark Walters markwalters1...@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 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch