Variable: mm-uu-type-alist

mm-uu-type-alist is a variable defined in mm-uu.el.gz.

Value

Large value
((postscript "^%!PS-" "^%%EOF$" mm-uu-postscript-extract nil)
 (uu "^begin[   ]+0?[0-7][0-7][0-7][    ]+" "^end[      ]*$"
     mm-uu-uu-extract mm-uu-uu-filename)
 (binhex "^:.\\{63,63\\}$" ":$" mm-uu-binhex-extract nil
	 mm-uu-binhex-filename)
 (yenc "^=ybegin.*size=[0-9]+.*name=.*$" "^=yend.*size=[0-9]+"
       mm-uu-yenc-extract mm-uu-yenc-filename)
 (shar "^#! */bin/sh" "^exit 0$" mm-uu-shar-extract)
 (forward "^-+ \\(Start of \\)?Forwarded message"
	  "^-+ End \\(of \\)?forwarded message" mm-uu-forward-extract
	  nil mm-uu-forward-test)
 (gnatsweb "^----gnatsweb-attachment----" nil mm-uu-gnatsweb-extract)
 (pgp-signed "^-----BEGIN PGP SIGNED MESSAGE-----"
	     "^-----END PGP SIGNATURE-----" mm-uu-pgp-signed-extract
	     nil nil)
 (pgp-encrypted "^-----BEGIN PGP MESSAGE-----"
		"^-----END PGP MESSAGE-----"
		mm-uu-pgp-encrypted-extract nil nil)
 (pgp-key "^-----BEGIN PGP PUBLIC KEY BLOCK-----"
	  "^-----END PGP PUBLIC KEY BLOCK-----" mm-uu-pgp-key-extract
	  mm-uu-gpg-key-skip-to-last nil)
 (markdown-emacs-sources "^```\\(?:elisp\\|emacs-lisp\\|\n(\\)"
			 "^```$" mm-uu-emacs-sources-extract)
 (markdown-diff "^```\\(?:diff\\|patch\\|\ndiff --git \\)" "^```$"
		mm-uu-diff-extract)
 (emacs-sources "^;;;?[         ]*[^    ]+\\.el[        ]*--"
		"^;;;?[         ]*\\([^         ]+\\.el\\)[     ]+ends here"
		mm-uu-emacs-sources-extract nil
		mm-uu-emacs-sources-test)
 (diff "^Index: " nil mm-uu-diff-extract nil mm-uu-diff-test)
 (diff "^=== modified file " nil mm-uu-diff-extract nil
       mm-uu-diff-test)
 (git-format-patch "^diff --git " "^$" mm-uu-diff-extract nil
		   mm-uu-diff-test)
 (message-marks
  "^-+[8<>]*-\\{9,\\}[a-z ]+-\\{9,\\}[a-z ]+-\\{9,\\}[8<>]*-+$"
  "^-+[8<>]*-\\{9,\\}[a-z ]+-\\{9,\\}[a-z ]+-\\{9,\\}[8<>]*-+$"
  #[0 "\300\301\211\302\303$\207"
      [mm-uu-verbatim-marks-extract 0 1 -1] 5]
  nil)
 (insert-marks
  "^ *\\(-\\|_\\)\\{30,\\}.*[a-z8<].*\\(-\\|_\\)\\{30,\\} *$"
  "^ *\\(-\\|_\\)\\{30,\\}.*[a-z8<].*\\(-\\|_\\)\\{30,\\} *$"
  #[0 "\300\301\211\302\303$\207"
      [mm-uu-verbatim-marks-extract 0 1 -1] 5]
  nil)
 (verbatim-marks "^#v\\+" "^#v\\-$"
		 #[0 "\300\301\211\"\207"
		     [mm-uu-verbatim-marks-extract 0] 3]
		 nil)
 (LaTeX "^\\([\\%][^\n]+\n\\)*\\\\documentclass.*[[{%]"
	"^\\\\end{document}" mm-uu-latex-extract nil mm-uu-latex-test)
 (org-src-code-block "^[        ]*#\\+begin_" "^[       ]*#\\+end_"
		     mm-uu-org-src-code-block-extract)
 (org-meta-line "^[     ]*#\\+[[:alpha:]]+: " "$"
		mm-uu-org-src-code-block-extract))

Documentation

A list of specifications for non-MIME attachments.

Each element consists of a mm-uu-entry. The functions in the last 3 slots of this type can make use of the following dynamically-scoped variables: file-name, start-point, and end-point.

After modifying this list you must run M-x mm-uu-configure (mm-uu-configure).

