summaryrefslogtreecommitdiff
path: root/lisp/gnus/mm-archive.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus/mm-archive.el')
-rw-r--r--lisp/gnus/mm-archive.el11
1 files changed, 7 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