4.3BSD/usr/contrib/emacs/lisp/rmailsum.elc


(defun rmail-summary nil "\
Display a summary of all messages, one line per message." (interactive) (byte-code "ÀˆÁÂ\"‡" [nil rmail-new-summary "Full summary"] 3))

(defun rmail-summary-by-labels (labels) "\
Display a summary of all messages with one or more LABELS.
LABELS should be a string containing the desired labels, separated by commas." (interactive "sLabels to summarize by: ") (byte-code "ˆÃÄ\"ƒ	†ÅÆ!‰‚ˆ‰ˆÇÈPÉÊË!ÌQ#‡" [labels rmail-last-multi-labels nil string= "" error "No label specified" rmail-new-summary "Summary of " rmail-message-labels-p ",\\(" mail-comma-list-regexp "\\),"] 13))

(defun rmail-summary-by-recipients (recipients &optional primary-only) "\
Display a summary of all messages with the given RECIPIENTS.
Normally checks the To, From and Cc fields of headers;
but if PRIMARY-ONLY is non-nil (prefix arg given),
 only look in the To and From fields.
RECIPIENTS is a string of names separated by commas." (interactive "sRecipients to summarize by:  
P") (byte-code "ˆÃÄPÅÆ!	$‡" [recipients primary-only nil rmail-new-summary "Summary of " rmail-message-recipients-p mail-comma-list-regexp] 6))

(defun rmail-message-recipients-p (msg recipients &optional primary-only) (byte-code "ŒÃ!bˆÄÅ!ˆÆ`ÄÇ!ˆ`\"ˆÈ	ÉÊ!†Ë\"†@È	ÉÌ!†)Ë\"†@
?ƒ?È	ÉÍ!†;Ë\"‚@Î)‡" [msg recipients primary-only rmail-msgbeg search-forward "
*** EOOH ***
" narrow-to-region "

" string-match mail-fetch-field "To" "" "From" "Cc" nil] 19))

(defun rmail-new-summary (description function &rest args) "\
Create a summary of selected messages.
DESCRIPTION makes part of the mode line of the summary buffer.
For each message, FUNCTION is applied to the message number and ARGS...
and if the result is non-nil, that message is included.
nil for FUNCTION means all messages." (byte-code "ÑÒ!ˆ…Ó!†ÔÓ ÕP!‰ˆÅÖ×
ŒŠØ ˆebˆ
Y…S?†<Ù
B\"ƒIÚ
!	B‰‚Jň
T‰ˆ‚'))+ˆp

	Û	!ˆÅÜ ˆ	……ÝÞ	!	\"ˆßà!ˆáÖâãä$)ˆ‰ˆebˆå ˆæ!ˆ
‰ˆ×Vƒ±ç\"‚²Å,)ˆÑè!‡" [rmail-summary-buffer summary-msgs msgnum new-summary-line-count buffer-read-only nil rmail-total-messages function args sbuf rbuf total mesg rmail-current-message t description rmail-buffer message "Computing summary lines..." buffer-name generate-new-buffer "-summary" 1 0 widen apply rmail-make-summary-line pop-to-buffer erase-buffer princ nreverse delete-char -1 subst-char-in-region 2 40 32 rmail-summary-mode rmail-summary-mode-line rmail-summary-goto-msg "Computing summary lines...done"] 44))

(defun rmail-make-summary-line (msg) (byte-code "	
SH†!T‰ˆÄÅÆ\"!ƒÇÈ\"‚ɈÊ
!ËÌ
!ƒ.Í‚>ÎÏÐ
!\\fUƒ=Ñ‚>ÒIˆ)‡" [line rmail-summary-vector msg new-summary-line-count zerop % 10 message "Computing summary lines...%d" nil rmail-make-summary-line-1 4 rmail-message-deleted-p 68 48 3 rmail-msgbeg 45 32] 18))

(defun rmail-make-summary-line-1 (msg) (byte-code "Ì!bˆŠÍÎ!ˆ`)ÅÏÐ!ˆÑÒÓ!ˆlƒ Ô‚*ÕÖ`× ˆ`\"ØQ!ÍÙ!ˆÚÛ!ƒHÜÝ!bˆÖ`ÍÙ!ˆ`\"‰‚IÅ…bÞß\"?…bà`Íá!ˆ`\"ˆ
‰ˆ†´â!Ì!bˆÒã#ƒƒ`‚ˆÍÙ!ˆ`	Òä
#ˆ`
Ό	
\"ˆ	bˆæ ‰)ˆÌ!bˆÍÎ!ˆçÛ\",ˆÞß\"‰ˆSèé\"Ý
O
TÅORI,‡" [msg lim pos labels line nil case-fold-search t next beg end rmail-summary-vector rmail-msgbeg forward-line 2 forward-char 3 concat search-forward ",," "" "{" buffer-substring end-of-line "} " 1 looking-at "Summary-line: " match-end 0 string-match "#" delete-region -1 rmail-msgend "
*** EOOH ***
" "

" narrow-to-region rmail-make-basic-summary-line insert format "%4d  "] 66))

(defun rmail-make-basic-summary-line nil (byte-code "ebˆÆŠÇÈ	#?ƒÉ‚ZÊËŠÌ ˆ`)	#ƒ5ÍÎÏÐÑ!ÒÑ!\"ÏÐÓ!ÒÓ!\"#‚ZÊÔŠÌ ˆ`)	#?ƒGÕ‚ZÍÎÏÐÓ!ÒÓ!\"ÏÐÑ!ÒÑ!\"#)ÖŠÇ×	#?ƒjØ‚ËÙÚ!ˆÛÏ`SÌ ˆÜÝ!ˆ`\"!
GÞß
\"ÀÍà?†‘áXƒŸ
âáZ]ÀO‚É
ãZâWƒ¬â‚Áä\\WƒºáZ‚Á	…ÁãZ‰
á\\^O\",)åÇæ	#ƒãÙÚ!ˆÏ`Ì ˆ`\"‚ðÊç	#ˆÏ`Ì ˆ`\"è&‡" [nil t from len mch lo concat search-forward "Date:" "      " re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([ 	-_]+\\)\\([a-z][a-z][a-z]\\)" end-of-line format "%2s-%3s" buffer-substring match-beginning 2 match-end 4 "\\([^a-z]\\)\\([a-z][a-z][a-z]\\)\\([a-z 	-_]*\\)\\([0-9][0-9]?\\)" "??????" "  " "From:" "                         " skip-chars-forward " 	" mail-strip-quoted-names skip-chars-backward " " string-match "[@%]" "%25s" 25 0 9 16 "  #" "Subject:" "[
][
]+" "
"] 71))

(defun rmail-summary-next-all (&optional number) (interactive "p") (byte-code "ÁˆÂƒ‚Ã!ˆÄ ‡" [number nil forward-line 1 rmail-summary-goto-msg] 6))

(defun rmail-summary-previous-all (&optional number) (interactive "p") (byte-code "ÁˆÂƒ‚Ã[!ˆÄ ‡" [number nil forward-line 1 rmail-summary-goto-msg] 6))

(defun rmail-summary-next-msg (&optional number) (interactive "p") (byte-code "ĈÆÇ!ˆÇV…ÆÈ!ˆÇWƒ[‚ÇVƒ&É‚'ÊÄ	ÇV…7Ë
Ì
$…B	S‰ˆ‚+ˆÍ +‡" [number count search end nil t forward-line 0 1 re-search-forward re-search-backward funcall "^.....[^D]" rmail-summary-goto-msg] 16))

(defun rmail-summary-previous-msg (&optional number) (interactive "p") (byte-code "ÁˆÂƒ‚Ã[!‡" [number nil rmail-summary-next-msg 1] 5))

(defun rmail-summary-delete-forward nil (interactive) (byte-code "ĈÄÅ ˆÆ	!ˆÇ ˆÆ
!ˆÈÉ!ˆÈÊ!ˆËÌ!ˆÍc)ˆÎÌ!)‡" [end rmail-buffer rmail-summary-buffer buffer-read-only nil rmail-summary-goto-msg pop-to-buffer rmail-delete-message skip-chars-forward " " "[0-9]" delete-char 1 "D" rmail-summary-next-msg] 13))

(defun rmail-summary-undelete nil (interactive) (byte-code "Áˆ	Æ ˆÇÈ	
#ƒ)ÉÊ!ˆË ˆÌ!ˆÍ!…\"Î ˆÌ
!‚/
…/Ë )‡" [buffer-read-only nil t rmail-buffer rmail-current-message rmail-summary-buffer end-of-line re-search-backward "\\(^ *[0-9]*\\)\\(D\\)" replace-match "\\1 " rmail-summary-goto-msg pop-to-buffer rmail-message-deleted-p rmail-undelete-previous-message] 16))

(defun rmail-summary-mode nil "\
RMAIL Summary Mode.
A subset of the Rmail mode commands are supported in this mode. 
As commands are issued in the summary buffer the corresponding
mail message is displayed in the rmail buffer.

n       Move to next undeleted message, or arg messages.
p       Move to previous undeleted message, or arg messages.
C-n	Move to next, or forward arg messages.
C-p	Move to previous, or previous arg messages.
j       Jump to the message at the cursor location.
d       Delete the message at the cursor location and move to next message.
u	Undelete this or previous deleted message.
q	Quit Rmail.
x	Exit and kill the summary window.
space   Scroll message in other window forward.
delete  Scroll message backward.

Entering this mode calls value of hook variable rmail-summary-mode-hook." (interactive) (byte-code "ÇˆÈ ˆÉÊ!ˆÉË!ˆÌ‰ˆÍ‰ˆÎ
!ˆ‰ˆ‰ˆÏ!ˆÐÑ!‡" [major-mode mode-name rmail-summary-mode-map truncate-lines t buffer-read-only text-mode-syntax-table nil kill-all-local-variables make-local-variable rmail-buffer rmail-total-messages rmail-summary-mode "RMAIL Summary" use-local-map set-syntax-table run-hooks rmail-summary-mode-hook] 12))

(defun rmail-summary-mode-line (description) (byte-code "Â	ÃQ‰‡" [mode-line-format description "---Emacs: %17b   %M   %[(" ")%]----%3p-%-"] 3))

(defun rmail-summary-goto-msg (&optional n nowarn) (interactive "P") (byte-code "ƈ:ƒË!‰‚ƈmƒÌÍ!‚ƈΠˆ
`ÏÐ`Ñ`\\\"!?ƒ8‰‚„ÒWƒHÓÔ!ˆÒ‰‚Iƈ
Vƒ\\ÓÕ!ˆdbˆÖ ‚]ƈebˆ×ØÙ!P#?ƒƒ†yÓÚ\"ˆ‰ˆb‚„ƈΠˆÛÜ!ˆÛÝ!ˆŠgÞUƒ¥	ßÒ!ˆÜc)‚¦Æ)ˆÎ ˆà	!ˆá!ˆà
!+‡" [n buf rmail-buffer cur curmsg rmail-total-messages nil t nowarn buffer-read-only rmail-summary-buffer prefix-numeric-value forward-line -1 beginning-of-line string-to-int buffer-substring 5 1 message "No preceding message" "No following message" rmail-summary-goto-msg re-search-forward "^ *" int-to-string "Message %d not found" skip-chars-forward " " "0-9" 45 delete-char pop-to-buffer rmail-show-message] 44))

(defvar rmail-summary-mode-map nil)

(if rmail-summary-mode-map nil (setq rmail-summary-mode-map (make-keymap)) (suppress-keymap rmail-summary-mode-map) (define-key rmail-summary-mode-map "j" (quote rmail-summary-goto-msg)) (define-key rmail-summary-mode-map "n" (quote rmail-summary-next-msg)) (define-key rmail-summary-mode-map "p" (quote rmail-summary-previous-msg)) (define-key rmail-summary-mode-map "" (quote rmail-summary-next-all)) (define-key rmail-summary-mode-map "" (quote rmail-summary-previous-all)) (define-key rmail-summary-mode-map " " (quote rmail-summary-scroll-msg-up)) (define-key rmail-summary-mode-map "q" (quote rmail-summary-quit)) (define-key rmail-summary-mode-map "u" (quote rmail-summary-undelete)) (define-key rmail-summary-mode-map "x" (quote rmail-summary-exit)) (define-key rmail-summary-mode-map "" (quote rmail-summary-scroll-msg-down)) (define-key rmail-summary-mode-map "d" (quote rmail-summary-delete-forward)))

(defun rmail-summary-scroll-msg-up (&optional dist) "\
Scroll message in top window forward" (interactive "P") (byte-code "ÁˆÂ?ƒ	‚Ã!!‡" [dist nil scroll-other-window prefix-numeric-value] 6))

(defun rmail-summary-scroll-msg-down (&optional dist) "\
Scroll message in top window backward" (interactive "P") (byte-code "ÁˆÂÃ!ˆÄ?ƒ	‚Å!!ˆÂÃ!‡" [dist nil other-window 1 scroll-down prefix-numeric-value] 8))

(defun rmail-summary-quit nil "\
Quit out of rmail and rmail summary" (interactive) (byte-code "ÀˆÁ ˆÂ ‡" [nil rmail-summary-exit rmail-quit] 4))

(defun rmail-summary-exit nil "\
Exit rmail summary, remaining within rmail." (interactive) (byte-code "ÁˆÂÃp!ˆ!ˆÄ ‡" [rmail-buffer nil pop-to-buffer bury-buffer delete-other-windows] 6))