;ELC ;;; compiled by jimb@geech.gnu.ai.mit.edu on Mon Jul 5 23:32:01 1993 ;;; from file /gd/gnu/emacs/19.0/lisp/mail-extr.el ;;; emacs version 19.15.16. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19")) (byte-code "!\n  $Q PP $\"# \"  & $&( $* \",*Q/13 \n$55,5:! ;! =! >! ?@! @ABC\"DEF\"DGH\"DIJ\"DKL\"DMN\"" [boundp mail-@-binds-tighter-than-! nil 32 mail-space-char " \n" mail-whitespace "A-Za-z---{|}'~0-9`." mail-all-letters "A-Za-z{|}'~0-9`" mail-all-letters-but-separators "A-Za-z" mail-first-letters "A-Za-z`'." mail-last-letters format "\\(\\([^%s]\\|\\`\\)[%s]\\)\\(\\.\\([^ ]\\)\\| \\|\\([^%s .]\\)\\|\\'\\)" mail-bad-initials-pattern "^" "." mail-non-name-chars mail-non-begin-name-chars mail-non-end-name-chars "\\([%s][%s]\\)\\.+\\([%s]\\)" mail-bad-\.-pattern "\\([ .]\\|\\`\\)[\"'`[(]\\([ .%s]+\\)[]\"')] " mail-nickname-pattern "\\` *\\(Prof\\|Dr\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.? " mail-full-name-prefixes "\\(,? ?\\([JjSs]r\\.?\\|V?I+V?\\)\\)\\([^%s]\\([^%s]\\|\\'\\)\\|\\'\\)" mail-full-name-suffix-pattern "V?I+V?\\b" mail-roman-numeral-pattern "\\([A-Z]+[-_/]\\|[A-Z][A-Z][A-Z]?\\b\\)" mail-weird-acronym-pattern "\\b\\([a-z][%s]*[%s]\\|[%s][%s]*[a-z][%s]*[%s]\\|[%s][%s]*[a-z]\\)" mail-mixed-case-name-pattern "[a-zA-Z.]+[!@][a-zA-Z.]" mail-alternative-address-pattern " [-{]\\|--\\|[+@#> (car temp) end-symbol < (car temp) beg-symbol no-replace (mail-nuke-char-at (car temp)) (setcar temp nil) (setq temp (cdr temp)) delq nil] 10]) mail-demarkerize #[(marker) "!!ĉ )" [marker markerp marker-position temp nil] 3] mail-markerize #[(pos) "! !" [pos markerp copy-marker] 2]] 10) (defalias 'mail-last-element '(macro . #[(list) " DCF" [let list (while (not (null (cdr list))) (setq list (cdr list))) (car list)] 4 "\ Return last element of LIST."])) (defalias 'mail-safe-move-sexp '(macro . #[(arg) "EDEF" [condition-case error progn goto-char scan-sexps (point) arg t (error (if (string-equal (nth 1 error) "Unbalanced parentheses") nil (while t (signal (car error) (cdr error)))))] 7 "\ Safely skip over one balanced sexp, if there is one. Return t if success."])) (defalias 'mail-extract-address-components #[(address) "!!ĉ \n    !\"#$%&'()*+,-.-q-!1!~ 345eb#\"eb;wm`f++=`+==!u;w`f)=`@ABu1!`+C=_?u;w`f)C=?`@DEOu`+F=G!@HI}u1!+J=)()KAKAKK@)(@V*L!e`}+MA`JBLu+N=u+O>`bL!4c)uv+=`)A>)@bL!4c))A) (A`(A@bL!4c)(AA>'GV&)ebL!`C)Pc)(db`C(Qc()(@bL!4c)((@()@)Y'@(V@)WĠAR'\"'$@(V@)WĠAR$\"$#P@(VB@)WGĠA0R#\"#&&@&A&)()V(W'GSW'@V'A@WbL!4c)YY))Y)WY!Y\",\"@\"A\")()V(WbL!4c)! !V   O$Y@ VK@!WPĠA9R$\"$O'@ V@!WĠAnR'\"'O#@ V@!WĠAR#\"#O%@ V@!WĠAR%\"%OO TVO TOO VOĉOO VOĉOe }%@Vg@W}@bL!4c)ĠAWR%\"%))b;x`eb;w`W`e$#T(!(T!(bUV!'@b'A'(L!W #B#Xc(SbY-'@#'@|)'A`C'(bLZ!bL!4c)[![(!(\\[#\"#'@'.q.!1!3~ Y-!))Tb;w`(}}'##@'V@eW@bL!4c)ĠAR#\"##;$;$2@#@V@eW)@bL!4c)ĠAR$\"$'$#$@'Vc@eWy@bL!4c)ĠARR$\"$$']'b`#B#'L!Xcd ]d ##KAKAKK@)\\^#\"\n#^'!' '\n'^'!' de }$@ $db'6$A6`'U_!D`#B#U`!a!Yp$A@]$A@T^e$@#L!@bc;xh)N=U;xh)N=def\"$A$)\ng\\[\n\"#\"#['!' Td}#'#@bL!`'hc#A###i#@ ' dd\"# #jke#) #@/ '/ d-qr =r Xr TS}ed}ebl#n m![ *\n }\n TS}ed}ebl# m! *\ned|Y.#ebno#eb;wm\n`f+C=F\n`@pq u`SZa!L!bL!)}ebl#2\nm!\n*4`f=@\nrc +N=\n`Tfs=i\nuL!4c u\ne`} L!rc +zt>\nL!rc `v`}ebu#\n!\ndb) v!wx !yed|ycebZz=L eb{|!L }f zf .q3~ f\"- ~ Sf\"- Tf * L  z=L zb x .qx .+D" [get-buffer-create "*canonical address*" "*extract address components*" bar nil insert-point \.-pos domain-pos saved-@-pos saved-!-pos saved-%-pos li mi fi saved-point name-suffix temp \.-ends-name mbox-end mbox-beg atom-end atom-beg quote-end quote-beg comment-end comment-beg phrase-end phrase-beg last-real-pos first-real-pos record-pos-symbol route-addr-:-pos group-\;-pos group-:-pos \;-pos %-pos !-pos \,-pos :-pos @-pos >-pos <-pos multiple-addresses char foo extraction-buffer canonicalization-buffer buffer-disable-undo set-syntax-table address-syntax-table erase-buffer case-fold-search mail-space-char address re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ ]" t replace-match "\\1 " mail-whitespace 40 address-comment-syntax-table 1 41 error (byte-code "`\"b‡" [scan-sexps 1 t] 3) ((error (byte-code "A@?@A\" " [error "Unbalanced parentheses" signal] 3))) 34 (byte-code "`\"b‡" [scan-sexps 1 t] 3) ((error (byte-code "A@?@A\" " [error "Unbalanced parentheses" signal] 3))) 91 address-domain-literal-syntax-table (byte-code "`\"b‡" [scan-sexps 1 t] 3) ((error (byte-code "A@?@A\" " [error "Unbalanced parentheses" signal] 3))) 44 list delete-char ((60 . <-pos) (62 . >-pos) (64 . @-pos) (58 . :-pos) (44 . \,-pos) (33 . !-pos) (37 . %-pos) (59 . \;-pos)) 46 (41 93 92) 60 62 delq 2 copy-marker insert-before-markers 88 point-marker "%" insert-buffer-substring -1 mail-demarkerize mapcar mail-@-binds-tighter-than-! mail-markerize "@ " "% " backward-char (byte-code "`\"b" [scan-sexps -1] 3) ((error (byte-code "A@@A\"Ç" [error "Unbalanced parentheses" signal t] 3))) "" "." "uucp" append "@" downcase-region truncated (byte-code "\\A@ b\nxƏ`\nxh= ) U`{!NUe`}@b!`á \"c\"AÇ" [temp @-pos mail-whitespace nil error (byte-code "`\"b" [scan-sexps -1] 3) ((error (byte-code "A@@A\"Ç" [error "Unbalanced parentheses" signal t] 3))) domain-pos 46 \.-pos intern domain-name delete-char 1 delq %-pos "@" throw truncated t] 4) "\\\\\\(.\\)" "\\1" search-forward "_" (byte-code "`\"b‡" [scan-sexps 1 t] 3) ((error (byte-code "A@?@A\" " [error "Unbalanced parentheses" signal] 3))) " " 95 (46 92) "\\([^_]+\\)_" address-text-syntax-table mail-variant-method buffer-string xxx 3 looking-at mail-two-name-pattern 0 char-equal 119 ". "] 43 "\ Given an rfc 822 ADDRESS, extract full name and canonical address. Returns a list of the form (FULL-NAME CANONICAL-ADDRESS)."]) (byte-code "\"\"\"\"\"\"" [defalias mail-variant-method #[(string) "!É \n   q!!~ ceb#R!Bebwx`d}ލe`}\neb#e”} eb!`S\ndb\"h=\"cpe # Td}db$xg=u`ebw`}eb#!ed{. " [get-buffer-create "*variant method buffer*" 0 nil end beg initial comment-end comment-beg last-name-comma-flag suffix-flag upper-case-flag lower-case-flag mixed-case-flag word-count variant-buffer buffer-disable-undo set-syntax-table address-text-syntax-table erase-buffer case-fold-search string re-search-forward mail-bad-\.-pattern t replace-match "\\1 \\2" mail-non-begin-name-chars "& \"" stop (byte-code "w\n= !Õb`d}\nYx!xx`g=;u>c g=I cwg>i!g=cumcm!\nT\"!ʔb`d}\nY!!\nY!!!!\"g=\n=u g= cg=\n\"g>`!!g>6g='u#@!@鏄@db*!`+\n=l!l+ZYlT+S}eb+ZU+ZU\\f=!Tf//+|//1!ÔÕ|o h=!!`567#`\"8!gg=ug=u c g= c\nT9!T`:Õ;;#F:b;#BԂGՂGL;b\nT\"" [mail-whitespace nil word-count 0 looking-at mail-full-name-prefixes 2 mail-full-name-suffix-pattern suffix-flag 44 1 mail-space-char (106 74 115 83) capitalize-word 46 upcase-word throw stop t "MKA \\(.+\\)" mixed-case-flag lower-case-flag mail-weird-acronym-pattern mail-roman-numeral-pattern upper-case-flag "[a-z][a-z][a-z][a-z]+\\b" mail-alternative-address-pattern mail-trailing-comment-start-pattern mail-telephone-extension-pattern last-name-comma-flag (40 123 91 34 39 96) comment-beg set-syntax-table address-text-comment-syntax-table (39 96) 39 search-forward "'" delete-char error (byte-code "`\"b‡" [scan-sexps 1 t] 3) ((error (byte-code "A@?@A\" " [error "Unbalanced parentheses" signal] 3))) address-text-syntax-table comment-end " *\\'" 3 4 initial ". " mail-ham-call-sign-pattern "&\\( \\|\\'\\)" capitalize-region insert-buffer-substring canonicalization-buffer mbox-beg mbox-end mail-initial-pattern mail-name-pattern beg end re-search-forward "[a-z]" "[A-Z]"] 6) "\\b[A-Za-z][A-Za-z]+\\. *\\'" search-forward "," mail-space-char insert-buffer-substring mail-non-end-name-chars 46 1 "[ \n]+" " "] 12] mapcar #[(x) "9 #@A@#" [x put domain-name t] 4] ((ag "Antigua") (ar "Argentina") arpa (at "Austria") (au "Australia") (bb "Barbados") (be "Belgium") (bg "Bulgaria") bitnet (bo "Bolivia") (br "Brazil") (bs "Bahamas") (bz "Belize") (ca "Canada") (ch "Switzerland") (cl "Chile") (cn "China") (co "Columbia") com (cr "Costa Rica") (cs "Czechoslovakia") (de "Germany") (dk "Denmark") (dm "Dominica") (do "Dominican Republic") (ec "Ecuador") edu (eg "Egypt") (es "Spain") (fi "Finland") (fj "Fiji") (fr "France") gov (gr "Greece") (hk "Hong Kong") (hu "Hungary") (ie "Ireland") (il "Israel") (in "India") int (is "Iceland") (it "Italy") (jm "Jamaica") (jp "Japan") (kn "St. Kitts and Nevis") (kr "South Korea") (lc "St. Lucia") (lk "Sri Lanka") mil (mx "Mexico") (my "Malaysia") (na "Namibia") nato net (ni "Nicaragua") (nl "Netherlands") (no "Norway") (nz "New Zealand") org (pe "Peru") (pg "Papua New Guinea") (ph "Philippines") (pl "Poland") (pr "Puerto Rico") (pt "Portugal") (py "Paraguay") (se "Sweden") (sg "Singapore") (sr "Suriname") (su "Soviet Union") (th "Thailand") (tn "Tunisia") (tr "Turkey") (tt "Trinidad and Tobago") (tw "Taiwan") (uk "United Kingdom") unter-dom (us "U.S.A.") uucp (uy "Uruguay") (vc "St. Vincent and the Grenadines") (ve "Venezuela") (yu "Yugoslavia") (za "South Africa") (zw "Zimbabwe")) time-extract #[nil " \nB  @@! A \nB*" [nil list times current-time-string problem-address-alist mail-extract-address-components] 3] test-extract #[(&optional starting-point) "!q !>\"" [get-buffer-create "*Testing*" erase-buffer sit-for 0 mapcar test-extract-internal starting-point problem-address-alist] 4 nil nil] test-extract-internal #[(item) "@A@8\n!@A@ ?' \n ?2   \n> t!p!!db\nѱ\n_ Ա m  Աc!.؉" [item failed-item address correct-name 2 correct-canon mail-extract-address-components result name canon name-correct canon-correct pop-to-buffer "*Testing*" select-window get-buffer-window "Address: " "\n" " Correct Name: [" "]; Result: [" "]\n" " Correct Canon: [" sit-for 0 nil] 6] test-continue-extract #[nil " !" [test-extract failed-item] 2 nil nil]] 3)