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'.")