From: David Edmondson <dme@dme.org>
To: notmuch@notmuchmail.org
Subject: [PATCH v2] emacs/notmuch-mua: Generate improved cited text for replies
Date: Thu, 8 May 2014 07:24:32 +0100 [thread overview]
Message-ID: <1399530272-11857-2-git-send-email-dme@dme.org> (raw)
In-Reply-To: <1399530272-11857-1-git-send-email-dme@dme.org>
Use the message display code to generate message text to cite in
replies.
---
emacs/notmuch-mua.el | 38 ++++++++------------------------------
1 file changed, 8 insertions(+), 30 deletions(-)
diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
index 95e4a4d..09c922f 100644
--- a/emacs/notmuch-mua.el
+++ b/emacs/notmuch-mua.el
@@ -28,7 +28,7 @@
(eval-when-compile (require 'cl))
-(declare-function notmuch-show-insert-bodypart "notmuch-show" (msg part depth &optional hide))
+(declare-function notmuch-show-insert-body "notmuch-show" (msg body depth))
;;
@@ -123,31 +123,6 @@ list."
else if (notmuch-match-content-type (plist-get part :content-type) "multipart/*")
do (notmuch-mua-reply-crypto (plist-get part :content))))
-(defun notmuch-mua-get-quotable-parts (parts)
- (loop for part in parts
- if (notmuch-match-content-type (plist-get part :content-type) "multipart/alternative")
- collect (let* ((subparts (plist-get part :content))
- (types (mapcar (lambda (part) (plist-get part :content-type)) subparts))
- (chosen-type (car (notmuch-multipart/alternative-choose types))))
- (loop for part in (reverse subparts)
- if (notmuch-match-content-type (plist-get part :content-type) chosen-type)
- return part))
- else if (notmuch-match-content-type (plist-get part :content-type) "multipart/*")
- append (notmuch-mua-get-quotable-parts (plist-get part :content))
- else if (notmuch-match-content-type (plist-get part :content-type) "text/*")
- collect part))
-
-(defun notmuch-mua-insert-quotable-part (message part)
- ;; We don't want text properties leaking from the show renderer into
- ;; the reply so we use a temp buffer. Also we don't want hooks, such
- ;; as notmuch-wash-*, to be run on the quotable part so we set
- ;; notmuch-show-insert-text/plain-hook to nil.
- (insert (with-temp-buffer
- (let ((notmuch-show-insert-text/plain-hook nil))
- ;; Show the part but do not add buttons.
- (notmuch-show-insert-bodypart message part 0 'no-buttons))
- (buffer-substring-no-properties (point-min) (point-max)))))
-
;; There is a bug in emacs 23's message.el that results in a newline
;; not being inserted after the References header, so the next header
;; is concatenated to the end of it. This function fixes the problem,
@@ -225,10 +200,13 @@ list."
(insert "From: " from "\n")
(insert "Date: " date "\n\n")
- ;; Get the parts of the original message that should be quoted; this includes
- ;; all the text parts, except the non-preferred ones in a multipart/alternative.
- (let ((quotable-parts (notmuch-mua-get-quotable-parts (plist-get original :body))))
- (mapc (apply-partially 'notmuch-mua-insert-quotable-part original) quotable-parts))
+ (insert (with-temp-buffer
+ ;; Don't attempt to clean up messages, excerpt
+ ;; citations, etc. in the original message before
+ ;; quoting.
+ (let ((notmuch-show-insert-text/plain-hook nil))
+ (notmuch-show-insert-body original (plist-get original :body) 0)
+ (buffer-substring-no-properties (point-min) (point-max)))))
(set-mark (point))
(goto-char start)
--
2.0.0.rc0
next prev parent reply other threads:[~2014-05-08 6:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-10 9:12 reply to messages with message/rfc822 parts Mark Walters
2014-05-07 17:14 ` [RFC] [PATCH] emacs/notmuch-mua: Generate improved cited text for replies David Edmondson
2014-05-08 6:24 ` [PATCH v2] emacs: Improve the cited message included in replies David Edmondson
2014-05-08 6:24 ` David Edmondson [this message]
2014-05-10 8:30 ` Mark Walters
2014-05-12 6:06 ` David Edmondson
2014-05-12 8:11 ` Mark Walters
2014-05-12 8:55 ` David Edmondson
2014-05-12 12:29 ` [PATCH v3 0/9] " David Edmondson
2014-05-12 12:29 ` [PATCH v3 1/9] emacs/show: Re-arrange determination if a part header is necessary David Edmondson
2014-05-12 22:09 ` Mark Walters
2014-05-13 9:47 ` David Edmondson
2014-05-12 12:29 ` [PATCH v3 2/9] emacs/show: Allow the user to decide when part headers should be inserted David Edmondson
2014-05-12 22:15 ` Mark Walters
2014-05-13 9:49 ` David Edmondson
2014-05-12 12:29 ` [PATCH v3 3/9] emacs/show: Accommodate the lack of part header buttons David Edmondson
2014-05-12 22:16 ` Mark Walters
2014-05-12 12:29 ` [PATCH v3 4/9] emacs/mua: Generate improved cited text for replies David Edmondson
2014-05-12 22:30 ` Mark Walters
2014-05-13 10:06 ` David Edmondson
2014-05-12 12:29 ` [PATCH v3 5/9] emacs/show: Remove the 'no-buttons option of `notmuch-show-insert-bodypart' David Edmondson
2014-05-12 22:18 ` Mark Walters
2014-05-12 12:29 ` [PATCH v3 6/9] emacs/mua: Don't insert part headers in citations David Edmondson
2014-05-12 12:29 ` [PATCH v3 7/9] test: Update the test output to accord with the reply changes David Edmondson
2014-05-13 12:16 ` Mark Walters
2014-05-12 12:29 ` [PATCH v3 8/9] emacs/mua: Insert part headers depending on the message David Edmondson
2015-01-19 20:06 ` Mark Walters
2015-01-20 8:44 ` David Edmondson
2014-05-12 12:29 ` [PATCH v3 9/9] test: Update the test output to accord with more reply changes David Edmondson
2014-05-12 22:08 ` [PATCH v3 0/9] emacs: Improve the cited message included in replies Mark Walters
2014-05-13 10:01 ` David Edmondson
2014-05-13 12:05 ` Mark Walters
2016-02-06 21:27 ` David Edmondson
2017-03-12 16:26 ` reply to messages with message/rfc822 parts David Bremner
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=1399530272-11857-2-git-send-email-dme@dme.org \
--to=dme@dme.org \
--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).