[RFC PATCH 3/3] emacs: Optionally quote HTML parts when replying.
Adam Wolfe Gordon
awg+notmuch at xvx.ca
Wed Nov 30 08:40:41 PST 2011
Add support for rendering and quoting HTML parts. Adds a customize option
notmuch-mua-quote-html-parts, which when non-nil causes HTML parts to be
included in replies using notmuch reply --format=html.
---
emacs/notmuch-mua.el | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
index 8824b08..e7c1315 100644
--- a/emacs/notmuch-mua.el
+++ b/emacs/notmuch-mua.el
@@ -46,6 +46,14 @@ list."
:group 'notmuch
:type '(repeat string))
+(defcustom notmuch-mua-quote-html-parts nil
+ "Quote HTML parts when replying to a message.
+
+If non-nil, notmuch will attempt to render HTML parts using w3m and insert them
+into reply buffers."
+ :group 'notmuch
+ :type 'boolean)
+
;;
(defun notmuch-mua-user-agent-full ()
@@ -69,10 +77,13 @@ list."
(push header message-hidden-headers)))
notmuch-mua-hidden-headers))
+(defun w3m-region (start end)) ;; From `w3m.el'.
(defun notmuch-mua-reply (query-string &optional sender)
(let (headers
body
(args '("reply")))
+ (if notmuch-mua-quote-html-parts
+ (setq args (append args '("--format=html"))))
(if notmuch-show-process-crypto
(setq args (append args '("--decrypt"))))
(setq args (append args (list query-string)))
@@ -89,6 +100,18 @@ list."
(goto-char (point-min))
(setq headers (mail-header-extract)))))
(forward-line 1)
+ (if notmuch-mua-quote-html-parts
+ (save-excursion
+ (if (re-search-forward "<html" nil t)
+ (save-restriction
+ (goto-char (point-at-bol))
+ (narrow-to-region (point) (point-max))
+ (w3m-region (point) (point-max))
+ (goto-char (point-min))
+ (fill-region (point) (point-max))
+ (goto-char (point-min))
+ (while (re-search-forward "^" nil t)
+ (replace-match "> " nil nil))))))
(setq body (buffer-substring (point) (point-max))))
;; If sender is non-nil, set the From: header to its value.
(when sender
--
1.7.5.4
More information about the notmuch
mailing list