Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 47DDA431FC3 for ; Sat, 4 Feb 2012 09:08:31 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0.201 X-Spam-Level: X-Spam-Status: No, score=0.201 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AF+z8u0e4Fma for ; Sat, 4 Feb 2012 09:08:30 -0800 (PST) Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id E8AE6431FBF for ; Sat, 4 Feb 2012 09:08:29 -0800 (PST) Received: by mail-wi0-f181.google.com with SMTP id hi8so3640758wib.26 for ; Sat, 04 Feb 2012 09:08:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=hdkgZUlD9Zrtxj6bogYYGvCVAH67HDTxhIxsZGhOnww=; b=MOSCVPvnT2NoYjKz8tkZERmb+gbyFLIdDkppTE9BMh4XRQxJgnpZrWMx6X8q8dwDRQ X2gt10DQ+G1juacJEv7/UvITH38BWBbOhaU6DVqIjAP/sbsHxIXCT7gY6+qrU+9pWKnt scdNd8dg6THKKmylMbKQUkj4rtZTSxolJoVJE= Received: by 10.180.92.229 with SMTP id cp5mr1183901wib.8.1328375309799; Sat, 04 Feb 2012 09:08:29 -0800 (PST) Received: from localhost (94-192-233-223.zone6.bethere.co.uk. [94.192.233.223]) by mx.google.com with ESMTPS id fv6sm28660983wib.8.2012.02.04.09.08.28 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 04 Feb 2012 09:08:29 -0800 (PST) From: Mark Walters To: notmuch@notmuchmail.org Subject: [PATCH 2/2] emacs: Improve prompting for user address when replying. Date: Sat, 4 Feb 2012 17:09:10 +0000 Message-Id: <1328375350-10352-3-git-send-email-markwalters1009@gmail.com> X-Mailer: git-send-email 1.7.2.3 In-Reply-To: <1328375350-10352-1-git-send-email-markwalters1009@gmail.com> References: <1328375350-10352-1-git-send-email-markwalters1009@gmail.com> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 17:08:31 -0000 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"))) (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