From: David Edmondson <dme@dme.org>
To: Mark Walters <markwalters1009@gmail.com>, notmuch@notmuchmail.org
Subject: Re: [PATCH v4 3/7] emacs/mua: Generate improved cited text for replies
Date: Tue, 09 Feb 2016 20:30:41 +0000 [thread overview]
Message-ID: <m2a8n94oem.fsf@dme.org> (raw)
In-Reply-To: <1446894276-7814-4-git-send-email-markwalters1009@gmail.com>
On Sat, Nov 07 2015, Mark Walters wrote:
> From: David Edmondson <dme@dme.org>
>
> Use the message display code to generate message text to cite in
> replies.
Looks fine.
> ---
> 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 fd98ea4..2f7abb0 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))
>
> ;;
>
> @@ -142,31 +142,6 @@ (defun notmuch-mua-reply-crypto (parts)
> 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,
> @@ -245,10 +220,13 @@ (defun notmuch-mua-reply (query-string &optional sender reply-all)
> (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.1.4
next prev parent reply other threads:[~2016-02-09 20:30 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-07 11:04 [PATCH v4 0/7] emacs: Improve the cited message included in replies Mark Walters
2015-11-07 11:04 ` [PATCH v4 1/7] emacs/show: Re-arrange determination if a part header is necessary Mark Walters
2016-02-09 20:28 ` David Edmondson
2015-11-07 11:04 ` [PATCH v4 2/7] emacs/show: Accommodate the lack of part header buttons Mark Walters
2016-02-09 20:29 ` David Edmondson
2015-11-07 11:04 ` [PATCH v4 3/7] emacs/mua: Generate improved cited text for replies Mark Walters
2016-02-09 20:30 ` David Edmondson [this message]
2015-11-07 11:04 ` [PATCH v4 4/7] emacs/show: Remove the 'no-buttons option of `notmuch-show-insert-bodypart' Mark Walters
2016-02-09 20:31 ` David Edmondson
2015-11-07 11:04 ` [PATCH v4 5/7] emacs/show: Make the insertion of part headers overridable Mark Walters
2016-02-09 20:32 ` David Edmondson
2015-11-07 11:04 ` [PATCH v4 6/7] emacs/mua: Let user specify which parts get a header in citations Mark Walters
2016-02-09 20:34 ` David Edmondson
2016-02-09 22:35 ` Mark Walters
2016-02-10 8:07 ` David Edmondson
2015-11-07 11:04 ` [PATCH v4 7/7] test: fix the tests for the new reply code Mark Walters
2016-02-09 20:34 ` David Edmondson
2016-02-08 17:11 ` [PATCH v4 0/7] emacs: Improve the cited message included in replies David Edmondson
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=m2a8n94oem.fsf@dme.org \
--to=dme@dme.org \
--cc=markwalters1009@gmail.com \
--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).