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
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/webp" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p webp] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/png" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p png] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/gif" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p gif] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/tiff" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p tiff] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/xbm" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p xbm] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/x-xbitmap" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p xbm] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/xpm" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p xpm] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/x-xpixmap" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p xpm] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/bmp" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p bmp] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/x-portable-bitmap" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p pbm] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("image/svg\\+xml" mm-inline-image
  #[257 "\300\301\"\207" [mm-valid-and-fit-image-p svg] 4
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("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
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("text/x-vcard" mm-inline-text-vcard
  #[257 "\300\301!\206	�\302\303!\207"
	[featurep vcard locate-library "vcard"] 3
	("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
	 . 138)])
 ("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\2057�A\316C\240\210\317!*\266\202\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
    ("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/gnus/mm-decode.elc"
     . 138)])
 ("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/webp"
     mm-inline-image
     ,(lambda (handle)
       (mm-valid-and-fit-image-p 'webp 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)))
    ("image/svg\\+xml"
     mm-inline-image
     ,(lambda (handle)
        (mm-valid-and-fit-image-p 'svg 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)