;;; compiled by rms@wookumz.gnu.ai.mit.edu on Mon May 31 20:20:46 1993
;;; from file /gd/gnu/emacs/19.0/lisp/sendmail.el
;;; emacs version 19.10.3.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(defvar mail-self-blind nil "\
Non-nil means insert BCC to self in messages to be sent.
This is done when the message is initialized,
so you can remove or alter the BCC field to override the default.")
(defvar mail-interactive nil "\
Non-nil means when sending a message wait for and display errors.
nil means let mailer mail back a message to report errors.")
(defvar mail-yank-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^remailed\\|^received:\\|^message-id:\\|^summary-line:\\|^to:\\|^subject:\\|^in-reply-to:\\|^return-path:" "\
Delete these headers from old message when it's inserted in a reply.")
(defvar send-mail-function (quote sendmail-send-it) "\
Function to call to send the current buffer as mail.
The headers are be delimited by a line which is `mail-header-separator'.")
(defvar mail-header-separator "--text follows this line--" "\
*Line used to separate headers from text in messages being composed.")
(defvar mail-archive-file-name nil "\
*Name of file to write all outgoing messages in, or nil for none.
Do not use an rmail file here!  Instead, use its inbox file.")
(defvar mail-default-reply-to nil "\
*Address to insert as default Reply-to field of outgoing messages.")
(defvar mail-alias-file nil "\
*If non-nil, the name of a file to use instead of `/usr/lib/aliases'.
This file defines aliases to be expanded by the mailer; this is a different
feature from that of defining aliases in `.mailrc' to be expanded in Emacs.
This variable has no effect unless your system uses sendmail as its mailer.")
(defvar mail-aliases t "\
Alist of mail address aliases,
or t meaning should be initialized from `~/.mailrc'.
The alias definitions in `~/.mailrc' have this form:
    alias ALIAS MEANING")
(defvar mail-yank-prefix nil "\
*Prefix insert on lines of yanked message being replied to.
nil means use indentation.")
(byte-code "! ! " [boundp mail-abbrevs-loaded nil mail-mode-map] 2)
(autoload (quote build-mail-aliases) "mailalias" "\
Read mail aliases from `~/.mailrc' and set `mail-aliases'." nil)
(autoload (quote expand-mail-aliases) "mailalias" "\
Expand all mail aliases in suitable header fields found between BEG and END.
Suitable header fields are `To', `Cc' and `Bcc' and their `Resent-' variants.
Optional second arg EXCLUDE may be a regular expression defining text to be
removed from alias expansions." nil)
(defvar mail-signature nil "\
*Text inserted at end of mail buffer when a message is initialized.
If t, it means to insert the contents of the file `~/.signature'.")
(byte-code "! " [boundp mail-reply-buffer nil] 2)
(defvar mail-send-actions nil "\
A list of actions to be performed upon successful sending of a message.")
(defvar mail-default-headers nil "\
*A string containing header lines, to be inserted in outgoing messages.
It is inserted before you edit the message,
so you can edit or delete these lines.")
(defvar mail-mode-syntax-table nil "\
Syntax table used while in mail mode.")
(byte-code " \n!#M" [mail-mode-syntax-table copy-syntax-table text-mode-syntax-table modify-syntax-entry 37 ". " mail-setup #[(to subject in-reply-to cc replybuffer actions) "= !  	ebc< `ccd\"*?  [ c`ccd\"*j cccr #~ c ccc  #  c cc\"cc `#= ! ! # #cdbn  ) b   !!" [mail-aliases t nil file-exists-p "~/.mailrc" build-mail-aliases actions mail-send-actions replybuffer mail-reply-buffer "To: " to "	" address-start fill-prefix "\n" fill-region-as-paragraph newline cc "CC: " in-reply-to "In-reply-to: " insert "Subject: " subject "" mail-default-headers mail-default-reply-to "Reply-to: " mail-self-blind "BCC: " user-login-name mail-archive-file-name "FCC: " mail-header-separator mail-signature "~/.signature" insert-file-contents set-buffer-modified-p run-hooks mail-setup-hook] 4]] 4)
(defalias 'mail-mode #[nil " !!!!	\n!!RR\"" [kill-all-local-variables make-local-variable mail-reply-buffer nil mail-send-actions set-syntax-table mail-mode-syntax-table use-local-map mail-mode-map text-mode-abbrev-table local-abbrev-table mail-mode major-mode "Mail" mode-name t buffer-offer-save paragraph-separate paragraph-start "^" mail-header-separator "$\\|^[ 	]*[-_][-_][-_]+$\\|" run-hooks text-mode-hook mail-mode-hook] 4 "\
Major mode for editing mail to be sent.
Like Text Mode but with these additional commands:
C-c C-s  mail-send (send the message)    C-c C-c  mail-send-and-exit
C-c C-f  move to a header field (and create it if there isn't):
	 C-c C-f C-t  move to To:	C-c C-f C-s  move to Subj:
	 C-c C-f C-b  move to BCC:	C-c C-f C-c  move to CC:
C-c C-t  move to message text.
C-c C-y  mail-yank-original (insert current message, in Rmail).
C-c C-q  mail-fill-yanked-message (fill what was yanked).
C-c C-v  mail-sent-via (add a sent-via field for each To or CC)." nil])
(byte-code "X  \"#############" [mail-mode-map nconc make-sparse-keymap text-mode-map define-key "?" describe-mode "" mail-to "" mail-bcc "" mail-fcc "" mail-cc "" mail-subject "" mail-text "" mail-yank-original "" mail-fill-yanked-message "" mail-signature "" mail-sent-via "" mail-send-and-exit "" mail-send] 4)
(defalias 'mail-send-and-exit #[(arg) " p!p!+  +  \"!q\n)=+  . \n!)" [mail-send other-buffer newbuf bury-buffer arg one-window-p window-buffer next-window selected-window not major-mode rmail-mode delete-window switch-to-buffer] 4 "\
Send message like `mail-send', then, if no errors, exit from mail buffer.
Prefix arg means don't delete this window." "P"])
(defalias 'mail-send #[nil "  !; !! * ˏA !?; !!" [buffer-modified-p y-or-n-p "Message already sent; resend? " message "Sending..." run-hooks mail-send-hook send-mail-function mail-send-actions nil (byte-code "	@@	@A\"" [apply mail-send-actions] 3) ((error)) "Sending...done" buffer-file-name set-buffer-modified-p delete-auto-save-file-if-necessary t] 4 "\
Send the message in the current buffer.
If `mail-interactive' is non-nil, wait for success indication
or error messages, and inform user.
Otherwise any failure is reported in a message back to
the user from the mailer." nil])
(byte-code "MM" [sendmail-send-it #[nil "\n ! !ŉp	\nˎ	q !dbhU6 ceb!Q!!! Z e\"eb#t `Wt !] eb# !eb# !eb# !e\"!)! \" ! #eb# !eb# ! \nq ))ed!6\n& D;;PC?#$\"W\nqeb#A!2@  U?V݁A B ed\"\")." [mail-interactive generate-new-buffer " sendmail errors" 0 " sendmail temp" nil mailbuf delimline case-fold-search tembuf errbuf ((byte-code "	!! !" [kill-buffer tembuf bufferp errbuf] 2)) erase-buffer insert-buffer-substring 10 re-search-forward "^" regexp-quote mail-header-separator "\n" replace-match backward-char 1 point-marker mail-aliases expand-mail-aliases "\n\n\n*" t "^Sender:" error "Sender may not be specified." "^FCC:" mail-do-fcc "^From:" require mail-utils string-equal mail-strip-quoted-names narrow-to-region mail-fetch-field "From" user-login-name forward-line insert "Sender: " "^S:" "Subject:" "^Subject:[ 	]*\n" "" apply call-process-region append list boundp sendmail-program "/usr/lib/sendmail" "-oi" "-t" "-f" mail-alias-file "-oA" ("-oem" "-odb") "\n\n* *" "; " buffer-size "Sending...failed to %s" buffer-substring] 12] mail-do-fcc #[(header-end) "p !	\neb#? ` !`\"\nB\n!!`\" !@S @\"T ԉWe [g )Ww x \"\"$+q  !%!!ccdb	!dbcb# !c )\nm\n@!4Iped5674q TdU? d9e T\"db<=;>?@ A  B  &765#C cD  )D765#.cE F \n@!Ze\\eTd\n@$)\nA\n )G !." [nil current-time generate-new-buffer " rmail output" t case-fold-search tembuf timezone time rmailbuf fcc-list re-search-forward "^FCC:[ 	]*" header-end buffer-substring end-of-line skip-chars-backward " 	" delete-region match-beginning 0 forward-line 1 current-time-zone foo / 60 offset number abs format "%s%02d%02d" "-" "+" % erase-buffer insert "\nFrom " user-login-name " " current-time-string "\n" forward-char -1 forward-word insert-buffer-substring 10 2 search-forward -5 62 get-file-buffer buffer end beg curbuf buffer-size max ((byte-code "	 e\"" [max narrow-to-region] 3)) narrow-to-region major-mode rmail-mode buffer-read-only rmail-total-messages "\n0, unseen,,\n*** EOOH ***\n" "From: " "Date: " "\n" rmail-set-message-counters write-region file-exists-p kill-buffer] 9]] 2)
(defalias 'mail-sent-via #[nil "eb\nQ!! 	\neb\n#I `\n#7 !; \nb`\"\") ," [search-forward "\n" mail-header-separator forward-line -1 point-marker t nil to-line case-fold-search end re-search-forward "^\\(to\\|cc\\):" buffer-substring "^[^ 	\n]" backward-char 1 insert-before-markers "Sent-via:"] 6 "\
Make a Sent-via header line from each To or CC header line." nil])
(defalias 'mail-to #[nil " !" [expand-abbrev mail-position-on-field "To"] 2 "\
Move point to end of To-field." nil])
(defalias 'mail-subject #[nil " !" [expand-abbrev mail-position-on-field "Subject"] 2 "\
Move point to end of Subject-field." nil])
(defalias 'mail-cc #[nil " \" !c" [expand-abbrev mail-position-on-field "cc" t "to" "\nCC: "] 3 "\
Move point to end of CC-field.  Create a CC field if none." nil])
(defalias 'mail-bcc #[nil " \" !c" [expand-abbrev mail-position-on-field "bcc" t "to" "\nBCC: "] 3 "\
Move point to end of BCC-field.  Create a BCC field if none." nil])
(defalias 'mail-fcc #[nil " \" !!\"" [expand-abbrev mail-position-on-field "fcc" t "to" insert "\nFCC: " read-file-name "Folder carbon copy: "] 4 "\
Add a new FCC field, with file name completion." nil])
(fset (quote mail-position-on-field) #[(field &optional soft) "eb!Q!!eb!Q#8 #!!L K bcc!*" [nil t case-fold-search end re-search-forward "^" regexp-quote mail-header-separator "\n" match-beginning 0 field ":" "^[^ 	]" move forward-line skip-chars-backward soft ": \n"] 4])
(defalias 'mail-text #[nil "eb\nQ!" [search-forward "\n" mail-header-separator] 4 "\
Move point to beginning of text field." nil])
(defalias 'mail-signature #[(atpoint) " db!  `d\"c!!)" [atpoint skip-chars-backward " 	\n" end-of-line delete-region "\n\n--\n" insert-file-contents expand-file-name "~/.signature"] 3 "\
Sign letter with contents of `mail-signature-file'." "P"])
(defalias 'mail-fill-yanked-message #[(&optional justifyp) "eb\nQ#`d$)" [search-forward "\n" mail-header-separator nil t fill-individual-paragraphs justifyp] 5 "\
Fill the paragraphs of a message yanked into this one.
Numeric argument means justify as well." "P"])
(defalias 'mail-yank-original #[(arg) "` `!!:L 	!\"4 	!. !/ #L 	b`!WK c!8 )! `p#bl?_ c)" [mail-reply-buffer start delete-windows-on insert-buffer arg mail-yank-clear-headers mark t mail-yank-prefix indent-rigidly prefix-numeric-value 3 forward-line 1 set-marker mark-marker 10] 5 "\
Insert the message being replied to, if any (in rmail).
Puts point before the text and mark after.
Normally, indents each nonblank line ARG spaces (default 3).
However, if `mail-yank-prefix' is non-nil, insert that prefix on each line.

Just \\[universal-argument] as argument means don't indent, insert no prefix,
and don't delete any header fields." "P"])
(fset (quote mail-yank-clear-headers) #[(start end) "b#7 `\"b#)6 !`!!`\" ))" [start search-forward "\n\n" end t narrow-to-region case-fold-search re-search-forward mail-yank-ignored-headers nil forward-line 0 delete-region "\n[^ 	]" forward-char -1] 4])
(defalias 'mail #[(&optional noerase to subject in-reply-to cc replybuffer actions) "!!! 	\n9  # !9  &	I !I !	)" [switch-to-buffer "*mail*" expand-file-name "~/" default-directory auto-save-mode auto-save-default mail-mode nil initialized noerase buffer-modified-p y-or-n-p "Unsent message being composed; erase it? " erase-buffer mail-setup to subject in-reply-to cc replybuffer actions t buffer-auto-save-file-name file-exists-p message "Auto save file for draft message exists; consider M-x mail-recover"] 7 "\
Edit a message to be sent.  Prefix arg means resume editing (don't erase).
When this function returns, the buffer `*mail*' is selected.
The value is t if the message was newly initialized; otherwise, nil.

By default, the signature file `~/.signature' is inserted at the end;
see the variable `mail-signature'.

\\<mail-mode-map>
While editing message, type \\[mail-send-and-exit] to send the message and exit.

Various special commands starting with C-c are available in sendmail mode
to move to message header fields:
\\{mail-mode-map}

If `mail-self-blind' is non-nil, a BCC to yourself is inserted
when the message is initialized.

If `mail-default-reply-to' is non-nil, it should be an address (a string);
a Reply-to: field with that address is inserted.

If `mail-archive-file-name' is non-nil, an FCC field with that file name
is inserted.

If `mail-setup-hook' is bound, its value is called with no arguments
after the message is initialized.  It can add more default fields.

When calling from a program, the second through fifth arguments
 TO, SUBJECT, IN-REPLY-TO and CC specify if non-nil
 the initial contents of those header fields.
 These arguments should not have final newlines.
The sixth argument REPLYBUFFER is a buffer whose contents
 should be yanked if the user types C-c C-y.
The seventh argument ACTIONS is a list of actions to take
 if/when the message is sent.  Each action looks like (FUNCTION . ARGS);
 when the message is sent, we apply FUNCTION to ARGS.
 This is how Rmail arranges to mark messages `answered'." "P"])
(defalias 'mail-recover #[nil "   	\") !)" [make-auto-save-file-name file-name ((byte-code "= !	&	\"!" [system-type vax-vms "*Directory*" buffer-disable-undo standard-output call-process "ls" nil "-l" file-name yes-or-no-p format "Recover auto save file %s? "] 8)) nil buffer-read-only erase-buffer insert-file-contents error "mail-recover cancelled."] 3 "\
Reread contents of current buffer from its last auto-save file." nil])
(defalias 'mail-other-window #[(&optional noerase to subject in-reply-to cc replybuffer sendactions) "!)	\n&" [t pop-up-windows pop-to-buffer "*mail*" mail noerase to subject in-reply-to cc replybuffer sendactions] 8 "\
Like `mail' command, but display mail buffer in another window." "P"])
(defalias 'mail-other-frame #[(&optional noerase to subject in-reply-to cc replybuffer sendactions) "!)	\n&" [t pop-up-frames pop-to-buffer "*mail*" mail noerase to subject in-reply-to cc replybuffer sendactions] 8 "\
Like `mail' command, but display mail buffer in another frame." "P"])
(byte-code "	###!" [define-key ctl-x-map "m" mail ctl-x-4-map mail-other-window ctl-x-5-map mail-other-frame provide sendmail] 4)
