emacs-diffs
[Top][All Lists]
Advanced

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]