Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 3CFD46DE186C for ; Sat, 20 Feb 2016 10:25:12 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.283 X-Spam-Level: X-Spam-Status: No, score=-0.283 tagged_above=-999 required=5 tests=[AWL=0.287, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ltAAbA91NZsz for ; Sat, 20 Feb 2016 10:25:10 -0800 (PST) Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by arlo.cworth.org (Postfix) with ESMTPS id 020776DE1870 for ; Sat, 20 Feb 2016 10:24:58 -0800 (PST) Received: by mail-wm0-f42.google.com with SMTP id g62so119130553wme.1 for ; Sat, 20 Feb 2016 10:24:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PuatqE2r1DYn8sGzmyv2nf6yNe13REoAKmYPDsoHUVA=; b=MdCkUsAthsmG7hL+BufC49vmpt0IOasEbNM5YgNdQjfPPT1rA8iWZhH7w7ypCRPPY6 OGJzoee9QkCf8S3ZonkbSBtBZfVPyb6NSJnDC5aWAKcyrnIldHgCctLtq0KLPQCAQspQ 6p4cjMlyHtdZonjNfNXDMs6n/8+n6WKwmqdZQp1HhCLtl2G1zSlM0HUNyPAU4GuXTg07 HChFNqD95JaQah2MLdISNQiSYUb7iuKjCGxc8u0eFKZ9MSEyI+/DkRVNC7bqMv3aInQF TMBgWEj2+/8LjBo+Tm5vvxw4JQMz37o2SzOfox/zCIUnpNMBfwYOSmev82VHluUVm55i bL/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PuatqE2r1DYn8sGzmyv2nf6yNe13REoAKmYPDsoHUVA=; b=lH8O4VF7pJ4/9qWpK6Aqw4n43iX94pJJLY+pz0q6zcUMNJTwPpdG2WtbqOFwD5lvKZ 0Kg4HheczCUUOMGhlL+n0XQjpMmsa0/My8cMlm8oqUSPIYKC7Onk8/XIWHvT0X6lUsTJ +L8TNsnAA/7wBolyX0OHccLg6Ee5PqAmw7is27OReuqupl4zdY7Ma7Mo6nkVIRoVVWoB cgtZyxOvXTgmwHIFOcYlYWDlbjB2Svbav82SJTrMTtARb9807SdU7qqOA3v1JdaaHKBg g3yPs9SdJXbaaCtUiFSbziIjN4XLTzPPTDL8Bf6mUDodf8ardKk5+WrFOBH9wwe5KDiN b62Q== X-Gm-Message-State: AG10YOSbkMmns0m5oR2YWVpq8H++IjPxKxPFlZKe6+9HKYEEkijaEH9Z/G6p0ltc+WiiiQ== X-Received: by 10.194.189.71 with SMTP id gg7mr19509578wjc.127.1455992696707; Sat, 20 Feb 2016 10:24:56 -0800 (PST) Received: from localhost (5751dfa2.skybroadband.com. [87.81.223.162]) by smtp.gmail.com with ESMTPSA id s8sm16676143wje.35.2016.02.20.10.24.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 20 Feb 2016 10:24:56 -0800 (PST) From: Mark Walters To: notmuch@notmuchmail.org Subject: [PATCH v6 6/6] emacs/mua: Let user specify which parts get a header in citations. Date: Sat, 20 Feb 2016 18:24:40 +0000 Message-Id: <1455992680-24978-7-git-send-email-markwalters1009@gmail.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1455992680-24978-1-git-send-email-markwalters1009@gmail.com> References: <1455992680-24978-1-git-send-email-markwalters1009@gmail.com> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.20 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, 20 Feb 2016 18:25:12 -0000 From: David Edmondson Add a customizable function specifying which parts get a header when replying, and give some sensible possiblities. These are, 1) all parts except multipart/*. (Subparts of a multipart part do receive a header button.) 2) only included text/* parts. 3) Exactly as in the show buffer. 4) None at all. This means the reply contains a mish-mash of all the original message's parts. In the test suite we set the choice to option 4 to match the previous behaviour. --- emacs/notmuch-mua.el | 19 ++++++++++++++++++- emacs/notmuch-show.el | 10 ++++++++++ test/test-lib.el | 4 ++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index ecc5bec..fcb3e95 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -93,6 +93,23 @@ (defcustom notmuch-mua-cite-function 'message-cite-original :link '(custom-manual "(message)Insertion Variables") :group 'notmuch-reply) +(defcustom notmuch-mua-reply-insert-header-p-function + 'notmuch-show-reply-insert-header-p-trimmed + "Function to decide which parts get a header when replying. + +This function specifies which parts of a mime message with +mutiple parts get a header." + :type '(radio (const :tag "All except multipart/* and hidden parts" + notmuch-show-reply-insert-header-p-trimmed) + (const :tag "Only for included text parts" + notmuch-show-reply-insert-header-p-minimal) + (const :tag "Exactly as in show view" + notmuch-show-insert-header-p) + (const :tag "No part headers" + notmuch-show-reply-insert-header-p-never) + (function :tag "Other")) + :group 'notmuch-reply) + ;; (defun notmuch-mua-get-switch-function () @@ -231,7 +248,7 @@ (defun notmuch-mua-reply (query-string &optional sender reply-all) ;; Don't omit long parts. (notmuch-show-max-text-part-size 0) ;; Insert headers for parts as appropriate for replying. - (notmuch-show-insert-header-p-function #'notmuch-show-reply-insert-header-p-never)) + (notmuch-show-insert-header-p-function notmuch-mua-reply-insert-header-p-function)) (notmuch-show-insert-body original (plist-get original :body) 0) (buffer-substring-no-properties (point-min) (point-max))))) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 2a81ec1..371e62d 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -954,6 +954,16 @@ (defun notmuch-show-insert-header-p (part hide) (defun notmuch-show-reply-insert-header-p-never (part hide) nil) +(defun notmuch-show-reply-insert-header-p-trimmed (part hide) + (let ((mime-type (notmuch-show-mime-type part))) + (and (not (notmuch-match-content-type mime-type "multipart/*")) + (not hide)))) + +(defun notmuch-show-reply-insert-header-p-minimal (part hide) + (let ((mime-type (notmuch-show-mime-type part))) + (and (notmuch-match-content-type mime-type "text/*") + (not hide)))) + (defun notmuch-show-insert-bodypart (msg part depth &optional hide) "Insert the body part PART at depth DEPTH in the current thread. diff --git a/test/test-lib.el b/test/test-lib.el index 596a705..02e020c 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -184,6 +184,10 @@ (defmacro notmuch-test-progn (&rest body) (setq notmuch-tag-deleted-formats '((".*" nil))) +;; For historical reasonse we don't print part headers when replying +;; in the tests suite +(setq notmuch-mua-reply-insert-header-p-function 'notmuch-show-reply-insert-header-p-never) + ;; force a common html renderer, to avoid test variations between ;; environments -- 2.1.4