diff options
author | Peder O. Klingenberg <peder@klingenberg.no> | 2015-01-26 04:19:51 +0000 |
---|---|---|
committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2015-01-26 04:19:51 +0000 |
commit | f6019361e26b0b305129b2230136d87df5d636c2 (patch) | |
tree | a6bc1c606636b5586afe80065b6c6847f53a8aeb /lisp | |
parent | 8e39ec680c7068c2dc2143bf915e5acca7bf7c0f (diff) | |
download | emacs-f6019361e26b0b305129b2230136d87df5d636c2.tar.gz |
[Gnus] Fixups when displaying certain attachments
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/gnus/ChangeLog | 8 | ||||
-rw-r--r-- | lisp/gnus/mm-decode.el | 20 |
2 files changed, 22 insertions, 6 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index e47e8ad282c..7ef526b4253 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,11 @@ +2015-01-26 Peder O. Klingenberg <peder@klingenberg.no> + + * 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 <larsi@gnus.org> * nnimap.el (nnimap-request-accept-article): Allow respooling using diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index fb32ad9e8e6..f03b9c9b484 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) |