Variable: mm-inline-media-tests
mm-inline-media-tests is a customizable variable defined in
mm-decode.el.gz.
Value
Large value
(("image/p?jpeg" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p jpeg]
4 "\n\n(fn HANDLE)"])
("image/png" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p png]
4 "\n\n(fn HANDLE)"])
("image/gif" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p gif]
4 "\n\n(fn HANDLE)"])
("image/tiff" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p tiff]
4 "\n\n(fn HANDLE)"])
("image/xbm" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p xbm]
4 "\n\n(fn HANDLE)"])
("image/x-xbitmap" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p xbm]
4 "\n\n(fn HANDLE)"])
("image/xpm" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p xpm]
4 "\n\n(fn HANDLE)"])
("image/x-xpixmap" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p xpm]
4 "\n\n(fn HANDLE)"])
("image/bmp" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p bmp]
4 "\n\n(fn HANDLE)"])
("image/x-portable-bitmap" mm-inline-image
#[257 "\300\301\"\207"
[mm-valid-and-fit-image-p pbm]
4 "\n\n(fn HANDLE)"])
("text/plain" mm-inline-text identity)
("text/enriched" mm-inline-text identity)
("text/richtext" mm-inline-text identity)
("text/x-patch" mm-display-patch-inline identity)
("text/x-diff" mm-display-patch-inline identity)
("application/x-patch" mm-display-patch-inline identity)
("application/emacs-lisp" mm-display-elisp-inline identity)
("application/x-emacs-lisp" mm-display-elisp-inline identity)
("application/x-shellscript" mm-display-shell-script-inline identity)
("application/x-sh" mm-display-shell-script-inline identity)
("text/x-sh" mm-display-shell-script-inline identity)
("application/javascript" mm-display-javascript-inline identity)
("text/dns" mm-display-dns-inline identity)
("text/x-org" mm-display-org-inline identity)
("text/html" mm-inline-text-html
#[257 "\207"
[mm-text-html-renderer]
2 "\n\n(fn HANDLE)"])
("text/x-vcard" mm-inline-text-vcard
#[257 "\300\301!\206 \302\303!\207"
[featurep vcard locate-library "vcard"]
3 "\n\n(fn HANDLE)"])
("text/calendar" gnus-icalendar-mm-inline identity)
("message/delivery-status" mm-inline-text identity)
("message/rfc822" mm-inline-message identity)
("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)
("application/pgp-signature" ignore identity)
("application/x-pkcs7-signature" ignore identity)
("application/pkcs7-signature" ignore identity)
("application/x-pkcs7-mime" ignore identity)
("application/pkcs7-mime" ignore identity)
("multipart/alternative" ignore identity)
("multipart/mixed" ignore identity)
("multipart/related" ignore identity)
("image/.*" mm-inline-image
#[257 "\300\301!\205<\302\303\304\"r\211q\210\305\306\"\216\307 \210\310!\210\3111(\312\313 \301\314#0\202*\210\315\211\2057A\316C\240\210\317!\262*\262\207"
[mm-valid-image-format-p imagemagick generate-new-buffer " *temp*" t make-closure
#[0 "\301\300!\205 \302\300!\207"
[V0 buffer-name kill-buffer]
2]
mm-disable-multibyte mm-insert-part
(error)
create-image buffer-string data-p nil "image/imagemagick" mm-image-fit-p]
6 "\n\n(fn HANDLE)"])
("audio/.*" ignore ignore)
("image/.*" ignore ignore)
(".*" mm-inline-text mm-readable-p))
Documentation
Alist of media types/tests saying whether types can be displayed inline.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mm-decode.el.gz
(defcustom mm-inline-media-tests
`(("image/p?jpeg"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'jpeg handle)))
("image/png"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'png handle)))
("image/gif"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'gif handle)))
("image/tiff"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'tiff handle)))
("image/xbm"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'xbm handle)))
("image/x-xbitmap"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'xbm handle)))
("image/xpm"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'xpm handle)))
("image/x-xpixmap"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'xpm handle)))
("image/bmp"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'bmp handle)))
("image/x-portable-bitmap"
mm-inline-image
,(lambda (handle)
(mm-valid-and-fit-image-p 'pbm handle)))
("text/plain" mm-inline-text identity)
("text/enriched" mm-inline-text identity)
("text/richtext" mm-inline-text identity)
("text/x-patch" mm-display-patch-inline identity)
;; In case mime.types uses x-diff (as does Debian's mime-support-3.40).
("text/x-diff" mm-display-patch-inline identity)
("application/x-patch" mm-display-patch-inline identity)
("application/emacs-lisp" mm-display-elisp-inline identity)
("application/x-emacs-lisp" mm-display-elisp-inline identity)
("application/x-shellscript" mm-display-shell-script-inline identity)
("application/x-sh" mm-display-shell-script-inline identity)
("text/x-sh" mm-display-shell-script-inline identity)
("application/javascript" mm-display-javascript-inline identity)
("text/dns" mm-display-dns-inline identity)
("text/x-org" mm-display-org-inline identity)
("text/html"
mm-inline-text-html
,(lambda (_handle)
mm-text-html-renderer))
("text/x-vcard"
mm-inline-text-vcard
,(lambda (_handle)
(or (featurep 'vcard)
(locate-library "vcard"))))
("text/calendar" gnus-icalendar-mm-inline identity)
("message/delivery-status" mm-inline-text identity)
("message/rfc822" mm-inline-message identity)
("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)
("application/pgp-signature" ignore identity)
("application/x-pkcs7-signature" ignore identity)
("application/pkcs7-signature" ignore identity)
("application/x-pkcs7-mime" ignore identity)
("application/pkcs7-mime" ignore identity)
("multipart/alternative" ignore identity)
("multipart/mixed" ignore identity)
("multipart/related" ignore identity)
("image/.*"
mm-inline-image
,(lambda (handle)
(and (mm-valid-image-format-p 'imagemagick)
(mm-with-unibyte-buffer
(mm-insert-part handle)
(let ((image
(ignore-errors
(create-image (buffer-string) 'imagemagick 'data-p))))
(when image
(setcar (cdr handle) (list "image/imagemagick"))
(mm-image-fit-p handle)))))))
;; Disable audio and image
("audio/.*" ignore ignore)
("image/.*" ignore ignore)
;; Default to displaying as text
(".*" mm-inline-text mm-readable-p))
"Alist of media types/tests saying whether types can be displayed inline."
:type '(repeat (list (regexp :tag "MIME type")
(function :tag "Display function")
(function :tag "Display test")))
:group 'mime-display)