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\2057�A\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)