;ELC   
;;; Compiled by buildd@akateko.buildd on Fri Oct 25 13:51:39 2013
;;; from file /build/buildd/emacs23-23.4+1/debian/build-x/lisp/mail/mail-utils.el
;;; in Emacs version 23.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(require 'lisp-mode)
#@147 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 '(#$ . 567) :type 'boolean :group 'mail)
#@41 Return non-nil if FILE is a Babyl file.
(defalias 'mail-file-babyl-p #[(file) "\302\303!rq\210\304\216\305	\306\307\310$\210\311\312!+\207" [#1=#:temp-buffer file generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents nil 0 100 looking-at "BABYL OPTIONS:"] 5 (#$ . 807)])
#@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 (#$ . 1164)])
#@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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match "[?=\"\200-\377]" format "=%02x" "=?ISO-8859-1?Q?" nil "?="] 6 (#$ . 1406)])
#@156 Convert the region 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-region #[(beg end &optional wrapper) "\304 \305\216\212	b\210\214	\n}\210\306\307\310\311#\203# \312\313\314h\"\226\311\211#\210\202 \2052 	b\210\315c\210\nb\210\316c,\207" [save-match-data-internal beg end wrapper match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward "[?=\"\200-\377]" nil t replace-match format "=%02x" "=?ISO-8859-1?Q?" "?="] 4 (#$ . 2011) "r\nP"])
(defalias 'mail-unquote-printable-hexdigit #[(char) "\226\211\301Y\203 \301Z\302\\\207\303Z\207" [char 65 10 48] 3])
#@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#\203N \n\f\313\224OB\n\312\224H\316U\204H \317\312\320\n\312\224H!\321_\320\n\312\224TH!\\\"B\313\225\202 \322\323\n\f\314OB\237\",\207" [save-match-data-internal wrapper string strings i match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match "\\`=\\?ISO-8859-1\\?Q\\?\\([^?]*\\)\\?" match-string 1 0 nil "=\\(..\\|\n\\)" 10 make-string mail-unquote-printable-hexdigit 16 apply concat] 6 (#$ . 2760)])
#@532 Undo the "quoted printable" encoding in buffer from BEG to END.
If the optional argument WRAPPER is non-nil,
we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=.
On encountering malformed quoted-printable text, exits with an error,
unless NOERROR is non-nil, in which case it continues, and returns nil
when finished.  Returns non-nil on successful completion.
If UNIBYTE is non-nil, insert converted characters as unibyte.
That is useful if you are going to character code decoding afterward,
as Rmail does.
(defalias 'mail-unquote-printable-region #[(beg end &optional wrapper noerror unibyte) "\306\307 \310\216\212\214\n}\210eb\210\f\203$ \311\312!\203$ \313\225|\210`\313\224|\210\314\315\306\316#\203\221 \317\225b\210\313\224f\320U\203? \321\322!\210\202$ \313\224f\323U\203N \321\324!\210\202$ \325\224\203\200 \326\325\224f!\327_\326\325\224Tf!\\\203s \321\322!\210\330\313\"\210\202| \321\331\313\"\316\211#\210)\202$ \203\212 \316\202$ \332\333!\210\202$ -?\207" [failed save-match-data-internal beg end wrapper char nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "\\`=\\?ISO-8859-1\\?Q\\?\\([^?]*\\)\\?" 1 re-search-forward "=\\(\\([0-9A-F][0-9A-F]\\)\\|[=\n]\\|..\\)" t 0 10 replace-match "" 61 "=" 2 mail-unquote-printable-hexdigit 16 insert-byte make-string error "Malformed MIME quoted-printable message" unibyte noerror] 4 (#$ . 3528) "r\nP"])
#@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\300 	\203 \305\306!\210\307\310\311!\312#\207\313\314\315\"\203U \316\317!rq\210\320\216c\210\321\f!\210\322b\210\323\324\313\325#\203N \326u\210\327\313x\210`\212\313\330\331\217\210`)|\210\2021 \332 +\202i \314\333\"\211\203i \334\335\313\211\336%\202U \314\337\"\210\336\225\314\340\336\225#O\336\314\341\n#\211\203\247 G\336\225V\203\234 \336\225H\342U\203\234 \336\225\202{ \334\335\313\211\343%\202{ \314\344\"\211\203\276 \334\345\346\"\313\347\343%\202\247 )\207" [address mail-use-rfc822 pos #1=#:temp-buffer lisp-mode-syntax-table require rfc822 mapconcat identity rfc822-addresses ", " nil string-match "[ 	]*(\\([^)\\]\\|\\\\.\\|\\\\\n\\)*(" generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-syntax-table 1 search-forward "(" t -1 " 	" (forward-sexp 1) ((error (byte-code "db\207" [] 1))) buffer-string "[ 	]*(\\([^)\\]\\|\\\\.\\|\\\\\n\\)*)" replace-match "" 0 "\\`[ 	\n]*" "[ 	\n]*\\'" "\\([ 	]?\\)\\([ 	]*\"\\([^\"\\]\\|\\\\.\\|\\\\\n\\)*\"[ 	\n]*\\)" 64 2 "\\(,\\s-*\\|\\`\\)\\([^,]*<\\([^>,:]*\\)>[^,]*\\)\\(\\s-*,\\|\\'\\)" match-string 3 literal] 6 (#$ . 4996)])
#@191 Prune addresses from DESTINATIONS, a list of recipient addresses.
All addresses matching `rmail-dont-reply-to-names' are removed from
the comma-separated list.  The pruned list is returned.
(defalias 'rmail-dont-reply-to #[(destinations) "\204+ 	\203 	\306P\202 \307\n\203\" \n\232\204\" \310\311\n!\312Q\202# \307\310\311!\313QQ\314\211\315\203\262 \316\317#\211\203u \320\314\"\321\232\203u \316\321T#\211\203` T\202q \314OT\322OP)\2022 O\323!\316\"\203\244 \314O\205\233 T\322OP\202\256 \205\252 T\211*\2022 +\316\324\"\211\203\306 \314O)\316\325\"\203\326 \314\225\322O\207\207" [rmail-dont-reply-to-names rmail-default-dont-reply-to-names user-mail-address user-login-name case-fold-search cur-pos "\\|" "" "\\`" regexp-quote "\\'\\|" "@" 0 t string-match "[,\"]" match-string "\"" nil mail-strip-quoted-names "[ ,	\n]*\\'" "\\(\\s \\|,\\)*" start-pos destinations next-pos address naked-address pos] 6 (#$ . 6405)])
#@382 Return the value of the header field whose type is FIELD-NAME.
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.
The buffer should be narrowed to just the header, else false
matches may be returned from the message body.
(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 (#$ . 7419)])
(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])
#@104 Return an mbox "From " line for the current message.
The buffer should be narrowed to just the header.
(defalias 'mail-mbox-from #[nil "\303\304\305!\206 \304\306!\206 \304\307!\206 \304\310!\206 \311!\304\312!\313\314\"\315\316\n\2032 \317\nO\2023 	\203> \320\321\322\217\206@ \323 #+\207" [from date end mail-strip-quoted-names mail-fetch-field "from" "really-from" "sender" "return-path" "unknown" "date" string-match "[ 	]*[,\n]" format "From %s %s\n" 0 nil (byte-code "\301\302!!\207" [date current-time-string date-to-time] 3) ((error)) current-time-string] 6 (#$ . 9425)])
(provide 'mail-utils)