You can disable elements from this list by customizing mm-uu-configure-list.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mm-uu.el.gz
(defvar mm-uu-type-alist
  `((postscript
     "^%!PS-"
     "^%%EOF$"
     ,#'mm-uu-postscript-extract
     nil)
    (uu ;; Maybe we should have a more strict test here.
     "^begin[ \t]+0?[0-7][0-7][0-7][ \t]+"
     "^end[ \t]*$"
     ,#'mm-uu-uu-extract
     ,#'mm-uu-uu-filename)
    (binhex
     "^:.\\{63,63\\}$"
     ":$"
     ,#'mm-uu-binhex-extract
     nil
     ,#'mm-uu-binhex-filename)
    (yenc
     "^=ybegin.*size=[0-9]+.*name=.*$"
     "^=yend.*size=[0-9]+"
     ,#'mm-uu-yenc-extract
     ,#'mm-uu-yenc-filename)
    (shar
     "^#! */bin/sh"
     "^exit 0$"
     ,#'mm-uu-shar-extract)
    (forward
     ;; Thanks to Edward J. Sabol <sabol@alderaan.gsfc.nasa.gov> and
     ;; Peter von der Ahé <pahe@daimi.au.dk>
     "^-+ \\(Start of \\)?Forwarded message"
     "^-+ End \\(of \\)?forwarded message"
     ,#'mm-uu-forward-extract
     nil
     ,#'mm-uu-forward-test)
    (gnatsweb
     "^----gnatsweb-attachment----"
     nil
     ,#'mm-uu-gnatsweb-extract)
    (pgp-signed
     "^-----BEGIN PGP SIGNED MESSAGE-----"
     "^-----END PGP SIGNATURE-----"
     ,#'mm-uu-pgp-signed-extract
     nil
     nil)
    (pgp-encrypted
     "^-----BEGIN PGP MESSAGE-----"
     "^-----END PGP MESSAGE-----"
     ,#'mm-uu-pgp-encrypted-extract
     nil
     nil)
    (pgp-key
     "^-----BEGIN PGP PUBLIC KEY BLOCK-----"
     "^-----END PGP PUBLIC KEY BLOCK-----"
     ,#'mm-uu-pgp-key-extract
     ,#'mm-uu-gpg-key-skip-to-last
     nil)
    (markdown-emacs-sources
     "^```\\(?:elisp\\|emacs-lisp\\|\n(\\)"
     "^```$"
     ,#'mm-uu-emacs-sources-extract)
    (markdown-diff ;; this should be higher than `git-format-patch'
     "^```\\(?:diff\\|patch\\|\ndiff --git \\)"
     "^```$"
     ,#'mm-uu-diff-extract)
    (emacs-sources
     "^;;;?[ \t]*[^ \t]+\\.el[ \t]*--"
     "^;;;?[ \t]*\\([^ \t]+\\.el\\)[ \t]+ends here"
     ,#'mm-uu-emacs-sources-extract
     nil
     ,#'mm-uu-emacs-sources-test)
    (diff
     "^Index: "
     nil
     ,#'mm-uu-diff-extract
     nil
     ,#'mm-uu-diff-test)
    (diff
     "^=== modified file "
     nil
     ,#'mm-uu-diff-extract
     nil
     ,#'mm-uu-diff-test)
    (git-format-patch
     "^diff --git "
     "^$"
     ,#'mm-uu-diff-extract
     nil
     ,#'mm-uu-diff-test)
    (message-marks
     ;; Text enclosed with tags similar to `message-mark-insert-begin' and
     ;; `message-mark-insert-end'.  Don't use those variables to avoid
     ;; dependency on `message.el'.
     "^-+[8<>]*-\\{9,\\}[a-z ]+-\\{9,\\}[a-z ]+-\\{9,\\}[8<>]*-+$"
     "^-+[8<>]*-\\{9,\\}[a-z ]+-\\{9,\\}[a-z ]+-\\{9,\\}[8<>]*-+$"
     ,(lambda () (mm-uu-verbatim-marks-extract 0 0 1 -1))
     nil)
    ;; Omitting [a-z8<] leads to false positives (bogus signature separators
    ;; and mailing list banners).
    (insert-marks
     "^ *\\(-\\|_\\)\\{30,\\}.*[a-z8<].*\\(-\\|_\\)\\{30,\\} *$"
     "^ *\\(-\\|_\\)\\{30,\\}.*[a-z8<].*\\(-\\|_\\)\\{30,\\} *$"
     ,(lambda () (mm-uu-verbatim-marks-extract 0 0 1 -1))
     nil)
    (verbatim-marks
     ;; slrn-style verbatim marks, see
     ;; https://slrn.sourceforge.net/docs/slrn-manual-6.html#process_verbatim_marks
     "^#v\\+"
     "^#v\\-$"
     ,(lambda () (mm-uu-verbatim-marks-extract 0 0))
     nil)
    (LaTeX
     "^\\([\\%][^\n]+\n\\)*\\\\documentclass.*[[{%]"
     "^\\\\end{document}"
     ,#'mm-uu-latex-extract
     nil
     ,#'mm-uu-latex-test)
    (org-src-code-block
     "^[ \t]*#\\+begin_"
     "^[ \t]*#\\+end_"
     ,#'mm-uu-org-src-code-block-extract)
    (org-meta-line
     "^[ \t]*#\\+[[:alpha:]]+: "
     "$"
     ,#'mm-uu-org-src-code-block-extract))
  "A list of specifications for non-MIME attachments.
Each element consists of a `mm-uu-entry'.
The functions in the last 3 slots of this type can make use of the following
dynamically-scoped variables:
`file-name', `start-point', and `end-point'.

After modifying this list you must run \\[mm-uu-configure].

You can disable elements from this list by customizing
`mm-uu-configure-list'.")