;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Sat Aug  8 17:45:02 1998
;;; from file /gd/gnu/emacs/lisp/mail/mail-utils.el
;;; in Emacs version 20.2.98.3
;;; with bytecomp version 2.48
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`mail-utils.el' was compiled for Emacs 19.29 or later"))

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


(require 'lisp-mode)
#@148 *If non-nil, use a full, hairy RFC822 parser on mail addresses.
Otherwise, (the default) use a smaller, somewhat faster, and
often correct parser.
(custom-declare-variable 'mail-use-rfc822 'nil '(#$ . -635) :type 'boolean :group 'mail)
(defalias 'mail-file-babyl-p #[(file) "\302\303!\304\216\212q\210\305	\306\307\310$\210\311\312!+\207" [buf file generate-new-buffer " *rmail-file-p*" ((kill-buffer buf)) insert-file-contents nil 0 100 looking-at "BABYL OPTIONS:"] 5])
#@102 Returns a string containing all of STRING except the part
from START (inclusive) to END (exclusive).
(defalias 'mail-string-delete #[(string start end) "\204	 	\303\nO\207	\303\nO	\304OP\207" [end string start 0 nil] 4 (#$ . 1115)])
#@154 Convert a string to the "quoted printable" Q encoding.
If the optional argument WRAPPER is non-nil,
we add the wrapper characters =?ISO-8859-1?Q?....?=.
(defalias 'mail-quote-printable #[(string &optional wrapper) "\305\306\307 \310\216\311\312	#\203' 	\305\224O\313\314\305\224H\"\226Q\305\225\202	 \f\2036 \315	\316O\317R\202< 	\316OP,\207" [result i save-match-data-internal string wrapper 0 "" match-data ((set-match-data save-match-data-internal)) string-match "[?=\"\200-\377]" format "=%02x" "=?ISO-8859-1?Q?" nil "?="] 6 (#$ . 1357)])
(defalias 'mail-unquote-printable-hexdigit #[(char) "\301Y\203\f \301Z\302\\\207\303Z\207" [char 65 10 48] 2])
#@159 Undo the "quoted printable" encoding.
If the optional argument WRAPPER is non-nil,
we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=.
(defalias 'mail-unquote-printable #[(string &optional wrapper) "\305 \306\216	\203 \307\310\n\"\203 \311\312\n\"\313\314\307\315\n\f#\203B \n\f\313\224O\316\312\317\n\312\224H!\320_\317\n\312\224TH!\\\"Q\313\225\202 \n\f\321OP,\207" [save-match-data-internal wrapper string result i match-data ((set-match-data save-match-data-internal)) string-match "\\`=\\?ISO-8859-1\\?Q\\?\\([^?]*\\)\\?" match-string 1 0 "" "=\\(..\\)" make-string mail-unquote-printable-hexdigit 16 nil] 8 (#$ . 2034)])
#@173 Delete comments and quoted strings in an address list ADDRESS.
Also delete leading/trailing whitespace and replace FOO <BAR> with just BAR.
Return a modified address list.
(defalias 'mail-strip-quoted-names #[(address) "\205\317 	\203 \306\307!\210\310\311\312!\313#\207\314\315\316\"\203W \212\317\320!q\210\321 \210c\210\322!\210\323b\210\324\325\314\326#\203M \327u\210\330\314x\210`\212\314\331\332\217\210`)|\210\2020 \333 \321 \210)\202j \315\334\"\211\203j \335\n\336\225#\202W \315\337\"\210\336\225\315\340\336\225#O\336\315\341\n#\211\203\250 G\336\225V\203\235 \336\225H\342U\203\235 \336\225\202| \335\323\225\336\225#\202| \315\343\"\211\203\315 \323\225\344\224\336\225%\335\fS\f#\335%#+\202\250 )\207" [address mail-use-rfc822 pos lisp-mode-syntax-table close junk-end require rfc822 mapconcat identity rfc822-addresses ", " nil string-match "[ 	]*(\\([^)\\]\\|\\\\.\\|\\\\\n\\)*(" get-buffer-create " *temp*" erase-buffer set-syntax-table 1 search-forward "(" t -1 " 	" (forward-sexp 1) ((error (byte-code "db\207" [] 1))) buffer-string "[ 	]*(\\([^)\\]\\|\\\\.\\|\\\\\n\\)*)" mail-string-delete 0 "\\`[ 	\n]*" "[ 	\n]*\\'" "\\([ 	]?\\)[ 	]*\"\\([^\"\\]\\|\\\\.\\|\\\\\n\\)*\"[ 	\n]*" 64 "\\(,\\s-*\\|\\`\\)[^,]*<\\([^>,:]*>\\)" 2 junk-beg] 6 (#$ . 2702)])
#@184 Returns string of mail addresses USERIDS sans any recipients
that start with matches for `rmail-dont-reply-to-names'.
Usenet paths ending in an element that matches are removed also.
(defalias 'rmail-dont-reply-to #[(userids) "\204 	\203 	\306P\202 \307\310\311 !\312PP\313\314\315\306\316\317\320\211\260\n\321\322\211\323#\211\203\223 \324V\203> \325\224\323\326\324\225#\203M \324\225\202P G\322\211\323\327#\211\203x W\203x T?\202W \203\207 \323\327#\202\217 \330\n#*\202* \323\331\"\211\203\244 \324O\323\332\"\203\265 \324\225\322O\202\267 ,\207" [rmail-dont-reply-to-names rmail-default-dont-reply-to-names epos pos case-fold-search match "\\|" "" regexp-quote user-login-name "\\>" "\\(^\\|,\\)[ 	\n]*" "\\([^,\n]*[!<]\\|\\)" "\\(" "\\([^,.<\"]\\|\"[^\"]*\"\\)*" "<\\(" "\\)" t nil string-match 0 2 ",[ 	\n]*" "\"" mail-string-delete "[ ,	\n]*\\'" "\\s *" userids inside-quotes quote-pos] 10 (#$ . 4018)])
#@347 Return the value of the header field whose type is FIELD-NAME.
The buffer is expected to be narrowed to just the header of the message.
If second arg LAST is non-nil, use the last field of type FIELD-NAME.
If third arg ALL is non-nil, concatenate all such fields with commas between.
If 4th arg LIST is non-nil, return a list of all such fields.
(defalias 'mail-fetch-field #[(field-name &optional last all list) "\212eb\210\306\307\310!\311Q\204 \f\203q \205 \312\313	\314\306#\203] `\315y\210\316\317!\204& \320u\210\321x\210\f\203F \322`\"B\202Y \211\312\230\203Q \312\202R \323\322`\"Q)\202 \f\203e \202m \312\230?\205m )\202\240 \313	\314\306#\205\240 \203\206 \313	\314\306#\204~ `\315y\210\316\317!\204\211 \320u\210\321x\210\322`\")+\207" [field-name name case-fold-search all list value t "^" regexp-quote "[ 	]*:[ 	]*" "" re-search-forward nil 1 looking-at "[ 	]" -1 " 	" buffer-substring-no-properties ", " opoint last] 5 (#$ . 5008)])
(defalias 'mail-parse-comma-list #[nil "\302\211\303\302w\210m\204( `\304\302w\210\303\302x\210\305`\"	B\304\302w\210\306\302w\210\202 	*\207" [beg accumulated nil " 	\n" "^," buffer-substring-no-properties ", 	\n"] 3])
(defalias 'mail-comma-list-regexp #[(labels) "\302\303\304	\"\206\n \305	\303\306	#O\303\307	\"\211\203, 	\305O\310	\305\225\302OQ\202 )	\207" [pos labels nil string-match "[^ 	]" 0 "[ 	]*$" "[ 	]*,[ 	]*" "\\|"] 6])
(defalias 'mail-rfc822-time-zone #[(time) "\303!@\206 \304\305	!\306\245\307\310	\304W\203 \311\202 \312\n\306\245\n\306\246$*\207" [time sec absmin current-time-zone 0 abs 60 format "%c%02d%02d" 45 43] 6])
(defalias 'mail-rfc822-date #[nil "\302 \303!\304\305	\"\210	\306\224\306\225O\307	\310\224\310\225O\307	\311\224\311\225O\307	\312\224\312\225O\307\313!\260	*\207" [time s current-time current-time-string string-match "[^ ]+ +\\([^ ]+\\) +\\([^ ]+\\) \\([^ ]+\\) \\([^ ]+\\)" 2 " " 1 4 3 mail-rfc822-time-zone] 10])
(provide 'mail-utils)
