[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master f601936 2/2: [Gnus] Fixups when displaying certain
From: |
Katsumi Yamaoka |
Subject: |
[Emacs-diffs] master f601936 2/2: [Gnus] Fixups when displaying certain attachments |
Date: |
Mon, 26 Jan 2015 04:20:10 +0000 |
branch: master
commit f6019361e26b0b305129b2230136d87df5d636c2
Author: Peder O. Klingenberg <address@hidden>
Commit: Katsumi Yamaoka <address@hidden>
[Gnus] Fixups when displaying certain attachments
---
lisp/gnus/ChangeLog | 8 ++++++++
lisp/gnus/mm-decode.el | 20 ++++++++++++++------
2 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index e47e8ad..7ef526b 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-26 Peder O. Klingenberg <address@hidden>
+
+ * mm-decode.el (mm-display-part): Make non-string methods work.
+ Non-string methods are funcalled and work just fine, the test was
+ bogus.
+ * mm-decode.el (mm-display-external): Show "external" lisp viewers in
+ whole frame.
+
2015-01-26 Lars Ingebrigtsen <address@hidden>
* nnimap.el (nnimap-request-accept-article): Allow respooling using
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index fb32ad9..f03b9c9 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -833,18 +833,18 @@ external if displayed external."
'inline)
(setq external
(and method ;; If nil, we always use "save".
- (stringp method) ;; 'mailcap-save-binary-file
(or (eq mm-enable-external t)
(and (eq mm-enable-external 'ask)
(y-or-n-p
(concat
"Display part (" type
- ") using external program"
- ;; Can non-string method ever happen?
+ ") "
(if (stringp method)
(concat
- " \"" (format method filename) "\"")
- "")
+ "using external program \""
+ (format method filename) "\"")
+ (format
+ "by calling `%s' on the contents)" method))
"? "))))))
(if external
(mm-display-external
@@ -885,7 +885,15 @@ external if displayed external."
(mm-handle-media-type handle) t))))
(unwind-protect
(if method
- (funcall method)
+ (progn
+ (when (and (boundp 'gnus-summary-buffer)
+ (bufferp gnus-summary-buffer)
+ (buffer-name gnus-summary-buffer))
+ ;; So that we pop back to the right place, sortof.
+ (switch-to-buffer gnus-summary-buffer)
+ (switch-to-buffer mm))
+ (delete-other-windows)
+ (funcall method))
(mm-save-part handle))
(when (and (not non-viewer)
method)