;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:15:53 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/mail/mail-extr.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`mail-extr.el' was compiled for Emacs 23 or later"))

;;;;;;;;;;;;;;;;;;;;;;


(custom-declare-group 'mail-extr nil "Extract full name and address from RFC 822 mail header." :prefix "mail-extr-" :group 'mail)
#@188 *Whether to try to guess middle initial from mail address.
If true, then when we see an address like "John Smith <jqs@host.com>"
we will assume that "John Q. Smith" is the fellow's name.
(custom-declare-variable 'mail-extr-guess-middle-initial 'nil '(#$ . -679) :type 'boolean :group 'mail-extr)
#@190 *Whether to ignore a name that is just a single word.
If true, then when we see an address like "Idiot <dumb@stupid.com>"
we will act as though we couldn't find a full name in the address.
(custom-declare-variable 'mail-extr-ignore-single-names 'nil '(#$ . -982) :type 'boolean :version "22.1" :group 'mail-extr)
#@198 *Whether to ignore a name that is equal to the mailbox name.
If true, then when the address is like "Single <single@address.com>"
we will act as though we couldn't find a full name in the address.
(custom-declare-variable 'mail-extr-ignore-realname-equals-mailbox-name 't '(#$ . -1302) :type 'boolean :group 'mail-extr)
#@176 *Matches prefixes to the full name that identify a person's position.
These are stripped from the full name because they do not contribute to
uniquely identifying the person.
(custom-declare-variable 'mail-extr-full-name-prefixes '(purecopy "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ 	\n]") '(#$ . -1629) :type 'regexp :group 'mail-extr)
#@62 *Whether the local mail transport agent looks at ! before @.
(custom-declare-variable 'mail-extr-@-binds-tighter-than-! 'nil '(#$ . -1991) :type 'boolean :group 'mail-extr)
#@121 *Whether to throw away information in UUCP addresses
by translating things like "foo!bar!baz@host" into "baz@bar.UUCP".
(custom-declare-variable 'mail-extr-mangle-uucp 'nil '(#$ . -2171) :type 'boolean :group 'mail-extr)
(byte-code "\301B\306\307\310!!\210\302B\311\307	\312P!!\210\304B\313\307\314!!\210\303B\315\307\316!!\210\317B\320\321!\210\322B\323\307\324\325\n\f$!!\210\326B\327\307\324\330\n\211#!!\210\331B\332\307\333!!\210\334B\335\307\336!!\210\337B\340\307\341!!\210\342B\343\307\344!!\210\345B\346\307\324\347\f\n$!!\210\350B\351\307\324\352\f\"!!\210\353B\354\307\355!!\210\356B\357\307\360!!\210\305B\361\307\324\362\f	$!!\210\363B\364\307\365
\366(\367%\370\260!!\210\371B\372\307\373!!\210\374B\375\307\376!!\210\377B\201A\307\201B!!\210\201CB\201D\307\201E!!\210\201@B\201F\307\201G!!\210\201HB\201I\307\324@\201J\"!!\210\201KB\201L\307\324@\201M\"!!\210\201NB\201O\307\324@\201P\"!!\210\201QB\201R\201S !\210\201TB\201U\201S !\210\201VB\201W\201S !\210\201XB\201Y\201S !\210\201ZB\201[\201S !\210\201\\\201]\201^\"\207" [current-load-list mail-extr-all-letters-but-separators mail-extr-all-letters mail-extr-last-letters mail-extr-first-letters mail-extr-normal-name-pattern (lambda (#1=#:defconst-tmp-var) (defconst mail-extr-all-letters-but-separators #1#)) purecopy "][[:alnum:]{|}'~`" (lambda (#2=#:defconst-tmp-var) (defconst mail-extr-all-letters #2#)) "---" (lambda (#3=#:defconst-tmp-var) (defconst mail-extr-first-letters #3#)) "[:alpha:]" (lambda (#4=#:defconst-tmp-var) (defconst mail-extr-last-letters #4#)) "[:alpha:]`'." mail-extr-leading-garbage (lambda (#5=#:defconst-tmp-var) (defconst mail-extr-leading-garbage #5#)) "\\W+" mail-extr-bad-dot-pattern (lambda (#6=#:defconst-tmp-var) (defconst mail-extr-bad-dot-pattern #6#)) format "\\([%s][%s]\\)\\.+\\([%s]\\)" mail-extr-full-name-suffix-pattern (lambda (#7=#:defconst-tmp-var) (defconst mail-extr-full-name-suffix-pattern #7#)) "\\(,? ?\\([JjSs][Rr]\\.?\\|V?I+V?\\)\\)\\([^%s]\\([^%s]\\|\\'\\)\\|\\'\\)" mail-extr-roman-numeral-pattern (lambda (#8=#:defconst-tmp-var) (defconst mail-extr-roman-numeral-pattern #8#)) "V?I+V?\\b" mail-extr-weird-acronym-pattern (lambda (#9=#:defconst-tmp-var) (defconst mail-extr-weird-acronym-pattern #9#)) "\\([A-Z]+[-_/]\\|[A-Z][A-Z][A-Z]?\\b\\)" mail-extr-alternative-address-pattern (lambda (#10=#:defconst-tmp-var) (defconst mail-extr-alternative-address-pattern #10#)) "\\(aka *\\)?[a-zA-Z.]+[!@][a-zA-Z.]" mail-extr-trailing-comment-start-pattern (lambda (#11=#:defconst-tmp-var) (defconst mail-extr-trailing-comment-start-pattern #11#)) " [-{]\\|--\\|[+@#></;]" mail-extr-name-pattern (lambda (#12=#:defconst-tmp-var) (defconst mail-extr-name-pattern #12#)) "\\b[%s][%s]*[%s]" mail-extr-initial-pattern (lambda (#13=#:defconst-tmp-var) (defconst mail-extr-initial-pattern #13#)) "\\b[%s]\\([. ]\\|\\b\\)" mail-extr-telephone-extension-pattern (lambda (#14=#:defconst-tmp-var) (defconst mail-extr-telephone-extension-pattern #14#)) "\\(\\([Ee]xt\\|\\|[Tt]ph\\|[Tt]el\\|[Xx]\\).?\\)? *\\+?[0-9][- 0-9]+" mail-extr-ham-call-sign-pattern (lambda (#15=#:defconst-tmp-var) (defconst mail-extr-ham-call-sign-pattern #15#)) "\\b\\(DX[0-9]+\\|[AKNW][A-Z]?[0-9][A-Z][A-Z]?[A-Z]?\\)" (lambda (#16=#:defconst-tmp-var) (defconst mail-extr-normal-name-pattern #16#)) "\\b[%s][%s]+[%s]" mail-extr-two-name-pattern (lambda (#17=#:defconst-tmp-var) (defconst mail-extr-two-name-pattern #17#)) "\\`\\(" "\\|" "\\) +\\(" "\\)\\(,\\|\\'\\)" mail-extr-listserv-list-name-pattern (lambda (#18=#:defconst-tmp-var) (defconst mail-extr-listserv-list-name-pattern #18#)) "Multiple recipients of list \\([-A-Z]+\\)" mail-extr-stupid-vms-date-stamp-pattern (lambda (#19=#:defconst-tmp-var) (defconst mail-extr-stupid-vms-date-stamp-pattern #19#)) "[0-9][0-9]-[JFMASOND][aepuco][nbrylgptvc]-[0-9][0-9][0-9][0-9] [0-9]+ *" mail-extr-hz-embedded-gb-encoded-chinese-pattern mail-extr-x400-encoded-address-field-pattern-format (lambda (#20=#:defconst-tmp-var) (defconst mail-extr-hz-embedded-gb-encoded-chinese-pattern #20#)) "~{\\([^~].\\|~[^}]\\)+~}" mail-extr-x400-encoded-address-pattern (lambda (#21=#:defconst-tmp-var) (defconst mail-extr-x400-encoded-address-pattern #21#)) "[a-z]?[a-z]?\\(/[A-Za-z]+\\(\\.[A-Za-z]+\\)?=[^/]+\\)+/?\\'" (lambda (#22=#:defconst-tmp-var) (defconst mail-extr-x400-encoded-address-field-pattern-format #22#)) "/%s=\\([^/]+\\)\\(/\\|\\'\\)" mail-extr-x400-encoded-address-surname-pattern (lambda (#23=#:defconst-tmp-var) (defconst mail-extr-x400-encoded-address-surname-pattern #23#)) "[Ss]" mail-extr-x400-encoded-address-given-name-pattern (lambda (#24=#:defconst-tmp-var) (defconst mail-extr-x400-encoded-address-given-name-pattern #24#)) "[Gg]" mail-extr-x400-encoded-address-full-name-pattern (lambda (#25=#:defconst-tmp-var) (defconst mail-extr-x400-encoded-address-full-name-pattern #25#)) "[Pp][Nn]" mail-extr-address-syntax-table (lambda (#26=#:defconst-tmp-var) (defconst mail-extr-address-syntax-table #26#)) make-syntax-table mail-extr-address-comment-syntax-table (lambda (#27=#:defconst-tmp-var) (defconst mail-extr-address-comment-syntax-table #27#)) mail-extr-address-domain-literal-syntax-table (lambda (#28=#:defconst-tmp-var) (defconst mail-extr-address-domain-literal-syntax-table #28#)) mail-extr-address-text-comment-syntax-table (lambda (#29=#:defconst-tmp-var) (defconst mail-extr-address-text-comment-syntax-table #29#)) mail-extr-address-text-syntax-table (lambda (#30=#:defconst-tmp-var) (defconst mail-extr-address-text-syntax-table #30#)) mapc #[(pair) "@JA\306\211\205N@\211G\307=\203#\310\n@\nA@	#\210\202F\n@\nA@\307\n8\211	
X\203E\310	\f	#\210	T\211	\2020+A\211\204
\306+\207" [pair syntax-table item --dolist-tail-- syntax bound nil 2 modify-syntax-entry char] 5] ((mail-extr-address-syntax-table (0 31 "w") (32 " ") (33 126 "w") (127 "w") (9 " ") (13 " ") (10 " ") (40 ".") (41 ".") (60 ".") (62 ".") (64 ".") (44 ".") (59 ".") (58 ".") (92 "\\") (34 "\"") (46 ".") (91 ".") (93 ".") (37 ".") (33 ".")) (mail-extr-address-comment-syntax-table (0 255 "w") (32 " ") (160 " ") (9 " ") (13 " ") (10 " ") (40 "()") (41 ")(") (92 "\\")) (mail-extr-address-domain-literal-syntax-table (0 255 "w") (32 " ") (160 " ") (9 " ") (13 " ") (10 " ") (91 "(]") (93 ")[") (92 "\\")) (mail-extr-address-text-comment-syntax-table (0 255 "w") (32 " ") (160 " ") (9 " ") (13 " ") (10 " ") (40 "()") (41 ")(") (91 "(]") (93 ")[") (123 "(}") (125 "){") (92 "\\") (34 "\"")) (mail-extr-address-text-syntax-table (0 127 ".") (128 255 "w") (32 " ") (9 " ") (13 " ") (10 " ") (65 90 "w") (97 122 "w") (45 "w") (125 "w") (123 "w") (124 "w") (39 "w") (126 "w") (48 57 "w")))] 9)
(defalias 'mail-extr-skip-whitespace-forward #[nil "\300\301w\207" [" 	\n
Â " nil] 2])
(put 'mail-extr-skip-whitespace-forward 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'mail-extr-skip-whitespace-backward #[nil "\300\301x\207" [" 	\n
Â " nil] 2])
(put 'mail-extr-skip-whitespace-backward 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'mail-extr-undo-backslash-quoting #[(beg end) "\212\214	}\210eb\210\302\303\304\305#\205\306\307!\210m\204	\310u\210\202	*\207" [beg end search-forward "\\" nil t delete-char -1 1] 4])
(put 'mail-extr-undo-backslash-quoting 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'mail-extr-nuke-char-at #[(pos) "\212b\210\301\302!\210\303c)\207" [pos delete-char 1 32] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [put mail-extr-nuke-char-at byte-optimizer byte-compile-inline-expand mail-extr-nuke-outside-range edebug-form-spec (symbolp &optional form form atom)] 4)
#@414 Delete all elements outside BEG..END in LIST.
LIST-SYMBOL names a variable holding a list of buffer positions
BEG-SYMBOL and END-SYMBOL name variables delimiting a range
Each element of LIST-SYMBOL which lies outside of the range is
 deleted from the list.
Unless NO-REPLACE is true, at each of the positions in LIST-SYMBOL
 which lie outside of the range, one character at that position is
 replaced with a SPC.
(defalias 'mail-extr-nuke-outside-range '(macro . #[(list-symbol beg-symbol end-symbol &optional no-replace) "\304>\204\n\305\306!\210\307\310	D\311B\312\310\313\314\315\316\317\nE\320\317EE\321?\205%\322\323\"BB\324BBBB\325	\326\327	EEF\207" [no-replace list-symbol end-symbol beg-symbol (t nil) error "no-replace must be t or nil, evaluable at macroexpand-time" let temp (ch) while (setq ch (car temp)) when or > ch < append ((mail-extr-nuke-char-at ch)) ((setcar temp nil)) ((setq temp (cdr temp))) setq delq nil] 11 (#$ . 9868)]))
(defalias 'mail-extr-demarkerize #[(marker) "\302!\203\303!\304\211\223\210	)\207\207" [marker temp markerp marker-position nil] 3])
(defalias 'mail-extr-markerize #[(pos) "\301!\204\n\204\f\207\302!\207" [pos markerp copy-marker] 2])
(defalias 'mail-extr-safe-move-sexp #[(arg) "\300\301\302\217\207" [error (byte-code "\301`\"\206`b\210\302\207" [arg scan-sexps t] 3) ((error (byte-code "A@\301\230?\205\302@A\"\210\202	\207" [error "Unbalanced parentheses" signal] 3)))] 3])
(put 'mail-extr-safe-move-sexp 'byte-optimizer 'byte-compile-inline-expand)
#@826 Given an RFC-822 address ADDRESS, extract full name and canonical address.
Returns a list of the form (FULL-NAME CANONICAL-ADDRESS).  If no
name can be extracted, FULL-NAME will be nil.  Also see
`mail-extr-ignore-single-names' and
`mail-extr-ignore-realname-equals-mailbox-name'.

If the optional argument ALL is non-nil, then ADDRESS can contain zero
or more recipients, separated by commas, and we return a list of
the form ((FULL-NAME CANONICAL-ADDRESS) ...) with one element for
each recipient.  If ALL is nil, then if ADDRESS contains more than
one recipients, all but the first is ignored.

ADDRESS may be a string or a buffer.  If it is a buffer, the visible
(narrowed) portion of the buffer will be interpreted as the address.
(This feature exists so that the clever caller might be able to avoid
consing a string.)
(defalias 'mail-extract-address-components #[(address &optional all) "\306\307!\306\310!\311r\306	!q\210\312 \210\313	!\210\314!\210~\210\315 \210\311\316c\210
;\2030
c\210\202B\317
!\203=\320
!\210\202B\321\322
\"\210\323ed\311#\210r\306\n!q\210\312 \210\313\n!\210\311)eb\210\324\325\311\326#\203k\327\330\326\"\210\202[@\204t\204
eb\210\331\311w\210m\204
\311\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdef\314!\210eb\210g\316=\204\316c\210\332\311w\210m\204}`ffX\204f\333=\204`Xf\333=\203b\314g!\210T\204@\212\334u\210\332\311w\210`f)\335=\204@`T\334h\321\336\337\217)\204N\334u\210\314!\210T\203eS\204e`S\202ef\340=\203\237R\204\201\212\334u\210\332\311w\210`f)\340=\204\201`R\334h\321\336\337\217)\204\217\334u\210R\203eQ\204e`Q\202ef\341=\203\300\314i!\210\334h\321\336\337\217)\204\271\334u\210\314!\210\202ef\342=\203\373d\204\324`Tf\343=\203\345c\203\373\344d!@c@W\203\373\345`T\326\"ee`T}\210\346\334!\210\333f\202ef\347\236A\211Y\203Y`YJBL\210\334u\210\202ef\350=\203\"\334u\210\202ef\351>\203@`j\212jb\210\346\334!\210\316c)\210)\334u\210\202e\352\311w\210m\204e\311fz\353=\203e\334v\210m\204e\311f\354V\203e\311f\355=\203@f\333=\204f\342=\203wm\204`W\202dA\203\237d@j\212jb\210\346\334!\210\316c)\210)dA\211d\202cA\203\303cA@j\212jb\210\346\334!\210\316c)\210)c\211AA\241\210\202\237bG\334V\203\353aG\334=\203\353]\204\353d\204\353eb\210\346\334!\210`Cd\356c\210d\203\377c\204\377db\210`Cc\357c\210c\203d\204c@j\212jb\210\346\334!\210\316c)\210)\311cc@cd@\211d\203\314b\311k\211K\203ZK@\211kcV\204LkdW\203QK\311\240\210KA\211K\2048\360\311b\"b*_\311k\211K\203\217K@\211kcV\204\201kdW\203\206K\311\240\210KA\211K\204m\360\311_\"_*^\311k\211K\203\304K@\211kcV\204\266kdW\203\273K\311\240\210KA\211K\204\242\360\311^\"^*a\203Ja@KaAad\2031c\2031KdV\2031KcW\2031Z\204bG\361W\204Kb@V\204KbA@W\203*Kj\212jb\210\346\334!\210\316c)\210)\202\314KZ\202\314d\203Cd\203\314KdW\203\314K\\\202\314]\203\241]@K]A]d\203\210c\203\210KdV\203\210KcW\203\210Kj\212jb\210\346\334!\210\316c)\210)\202J\\\203\225K\\V\203J[\204JK[\202J\\\203\300[\204\300\\j\212jb\210\346\334!\210\316c)\210)\311\\[\203\337\\\204\337[j\212jb\210\346\334!\210\316c)\210)\311[[\203\361_\311k\211K\203K@\211k[V\204k\\W\203K\311\240\210KA\211K\204\357\360\311_\"_*b\311k\211K\203FK@\211k[V\2048k\\W\203=K\311\240\210KA\211K\204$\360\311b\"b*^\311k\211K\203{K@\211k[V\204mk\\W\203rK\311\240\210KA\211K\204Y\360\311^\"^*`\311k\211K\203\260K@\211k[V\204\242k\\W\203\247K\311\240\210KA\211K\204\216\360\311`\"`*W\203\313W[TV\203\313[TWS\203\336S[V\203\336\311\211STQ\203\361Q[V\203\361\311\211QR`\311k\211K\203.K@\211k\334V\204k\334W\203%kj\212jb\210\346\334!\210\316c)\210)K\311\240\210KA\211K\204\374\360\311`\"`*d\203]db\210\332\311x\210`Ueb\210\332\311w\210`UW\203Z`V\202]\311UZ\203\357\311\211_^\345c!c\345Z!Zcb\210\362\363!\210b@b\210bA\211b\203\274\346\334!\210\364 ^B^\365c\210cSb\210\212\320	b@Z#\210b@Z|\210)bA\204\201`CE\202\201Ebcb\210\346\366!\210Zj\212jb\210\346\334!\210\316c)\210)\367Z!\210\311Z\367c!c\370\367^\"^b@br\nq\210~\210\315 \210\320	!\210d\203dTb\210\332\311w\210`c}\210\202.X\203*W\203*XW}\210\202.dd}\210b\203~^\203~^\311k\211K\203vK@\211kbV\204VkeW\203mkj\212jb\210\346\334!\210\316c)\210)K\311\240\210KA\211K\204C\360\311^\"^*^\203\317_\203\317_\311k\211K\203\307K@\211k^@V\204\247keW\203\276kj\212jb\210\346\334!\210\316c)\210)K\311\240\210KA\211K\204\223\360\311_\"_*b\203$_\203$^\204$_\311k\211K\203K@\211kbV\204\374keW\203kj\212jb\210\346\334!\210\316c)\210)K\311\240\210KA\211K\204\351\360\311_\"_*^\203Bb\204B^@b\210\346\334!\210`b\371c\210^A^l\203Q	_\203Q	\214b\203qm\203qbb\210`^B^\311b\346\334!\210\365c\210dB\202\260m\203|dB\202\260^\203\233\344^!@B\370\372^\"G\311^\372b!b\202\260b\203\255bB\372b!b\202\260dBeB}\210_@F_\2032	db\210b\204\327_A\204\327`b\362\373!\210\202\341`^B^\362\374!\210\366u\210\320p_A@\203\365_A@T\202\366e_@#\210\346\334!\210\212\366h\321\336\337\217\210)\332\311x\210h)\350=\204)	\362\212\332\311x\210h)\350=\203%	\375\202&	\376\377\"\210_A\211_\204\277)G\203E	\201}\370\367G\"^\"^\367b!bFTd}\210^\203o	b\204o	^@b\210\346\334!\210`b\371c\210^A^^\237\211^\203\204	^K\201~\201\215\210eN^\203\222	^@\202\230	b\206\230	dMb\203\250	\201\200bTd\"\210)V\203\367	RV=\203\367	QUX\203\367	RTQS}\210edno\212\214on}\210eb\210\201\201\201\202\311\326#\205\361	\346\366!\210m\204\327	\334u\210\202\327	*\210*\202\270V\203\nVU}\210\202\270T\203F\nTTSS}\210edno\212\214on}\210eb\210\201\201\201\202\311\326#\205=\n\346\366!\210m\204#\n\334u\210\202#\n*\210*eb\210\202\270db\210``}\210\320\nNM#\210eb\210\324\201\203\311\326#Leb\210l\204x\n\201\204\201\205\201\206\201\207 #\210\332\311w\210m\204\246`f\211f\340=\203\367\n`R\334h\321\336\337\217)\204\233\n\334u\210`\361ZQ\212\366u\210\346\334!\210Rb\210m\204\264\n\346\334!\210)RQno\212\214on}\210eb\210\201\201\201\202\311\326#\205\342\n\346\366!\210m\204\310\n\334u\210\202\310\n*\210*`f\316=\204\361\n\201\210c\210\326L\202x\nf\350=\203-`Tf\201\211>\203\334u\210\346\334!\210\316c\210\202x\nL\203!e`}\210\202x\n\346\334!\210\201\210c\210\202x\nfz\201\212>\203C\346\334!\210\201\210c\210\202x\n`P\334v\210`OPb\210\214PO}\210\201\213p!\203\212\201\214\201\215qrsE\"\210\332\311x\210`d|\210\324t\311\326#\203\242\327\201\216\326\"\210\202web\210\324\201\217\311\326#\203\237\327\330\326\"\210\202\215db\210)\202x\nl\204\270\201\204\201\205\376\201\207 #\210\314u!\210\201\220NM\n#\210eb\210eb\210v\203?\fA\204?\fMNZ\201\221=\203?\feb\210\201\213w!\203?\f\201\222\224fJ\201\221\224fHr\nq\210\326\201\223JNf\"\203\"\f\201\223HMSf\"\203\"\fNTfI*I\203?\fIz\353=\203?\f\201\221\224b\210I\226\201\224\261\210deZ\201\222\326xy\211z\201\222V\203\254\fzMNZ=\203\254\fdb\210\320\nNM#\210x\203\227\fyzW\203\227\fye\\f\227\201\225yze#f\227=\204\217\f\311xyTy\202j\fez\\d|\210x\203\254\f{\203\254\f``}\210+eb\210|\203\303\f\324\201\226\311\326#\204\303\f``}\210edU?\205\316\f\201\227 r\nq\210edU?\205\335\f\201\227 )DB@\203\374\fe\203\364\f\334e}\210\202\366\f~\210ed|\210~\210.&\202k)@\203\f
\237\202
@+\207" [value-list extraction-buffer canonicalization-buffer mail-extr-address-syntax-table case-fold-search address get-buffer-create " *canonical address*" " *extract address components*" nil fundamental-mode buffer-disable-undo set-syntax-table erase-buffer 32 bufferp insert-buffer-substring error "Invalid address: %s" set-text-properties re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ 	]" t replace-match "\\1 " " 	" " 	\n
Â " 40 1 41 #1=(byte-code "\301`\"\206`b\210\302\207" [arg scan-sexps t] 3) #2=((error (byte-code "A@\301\230?\205\302@A\"\210\202	\207" [error "Unbalanced parentheses" signal] 3))) 34 91 44 64 last copy-marker delete-char ((60 . <-pos) (62 . >-pos) (64 . @-pos) (58 . colon-pos) (44 . comma-pos) (33 . !-pos) (37 . %-pos) (59 . \;-pos)) 46 (41 93 92) "^-Â " 119 127 160 60 62 delq 2 insert-before-markers 88 point-marker "%" -1 mail-extr-demarkerize mapcar "@" mail-extr-markerize "@ " "% " "" "." "uucp" all disable-initial-guessing-flag insert-point \.-pos domain-pos saved-@-pos saved-!-pos saved-%-pos li mi fi temp \.-ends-name mbox-end mbox-beg atom-end atom-beg quote-end quote-beg mailextr-cend mailextr-cbeg phrase-end phrase-beg last-real-pos first-real-pos record-pos-symbol route-addr-:-pos group-\;-pos group-:-pos \;-pos %-pos !-pos comma-pos colon-pos @-pos >-pos <-pos end-of-address char mail-extr-address-comment-syntax-table arg mail-extr-address-domain-literal-syntax-table pos ch mail-extr-mangle-uucp mail-extr-@-binds-tighter-than-! end beg mail-extr-x400-encoded-address-pattern mail-extr-x400-encoded-address-given-name-pattern mail-extr-x400-encoded-address-surname-pattern mail-extr-x400-encoded-address-full-name-pattern mail-extr-bad-dot-pattern mail-extr-address-text-syntax-table mail-extr-guess-middle-initial mail-extr-two-name-pattern names-match-flag i buffer-length mail-extr-ignore-realname-equals-mailbox-name mail-extr-ignore-single-names append truncated (byte-code "\203eA@\206	b\210\306\307x\210\212\310\311\312\313\217\210)`\306\307x\210h\314=)\f\203^\315`{
\"\211\2059\316N)\203^e`}\210@b\210\317\320!\210`\307\241\210\321	\"\322c\210\323\324\325\"\210A\211\204\307\207" [temp @-pos arg domain-pos \.-pos mail-extr-all-top-level-domains " 	\n
Â " nil -1 error #1# #2# 46 intern-soft domain-name delete-char 1 delq "@" throw truncated t s %-pos] 4) downcase-region search-forward "\\" "[_0-9]" modify-syntax-entry 33 "w" syntax-table " " (95 61) (46 92) looking-at mapc #[(field-pattern) "\212\301\302\303#)\205\304p\305\224\305\225#\210\306c\207" [field-pattern re-search-forward nil t insert-buffer-substring 1 " "] 4] "\\1 \\2" "\\([^_=]+\\)[_=]" mail-extr-voodoo 3 0 char-equal ". " + "[- ]" buffer-string] 39 (#$ . 11404)])
#@197 *If it is a regexp, names matching it will never be modified.
If it is neither nil nor a string, modifying of names will never take
place.  It affects how `mail-extract-address-components' works.
(custom-declare-variable 'mail-extr-disable-voodoo '"\\cj" '(#$ . -21906) :type '(choice (regexp :size 0) (const :tag "Always enabled" nil) (const :tag "Always disabled" t)) :group 'mail-extr)
(defalias 'mail-extr-voodoo #[(mbox-beg mbox-end canonicalization-buffer) "\205;?\206eb\210\306\307\310#?\205\246\311\307\211\211\211\211\211\211\211\211\211\211\211\211\211\211=>?@ABCDEFG\212\312H!\210eb\210m\204\277\313\307w\210`I\312J!\210g\314>\203t\315\316\307\317g\320=\203n\321\202o\322$\210\202\202\322K\323\324\325\217)\204\202db\210\312H!\210If\326=\203\273I`|\210\327\307x\210\330\331!\203\245\332\333!\210\202\273`I\327\307w\210o\203\270`I|\210\202\273\334 \210)\202J\315\335\307\310#\204eb\210\315\336\307\310#\203\345eb\210\315\336\307\310#\203\332\335\310\"\210\202\325\315\337\307\310#\203eb\210\306L\307\310#\203\332\340\310\"\210\202\360eb\210	\204%=\203
?>\307=@\203,\311G\307\211>\307\211ED\307@\341\307w\210G\311=\203;`d}\210`\307?G\311=\203Y\330M!\203Y\311\225b\210`d}\210\202G\321Y\203\262\330N!\203\262\341\307x\210`Cg\342=\203z\322u\210\202}\342c\210g\343=\204\206\343c\210\341\307w\210g\344>\203\246\345\322!\210g\346=\203\240\322u\210\202\252\346c\210\202\252\347\322!\210\310\211=\202\330\350!\203\306\322\224b\210`d}\210\310@\202g\342=\203\345G\322=\203\345\322u\210\310Bg\343=\204\343c\210\202g\351>\203\222`O\312J!\210g\352>\203\315\316\307\310g\320=\203\321\202\322$\204!\353\322!\210\202!\322K\323\324\325\217)\204!db\210\312H!\210`PG\311=\203N\330\354!\203NPOZ\321Y\203NOTPS}\210eb\210\202POZ\355U\204lPOZ\356U\203{\321O\\f\346=\203{\330\354!\204{OTfA\202~\307AOP|\210A\203A\357\261\210\202\330Q!\203\241\332\333\310\"\210\202\330R!\203\262\311\225b\210\310=\202G\311=\203\313\330S!\203\313\311\225b\210`d}\210\202G\321Y\203\345E\203\345\330T!\203\345\330U!\203\330V!\204\330W!\204G\322Y\203\330X!\203\310\202\330Y!\203\311\224\311\225|\210\202\330Z!\203Hgg\226=\204'\310D\322u\210g\346=\2036\322u\210\2029\346c\210g\343=\204B\343c\210\310=\202G\311=\203d\330[!\203d\322\224\322\225}\210\310\211=\202G\311V\203\231h\343=\203\231g\360=\203\231`Td=\203\231\353\322!\210\361`\362\\]^#\210`\"\210\310\211_=\202G\311V\203\264g\360=\203\264`\211T\310=\nb\210\202\330`!\203`\311\225G\321Y\203\335D\204\335\330\363!\204\332\nSf\346=\203\335\310?\306\364\n\310#\203\371b\210\306\365\n\310#\203\366\310E\202\371\310D\nb\210\310=\202\330\366!\203`\311\225\211b\210\310=\202\310=\203GTG\202C\2046\330\367!\2036d\211Cb\210e>\203@\f\206A`}\210C\204Xeb\210\310F\330\370!\203W\371 \210)B\203\211eb\210\315\372!\210`SC\206mdb\210h\343=\204x\343c\210\362pe\n#\210\nb\210\373\307w\210`d}\210eb\210\306\374\307\310#\205\244\332m\203\235\333\202\236\335\310\"\210\202\214.\207" [mail-extr-disable-voodoo name-done-flag name-end name-beg last-word-beg this-word-beg re-search-forward nil t 0 set-syntax-table "^({[\"'`" (39 96) search-forward "'" move 39 2 1 error (byte-code "\301`\"\206`b\210\302\207" [arg scan-sexps t] 3) ((error (byte-code "A@\301\230?\205\302@A\"\210\202	\207" [error "Unbalanced parentheses" signal] 3))) 40 " 	" looking-at "\\([ 	]+$\\|[ 	]+,\\)" replace-match "" just-one-space " " "_" "." "\\1 \\2" " 	\n
Â " 44 32 (106 74 115 83) capitalize-word 46 upcase-word "MKA \\(.+\\)" (40 123 91 34 39 96) (39 96) delete-char " *\\'" 3 4 ". " 38 capitalize-region insert-buffer-substring "[[:lower:]]\\{4,\\}[ 	]*\\'" "[[:lower:]]" "[[:upper:]]" "[0-9]+\\>" "\\(\\.+\\|[?!;:.][?!;:.]+\\|[?!;:][?!;:.]*\\)\\'" "[-A-Za-z_]+[. ]\\(PARC\\|ADOC\\)\\'" erase-buffer "," "	 ," "[ 	\n]+" word-found-flag drop-last-word-if-trailing-flag drop-this-word-if-trailing-flag begin-again-flag initial last-name-comma-flag suffix-flag lower-case-flag mixed-case-flag case-fold-search word-count mail-extr-address-text-syntax-table cbeg mail-extr-address-text-comment-syntax-table arg mail-extr-bad-dot-pattern mail-extr-full-name-prefixes mail-extr-full-name-suffix-pattern mailextr-cbeg mailextr-cend mail-extr-stupid-vms-date-stamp-pattern mail-extr-hz-embedded-gb-encoded-chinese-pattern mail-extr-leading-garbage mail-extr-weird-acronym-pattern mail-extr-roman-numeral-pattern mail-extr-alternative-address-pattern mail-extr-trailing-comment-start-pattern mail-extr-telephone-extension-pattern mail-extr-ham-call-sign-pattern mail-extr-initial-pattern mail-extr-listserv-list-name-pattern canonicalization-buffer mbox-beg mbox-end disable-initial-guessing-flag mail-extr-name-pattern] 17])
(byte-code "\302B\303\304\305\306\"\307\310\311\"\210	)!\207" [current-load-list ob mail-extr-all-top-level-domains (lambda (#1=#:defconst-tmp-var) (defconst mail-extr-all-top-level-domains #1#)) make-vector 739 0 mapc #[(x) "\302\303@\227	\"\304\3058\203\306\3058A@\"\202A@#\207" [x ob put intern domain-name 2 format] 6] (("ac" "Ascension Island") ("ad" "Andorra") ("ae" "United Arab Emirates") ("af" "Afghanistan") ("ag" "Antigua and Barbuda") ("ai" "Anguilla") ("al" "Albania") ("am" "Armenia") ("an" "Netherlands Antilles") ("ao" "Angola") ("aq" "Antarctica") ("ar" "Argentina" "Argentine Republic") ("as" "American Samoa") ("at" "Austria" "The Republic of %s") ("au" "Australia") ("aw" "Aruba") ("ax" "Aland Islands") ("az" "Azerbaijan") ("ba" "Bosnia-Herzegovina") ("bb" "Barbados") ("bd" "Bangladesh") ("be" "Belgium" "The Kingdom of %s") ("bf" "Burkina Faso") ("bg" "Bulgaria") ("bh" "Bahrain") ("bi" "Burundi") ("bj" "Benin") ("bl" "Saint Barthelemy") ("bm" "Bermuda") ("bn" "Brunei Darussalam") ("bo" "Bolivia" "Republic of %s") ("br" "Brazil" "The Federative Republic of %s") ("bs" "Bahamas") ("bt" "Bhutan") ("bv" "Bouvet Island") ("bw" "Botswana") ("by" "Belarus") ("bz" "Belize") ("ca" "Canada") ("cc" "Cocos (Keeling) Islands") ("cd" "Congo" "The Democratic Republic of the %s") ("cf" "Central African Republic") ("cg" "Congo") ("ch" "Switzerland" "The Swiss Confederation") ("ci" "Ivory Coast") ("ck" "Cook Islands") ("cl" "Chile" "The Republic of %s") ("cm" "Cameroon") ("cn" "China" "The People's Republic of %s") ("co" "Colombia") ("cr" "Costa Rica" "The Republic of %s") ("cu" "Cuba") ("cv" "Cape Verde") ("cx" "Christmas Island") ("cy" "Cyprus") ("cz" "Czech Republic") ("de" "Germany") ("dj" "Djibouti") ("dk" "Denmark") ("dm" "Dominica") ("do" "Dominican Republic" "The %s") ("dz" "Algeria") ("ec" "Ecuador" "The Republic of %s") ("ee" "Estonia") ("eg" "Egypt" "The Arab Republic of %s") ("eh" "Western Sahara") ("er" "Eritrea") ("es" "Spain" "The Kingdom of %s") ("et" "Ethiopia") ("eu" "European Union") ("fi" "Finland" "The Republic of %s") ("fj" "Fiji") ("fk" "Falkland Islands (Malvinas)") ("fm" "Micronesia" "Federated States of %s") ("fo" "Faroe Islands") ("fr" "France") ("ga" "Gabon") ("gb" "United Kingdom") ("gd" "Grenada") ("ge" "Georgia") ("gf" "French Guiana") ("gg" "Guernsey") ("gh" "Ghana") ("gi" "Gibraltar") ("gl" "Greenland") ("gm" "Gambia") ("gn" "Guinea") ("gp" "Guadeloupe (Fr.)") ("gq" "Equatorial Guinea") ("gr" "Greece" "The Hellenic Republic (%s)") ("gs" "South Georgia and The South Sandwich Islands") ("gt" "Guatemala") ("gu" "Guam (U.S.)") ("gw" "Guinea-Bissau") ("gy" "Guyana") ("hk" "Hong Kong") ("hm" "Heard Island and Mcdonald Islands") ("hn" "Honduras") ("hr" "Croatia" "Croatia (Hrvatska)") ("ht" "Haiti") ("hu" "Hungary" "The Hungarian Republic") ("id" "Indonesia") ("ie" "Ireland") ("il" "Israel" "The State of %s") ("im" "Isle of Man" "The %s") ("in" "India" "The Republic of %s") ("io" "British Indian Ocean Territory") ("iq" "Iraq") ("ir" "Iran" "Islamic Republic of %s") ("is" "Iceland" "The Republic of %s") ("it" "Italy" "The Italian Republic") ("je" "Jersey") ("jm" "Jamaica") ("jo" "Jordan") ("jp" "Japan") ("ke" "Kenya") ("kg" "Kyrgyzstan") ("kh" "Cambodia") ("ki" "Kiribati") ("km" "Comoros") ("kn" "Saint Kitts and Nevis") ("kp" "Korea (North)" "Democratic People's Republic of Korea") ("kr" "Korea (South)" "Republic of Korea") ("kw" "Kuwait") ("ky" "Cayman Islands") ("kz" "Kazakhstan") ("la" "Lao People's Democratic Republic") ("lb" "Lebanon") ("lc" "Saint Lucia") ("li" "Liechtenstein") ("lk" "Sri Lanka" "The Democratic Socialist Republic of %s") ("lr" "Liberia") ("ls" "Lesotho") ("lt" "Lithuania") ("lu" "Luxembourg") ("lv" "Latvia") ("ly" "Libyan Arab Jamahiriya") ("ma" "Morocco") ("mc" "Monaco") ("md" "Moldova" "The Republic of %s") ("me" "Montenegro") ("mf" "Saint Martin (French part)") ("mg" "Madagascar") ("mh" "Marshall Islands") ("mk" "Macedonia" "The Former Yugoslav Republic of %s") ("ml" "Mali") ("mm" "Myanmar") ("mn" "Mongolia") ("mo" "Macao") ("mp" "Northern Mariana Islands") ("mq" "Martinique") ("mr" "Mauritania") ("ms" "Montserrat") ("mt" "Malta") ("mu" "Mauritius") ("mv" "Maldives") ("mw" "Malawi") ("mx" "Mexico" "The United Mexican States") ("my" "Malaysia") ("mz" "Mozambique") ("na" "Namibia") ("nc" "New Caledonia (Fr.)") ("ne" "Niger") ("nf" "Norfolk Island") ("ng" "Nigeria") ("ni" "Nicaragua" "The Republic of %s") ("nl" "Netherlands" "The Kingdom of the %s") ("no" "Norway" "The Kingdom of %s") ("np" "Nepal") ("nr" "Nauru") ("nu" "Niue") ("nz" "New Zealand") ("om" "Oman") ("pa" "Panama") ("pe" "Peru") ("pf" "French Polynesia") ("pg" "Papua New Guinea") ("ph" "Philippines" "The Republic of the %s") ("pk" "Pakistan") ("pl" "Poland") ("pm" "Saint Pierre and Miquelon") ("pn" "Pitcairn") ("pr" "Puerto Rico (U.S.)") ("ps" "Palestinian Territory, Occupied") ("pt" "Portugal" "The Portuguese Republic") ("pw" "Palau") ("py" "Paraguay") ("qa" "Qatar") ("re" "Reunion (Fr.)") ("ro" "Romania") ("rs" "Serbia") ("ru" "Russia" "Russian Federation") ("rw" "Rwanda") ("sa" "Saudi Arabia") ("sb" "Solomon Islands") ("sc" "Seychelles") ("sd" "Sudan") ("se" "Sweden" "The Kingdom of %s") ("sg" "Singapore" "The Republic of %s") ("sh" "Saint Helena") ("si" "Slovenia") ("sj" "Svalbard and Jan Mayen") ("sk" "Slovakia" "The Slovak Republic") ("sl" "Sierra Leone") ("sm" "San Marino") ("sn" "Senegal") ("so" "Somalia") ("sr" "Suriname") ("st" "Sao Tome and Principe") ("su" "U.S.S.R." "The Union of Soviet Socialist Republics") ("sv" "El Salvador") ("sy" "Syrian Arab Republic") ("sz" "Swaziland") ("tc" "Turks and Caicos Islands") ("td" "Chad") ("tf" "French Southern Territories") ("tg" "Togo") ("th" "Thailand" "The Kingdom of %s") ("tj" "Tajikistan") ("tk" "Tokelau") ("tl" "East Timor") ("tm" "Turkmenistan") ("tn" "Tunisia") ("to" "Tonga") ("tp" "East Timor") ("tr" "Turkey" "The Republic of %s") ("tt" "Trinidad and Tobago") ("tv" "Tuvalu") ("tw" "Taiwan" "%s, Province of China") ("tz" "Tanzania" "United Republic of %s") ("ua" "Ukraine") ("ug" "Uganda") ("uk" "United Kingdom" "The %s of Great Britain and Northern Ireland") ("um" "United States Minor Outlying Islands") ("us" "United States" "The %s of America") ("uy" "Uruguay" "The Eastern Republic of %s") ("uz" "Uzbekistan") ("va" "Holy See (Vatican City State)") ("vc" "Saint Vincent and the Grenadines") ("ve" "Venezuela" "The Republic of %s") ("vg" "Virgin Islands, British") ("vi" "Virgin Islands, U.S.") ("vn" "Vietnam") ("vu" "Vanuatu") ("wf" "Wallis and Futuna") ("ws" "Samoa") ("ye" "Yemen") ("yt" "Mayotte") ("yu" "Yugoslavia" "Yugoslavia, AKA Serbia-Montenegro") ("za" "South Africa" "The Republic of %s") ("zm" "Zambia") ("zw" "Zimbabwe" "Republic of %s") ("aero" t "Air Transport Industry") ("asia" t "Pan-Asia and Asia Pacific community") ("biz" t "Businesses") ("cat" t "Catalan language and culture") ("com" t "Commercial") ("coop" t "Cooperative Associations") ("info" t "Info") ("jobs" t "Employment") ("mobi" t "Mobile products") ("museum" t "Museums") ("name" t "Individuals") ("net" t "Network") ("org" t "Non-profit Organization") ("pro" t "Credentialed professionals") ("tel" t "Contact data") ("travel" t "Travel industry") ("gov" t "United States Government") ("edu" t "Educational") ("mil" t "United States Military") ("int" t "International Treaties") ("uucp" t "Unix to Unix CoPy") ("arpa" t "Advanced Research Projects Agency (U.S. DoD)"))] 4)
#@62 Convert mail domain DOMAIN to the country it corresponds to.
(defalias 'what-domain #[(domain) "\302\227	\"\211\204\303\304!\210\305\306\307!\226\310N#\207" [domain mail-extr-all-top-level-domains intern-soft error "No such domain" message "%s: %s" symbol-name domain-name] 5 (#$ . 34262) (let ((completion-ignore-case t)) (list (completing-read "Domain: " mail-extr-all-top-level-domains nil t)))])
(provide 'mail-extr)
