summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatsumi Yamaoka <yamaoka@jpl.org>2017-05-26 08:07:58 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2017-05-26 08:07:58 +0000
commit4de0737c9b5ae8939763ad70085f02e1eace4032 (patch)
treeb7ed18001f211f4ae107948ee81d1aa6aeb007ff
parent4c4a1b3217570dd306c7ad3ee273a9317ab29134 (diff)
downloademacs-4de0737c9b5ae8939763ad70085f02e1eace4032.tar.gz
Work for application/x-tar-gz and image/svg+xml
;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com> ;; of bug#27078 in the Emacs bug list using Gnus. * lisp/gnus/mm-archive.el (mm-archive-decoders): Add a decoder for application/x-tar-gz. (mm-dissect-archive): Error out if a decoder is not found. * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
-rw-r--r--lisp/gnus/mm-archive.el11
-rw-r--r--lisp/gnus/mm-decode.el2
2 files changed, 9 insertions, 4 deletions
diff --git a/lisp/gnus/mm-archive.el b/lisp/gnus/mm-archive.el
index 5ac8761f6b5..103cc89c357 100644
--- a/lisp/gnus/mm-archive.el
+++ b/lisp/gnus/mm-archive.el
@@ -30,15 +30,18 @@
'(("application/ms-tnef" t "tnef" "-f" "-" "-C")
("application/zip" nil "unzip" "-j" "-x" "%f" "-d")
("application/x-gtar-compressed" nil "tar" "xzf" "-" "-C")
+ ("application/x-tar-gz" nil "tar" "xzf" "-" "-C")
("application/x-tar" nil "tar" "xf" "-" "-C")))
(defun mm-archive-decoders () mm-archive-decoders)
(defun mm-dissect-archive (handle)
- (let ((decoder (cddr (assoc (car (mm-handle-type handle))
- mm-archive-decoders)))
- (dir (make-temp-file
- (expand-file-name "emm." mm-tmp-directory) 'dir)))
+ (let* ((type (car (mm-handle-type handle)))
+ (decoder (cddr (assoc type mm-archive-decoders)))
+ dir)
+ (unless decoder
+ (error "No decoder found for %s" type))
+ (setq dir (make-temp-file (expand-file-name "emm." mm-tmp-directory) 'dir))
(set-file-modes dir #o700)
(unwind-protect
(progn
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 5b8aeb3ca31..c6a0be36c40 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -1555,6 +1555,8 @@ be determined."
"xbm")
((equal type "x-portable-bitmap")
"pbm")
+ ((equal type "svg+xml")
+ "svg")
(t type)))
(or (mm-handle-cache handle)
(mm-with-unibyte-buffer