LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760031623. :SYSTEM-TYPE :LOGICAL :VERSION 7. :TYPE "LISP" :NAME "HELP" :DIRECTORY ("REL3-SOURCE" "MAIL-READER") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-SOURCE\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :VERSION-LIMIT 0. :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2758716514. :AUTHOR "REL3" :LENGTH-IN-BYTES 8505. :LENGTH-IN-BLOCKS 9. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ;;; -*- Mode:Common-Lisp; Package:ZWEI; Base:10 -*-;;;                           RESTRICTED RIGHTS LEGEND;;;Use, duplication, or disclosure by the Government is subject to;;;restrictions as set forth in subdivision (b)(3)(ii) of the Rights in;;;Technical Data and Computer Software clause at 52.227-7013.;;;                     TEXAS INSTRUMENTS INCORPORATED.;;;                              P.O. BOX 2909;;;                           AUSTIN, TEXAS 78769;;;                                 MS 2151;;; Copyright (C) 1985,1987 Texas Instruments Incorporated. All rights reserved.(defvar *read-mail-help-command-order*'("Important Commands:"  ("Help M" "Print this help information.")  (#\G com-get-new-mail)  ("CTRL-X CTRL-S" com-save-mail-file)  (#\Q com-exit-mail-reader)  (#\ABORT com-abort-mail-reader)  (#\Mouse-L-1 com-mouse-select-or-mark)  (#\Mouse-M-1 com-message-menu)  (#\Mouse-R-1 com-mail-menu)  " "  "Message viewing and selection:"  (#\V com-view-message)  (#\O com-other-mail-buffer)  (#\N com-next-undeleted-message)  (#\P com-previous-undeleted-message)  (#\M-N com-next-message)  (#\M-P com-previous-message)  (#\J com-jump-to-message)  (#\M-S com-mail-incremental-search)  (#\M-R com-mail-reverse-incremental-search)  (#\< com-first-message)  (#\> com-last-message)  (#\Space com-next-message-screen)  (#\Rubout com-previous-message-screen)  " "  "Message operations:"  (#\D com-delete-message)  (#\C-D com-delete-message-backward)  (#\U com-undelete-message)  (#\C-Sh-P com-print-message)  (#\A com-mail-mark-for-apply)  (#\X com-mail-execute)  (#\K com-change-message-keywords)  (#\* com-toggle-unseen-message)  (#\! com-toggle-reminder-message)  (#\H com-reformat-message-headers)  (#\E com-edit-message)  " "  "File, Buffer, and Window commands:"  ("CTRL-X CTRL-M" com-list-mail-buffers)  (#\X com-revert-mail-buffer)  (#\X com-write-mail-file)  (#\X com-sort-messages)  (#\C com-copy-message-to-mail-file)  (#\C-C com-copy-message-to-text-file)  (#\I com-read-mail)  (#\= com-filter-messages)  (#\C-W com-toggle-mail-window-configuration)  " "  " "  "Sending mail:"  (#\M com-mail)  (#\R com-reply-to-message)  (#\F com-forward-message)))(defvar *read-mail-help-ignored-commands*'(  com-kill-mail-buffer  com-select-buffer-from-mail  com-two-windows-from-mail  com-mail-down-real-line  com-mail-up-real-line  ))(defvar *read-mail-help-zmacs-commands*)(defcom com-read-mail-help "Explain use of Mail Reader commands."()  (send *standard-output* :send-if-handles :clear-screen)  (format t "~&You are editing a mail file using the Explorer Mail Reader; a major mode of ZMACS.  Available commands are:~2%")  (let ((debug nil)commands-done)    (loop      with key-string      for help-item in *read-mail-help-command-order*      for key = nil and command = nil      do      (cond ((and (consp help-item)  (characterp (first help-item)))     (setq key (first help-item))     (setq command (second help-item))     (cond ((and key command (command-name command t))    (setq key-string (key-for-command command (or (eval (third help-item)) *read-mail-comtab*) nil nil key))    (if (null key-string)(when debug (format t "LOSE: No key binding for ~S" command))      (push command commands-done)      (format t "~&~13@A  " key-string)      (print-doc :short command key)))   (debug    (format t "~&LOSE: ~S" help-item))))    ((and (consp help-item)  (stringp (first help-item)))     (format t "~&~13@A  " (first help-item))     (if (not (symbolp (second help-item))) (format t "~A" (second help-item))       (print-doc :short (second help-item))       (push (second help-item) commands-done)))    ((stringp help-item)     (format t "~&~A" help-item))    (debug     (format t "~&LOSE: ~S" help-item))))        (format t "~2%Miscellaneous commands:")    (loop for bucky from 0 to 4 doing; From no-bits to Super, no Hyper or Super-combinations.  (loop for letter from 0 to #o377as key = (code-char letter bucky)doing (multiple-value-bind (command ct)  (command-lookup key *comtab* t)(when (and (eq *read-mail-comtab* ct); Mail-reader commands only.   (not (listp command))   (not (memeq command commands-done))   (not (memeq command *read-mail-help-ignored-commands*))   (neq command 'com-numbers)   (neq command 'com-negate-numeric-arg)   (documentation command 'function))  (format t "~&~13:<~:@C~>  " key)  (print-doc :short command key)  (push command commands-done)))))    (loop for bucky from 0 to 1 doing; Just bare and control keys for the c-x comtab.  (loop for letter from 0 to #o377as key = (code-char letter bucky)doing (multiple-value-bind (command ct)  (command-lookup key *read-mail-control-x-comtab* t)(when (and (eq *read-mail-control-x-comtab* ct); Mail-reader commands only.   (not (listp command))   (not (memeq command commands-done))   (not (memeq command *read-mail-help-ignored-commands*))   (documentation command 'function))  (format t "~&~13:<~:@C ~:@C~>  " #\C-X key)  (print-doc :short command key)  (push command commands-done)))))        (format t "~2&0 through 9 are prefix argument characters;  - negates the prefix argument.")    (format t "~&Most commands handle a prefix argument by iteration unless otherwise stated.~%~               That is, 3D will delete the next three messages, -10C will copy the previous ten messages.")            (format t "~2&Extended commands:~2%")    (loop for (name . command) in *read-mail-comtab-list*  when (and (not (memeq command commands-done))    (documentation command 'function))  do  (format t "~A~26T  " name)  (print-doc :short command)  (push command commands-done))        (format t "~2&Mail summary attribute symbols:~2%")    (dolist (item *mail-summary-attribute-char-alist*)      (when (consp item)(format t "~C means ~:(~A~).  " (second item) (first item))))        (format t "~2&ZMACS commands (available at any time within ZMACS):~2%")    (loop for command in '(com-enter-mail-reader com-list-mail-buffers com-mail)  doing (format t "~15A  " (key-for-command command *zmacs-comtab*))  doing (print-doc :short command))    (format t "~2&ZMACS extended commands (available at any time within ZMACS):~2%")    (loop for command in '(com-mail-template-menu com-read-mail)  when (documentation command 'function)  do  (format t "~A~26T  " (command-name command))  (print-doc :short command))    (format t "~2&Done."))  dis-text)(defcom com-mail-mode-help"Explain use of mail sending commands" ()  (send *standard-output* :send-if-handles :clear-screen)  (format t  "You are editing a mail template for sending a new mail message.  Available commands are:      ABORTAbort editing this message and select previous buffer.ENDSend this message.  If no errors occur in sending, this buffer  is removed from the normal ZMACS history. It can be reactivated  via List Mail Buffers (Ctrl-X Ctrl-M).Ctrl-Meta-YYank Message.  Insert contents of replied to message (or whatever  message was current when this buffer was created).M-X Delivery Status - Report the results of past attempts to send this message.All other keys perform their normal ZMACS function.Format of Mail Messages:A message consists of \"headers\", a blank line, and then the message text.  Headersprovide information about the message such as who should receive a copy.  The textcan contain anything, but there MUST be a blank line to separate it from the headers(there also may NOT be blank lines within the headers).  A simple example of acomplete message would be:To: Smith@Mahogany, Jones@HQCC: engineers@pits,    programmers@dungeonSubject: Project CanceledDue to lack of interest.Note that the header label starts in column one, ends with a colon, and is followed bythe header contents.  The To: header contains addresses of the primary recipients ofthe message and the CC: header contains addresses of other interested parties.  Acomma is required to separate addresses within one header, and a header may becontinued by starting the next line with spaces or tabs.  A person's mail address istypically of the form Login-Name@Machine-Name, but there is only one universal wayto find out for sure -- ask.")dis-text)NSWERED MESSAGES"))(define-system-mail-filter REMINDER   (:name "Reminder"    :function msg-reminder-p    :args ()    :string-for-menu "Reminder"    :string-for-filter-summary "REMINDER MESSAGES"    :filter-summary-default-p t    :inverse not-reminder)  "Select messages that are reminders.")(define-system-mail-filter NOT-REMINDER   (:name "Not Reminder"    :function  msg-not-reminder-p    :args ()    :string-for-filter-summary "NOT REMINDER MESSAGES"))(defun msg-reminder-p (msg)  ;; Try to cover various ways different systems do reminders  (or (message-attribute-p :remind msg)      (message-attribute-p :reminder msg)      (message-attribute-p :re