("message/partial" mm-inline-partial identity)
("message/external-body" mm-inline-external-body identity)
("text/.*" mm-inline-text identity)
+ ("application/x-.?tar\\(-.*\\)?" mm-archive-dissect-and-inline identity)
+ ("application/zip" mm-archive-dissect-and-inline identity)
("audio/wav" mm-inline-audio
(lambda (handle)
(and (or (featurep 'nas-sound) (featurep 'native-sound))
"application/pgp-signature" "application/x-pkcs7-signature"
"application/pkcs7-signature" "application/x-pkcs7-mime"
"application/pkcs7-mime"
+ "application/x-gtar-compressed"
+ "application/x-tar"
+ "application/zip"
;; Mutt still uses this even though it has already been withdrawn.
"application/pgp")
"List of media types that are to be displayed inline.
(mm-copy-to-buffer) ctl cte nil cdl description nil id))
(decoder (assoc (car ctl) mm-archive-decoders)))
(if (and decoder
- (executable-find (cadr decoder)))
+ ;; Do automatic decoding
+ (cadr decoder)
+ (executable-find (caddr decoder)))
(mm-dissect-archive handle)
handle))))
(condition-case nil
(delete-directory (file-name-directory file))
(error))
- (with-current-buffer outbuf
- (let ((buffer-read-only nil)
- (point (point)))
- (forward-line 2)
- (mm-insert-inline
- handle (with-current-buffer buffer
- (buffer-string)))
- (goto-char point)))
- (kill-buffer buffer))
+ (when (buffer-live-p outbuf)
+ (with-current-buffer outbuf
+ (let ((buffer-read-only nil)
+ (point (point)))
+ (forward-line 2)
+ (mm-insert-inline
+ handle (with-current-buffer buffer
+ (buffer-string)))
+ (goto-char point))))
+ (when (buffer-live-p buffer)
+ (kill-buffer buffer)))
(message "Displaying %s...done" command)))))
(mm-handle-set-external-undisplayer
handle (cons file buffer)))