From: Jameson Graef Rollins Date: Mon, 6 Jun 2011 00:29:29 +0000 (-0700) Subject: emacs: Improve support for message/rfc822 parts. X-Git-Tag: 0.8_rc0 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7d3aacbf1440512b58f4394875d60938caef2409;p=notmuch.git emacs: Improve support for message/rfc822 parts. The insert-part-message/rfc822 function is overhauled to properly processes the new formatting of message/rfc822 parts. The json output for message parts now includes "headers" and "body" fields, which are now parsed and output appropriately. --- diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index f96743b0..90f9af7f 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -508,21 +508,26 @@ current buffer, if possible." t) (defun notmuch-show-insert-part-message/rfc822 (msg part content-type nth depth declared-type) - (let* ((message-part (plist-get part :content)) - (inner-parts (plist-get message-part :content))) - (notmuch-show-insert-part-header nth declared-type content-type nil) + (notmuch-show-insert-part-header nth declared-type content-type nil) + (let* ((message (car (plist-get part :content))) + (headers (plist-get message :headers)) + (body (car (plist-get message :body))) + (start (point))) + ;; Override `notmuch-message-headers' to force `From' to be ;; displayed. (let ((notmuch-message-headers '("From" "Subject" "To" "Cc" "Date"))) - (notmuch-show-insert-headers (plist-get part :headers))) + (notmuch-show-insert-headers (plist-get message :headers))) + ;; Blank line after headers to be compatible with the normal ;; message display. (insert "\n") - ;; Show all of the parts. - (mapc (lambda (inner-part) - (notmuch-show-insert-bodypart msg inner-part depth)) - inner-parts)) + ;; Show the body + (notmuch-show-insert-bodypart msg body depth) + + (when notmuch-show-indent-multipart + (indent-rigidly start (point) 1))) t) (defun notmuch-show-insert-part-text/plain (msg part content-type nth depth declared-type)