diff options
| author | Peder O. Klingenberg | 2015-01-26 04:19:51 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2015-01-26 04:19:51 +0000 |
| commit | f6019361e26b0b305129b2230136d87df5d636c2 (patch) | |
| tree | a6bc1c606636b5586afe80065b6c6847f53a8aeb | |
| parent | 8e39ec680c7068c2dc2143bf915e5acca7bf7c0f (diff) | |
| download | emacs-f6019361e26b0b305129b2230136d87df5d636c2.tar.gz emacs-f6019361e26b0b305129b2230136d87df5d636c2.zip | |
[Gnus] Fixups when displaying certain attachments
| -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 @@ | |||
| 1 | 2015-01-26 Peder O. Klingenberg <peder@klingenberg.no> | ||
| 2 | |||
| 3 | * mm-decode.el (mm-display-part): Make non-string methods work. | ||
| 4 | Non-string methods are funcalled and work just fine, the test was | ||
| 5 | bogus. | ||
| 6 | * mm-decode.el (mm-display-external): Show "external" lisp viewers in | ||
| 7 | whole frame. | ||
| 8 | |||
| 1 | 2015-01-26 Lars Ingebrigtsen <larsi@gnus.org> | 9 | 2015-01-26 Lars Ingebrigtsen <larsi@gnus.org> |
| 2 | 10 | ||
| 3 | * nnimap.el (nnimap-request-accept-article): Allow respooling using | 11 | * 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." | |||
| 833 | 'inline) | 833 | 'inline) |
| 834 | (setq external | 834 | (setq external |
| 835 | (and method ;; If nil, we always use "save". | 835 | (and method ;; If nil, we always use "save". |
| 836 | (stringp method) ;; 'mailcap-save-binary-file | ||
| 837 | (or (eq mm-enable-external t) | 836 | (or (eq mm-enable-external t) |
| 838 | (and (eq mm-enable-external 'ask) | 837 | (and (eq mm-enable-external 'ask) |
| 839 | (y-or-n-p | 838 | (y-or-n-p |
| 840 | (concat | 839 | (concat |
| 841 | "Display part (" type | 840 | "Display part (" type |
| 842 | ") using external program" | 841 | ") " |
| 843 | ;; Can non-string method ever happen? | ||
| 844 | (if (stringp method) | 842 | (if (stringp method) |
| 845 | (concat | 843 | (concat |
| 846 | " \"" (format method filename) "\"") | 844 | "using external program \"" |
| 847 | "") | 845 | (format method filename) "\"") |
| 846 | (format | ||
| 847 | "by calling `%s' on the contents)" method)) | ||
| 848 | "? ")))))) | 848 | "? ")))))) |
| 849 | (if external | 849 | (if external |
| 850 | (mm-display-external | 850 | (mm-display-external |
| @@ -885,7 +885,15 @@ external if displayed external." | |||
| 885 | (mm-handle-media-type handle) t)))) | 885 | (mm-handle-media-type handle) t)))) |
| 886 | (unwind-protect | 886 | (unwind-protect |
| 887 | (if method | 887 | (if method |
| 888 | (funcall method) | 888 | (progn |
| 889 | (when (and (boundp 'gnus-summary-buffer) | ||
| 890 | (bufferp gnus-summary-buffer) | ||
| 891 | (buffer-name gnus-summary-buffer)) | ||
| 892 | ;; So that we pop back to the right place, sortof. | ||
| 893 | (switch-to-buffer gnus-summary-buffer) | ||
| 894 | (switch-to-buffer mm)) | ||
| 895 | (delete-other-windows) | ||
| 896 | (funcall method)) | ||
| 889 | (mm-save-part handle)) | 897 | (mm-save-part handle)) |
| 890 | (when (and (not non-viewer) | 898 | (when (and (not non-viewer) |
| 891 | method) | 899 | method) |