unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Thomas Jost <schnouki@schnouki.net>
To: notmuch@notmuchmail.org
Subject: [PATCH 4/4] emacs: Allow the user to choose the "From" address when replying to a message.
Date: Wed, 25 May 2011 15:22:40 +0200	[thread overview]
Message-ID: <1306329760-16665-4-git-send-email-schnouki@schnouki.net> (raw)
In-Reply-To: <1306329760-16665-1-git-send-email-schnouki@schnouki.net>

---
 emacs/notmuch-mua.el  |    9 ++++++++-
 emacs/notmuch-show.el |    6 ++++++
 emacs/notmuch.el      |    7 +++++++
 3 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
index 7c08a6e..d04e69c 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.
@@ -190,6 +193,10 @@ name and addresses configured in the notmuch configuration file."
 	 (user-mail-address (cadr address-components)))
     (notmuch-mua-forward-message)))
 
+(defun notmuch-mua-reply-prompt-for-sender (query-string)
+  (interactive)
+  (notmuch-mua-reply query-string (notmuch-mua-prompt-for-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 50b20b2..2c69e96 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -852,6 +852,7 @@ function is used. "
 	(define-key map "f" 'notmuch-show-forward-message)
 	(define-key map "F" 'notmuch-show-forward-message-prompt-for-sender)
 	(define-key map "r" 'notmuch-show-reply)
+	(define-key map "R" 'notmuch-show-reply-prompt-for-sender)
 	(define-key map "|" 'notmuch-show-pipe-message)
 	(define-key map "w" 'notmuch-show-save-attachments)
 	(define-key map "V" 'notmuch-show-view-raw-message)
@@ -1160,6 +1161,11 @@ any effects from previous calls to
   (interactive)
   (notmuch-mua-reply (notmuch-show-get-message-id)))
 
+(defun notmuch-show-reply-prompt-for-sender ()
+  "Reply to the current message, prompting for the From: address first."
+  (interactive)
+  (notmuch-mua-reply-prompt-for-sender (notmuch-show-get-message-id)))
+
 (defun notmuch-show-forward-message ()
   "Forward the current message."
   (interactive)
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 1791d84..153dc74 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -204,6 +204,7 @@ For a mouse binding, return nil."
     (define-key map "p" 'notmuch-search-previous-thread)
     (define-key map "n" 'notmuch-search-next-thread)
     (define-key map "r" 'notmuch-search-reply-to-thread)
+    (define-key map "R" 'notmuch-search-reply-to-thread-prompt-for-sender)
     (define-key map "m" 'notmuch-mua-new-mail)
     (define-key map "M" 'notmuch-mua-new-mail-prompt-for-sender)
     (define-key map "s" 'notmuch-search)
@@ -449,6 +450,12 @@ Complete list of currently available key bindings:
   (let ((message-id (notmuch-search-find-thread-id)))
     (notmuch-mua-reply message-id)))
 
+(defun notmuch-search-reply-to-thread-prompt-for-sender ()
+  "Begin composing a reply to the entire current thread in a new buffer, prompting for the From: address first."
+  (interactive)
+  (let ((message-id (notmuch-search-find-thread-id)))
+    (notmuch-mua-reply-prompt-for-sender message-id)))
+
 (defun notmuch-call-notmuch-process (&rest args)
   "Synchronously invoke \"notmuch\" with the given list of arguments.
 
-- 
1.7.5.1

  parent reply	other threads:[~2011-05-25 13:23 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-16  9:29 Multiple sender identities (composing) Stewart Smith
2011-05-16  9:52 ` Thomas Jost
2011-05-16 13:52   ` Stewart Smith
2011-05-16 16:52     ` Jameson Graef Rollins
2011-05-16 18:03       ` Thomas Jost
2011-05-16 18:43         ` Jameson Graef Rollins
2011-05-16 22:36       ` green
2011-05-17  4:38       ` Mueen Nawaz
2011-05-24 21:54 ` Carl Worth
2011-05-24 22:02   ` [PATCH] emacs: Allow user to choose "From" address when composing a new message Carl Worth
2011-05-25 13:21     ` Thomas Jost
2011-05-25 13:22       ` [PATCH 1/4] emacs: Allow the user choose the "From" address when composing a new message from notmuch-show-mode too Thomas Jost
2011-05-25 13:22         ` [PATCH 2/4] emacs: Move the "prompt for sender" code to a new function Thomas Jost
2011-05-25 13:22         ` [PATCH 3/4] emacs: Allow the user to choose the "From" address when forwarding a message Thomas Jost
2011-05-25 13:22         ` Thomas Jost [this message]
2011-05-25 22:17       ` [PATCH] emacs: Allow user to choose "From" address when composing a new message Carl Worth
2011-05-26  8:39         ` Thomas Jost
2011-05-26  8:41           ` [PATCH v2 1/4] emacs: Helpers needed for the user to be able to choose the " Thomas Jost
2011-05-26  8:41             ` [PATCH v2 2/4] emacs: Allow the user " Thomas Jost
2011-05-26  8:41             ` [PATCH v2 3/4] emacs: Allow the user to choose the "From" address when forwarding a message Thomas Jost
2011-05-26  8:41             ` [PATCH v2 4/4] emacs: Allow the user to choose the "From" address when replying to " Thomas Jost
2011-05-26 15:35           ` [PATCH] emacs: Allow user to choose "From" address when composing a new message Jameson Graef Rollins
2011-05-26 17:22             ` [PATCH] emacs: Add a customization allowing to always prompt for the " Thomas Jost
2011-05-26 17:46               ` Jameson Graef Rollins
2011-05-26 21:11               ` Carl Worth
2011-05-26 21:37                 ` Jameson Graef Rollins
2011-05-26 22:33                   ` Jameson Graef Rollins
2011-05-27  9:14                     ` [PATCH 1/2] emacs: Don't always prompt for the "From" address when replying Thomas Jost
2011-05-27  9:15                       ` [PATCH 2/2] emacs: Cleaner interface when prompting for sender address Thomas Jost
2011-05-27 10:37                         ` Jameson Graef Rollins
2011-05-27 10:36                       ` [PATCH 1/2] emacs: Don't always prompt for the "From" address when replying Jameson Graef Rollins
2011-05-29 22:38   ` Multiple sender identities (composing) Stewart Smith
2011-06-01  5:53 ` Brian May
2011-06-01  6:42   ` Thomas Jost
2011-06-02  1:49     ` Brian May

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1306329760-16665-4-git-send-email-schnouki@schnouki.net \
    --to=schnouki@schnouki.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).