unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] emacs: Make the part content available to the mm-inline* checks.
@ 2012-01-18 17:33 David Edmondson
  2012-01-18 17:35 ` David Edmondson
  2012-01-18 17:39 ` [PATCH v2] " David Edmondson
  0 siblings, 2 replies; 19+ messages in thread
From: David Edmondson @ 2012-01-18 17:33 UTC (permalink / raw)
  To: notmuch

The `mm-inlinable-p' and `mm-inlined-p' functions work better if they
have access to the data of the relevant part, so load that content
before calling either function.

This fixes the display of attached image/jpeg parts, for example.
---

I dropped this on the floor after discussing it in #notmuch, sorry!

 emacs/notmuch-show.el |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 2df8d3b..71309c3 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -330,14 +330,17 @@ current buffer, if possible."
     (with-temp-buffer
       (let* ((charset (plist-get part :content-charset))
 	     (handle (mm-make-handle (current-buffer) `(,content-type (charset . ,charset)))))
-	(if (and (mm-inlinable-p handle)
-		 (mm-inlined-p handle))
-	    (let ((content (notmuch-show-get-bodypart-content msg part nth)))
-	      (insert content)
-	      (set-buffer display-buffer)
-	      (mm-display-part handle)
-	      t)
-	  nil)))))
+	(insert (notmuch-show-get-bodypart-content msg part nth))
+	(when (and (mm-inlinable-p handle)
+		   (mm-inlined-p handle))
+	  (set-buffer display-buffer)
+
+	  ;; Nonsense required to have the new gnus `shr' HTML
+	  ;; display code work.
+	  (let ((gnus-inhibit-images nil))
+	    (makunbound 'gnus-summary-buffer) ; Blech.
+	    (mm-display-part handle))
+	  t)))))
 
 (defvar notmuch-show-multipart/alternative-discouraged
   '(
-- 
1.7.8.3

^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-01-26 12:28 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-18 17:33 [PATCH] emacs: Make the part content available to the mm-inline* checks David Edmondson
2012-01-18 17:35 ` David Edmondson
2012-01-18 17:39 ` [PATCH v2] " David Edmondson
2012-01-18 18:04   ` Dmitry Kurochkin
2012-01-18 18:30     ` David Edmondson
2012-01-18 19:00       ` Dmitry Kurochkin
2012-01-18 19:35         ` Austin Clements
2012-01-18 19:59           ` Dmitry Kurochkin
2012-01-20 20:13           ` Jameson Graef Rollins
2012-01-23  8:00             ` David Edmondson
2012-01-19  7:39         ` David Edmondson
2012-01-19  9:23           ` Dmitry Kurochkin
2012-01-19  9:34             ` [PATCH] emacs: Make the part content available to `mm-inlinable-p' David Edmondson
2012-01-19  9:37               ` Dmitry Kurochkin
2012-01-19 17:31               ` Aaron Ecay
2012-01-20 14:18               ` Tomi Ollila
2012-01-20 20:04               ` Jameson Graef Rollins
2012-01-23  8:02                 ` David Edmondson
2012-01-26 12:28               ` David Bremner

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).