;ELC ;;; compiled by jwz@thalidomide on Tue Dec 21 00:52:19 1993 ;;; from file /th/jwz/emacs19/lisp/packages/reportmail.el ;;; emacs version 19.9 Lucid (beta4). ;;; bytecomp version 2.21; 14-dec-93. ;;; 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\"!Ǐ" [string-match "Lucid" emacs-version require itimer nil (byte-code "!" [require mail-extr] 2) ((error))] 3) (defvar display-time-announce-mail t "\ *Toggles whether name of mail sender is displayed in mode line.") (defvar display-time-announce-junk-mail-too nil "\ *When non-NIL, announce incoming junk mail as well as interesting mail") (defvar display-time-time t "\ *Toggles whether the time is displayed.") (defvar display-time-load nil "\ *Toggles whether machine load is displayed.") (defvar display-time-day-and-date nil "\ *Toggles whether day and date are displayed.") (defvar display-time-mail-ring-bell nil "\ *Toggles whether bell is rung on mail arrival.") (defvar display-time-junk-mail-ring-bell nil "\ *Toggles whether bell is rung on junk mail arrival. If display-time-mail-ring-bell is nil, this variable is ignored.") (defvar display-time-my-addresses nil "\ *Report the addressee of incoming mail in the message announcement, unless it appears in this list (See also display-time-match-using-regexps.)") (defvar display-time-junk-mail-checklist nil "\ *A list of lists of strings. In each sublist, the first component is the name of a message field and the rest are values that flag a piece of junk mail. If an entry begins with the character ^ it is matched as a regular expression rather than an exact prefix of the given header field. (See also display-time-match-using-regexps.) Note: elements of display-time-my-addresses are NOT automatically included in display-time-junk-mail-checklist") (defvar display-time-match-using-regexps nil "\ *When non-nil, elements of display-time-junk-mail-checklist and display-time-my-addresses are matched as regular expressions instead of literal prefixes of header fields.") (defvar display-time-max-from-length 35 "\ *Truncate sender name to this length in mail announcements") (defvar display-time-max-to-length 11 "\ *Truncate addressee name to this length in mail announcements") (defvar display-time-interval 30 "\ *Seconds between updates of time in the mode line. Also used as interval for checking incoming mail.") (defvar display-time-no-file-means-no-mail t "\ *Set this to T if you are on a system which deletes your mail-spool file when there is no new mail.") (defvar display-time-incoming-mail-file nil "\ *User's incoming mail file. Default is value of environment variable MAIL, if set; otherwise /usr/spool/mail/$USER is used.") (byte-code "!‡" [boundp display-time-message-separator nil] 2) (defvar display-time-flush-echo-area nil "\ *If true, then display-time's echo-area message will be automatically cleared when display-time-interval has expired.") (defvar display-time-use-xbiff nil "\ *If set, display-time uses xbiff to announce new mail.") (byte-code "!" [boundp display-time-xbiff-program "xbiff"] 2) (defvar display-time-xbiff-arg-list nil "\ *List of arguments passed to xbiff. Useful for setting geometry, etc.") (defvar display-time-mail-arrived-file nil "\ New mail announcements saved in this file if xbiff used. Deleted when mail is read. Xbiff is used to monitor existence of this file. This file will contain the headers (and only the headers) of all of the messages in your inbox. If you do not wish this to be readable by others, you should name a file here which is in a protected directory. Protecting the file itself is not sufficient, because the file gets deleted and recreated, and emacs does not make it easy to create protected files.") (defvar display-time-loadst-process nil "\ The process providing time, load, and mail info.") (defvar display-time-xbiff-process nil "\ The xbiff process used to announce incoming mail.") (defvar display-time-string nil "\ Time displayed in mode line") (defvar display-time-mail-buffer-name "*reportmail*" "\ Name of buffer used for announcing mail.") (defvar display-time-may-need-to-reset t "\ Set to NIL when display-time-total-reset has not been called since the last time we changed from having mail in the queue to an empty queue.") (defvar display-time-debugging nil "\ *When non-NIL, reportmail records various status information as it's working.") (defvar display-time-debugging-delay nil "\ *When non-nil and display-time-debugging is set, sit for this long after displaying each debugging message in mode line") (defvar display-time-debugging-buffer "*Reportmail-Debugging*" "\ Status messages are appended here.") (defvar display-time-max-debug-info 20000 "\ Maximum size of debugging buffer") (byte-code "MMMM" [display-time-del-file (macro . #[(filename) "\nD\nDE" [if file-exists-p filename delete-file] 4]) display-time-debug (macro . #[(mesg &rest args) " D\"DE" [if display-time-debugging display-time-debug-mesg append format mesg args] 6]) display-time-save-match-data (macro . #[(&rest body) " BEE" [let ((_match_data_ (match-data))) unwind-protect progn body (store-match-data _match_data_)] 5]) display-time-init #[nil "!! ! P)  \"Ϫ)  D!\"" [display-time-incoming-mail-file getenv "MAIL" "USER" user-login-name user-name file-directory-p "/usr/spool/mail/" "" display-time-message-separator t case-fold-search string-match "\\.cmu\\.edu" system-name "" "From " display-time-my-addresses user-full-name display-time-mail-arrived-file expand-file-name ".mail-arrived" "HOME"] 5]] 2) (fset 'display-time-kill #[nil "!! !!" [display-time-debugging display-time-debug-mesg format "display-time-kill" display-time-loadst-process delete-process display-time-xbiff-process] 3 "\ Kill all display-time processes. Done automatically if display-time is re-invoked." nil]) (fset 'display-time #[nil "!!  ɘ\n!\"! <D>\"!!!$ ) \"!%)P!$++!+\"+ \"\"34!4!84:&;;!!;!U!*@ " [display-time-debugging display-time-debug-mesg format "display-time" display-time-init nil process-connection-type display-time-kill display-time-incoming-mail-file "" display-time-no-file-means-no-mail file-exists-p message "Reportmail: mail spool file \"%s\" not found" sit-for 1 beep global-mode-string ("") " " display-time-string append (display-time-string) "time and load" featurep itimer get-itimer old delete-itimer start-itimer display-time-timer-function display-time-interval string-match "18\\.5[0-5]" emacs-version start-process "display-time-loadst" "loadst" "-n" int-to-string "display-time-wakeup" exec-directory "wakeup" display-time-loadst-process process-kill-without-query set-process-sentinel display-time-sentinel set-process-filter "^18\\.5[0-5]" display-time-filter-18-55 display-time-filter-18-57 display-time-use-xbiff display-time-mail-arrived-file delete-file apply "display-time-xbiff" display-time-xbiff-program "-file" display-time-xbiff-arg-list display-time-xbiff-process process-exit-status 0 error "Display time: xbiff failed. Check xbiff-arg-list" display-time-total-reset] 9 "\ Displays current time, date, load level, and incoming mail status in mode line of each buffer (if corresponding user variables are set)." nil]) (byte-code "MMMM" [display-time-sentinel #[(proc reason) " Ž !!!>\n;\n\"\n͉O\n \n\"!\n!$ *" [match-data _match_data_ ((store-match-data _match_data_)) display-time-debugging display-time-debug-mesg format "display-time-sentinel" process-status proc (stop exit closed signal) reason string-match "\n?\n*\\'" 0 beep "%s" display-time-string display-time-message "" message "process %s: %s (%s)" display-time-force-redisplay] 6] display-time-filter-18-55 #[(proc string) " Ž !!!\nGV\nO\n\nGV\n#\nєO\nh\n\"\nщTO\n\n\" \n\"\n\"\nєѕOQ OP\n\"\nєѕOQ! +" [match-data _match_data_ ((store-match-data _match_data_)) display-time-flush-echo-area display-time-message "" display-time-debugging display-time-debug-mesg format "display-time-filter-18-55" string 30 -30 nil 4 string-match "[0-9]+:[0-9][0-9].." 0 "[^0-9][0-9]+:" display-time-announce-mail "Mail" display-time-process-new-mail display-time-total-reset display-time-mail-modeline "Mail " time-string display-time-time " " display-time-day-and-date current-time-string 11 display-time-load "[0-9]+\\.[0-9][0-9]" display-time-string display-time-force-redisplay] 5] display-time-filter-18-57 #[(proc string) " Ž !! !!! ! !8=?  O!YVZU\"O⪁R+$ OP%Q* ," [match-data _match_data_ ((store-match-data _match_data_)) display-time-debugging display-time-debug-mesg format "display-time-filter-18-57" display-time-flush-echo-area "flush echo area" display-time-message "" file-exists-p display-time-incoming-mail-file 7 file-attributes 0 mailp display-time-announce-mail display-time-process-new-mail display-time-total-reset display-time-mail-modeline "Mail " time-string display-time-time current-time-string time read 11 13 hour 12 pm "%d" 16 "pm " "am " display-time-day-and-date display-time-load nil (byte-code " @U? \" O OQ*" [load-average la 0 format "%03d" load -2 "." nil ""] 6) ((error "load-error")) " " display-time-string display-time-force-redisplay] 6] display-time-timer-function #[nil "\"" [display-time-filter-18-57 nil] 3]] 2) (fset 'display-time-force-redisplay #[nil " q) !!" [other-buffer set-buffer-modified-p buffer-modified-p sit-for 0] 2 "\ Force redisplay of all buffers' mode lines to be considered."]) (defvar display-time-mail-who-from "" "\ Short-form name of sender of last piece of interesting unread mail") (defvar display-time-mail-modeline "" "\ Terse mail announcement (displayed in modeline)") (defvar display-time-previous-mail-buffer-max 1 "\ The length of the mail buffer the last time we looked at it") (defvar display-time-msg-count 0 "\ How many interesting messages have arrived") (defvar display-time-junk-msg-count 0 "\ How many junk messages have arrived") (byte-code "!‡" [boundp display-time-last-message nil] 2) (fset 'display-time-manual-reset #[nil "!! " [display-time-debugging display-time-debug-mesg format "Manual reset" display-time-timer-function] 3 "\ Utility function to be called externally to make reportmail notice that things may have changed."]) (byte-code "MM!MMMM" [display-time-total-reset #[nil "!! !!!  q!) !) !! " [display-time-debugging display-time-debug-mesg format "display-time-total-reset" display-time-may-need-to-reset nil "Resetting mail processing" get-buffer display-time-mail-buffer-name mail-buffer set-buffer-modified-p kill-buffer display-time-use-xbiff file-exists-p display-time-mail-arrived-file delete-file display-time-reset] 4] display-time-reset #[nil "!!\n !" [display-time-debugging display-time-debug-mesg format "display-time-reset" 0 display-time-msg-count display-time-junk-msg-count "Junk mail" display-time-mail-who-from "" display-time-mail-modeline 1 display-time-previous-mail-buffer-max display-time-message] 3] fboundp buffer-disable-undo buffer-flush-undo display-time-process-new-mail #[nil " !!?ɋ+" [t display-time-may-need-to-reset get-buffer display-time-mail-buffer-name nil enable-local-variables inhibit-local-variables mail-buffer verify-visited-file-modtime ((byte-code "!! q!) !) !qp! ͏ " [display-time-debugging display-time-debug-mesg format "Spool file has changed... rereading..." mail-buffer set-buffer-modified-p nil kill-buffer get-buffer-create display-time-mail-buffer-name buffer-disable-undo erase-buffer (byte-code " \")" [nil buffer-read-only insert-file-contents display-time-incoming-mail-file t] 3) ((file-error)) t buffer-read-only display-time-process-mail-buffer] 3))] 4] display-time-process-mail-buffer #[nil "dWb !! ) b!q )`   m P#єT d  }     ~ dUd Tb 7 \"\" -!q Ued% )d" [display-time-previous-mail-buffer-max nil case-fold-search looking-at regexp-quote display-time-message-separator display-time-reset display-time-use-xbiff get-buffer-create " *reportmail-tmp*" erase-buffer ring-bell junkp end start search-forward "\n" 0 display-time-process-this-message display-time-mail-ring-bell display-time-junk-mail-ring-bell t string-match "Lucid" emacs-version beep reportmail buffer-size write-region display-time-mail-arrived-file nomsg] 6] display-time-process-this-message #[nil "!!  \nR  \"! )" [display-time-debugging display-time-debug-mesg format "display-time-process-this-message" display-time-junk-message junk-p display-time-process-junk-message display-time-process-good-message "[" display-time-format-msg-count display-time-mail-who-from "] " display-time-mail-modeline "New mode line: %s "] 5]] 2) (fset 'display-time-junk-message #[nil "!! @@!@A\"eAa*" [display-time-debugging display-time-debug-mesg format "Comparing current message to junk mail checklist" display-time-junk-mail-checklist nil junk checklist display-time-member display-time-get-field t] 4 "\ Check to see whether this message is interesting"]) (byte-code "MMMMM" [display-time-message #[(&rest message-args) "\n\" =\"! ˋ) ̘?̘\"!\"*" [apply format message-args selected-window minibuffer-window in-echo-area-already str display-time-last-message display-time-debugging display-time-debug-mesg "display-time-message (%s)" ((byte-code "!! !ed|c" [display-time-debugging display-time-debug-mesg format "Overwriting echo area with message" select-window minibuffer-window str] 3)) "" string-match "^19" emacs-version message nil "%s"] 5] display-time-process-good-message #[nil "!! \\\" \" \"  ȘȪ Q \" !\" \"Ȫ !\" ȘȪQ !!$p%e&&b#`)+$qdb%&+#c- \"! \")0." [display-time-debugging display-time-debug-mesg format "Formatting message announcement (good message)" display-time-msg-count 1 display-time-get-field "Subject" "" subject "From" from "To" to " (" ")" print-subject display-time-truncate display-time-max-from-length print-from display-time-extract-short-addr 25 short-from display-time-member display-time-my-addresses display-time-max-to-length print-to display-time-format-msg-count "Mail " "to " " " "from " msg display-time-use-xbiff get-buffer-create " *reportmail-tmp*" tmp-buf buf start search-forward "\n\n" nil 0 end insert-buffer-substring "Message: %s" display-time-message "%s" display-time-mail-who-from] 6] display-time-process-junk-message #[nil "!! \\\" \" \"  ȘȪ Q \" !\" \"Ȫ !\" ȘȪQ!!\"!\"!)." [display-time-debugging display-time-debug-mesg format "Formatting message announcement (junk message)" display-time-junk-msg-count 1 display-time-get-field "Subject" "" subject "From" from "To" to " (" ")" print-subject display-time-truncate display-time-max-from-length print-from display-time-extract-short-addr 25 short-from display-time-member display-time-my-addresses display-time-max-to-length print-to display-time-announce-junk-mail-too display-time-format-msg-count "Junk Mail " "to " " " "from " msg display-time-message "%s" "Message: %s"] 6] display-time-format-msg-count #[nil " \\V! V !QQȇ" [display-time-msg-count display-time-junk-msg-count 1 int-to-string 0 "(" ")" ": " ""] 4] display-time-get-field #[(field &optional default) " #!eb Q#`!ys`{) #!*" [buffer-name display-time-mail-buffer-name beep message "reportmail bug: processing buffer %s, not %s" sit-for 2 t case-fold-search re-search-forward "^" field ":[ | ]*" nil start looking-at "\n[ ]" 1 default "" result display-time-debugging display-time-debug-mesg format "value of %s field is %s"] 5]] 2) (fset 'display-time-member #[(e l) "\n ĉv @ƜU @ \" ĉ\\ AV @! \" ĉD A> *" [nil result done l t display-time-match-using-regexps 0 94 string-match e regexp-quote] 4 "\ Is string E matched by an element of list L? When an element of L begins with ^, match it as a regexp. Otherwise, ignore case and match exactly. If display-time-match-using-regexps is non-nil, always match using regexps."]) (byte-code "MM" [display-time-truncate #[(s max) "G Y OP" [s max 0 "\\"] 3] display-time-extract-short-addr #[(long-addr) "!\n!@ 8\n P\n\"\n\" P\n\" Q\n\" P\n\"\n͔͕O\n))" [fboundp mail-extract-address-components long-addr result "\\([A-Za-z0-9-_+\\. ]+\\)" name 2 string-match "[ | ]+<.+>" ".+(\\(.+\\)).*" "%.+@.+" ".*!" "@.+" 1] 5]] 2) (defvar display-time-debugging-messages nil "\ When non-NIL, reportmail displays status messages in real time.") (byte-code "M!" [display-time-debug-mesg #[(mesg) " Ž \"!ɋ)\n\"\n!*" [match-data _match_data_ ((store-match-data _match_data_)) display-time-debugging-messages message "Reportmail: %s" mesg sit-for 1 ((byte-code " !qdb ODZdVedZ|" [get-buffer-create display-time-debugging-buffer current-time-string 11 16 " " mesg "\n" display-time-max-debug-info] 4)) display-time-debugging-delay] 3] provide reportmail] 2)