LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760031629. :SYSTEM-TYPE :LOGICAL :VERSION 9. :TYPE "LISP" :NAME "OPTIONS" :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 2758716584. :AUTHOR "REL3" :LENGTH-IN-BYTES 10083. :LENGTH-IN-BLOCKS 10. :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 *USER-MAIL-READING-MODE* :summary  "Default display mode for reading mail.  :SUMMARY means one window displaying the summary.:MESSAGE means one window displaying the message text.  :BOTH means display two windows, oneshowing the summary and one showing the message text.");; The above variable should only be accessed through the following function.  It supports;; the old values :mail-summary-mode and :mail-buffer-mode.  The "standard" values for the;; variable were changes because these ZMACS modes have been unified into a single mode;; (read-mail mode) and thus no longer exist.(defun DEFAULT-MAIL-WINDOW-CONFIGURATION ()  (case *user-mail-reading-mode*(:summary-mode :summary)(:mail-buffer-mode :message)(t *user-mail-reading-mode*)))(defvar *MAIL-SUMMARY-MODE* :basic ":FILTERED for filter summaries or :BASIC or regular summaries.")(defvar *STICKY-MAIL-WINDOW-CONFIGURATION-P* t  "When T, the window configuration used to display a mail buffer is the same as the lasttime the buffer was selected or, if currently in a mail buffer, whatever configuration iscurrently in use.  Otherwise the default configuration is always used.")(defvar *STICKY-MAIL-BUFFER-SELECTION-P* t  "When T, selecting a mail file buffer selects what ever message sequence (e.g. filterbuffer) was selected before, otherwise the buffer containing all messages is always selected.")(defvar *MAIL-SUMMARY-WINDOW-FRACTION* 0.35  "The fraction of the ZMACS frame devoted to the mail summary when in two window mailreading mode.  Must be a number between 0.0 and 1.0")(defvar *DEFAULT-MAIL-SUMMARY-TEMPLATE* '(:length :chars :from 30 :subject 30 :date :brief-date :keywords 30)  "The default value for *mail-summary-template*")(defvar *MAIL-SUMMARY-TEMPLATE* *default-mail-summary-template*"Property list of alternating keyword/value pairs that determines the contents of summary lines andthe order of items within each line. Numeric values may be negative to indicate right justification.The keywords and values are:-Keyword--------Value------------------------------------------------------------:LENGTH:LINES - Print size of message in lines:CHARS - Print size of message in characters:FROMNumber of spaces to allow for the message from field.:SUBJECTNumber of spaces to allow for the message subject field.:DATE:DATE-AND-TIME - Print day, month, year, and time of message.:DATE - Print day, month, and year of message.:BRIEF-DATE - Print day and month of message.:KEYWORDSNumber of spaces to allow for message keywords.")(defvar *MAIL-SUMMARY-ATTRIBUTE-CHAR-ALIST*'((:apply#\@0)  (:print#\P1)  (:unseen#\*2)  (:deleted#\D3)  (:answered#\A4)  (:remind#\!5))  "An alist of (<attribute> <character> <column>).  Specifies that a summary line shouldrepresent <attribute> with <character> in <column>.  Only columns 0 thru 5 should be used.")(defvar *USER-DEFAULT-MAIL-FILE* nil  "Default pathname for user's personal mail.  Unless changed, defaults toLogin-Host: Login-Directory; BABYL.TEXT#>")(defvar *ALWAYS-CHECK-INBOXES* nil  "When T, always probe and read new mail from inboxes each time the mail reader isentered.  This can be time consuming for inboxes on a remote host.")(defvar *SAVE-MAIL-FILE-IN-BACKGROUND* :ask  "Determines when to save a modified mail file in a background process.  :ALWAYS means save without asking.:NEVER means don't save and don't ask.  :ASK means to query, but only if changed since last query.")(defvar *MAIL-FILE-VERSIONS-KEPT* 6  "Number of old versions of mail files retained after writing out a new version.When nil (or <= 1), never clean up old versions.")                             (defvar *REFORMAT-HEADERS-AUTOMATICALLY* t  "When T, message headers are reformatted automatically before display.")(defvar *REFORMAT-HEADERS-INCLUDE-LIST*'(:date :from :subject :reply-to :to :cc)  "List of header types to keep when reformatting message headers.  Kept headers are also orderedaccording to this list.  If *reformat-headers-exclude-list* has a value, it takes precedence as towhich headers to keep, but this list is still used for ordering.")(defvar *REFORMAT-HEADERS-EXCLUDE-LIST*'(  :message-id :resent-message-id :redistributed-message-id :article-i.d.  :received :via :origin :status :remailed  :rcvd-date :posted-date  :return-path :summary-line :mail-from :x-vms-mail-to :mmdf-warning  :x-original-to :fcc :sender  )  "List of header types to eliminate when reformatting message headers.  Takes precedence over*reformat-headers-include-list*, though the include-list still governs the ordering of headers.")(defvar *REFORMAT-HEADERS-CASE* :capitalize  "Specifies the case used for reformatted header labels.  Either :UPCASE, :DOWNCASE, or :CAPITALIZEotherwise the case is untouched.")(defvar *REFORMAT-HEADERS-BODY-GOAL-COLUMN* 6  "Desired column for the start of the header body.")(defvar *YANK-MESSAGE-HEADERS-INCLUDE-LIST*'(:date :from :subject)  "List of header types to keep when yanking a message being replied to.")(defvar *YANK-MESSAGE-PREFIX* "   "  "Prefix string for each line of a yanked message.")(defvar *DELETE-MESSAGE-AFTER-COPY* nil  "When T, delete message from original buffer after copying to another file or buffer.")(defvar *CHOOSE-FROM-ALL-MAIL-KEYWORDS-P* nil  "When T, menus for selecting keywords allow you to choose from all keywords everencountered.  Otherwise, choices are limited to keywords present in the current mailbuffer.")(defvar *UNSENT-MESSAGE-QUERY-P* t  "When T, if there are any unsent messages (mail templates), then before starting to send a newmail message, query whether to continue editing the last unsent message.")(defvar *TWO-WINDOW-REPLY* nil  "When T, the Reply command always uses 2 windows: one for editing the reply itselfand one showing the message being replied to.")(defvar *DEFAULT-PRINT-MESSAGE-PRINTER* nil  "A string to use as the default printer name for printing messages.")(defvar *MAIL-MODE-HOOK* 'auto-fill-if-appropriate  "A function to call after setting up a new mail template buffer to providecustom initializations.")(defvar *DEFAULT-BCC-STRING* nil  "A string containing mail addresses to use in a Blind Carbon Copy (BCC) field in all mail template buffers.When the message is sent, a copy goes to these addresses, but the field will not appear in the header.")(defvar *DEFAULT-FCC-STRING* nil  "A string containing a pathname to use in a File Carbon Copy (FCC) field in all mail template buffers.When the message is sent, a copy is appended to the specified file.")(defvar *DEFAULT-REPLY-TO-STRING* nil  "A string containing a mail address to use in a Reply-To field in all mail template buffers.This field will specify where replies should be sent, overriding the From: field.")(defvar *DEFAULT-OTHER-MAIL-FILE* nil  "Initial default pathname used for Copy Message and Read Mail.")(defvar *UNIX-INBOX-PATHNAME* nil  "A pathname (or a list of them) to check for new mail when using a Unix mail file.  (Unix mail files do notsupport \"built in\" inboxes the way BABYL format does).  This variable is used ONLY for the *user-default-mail-file*")(defvar *INHIBIT-MAIL-FILE-FORMAT-WARNINGS* nil  "When T, do not warn about limitations of non-BABYL mail file formats after reading.")(defvar *FORWARDED-MESSAGE-BEGIN* "------- Forwarded Message")(defvar *FORWARDED-MESSAGE-END* "------- End of Forwarded Message")(defvar *DONT-REPLY-TO* nil  "A list of mail addresses (strings) to exclude from replies.")(defvar *DEFAULT-IN-REPLY-TO-TEMPLATE* '("Msg of " :date " from " :from)   "Default for *IN-REPLY-TO-TEMPLATE*.")(defvar *IN-REPLY-TO-TEMPLATE* *default-in-reply-to-template*   "List that determines the pattern of the In-reply-to field in reply templates.List elements may be a string, which is used literally, or one of several keywords::DATE, :FROM, :TO, :MESSAGE-ID, which are the corresponding fields in the header,or :PHRASE, which is the \"Foo\" part of \"Foo <Bar@Baz>\" if present and the sameas :FROM otherwise.  If the list is NIL, no In-reply-to field will be generated.For example, the default template will generate In-reply-to fields that look like  In-reply-to:  Msg of 13-Nov-86 8:48:13-CST from John Smith <JS@Blue>and (:phrase \"'s message of \" :date) will generate  In-reply-to:  John's message of 13-Nov-86 8:48:13-CST.")(defvar *UPCASE-MESSAGE-KEYWORDS-P* t   "When T, message keywords will be converted to all caps.When NIL, the case of message keywords will be untouched.")(defvar *BACKUP-FILE-APPEND-STRING* "~"   "This string is appended to the name of the mail file when making a renamed backup.When writing a mail file to a versionless filesystem, a backup file is made by renamingthe old file to a new one whose name is that of the old one with this string appended.")(defvar *REFORMAT-ONE-HEADER-HOOK* nil   "A list of functions that will be called in REFORMAT-ONE-HEADER after a givenheader has been reformatted;  these functions may do additional reformatting.Each function is given three arguments:  the new line, the line-list for theheader, and the body-goal-column.  To use this hook, you need to understandthe code.")(defvar *BOX-SUMMARY-LINES* t   "When T, lines in the summary buffer that describe messages will be boxed bythe mouse blinker.  When NIL, they will not be boxed.")nibuffer))  (:else; No good way to check for exact match in list.   nil))    dis-text))(defun COMPLETE-COMMA-LIST-ITEM (bp)    (let* ((line (bp