]> git.eshelyaron.com Git - emacs.git/commitdiff
Work for application/x-tar-gz and image/svg+xml
authorKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 26 May 2017 08:07:58 +0000 (08:07 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 26 May 2017 08:07:58 +0000 (08:07 +0000)
;; 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.

lisp/gnus/mm-archive.el
lisp/gnus/mm-decode.el

index 5ac8761f6b5550f447654cab7520a034ea1f57ab..103cc89c35753cb2e7184fc659088830bff27451 100644 (file)
   '(("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
index 5b8aeb3ca3144fb4ca8a83ac60e6fd3ba1b19395..c6a0be36c40aafbb57200d955099c165e85fdd45 100644 (file)
@@ -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