;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Mon Aug 8 19:24:32 1994 ;;; from file /home/fsf/rms/e19/lisp/sendmail.el ;;; emacs version 19.25.92.3. ;;; 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 "`/home/fsf/rms/e19/lisp/sendmail.el' was compiled for Emacs 19")) (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.") (defvar mail-indentation-spaces 3 "\ *Number of spaces to insert at the beginning of each cited line. Used by `mail-yank-original' via `mail-yank-cite'.") (defvar mail-yank-hooks nil "\ Obsolete hook for modifying a citation just inserted in the mail buffer. Each hook function can find the citation between (point) and (mark t). And each hook function should leave point and mark around the citation text as modified. This is a normal hook, misnamed for historical reasons. It is semi-obsolete and mail agents should no longer use it.") (defvar mail-citation-hook nil "\ *Hook for modifying a citation just inserted in the mail buffer. Each hook function can find the citation between (point) and (mark t). And each hook function should leave point and mark around the citation text as modified. If this hook is entirely empty (nil), a default action is taken instead of no action.") (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-mailer-swallows-blank-line (byte-code "\n\"-!-!Ȏq!eb #,-χ" [string-match "sparc-sun-sunos\\(\\'\\|[^5]\\)" system-configuration file-readable-p "/etc/sendmail.cf" get-buffer-create " *temp*" buffer ((kill-buffer buffer)) insert-file-contents nil case-fold-search re-search-forward "^OR\\>" t (looking-at "[ ]\\|[-a-zA-Z]+:")] 4) "\ Set this non-nil if the system's mailer runs the header and body together. (This problem exists on Sunos 4 when sendmail is run in remote mode.) The value should be an expression to test whether the problem will actually occur.") (defvar mail-mode-syntax-table nil "\ Syntax table used while in mail mode.") (byte-code "\n!#" [mail-mode-syntax-table copy-syntax-table text-mode-syntax-table modify-syntax-entry 37 ". "] 4) (defvar mail-send-hook nil "\ Normal hook run before sending mail, in Mail mode.") (defalias (quote mail-setup) #[(to subject in-reply-to cc replybuffer actions) "=!  ebc ;`  ϱ d\"*> Yc` ϱ d\"*eϱlϱycϱ ϱϱ!ϱ ` \"=!c!\"\"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: " "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" "\n\n-- \n" insert-file-contents set-buffer-modified-p run-hooks mail-setup-hook] 3]) (defalias 'mail-mode #[nil " !!!! \n\f!!RR\"" [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-f C-f move to FCC: 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 "W \n#############!B#######!B########" [mail-mode-map 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 [menu-bar mail] "Mail" [menu-bar mail fill] ("Fill Citation" . mail-fill-yanked-message) [menu-bar mail yank] ("Cite Original" . mail-yank-original) [menu-bar mail signature] ("Insert Signature" . mail-signature) [menu-bar mail cancel] ("Cancel" . mail-dont-send) [menu-bar mail send-stay] ("Send, Keep Editing" . mail-send) [menu-bar mail send] ("Send Message" . mail-send-and-exit) [menu-bar headers] "Headers" [menu-bar headers sent-via] ("Sent Via" . mail-sent-via) [menu-bar headers text] ("Text" . mail-text) [menu-bar headers bcc] ("Bcc" . mail-bcc) [menu-bar headers fcc] ("Fcc" . mail-fcc) [menu-bar headers cc] ("Cc" . mail-cc) [menu-bar headers subject] ("Subject" . mail-subject) [menu-bar headers to] ("To" . mail-to)] 6) (defalias 'mail-send-and-exit #[(arg) " \n!" [mail-send mail-bury arg] 2 "\ Send message like `mail-send', then, if no errors, exit from mail buffer. Prefix arg means don't delete this window." "P"]) (defalias 'mail-dont-send #[(arg) " !" [mail-bury arg] 2 "\ Don't send the message you have been editing. Prefix arg means don't delete this window." "P"]) (defalias 'mail-bury #[(arg) "p!p!!& A& \"& !ʉ \f e e \"!q=\f!bb!b!?b )\f{ v !~ ~ !*)" [other-buffer newbuf bury-buffer fboundp frame-parameters dedicated delq selected-frame visible-frame-list delete-frame nil summary-buffer rmail-flag arg one-window-p window-buffer next-window selected-window not major-mode rmail-mode boundp rmail-summary-buffer buffer-name get-buffer-window switch-to-buffer delete-window] 4 "\ Bury this mail buffer."]) (defalias 'mail-send #[nil "\n! !D!! \n4͏\nA\n&!?D!!" [buffer-file-name y-or-n-p "Send buffer contents as mail message? " buffer-modified-p "Message already sent; resend? " run-hooks mail-send-hook message "Sending..." send-mail-function mail-send-actions nil (byte-code " @@ @A\"" [apply mail-send-actions] 3) ((error)) "Sending...done" 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 "\"\"" [defalias sendmail-send-it #[nil "\n! !ʼnp \n ̎\nq !dbhU9ceb!Q!!! ]e\"eb#w`Ww!` ebeb#!eb!#``)} \")eb#!eb#!Tb)!  q ))ed!.  D33PC?#%\"P qeb#A!2 U?Oed{\")." [mail-interactive generate-new-buffer " sendmail errors" 0 " sendmail temp" nil mailbuf delimline resend-to-addresses 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 "^FCC:" mail-do-fcc require mail-utils "^Resent-to:" append mail-parse-comma-list "^S:" "Subject:" "^Subject:[ ]*\n" "" eval mail-mailer-swallows-blank-line newline apply call-process-region boundp sendmail-program "/usr/lib/sendmail" "-oi" "-f" user-login-name mail-alias-file "-oA" ("-oem" "-odb") ("-t") "\n\n* *" "; " buffer-size error "Sending...failed to %s"] 10] mail-do-fcc #[(header-end) "p ! eb\f#8`x`{ B Δy`|q !ձuv!!ӱdb!dbcb#ucp) 3 @!!pedeby`)\"#$%!q TdU?d'!*+,+ ~dd} ձ%\"##ceb~!`d}!+!'e T}db%$##. )eTd @$) A )!-" [nil current-time generate-new-buffer " rmail output" t case-fold-search tembuf time rmailbuf fcc-list re-search-forward "^FCC:[ ]*" header-end " " 0 1 erase-buffer "\nFrom " user-login-name " " current-time-string "\n" -1 require mail-utils mail-rfc822-time-zone insert-buffer-substring 10 2 search-forward -5 62 get-file-buffer buffer beg2 end beg curbuf buffer-size max ((byte-code "e}" [max nil] 2)) boundp rmail-current-message msg buffer-read-only rmail-maybe-set-message-counters "\f\n0, unseen,,\n*** EOOH ***\n" "From: " "Date: " mail-rfc822-date "\n" search-backward rmail-count-new-messages rmail-show-message write-region kill-buffer] 8]] 3) (defalias 'mail-sent-via #[nil "eb\nQ!y  eb #G` #5!9 b`{\")," [search-forward "\n" mail-header-separator -1 point-marker t nil to-line case-fold-search end re-search-forward "^\\(to\\|cc\\):" "^[^ \n]" backward-char 1 insert-before-markers "Sent-via:"] 5 "\ 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 #[(folder) " \"!" [expand-abbrev mail-position-on-field "fcc" t "to" "\nFCC: " folder] 3 "\ Add a new FCC field, with file name completion." "FFolder carbon copy: "]) (defalias (quote mail-position-on-field) #[(field &optional soft) "eb!Q!ɔeb\n!Q #6#yxIH b\nϱx*" [nil t case-fold-search end re-search-forward "^" regexp-quote mail-header-separator "\n" 0 field ":" "^[^ ]" move 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) "dbx`d|c!!)" [atpoint " \n" nil "\n\n-- \n" insert-file-contents expand-file-name "~/.signature"] 3 "\ Sign letter with contents of the file `~/.signature'. Prefix arg means put contents at point." "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-indent-citation #[nil "`!\"\f!#.b`!W-\fcy))" [start mail-yank-clear-headers mark t mail-yank-prefix indent-rigidly mail-indentation-spaces 1] 4 "\ Modify text just inserted from a message to be cited. The inserted text should be the region. When this function returns, the region is again around the modified text. Normally, indent each nonblank line `mail-indentation-spaces' spaces. However, if `mail-yank-prefix' is non-nil, insert that prefix on each line."]) (defalias 'mail-yank-original #[(arg) "T`\"! :A b ! !#1!@\n=!@ )! `pbl?Sc)" [mail-reply-buffer start delete-windows-on t insert-buffer arg prefix-numeric-value mail-indentation-spaces mail-citation-hook run-hooks mail-yank-hooks mail-indent-citation mark mark-marker 10] 4 "\ 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"]) (defalias (quote mail-yank-clear-headers) #[(start end) "b #2`}b#)1y`!u`|))" [start search-forward "\n\n" end t case-fold-search re-search-forward mail-yank-ignored-headers nil 0 "\n[^ ]" -1] 4]) (defalias 'mail #[(&optional noerase to subject in-reply-to cc replybuffer actions) "!!!!! \n A +!A &\nQ!Q!\n)" [switch-to-buffer "*mail*" file-exists-p 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 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'. \\ 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 "=\f!\f & \"!" [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"]) (provide (quote sendmail))