[PATCH v2 4/4] emacs: Allow the user to choose the "From" address when replying to a message
When pressing C-u r, the user will be prompted for the identity to use. --- emacs/notmuch-mua.el | 13 - emacs/notmuch-show.el |6 +++--- emacs/notmuch.el |6 +++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index 1b777d9..f2d86bb 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -69,7 +69,7 @@ list." (push header message-hidden-headers))) notmuch-mua-hidden-headers)) -(defun notmuch-mua-reply (query-string) +(defun notmuch-mua-reply (query-string &optional sender) (let (headers body (args '("reply"))) @@ -90,6 +90,9 @@ list." (setq headers (mail-header-extract) (forward-line 1) (setq body (buffer-substring (point) (point-max +;; If sender is non-nil, set the From: header to its value. +(when sender + (mail-header-set 'from sender headers)) (let ;; Overlay the composition window on that being used to read ;; the original message. @@ -191,6 +194,14 @@ the From: address first." (notmuch-mua-forward-message)) (notmuch-mua-forward-message))) +(defun notmuch-mua-new-reply (query-string &optional prompt-for-sender) + "Invoke the notmuch reply window." + (interactive "P") + (let ((sender +(when prompt-for-sender + (notmuch-mua-prompt-for-sender +(notmuch-mua-reply query-string sender))) + (defun notmuch-mua-send-and-exit (&optional arg) (interactive "P") (message-send-and-exit arg)) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 7e493e9..1c5dfd7 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1153,10 +1153,10 @@ any effects from previous calls to ;; Move to the previous message. (notmuch-show-previous-message) -(defun notmuch-show-reply () +(defun notmuch-show-reply (&optional prompt-for-sender) "Reply to the current message." - (interactive) - (notmuch-mua-reply (notmuch-show-get-message-id))) + (interactive "P") + (notmuch-mua-new-reply (notmuch-show-get-message-id) prompt-for-sender)) (defun notmuch-show-forward-message (&optional prompt-for-sender) "Forward the current message." diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 21e0314..3d984bc 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -442,11 +442,11 @@ Complete list of currently available key bindings: crypto-switch) (error "End of search results" -(defun notmuch-search-reply-to-thread () +(defun notmuch-search-reply-to-thread (&optional prompt-for-sender) "Begin composing a reply to the entire current thread in a new buffer." - (interactive) + (interactive "P") (let ((message-id (notmuch-search-find-thread-id))) -(notmuch-mua-reply message-id))) +(notmuch-mua-new-reply message-id prompt-for-sender))) (defun notmuch-call-notmuch-process (&rest args) "Synchronously invoke \"notmuch\" with the given list of arguments. -- 1.7.5.1
[PATCH v2 4/4] emacs: Allow the user to choose the "From" address when replying to a message
When pressing C-u r, the user will be prompted for the identity to use. --- emacs/notmuch-mua.el | 13 - emacs/notmuch-show.el |6 +++--- emacs/notmuch.el |6 +++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index 1b777d9..f2d86bb 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -69,7 +69,7 @@ list." (push header message-hidden-headers))) notmuch-mua-hidden-headers)) -(defun notmuch-mua-reply (query-string) +(defun notmuch-mua-reply (query-string &optional sender) (let (headers body (args '("reply"))) @@ -90,6 +90,9 @@ list." (setq headers (mail-header-extract) (forward-line 1) (setq body (buffer-substring (point) (point-max +;; If sender is non-nil, set the From: header to its value. +(when sender + (mail-header-set 'from sender headers)) (let ;; Overlay the composition window on that being used to read ;; the original message. @@ -191,6 +194,14 @@ the From: address first." (notmuch-mua-forward-message)) (notmuch-mua-forward-message))) +(defun notmuch-mua-new-reply (query-string &optional prompt-for-sender) + "Invoke the notmuch reply window." + (interactive "P") + (let ((sender +(when prompt-for-sender + (notmuch-mua-prompt-for-sender +(notmuch-mua-reply query-string sender))) + (defun notmuch-mua-send-and-exit (&optional arg) (interactive "P") (message-send-and-exit arg)) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 7e493e9..1c5dfd7 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1153,10 +1153,10 @@ any effects from previous calls to ;; Move to the previous message. (notmuch-show-previous-message) -(defun notmuch-show-reply () +(defun notmuch-show-reply (&optional prompt-for-sender) "Reply to the current message." - (interactive) - (notmuch-mua-reply (notmuch-show-get-message-id))) + (interactive "P") + (notmuch-mua-new-reply (notmuch-show-get-message-id) prompt-for-sender)) (defun notmuch-show-forward-message (&optional prompt-for-sender) "Forward the current message." diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 21e0314..3d984bc 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -442,11 +442,11 @@ Complete list of currently available key bindings: crypto-switch) (error "End of search results" -(defun notmuch-search-reply-to-thread () +(defun notmuch-search-reply-to-thread (&optional prompt-for-sender) "Begin composing a reply to the entire current thread in a new buffer." - (interactive) + (interactive "P") (let ((message-id (notmuch-search-find-thread-id))) -(notmuch-mua-reply message-id))) +(notmuch-mua-new-reply message-id prompt-for-sender))) (defun notmuch-call-notmuch-process (&rest args) "Synchronously invoke \"notmuch\" with the given list of arguments. -- 1.7.5.1 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch