From: Carl Worth Date: Wed, 10 Feb 2010 20:40:47 +0000 (-0800) Subject: notmuch.el: Handle attached images via an external viewer. X-Git-Tag: 0.1~92 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2174adf374370135061bd80db21cbd43bbac95ab;p=notmuch.git notmuch.el: Handle attached images via an external viewer. We temporarily override the mm-inline-media-tests variable so that the only parts inserted into the temporary buffer (and lost) are those parts that the user has already seen in the notmuch-show buffer. Anything else, (such as images), will now be left to be handled via mailcap, just like other attachment types. --- diff --git a/notmuch.el b/notmuch.el index b9095677..040997ee 100644 --- a/notmuch.el +++ b/notmuch.el @@ -327,7 +327,22 @@ buffer." "Use external viewers to view all attachments from the current message." (interactive) (with-current-notmuch-show-message - (mm-display-parts (mm-dissect-buffer)))) + ; We ovverride the mm-inline-media-tests to indicate which message + ; parts are already sufficiently handled by the original + ; presentation of the message in notmuch-show mode. These parts + ; will be inserted directly into the temporary buffer of + ; with-current-notmuch-show-message and silently discarded. + ; + ; Any MIME part not explicitly mentioned here will be handled by an + ; external viewer as configured in the various mailcap files. + (let ((mm-inline-media-tests '( + ("text/.*" ignore identity) + ("application/pgp-signature" ignore identity) + ("multipart/alternative" ignore identity) + ("multipart/mixed" ignore identity) + ("multipart/related" ignore identity) + ))) + (mm-display-parts (mm-dissect-buffer))))) (defun notmuch-foreach-mime-part (function mm-handle) (cond ((stringp (car mm-handle))