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

2012-02-04 Thread Jani Nikula
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.

2012-02-04 Thread Mark Walters

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.

2012-02-04 Thread Mark Walters
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.

2012-02-04 Thread Jani Nikula
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.

2012-02-04 Thread Mark Walters

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