(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "12-Sep-88 17:33:23" {POOH/N}<POOH>LAFITE>SOURCES>LAFITEDECLS;4 23236  

      changes to%:  (VARS LAFITEGLOBALS LAFITE.PROCLAMATIONS)

      previous date%: "31-Aug-88 12:53:46" {POOH/N}<POOH>VANMELLE>ERIS>LAFITE>SOURCES>LAFITEDECLS;2
)


(* "
Copyright (c) 1985, 1986, 1987, 1988 by Xerox Corporation.  All rights reserved.
")

(PRETTYCOMPRINT LAFITEDECLSCOMS)

(RPAQQ LAFITEDECLSCOMS ((RECORDS LAFITEOPS LAFITEMODEDATA LAFITEMSG MAILFOLDER DEFAULTHOST&DIR MAILSERVER MAILSERVEROPS OPENEDMAILBOX OUTBOX PROFILEVAR) (COMS (* ; "characteristics of standard Laurel messages") (CONSTANTS (LAFITESTAMPLENGTH 24) (DELETEDFLAG (CHARCODE D)) (UNDELETEDFLAG (CHARCODE U)) (SEENFLAG (CHARCODE S)) (UNSEENFLAG (CHARCODE U)) (LAFITEDELETEPOSITION 20) (LAFITESEENPOSITION 21) (LAFITEMARKPOSITION 22))) (COMS (* ; "Stuff for table of contents") (CONSTANTS LAFITETOCPASSWORD LAFITETOCOVERHEADPERENTRY LAFITETOCHEADERLENGTH LAFITETOCMARKBYTEOFFSET)) (COMS (* ; "Browser status values.  %"Ready%" values have low bit 1.") (CONSTANTS LAS.READY LAS.LOGGED.OUT) (CONSTANTS LAS.PARSING LAS.FLUSHED LAS.OUT.OF.DATE)) (COMS (* ; "Bits for figuring out which menu to use on Update, etc.") (CONSTANTS (\HARDCOPY.MENU.BIT 1) (\UPDATE.MENU.BIT 2) (\TOC.MENU.BIT 4) (\EXPUNGE.MENU.BIT 8) (\CLOSE.MENU.BIT 16) (\SHRINK.MENU.BIT 32))) (COMS (* ; "For iterating over the selected messages of a browser") (I.S.OPRS SELECTEDIN)) (MACROS WORDIN FIXPIN WORDOUT FIXPOUT UCASECODE NTHMESSAGE .LAFITEMENU. MAYBEVERIFYMSG UNSEENMARKP) (COMS (GLOBALVARS * LAFITEGLOBALS) (P (COND ((< (IDATE TEDITSYSTEMDATE) (IDATE "1-mar-88 00:00")) (* ; "Bug in older TEXTPROP--just compile it closed.") (REMPROP (QUOTE TEXTPROP) (QUOTE COMPILER:OPTIMIZER-LIST)))) (CL:PROCLAIM (QUOTE (CL:SPECIAL *LAFITE-MODE-DATA* *UPPER-CASE-FILE-NAMES* \#DISPLAYLINES)))) (* ; "LAFITE.PROCLAMATIONS are exported to user in file LAFITE--these are the documented variables") (P * LAFITE.PROCLAMATIONS)) (COMS (* ; "For debugging with Masterscope, here are fns not called from code") (VARS LAFITE.CALLED.FROM.LITERALS LAFITE.PROGRAMMER.ENTRIES)) (DECLARE%: DONTEVAL@COMPILE (TEMPLATES WINDOWPROP WINDOWADDPROP WINDOWDELPROP PROCESSPROP TEXTPROP))))
(DECLARE%: EVAL@COMPILE

(RECORD LAFITEOPS (LAFITEMODE MODEINDEX SENDPARSER SENDER ANSWERER AUTHENTICATOR MESSAGEP MESSAGE-FROM-SELFP LOGIN)
)

(RECORD LAFITEMODEDATA (LAFITEOPS (FULLUSERNAME CREDENTIALS UNPACKEDUSERNAME SHORTUSERNAME FROMFIELD) MAILSERVERS)
)

(DATATYPE LAFITEMSG ((PARSED? FLAG) (* ; "True if we have parsed the message, and thus filled in the fields DATE, FROM, SUBJECT below.") (DELETED? FLAG) (* ; "True if message marked for deletion") (SEEN? FLAG) (* ; "True if message is examined.") (FORMATTED? FLAG) (NIL FLAG) (MODEBITS BITS 3) (* ; "Mode in which the message was received") (BEGIN POINTER) (* ; "Start of the whole message") (MARKCHAR BYTE) (* ; "Arbitrary mark byte") (MESSAGELENGTH POINTER) (* ; "Lengfth of whole message") (%# WORD) (* ; "Ordinal number of message") (STAMPLENGTH WORD) (* ; "Number of bytes in file header (usually 24)") (TOCLENGTH WORD) (* ; "Number of bytes this message consumes on toc") (NIL WORD) (MESSAGELENGTHCHANGED? FLAG) (* ; "True if we have decided that the true length of this message is different from what the file says") (NIL FLAG) (SELECTED? FLAG) (* ; "True if msg currently selected") (MSGFROMMECHECKED? FLAG) (* ; "True if we have tested whether this message is from self") (MSGFROMMETRUTH FLAG) (* ; "Is it?") (MARKSCHANGEDINFILE? FLAG) (MARKSCHANGEDINTOC? FLAG) (NIL FLAG) (DATE POINTER) (* ; "The fields of the parse (strings)") (FROM POINTER) (SUBJECT POINTER) (TO POINTER))
 (* ;; "BEGIN is the only absolute pointer into the message file -- all other positions are relative to BEGIN -- see the ACCESSFNS")
 (BLOCKRECORD LAFITEMSG ((PARSED&DELETED&SEENBITS BITS 3) (NIL BITS 5) (NIL POINTER))) (BLOCKRECORD LAFITEMSG ((MSGFLAGBITS BITS 8) (NIL POINTER) (NIL BYTE) (NIL POINTER) (NIL WORD) (NIL WORD) (NIL WORD) (NIL WORD) (NIL BITS 5) (MARKSCHANGEDBITS BITS 2) (NIL BITS 1)))
 (ACCESSFNS LAFITEMSG ((END (+ (fetch (LAFITEMSG MESSAGELENGTH) of DATUM) (fetch (LAFITEMSG BEGIN) of DATUM))) (START (+ (fetch (LAFITEMSG BEGIN) of DATUM) (fetch (LAFITEMSG STAMPLENGTH) of DATUM))) (SEENFILEPTR (+ (fetch (LAFITEMSG BEGIN) of DATUM) LAFITESEENPOSITION)) (MARKFILEPTR (+ (fetch (LAFITEMSG BEGIN) of DATUM) LAFITEMARKPOSITION)) (DELETEFILEPTR (+ (fetch (LAFITEMSG BEGIN) of DATUM) LAFITEDELETEPOSITION)) (MSGFROMMEP (COND ((fetch (LAFITEMSG MSGFROMMECHECKED?) of DATUM) (fetch (LAFITEMSG MSGFROMMETRUTH) of DATUM)) (T (LA.MSGFROMMEP DATUM))) (PROG1 (replace (LAFITEMSG MSGFROMMETRUTH) of DATUM with NEWVALUE) (replace (LAFITEMSG MSGFROMMECHECKED?) of DATUM with T))) (MARKSCHANGED? (NEQ 0 (fetch (LAFITEMSG MARKSCHANGEDBITS) of DATUM)) (replace (LAFITEMSG MARKSCHANGEDBITS) of DATUM with 3)) (MODE (CL:NTH (fetch (LAFITEMSG MODEBITS) of DATUM) *LAFITE-WELL-KNOWN-MODES*) (replace (LAFITEMSG MODEBITS) of DATUM WITH (OR (CL:POSITION NEWVALUE *LAFITE-WELL-KNOWN-MODES*) 0)))))
)

(DATATYPE MAILFOLDER ((BROWSERPROMPTDIRTY FLAG) (* ; "Something's been printed in prompt window") (BROWSERPROMPTGREW FLAG) (* ; "Browser prompt window has expanded") (FOLDERNEEDSUPDATE FLAG) (* ; "Something changed") (FOLDERNEEDSEXPUNGE FLAG) (* ; "True if deleted msgs") (FOLDERBEINGUPDATED FLAG) (* ; "True during Update cmd") (BROWSERSTATUS BITS 3) (* ; "Ready, etc.") (FULLFOLDERNAME POINTER) (* ; "Full name of actual file") (FOLDEROKTOSHRINK FLAG) (* ; "Kludge to allow you to call SHRINKW without invoking the Update? question") (FOLDERGETSMAIL FLAG) (* ; "True if GetMail ok") (NIL 6 FLAG) (VERSIONLESSFOLDERNAME POINTER) (* ; "Versionless for conflict check") (SHORTFOLDERNAME POINTER) (* ; "Normal name displayed to user") (FOLDERSTREAM POINTER) (* ; "Stream open on the file, or NIL") (MESSAGEDESCRIPTORS POINTER) (* ; "Array of LAFITEMSG") (FOLDERLOCK POINTER) (* ; "Monitor lock for all access") (%#OFMESSAGES WORD) (TOCLASTMESSAGE# WORD) (* ; "Last message that is in TOC file") (BROWSERFONTHEIGHT WORD) (* ; "Cached info about browser font") (BROWSERFONTASCENT WORD) (BROWSERFONTDESCENT WORD) (BROWSERMAXXPOS WORD) (* ; "For extent computations") (ORDINALXPOS WORD) (* ; "Where msg # starts") (DATEXPOS WORD) (* ; "Where msg date starts") (FROMXPOS WORD) (* ; "Where msg From starts") (FROMMAXXPOS WORD) (* ; "Beyond here, From is truncated") (SUBJECTXPOS WORD) (* ; "Where msg subject starts") (BROWSERDIGITWIDTH WORD) (FIRSTSELECTEDMESSAGE WORD) (* ; "First/last msgs currently selected") (LASTSELECTEDMESSAGE WORD) (FIRSTCHANGEDMESSAGE WORD) (* ; "First message with any change--not currently used") (CURRENTPROMPTLINE WORD) (* ; "Value of \currentdisplayline for browser prompt") (CURRENTDISPLAYEDSTREAM POINTER) (* ; "The backing core file for the current message (not used interestingly)") (BROWSEREXTENT POINTER) (BROWSERORIGIN POINTER) (FOLDERDISPLAYREGION POINTER) (* ; "Region of display window (valid when browser shrunk)") (BROWSERWINDOW POINTER) (* ; "The browser window and various pieces...") (BROWSERMENU POINTER) (BROWSERMENUWINDOW POINTER) (BROWSERPROMPTWINDOW POINTER) (ORIGINALBROWSERTITLE POINTER) (* ; "Original title before we added %"default move to%"") (FOLDERDISPLAYWINDOWS POINTER) (* ; "WIndows currently displaying messages from this folder.  First element is %"primary%" display window, or NIL") (FOLDEREOFPTR POINTER) (* ; "Length of file") (DEFAULTMOVETOFILE POINTER) (* ; "Folder we last moved to, or NIL") (CURRENTDISPLAYEDMESSAGE POINTER) (* ; "Message descriptor of most recently displayed message") (BROWSERUPDATEFROMHERE POINTER) (* ; "First potentially changed message, from which redisplay needs to occur when icon expands.") (BROWSERLAYOUT POINTER) (* ; "The element of LAFITEBROWSERLAYOUTS used to build this window, if any") (FOLDERCREATIONDATE POINTER) (* ; "the ICREATIONDATE of the file") (HARDCOPYMESSAGES POINTER) (* ; "List of msg descriptors being hardcopied") (HARDCOPYSTREAM POINTER) (* ; "A Textstream for pending hardcopy"))
 (BLOCKRECORD MAILFOLDER ((NIL 5 FLAG) (NIL BITS 2) (BROWSERREADYBIT FLAG) (* ; "Low bit of status on means ready")))
 (ACCESSFNS MAILFOLDER ((BROWSERREADY (fetch (MAILFOLDER BROWSERREADYBIT) of DATUM) (REPLACE (MAILFOLDER BROWSERSTATUS) OF DATUM WITH (COND (NEWVALUE LAS.READY) (T LAS.PARSING))))))
)

(RECORD DEFAULTHOST&DIR (PACKEDHOST&DIR . UNPACKEDHOST&DIR) (PROPRECORD UNPACKEDHOST&DIR (DEFAULTDIR DEFAULTHOST DEFAULTDEV))
)

(RECORD MAILSERVER (MAILSERVEROPS MAILPORT MAILSERVERNAME CONTINUANCE NEWMAILP . MAILSTATE))

(RECORD MAILSERVEROPS (POLLNEWMAIL OPENMAILBOX NEXTMESSAGE RETRIEVEMESSAGE CLOSEMAILBOX SERVERPORTFROMNAME)
)

(RECORD OPENEDMAILBOX (MAILBOX . PROPERTIES) (PROPRECORD PROPERTIES (%#OFMESSAGES)))

(RECORD OUTBOX (OBWINDOW OBSIZE OBHEIGHT OBDESCENT OBORIGIN OBITEMS))

(RECORD PROFILEVAR (PFVARNAME PFRECONCILIATIONFN PFLOADFN PFDUMPFN))
)

(/DECLAREDATATYPE (QUOTE LAFITEMSG) (QUOTE (FLAG FLAG FLAG FLAG FLAG (BITS 3) POINTER BYTE POINTER WORD WORD WORD WORD FLAG FLAG FLAG FLAG FLAG FLAG FLAG FLAG POINTER POINTER POINTER POINTER)) (QUOTE ((LAFITEMSG 0 (FLAGBITS . 0)) (LAFITEMSG 0 (FLAGBITS . 16)) (LAFITEMSG 0 (FLAGBITS . 32)) (LAFITEMSG 0 (FLAGBITS . 48)) (LAFITEMSG 0 (FLAGBITS . 64)) (LAFITEMSG 0 (BITS . 82)) (LAFITEMSG 0 POINTER) (LAFITEMSG 2 (BITS . 7)) (LAFITEMSG 2 POINTER) (LAFITEMSG 4 (BITS . 15)) (LAFITEMSG 5 (BITS . 15)) (LAFITEMSG 6 (BITS . 15)) (LAFITEMSG 7 (BITS . 15)) (LAFITEMSG 8 (FLAGBITS . 0)) (LAFITEMSG 8 (FLAGBITS . 16)) (LAFITEMSG 8 (FLAGBITS . 32)) (LAFITEMSG 8 (FLAGBITS . 48)) (LAFITEMSG 8 (FLAGBITS . 64)) (LAFITEMSG 8 (FLAGBITS . 80)) (LAFITEMSG 8 (FLAGBITS . 96)) (LAFITEMSG 8 (FLAGBITS . 112)) (LAFITEMSG 8 POINTER) (LAFITEMSG 10 POINTER) (LAFITEMSG 12 POINTER) (LAFITEMSG 14 POINTER))) (QUOTE 16))

(/DECLAREDATATYPE (QUOTE MAILFOLDER) (QUOTE (FLAG FLAG FLAG FLAG FLAG (BITS 3) POINTER FLAG FLAG FLAG FLAG FLAG FLAG FLAG FLAG POINTER POINTER POINTER POINTER POINTER WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER)) (QUOTE ((MAILFOLDER 0 (FLAGBITS . 0)) (MAILFOLDER 0 (FLAGBITS . 16)) (MAILFOLDER 0 (FLAGBITS . 32)) (MAILFOLDER 0 (FLAGBITS . 48)) (MAILFOLDER 0 (FLAGBITS . 64)) (MAILFOLDER 0 (BITS . 82)) (MAILFOLDER 0 POINTER) (MAILFOLDER 2 (FLAGBITS . 0)) (MAILFOLDER 2 (FLAGBITS . 16)) (MAILFOLDER 2 (FLAGBITS . 32)) (MAILFOLDER 2 (FLAGBITS . 48)) (MAILFOLDER 2 (FLAGBITS . 64)) (MAILFOLDER 2 (FLAGBITS . 80)) (MAILFOLDER 2 (FLAGBITS . 96)) (MAILFOLDER 2 (FLAGBITS . 112)) (MAILFOLDER 2 POINTER) (MAILFOLDER 4 POINTER) (MAILFOLDER 6 POINTER) (MAILFOLDER 8 POINTER) (MAILFOLDER 10 POINTER) (MAILFOLDER 12 (BITS . 15)) (MAILFOLDER 13 (BITS . 15)) (MAILFOLDER 14 (BITS . 15)) (MAILFOLDER 15 (BITS . 15)) (MAILFOLDER 16 (BITS . 15)) (MAILFOLDER 17 (BITS . 15)) (MAILFOLDER 18 (BITS . 15)) (MAILFOLDER 19 (BITS . 15)) (MAILFOLDER 20 (BITS . 15)) (MAILFOLDER 21 (BITS . 15)) (MAILFOLDER 22 (BITS . 15)) (MAILFOLDER 23 (BITS . 15)) (MAILFOLDER 24 (BITS . 15)) (MAILFOLDER 25 (BITS . 15)) (MAILFOLDER 26 (BITS . 15)) (MAILFOLDER 27 (BITS . 15)) (MAILFOLDER 28 POINTER) (MAILFOLDER 30 POINTER) (MAILFOLDER 32 POINTER) (MAILFOLDER 34 POINTER) (MAILFOLDER 36 POINTER) (MAILFOLDER 38 POINTER) (MAILFOLDER 40 POINTER) (MAILFOLDER 42 POINTER) (MAILFOLDER 44 POINTER) (MAILFOLDER 46 POINTER) (MAILFOLDER 48 POINTER) (MAILFOLDER 50 POINTER) (MAILFOLDER 52 POINTER) (MAILFOLDER 54 POINTER) (MAILFOLDER 56 POINTER) (MAILFOLDER 58 POINTER) (MAILFOLDER 60 POINTER) (MAILFOLDER 62 POINTER))) (QUOTE 64))



(* ; "characteristics of standard Laurel messages")

(DECLARE%: EVAL@COMPILE 

(RPAQQ LAFITESTAMPLENGTH 24)

(RPAQ DELETEDFLAG (CHARCODE D))

(RPAQ UNDELETEDFLAG (CHARCODE U))

(RPAQ SEENFLAG (CHARCODE S))

(RPAQ UNSEENFLAG (CHARCODE U))

(RPAQQ LAFITEDELETEPOSITION 20)

(RPAQQ LAFITESEENPOSITION 21)

(RPAQQ LAFITEMARKPOSITION 22)


(CONSTANTS (LAFITESTAMPLENGTH 24) (DELETEDFLAG (CHARCODE D)) (UNDELETEDFLAG (CHARCODE U)) (SEENFLAG (CHARCODE S)) (UNSEENFLAG (CHARCODE U)) (LAFITEDELETEPOSITION 20) (LAFITESEENPOSITION 21) (LAFITEMARKPOSITION 22))
)



(* ; "Stuff for table of contents")

(DECLARE%: EVAL@COMPILE 

(RPAQQ LAFITETOCPASSWORD 45610)

(RPAQQ LAFITETOCOVERHEADPERENTRY 12)

(RPAQQ LAFITETOCHEADERLENGTH 10)

(RPAQQ LAFITETOCMARKBYTEOFFSET 4)


(CONSTANTS LAFITETOCPASSWORD LAFITETOCOVERHEADPERENTRY LAFITETOCHEADERLENGTH LAFITETOCMARKBYTEOFFSET)
)



(* ; "Browser status values.  %"Ready%" values have low bit 1.")

(DECLARE%: EVAL@COMPILE 

(RPAQQ LAS.READY 1)

(RPAQQ LAS.LOGGED.OUT 3)


(CONSTANTS LAS.READY LAS.LOGGED.OUT)
)
(DECLARE%: EVAL@COMPILE 

(RPAQQ LAS.PARSING 0)

(RPAQQ LAS.FLUSHED 2)

(RPAQQ LAS.OUT.OF.DATE 4)


(CONSTANTS LAS.PARSING LAS.FLUSHED LAS.OUT.OF.DATE)
)



(* ; "Bits for figuring out which menu to use on Update, etc.")

(DECLARE%: EVAL@COMPILE 

(RPAQQ \HARDCOPY.MENU.BIT 1)

(RPAQQ \UPDATE.MENU.BIT 2)

(RPAQQ \TOC.MENU.BIT 4)

(RPAQQ \EXPUNGE.MENU.BIT 8)

(RPAQQ \CLOSE.MENU.BIT 16)

(RPAQQ \SHRINK.MENU.BIT 32)


(CONSTANTS (\HARDCOPY.MENU.BIT 1) (\UPDATE.MENU.BIT 2) (\TOC.MENU.BIT 4) (\EXPUNGE.MENU.BIT 8) (\CLOSE.MENU.BIT 16) (\SHRINK.MENU.BIT 32))
)



(* ; "For iterating over the selected messages of a browser")

(DECLARE%: EVAL@COMPILE 

(I.S.OPR (QUOTE SELECTEDIN) NIL (QUOTE (bind ($$MESSAGES ← (fetch (MAILFOLDER MESSAGEDESCRIPTORS) of BODY)) ($$MSG# ← (SUB1 (fetch (MAILFOLDER FIRSTSELECTEDMESSAGE) of BODY))) ($$MSGLAST ← (fetch (MAILFOLDER LASTSELECTEDMESSAGE) of BODY)) until (IGREATERP (add $$MSG# 1) $$MSGLAST) when (fetch (LAFITEMSG SELECTED?) of (SETQ I.V. (NTHMESSAGE $$MESSAGES $$MSG#))))))
)
(DECLARE%: EVAL@COMPILE 

(PROGN (PUTPROPS WORDIN DMACRO (= . \WIN)) (PUTPROPS WORDIN MACRO (= . \WIN)))

(PUTPROPS FIXPIN DMACRO (OPENLAMBDA (STREAM) (\MAKENUMBER (WORDIN STREAM) (WORDIN STREAM))))

(PUTPROPS WORDOUT DMACRO (= . \WOUT))

(PUTPROPS FIXPOUT DMACRO (OPENLAMBDA (STREAM N) (PROGN (WORDOUT STREAM (LRSH N 16)) (WORDOUT STREAM (LOGAND N 65535)))))

(PUTPROPS UCASECODE MACRO (OPENLAMBDA (CHAR) (COND ((AND (IGEQ CHAR (CHARCODE a)) (ILEQ CHAR (CHARCODE z))) (LOGAND CHAR 95)) (T CHAR))))

(PUTPROPS NTHMESSAGE MACRO (= . ELT))

(PUTPROPS .LAFITEMENU. MACRO ((NAME ITEMS TITLE) (PROGN (DECLARE (GLOBALVARS NAME)) (OR NAME (SETQ NAME (\LAFITE.CREATE.MENU ITEMS TITLE))))))

(PUTPROPS MAYBEVERIFYMSG MACRO ((MSG MAILFOLDER) (AND LAFITEVERIFYFLG (\LAFITE.VERIFYMSG MSG MAILFOLDER))))

(PUTPROPS UNSEENMARKP MACRO (OPENLAMBDA (MK) (OR (EQ MK UNSEENMARK) (EQ MK HEARDMARK))))
)

(RPAQQ LAFITEGLOBALS (\LAFITE.PSEUDO.DEVICES WINDOWTITLEFONT LAFITEMULTIPLEFOLDERSMENU LAFITE.UPDATE.MENU.ARRAY LAFITE.PERSONAL.VARS LAFITE.USER.INFO \LAFITE.CURRENT.USER *LAFITE-WELL-KNOWN-MODES* \LAPARSE.DONT.DISPLAY.HEADERS \LAPARSE.DONT.FORWARD.HEADERS \LAPARSE.DONT.HARDCOPY.HEADERS \LAFITE.MODE.CHOICES LAFITESUBQUITMENU \LAFITEMODE LAFITESUBBROWSEMENU ANOTHERFOLDERMENUITEM AROUNDEXITFNS BackgroundMenu BackgroundMenuCommands FORWARDMARK HARDCOPYBATCHMARK HARDCOPYMARK LA.CROSSCURSOR LA.SELECTION.BITMAP LAFITEEOL LAFITEFOLDERSMENU LAFITEFORMSMENU LAFITEITEMBUSYSHADE LAFITEMAILFOLDERS LAFITEMAINMENU LAFITESTATUSWINDOW LAFITESYSTEMDATE LAFITEVERSION# LASTMOUSEBUTTONS LASTMOUSEX LASTMOUSEY LOGINHOST/DIR PROMPTWINDOW SCREENHEIGHT SCREENWIDTH SEENMARK UNSEENMARK HEARDMARK UNSUPPLIEDFIELDSTR UPPERCASEARRAY \ACTIVELAFITEFOLDERS \AFTERLOGINFNS \LAFITE.ACTIVE \LAFITE.BROWSELOCK \LAFITE.HARDCOPYLOCK \LAFITE.LAST.STATUS \LAFITE.MAILSERVERLOCK \LAFITE.MAINLOCK \LAFITE.PROFILELOCK \LAFITE.READY \LAFITE.TEMPFILES \LAFITEDEFAULTHOST&DIR \LAFITEPROFILECHANGED \LAFITE.ACTIVE.MODES \LAFITE.OUTBOX LAFITEPROFILERDTBL \LAFITEPROFILEDATE))
(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \LAFITE.PSEUDO.DEVICES WINDOWTITLEFONT LAFITEMULTIPLEFOLDERSMENU LAFITE.UPDATE.MENU.ARRAY LAFITE.PERSONAL.VARS LAFITE.USER.INFO \LAFITE.CURRENT.USER *LAFITE-WELL-KNOWN-MODES* \LAPARSE.DONT.DISPLAY.HEADERS \LAPARSE.DONT.FORWARD.HEADERS \LAPARSE.DONT.HARDCOPY.HEADERS \LAFITE.MODE.CHOICES LAFITESUBQUITMENU \LAFITEMODE LAFITESUBBROWSEMENU ANOTHERFOLDERMENUITEM AROUNDEXITFNS BackgroundMenu BackgroundMenuCommands FORWARDMARK HARDCOPYBATCHMARK HARDCOPYMARK LA.CROSSCURSOR LA.SELECTION.BITMAP LAFITEEOL LAFITEFOLDERSMENU LAFITEFORMSMENU LAFITEITEMBUSYSHADE LAFITEMAILFOLDERS LAFITEMAINMENU LAFITESTATUSWINDOW LAFITESYSTEMDATE LAFITEVERSION# LASTMOUSEBUTTONS LASTMOUSEX LASTMOUSEY LOGINHOST/DIR PROMPTWINDOW SCREENHEIGHT SCREENWIDTH SEENMARK UNSEENMARK HEARDMARK UNSUPPLIEDFIELDSTR UPPERCASEARRAY \ACTIVELAFITEFOLDERS \AFTERLOGINFNS \LAFITE.ACTIVE \LAFITE.BROWSELOCK \LAFITE.HARDCOPYLOCK \LAFITE.LAST.STATUS \LAFITE.MAILSERVERLOCK \LAFITE.MAINLOCK \LAFITE.PROFILELOCK \LAFITE.READY \LAFITE.TEMPFILES \LAFITEDEFAULTHOST&DIR \LAFITEPROFILECHANGED \LAFITE.ACTIVE.MODES \LAFITE.OUTBOX LAFITEPROFILERDTBL \LAFITEPROFILEDATE)
)

(COND ((< (IDATE TEDITSYSTEMDATE) (IDATE "1-mar-88 00:00")) (* ; "Bug in older TEXTPROP--just compile it closed.") (REMPROP (QUOTE TEXTPROP) (QUOTE COMPILER:OPTIMIZER-LIST))))

(CL:PROCLAIM (QUOTE (CL:SPECIAL *LAFITE-MODE-DATA* *UPPER-CASE-FILE-NAMES* \#DISPLAYLINES)))



(* ; "LAFITE.PROCLAMATIONS are exported to user in file LAFITE--these are the documented variables")


(RPAQQ LAFITE.PROCLAMATIONS ((CL:PROCLAIM (QUOTE (GLOBAL ANSWERMARK BROWSERMARKXPOSITION DEFAULTMAILFOLDERNAME LAFITE.BACKGROUND.ITEM LAFITE.BROWSER.ICON.PREFERENCE LAFITE.BROWSER.LAYOUTS LAFITE.DISPLAY.SIZE LAFITE.DONT.DISPLAY.HEADERS LAFITE.DONT.FORWARD.HEADERS LAFITE.DONT.HARDCOPY.HEADERS LAFITE.EDITOR.LAYOUTS LAFITE.EDITOR.SIZE LAFITE.EXTRA.DISPLAY.COMMANDS LAFITE.FOLDER.ICON LAFITE.FOLDER.MENU.FONT LAFITE.HOST.ABBREVS LAFITE.LOOKS.SUBCOMMANDS LAFITE.MIDDLE.UPDATE LAFITE.PROFILE.VARS LAFITE.SIGNATURE LAFITE.USE.ALL.MODES LAFITEBROWSERFONT LAFITEBROWSERICONMENU LAFITEBROWSERICONMENUITEMS LAFITEBROWSERMENUITEMS LAFITEBROWSERREGION LAFITEBUFFERSIZE LAFITEBUSYWAITTIME LAFITECLOSEITEM LAFITECOMMANDMENUITEMS LAFITEDEFAULTHOST&DIR LAFITEDELETEDLINEHEIGHT LAFITEDISPLAYAFTERDELETEFLG LAFITEDISPLAYFONT LAFITEDISPLAYREGION LAFITEDL.EXT LAFITEDLDIRECTORIES LAFITEENDOFMESSAGEFONT LAFITEENDOFMESSAGESTR LAFITEEXTRAMENUFLG LAFITEFIXEDWIDTHFONT LAFITEFORM.EXT LAFITEFORMFILES LAFITEFROMFRACTION LAFITEHARDCOPY.MIN.TOC LAFITEHARDCOPYBATCHFLG LAFITEHARDCOPYBATCHSHADE LAFITEHARDCOPYFONT LAFITEHARDCOPYSEPARATOR LAFITEIFFROMMETHENSEENFLG LAFITEINFO.NAME LAFITEMAIL.EXT LAFITEMENUFONT LAFITEMINFROMCHARS LAFITEMODEDEFAULT LAFITEMODELST LAFITEMOVETOCONFIRMFLG LAFITEMSGICONFONT LAFITENEWPAGEFLG LAFITESHOWMODEFLG LAFITESTATUSWINDOWMINWIDTH LAFITESTATUSWINDOWPOSITION LAFITESUBBROWSEMENUITEMS LAFITESUBQUITMENUITEMS LAFITETITLEFONT LAFITETOC.EXT LAFITEUPDATEMENUITEMS MOVETOMARK LAFITEMENUVARS LAFITE.DUMMY.SHADE LAFITE.DUMMY.HALF.SHADE LAFITEEXTRAMENUITEMS LAFITE.EXTRA.MOVE.ITEMS LAFITE.AUTO.MOVE.MENU))) (CL:PROCLAIM (QUOTE (CL:SPECIAL LAFITEVERIFYFLG)))))

(CL:PROCLAIM (QUOTE (GLOBAL ANSWERMARK BROWSERMARKXPOSITION DEFAULTMAILFOLDERNAME LAFITE.BACKGROUND.ITEM LAFITE.BROWSER.ICON.PREFERENCE LAFITE.BROWSER.LAYOUTS LAFITE.DISPLAY.SIZE LAFITE.DONT.DISPLAY.HEADERS LAFITE.DONT.FORWARD.HEADERS LAFITE.DONT.HARDCOPY.HEADERS LAFITE.EDITOR.LAYOUTS LAFITE.EDITOR.SIZE LAFITE.EXTRA.DISPLAY.COMMANDS LAFITE.FOLDER.ICON LAFITE.FOLDER.MENU.FONT LAFITE.HOST.ABBREVS LAFITE.LOOKS.SUBCOMMANDS LAFITE.MIDDLE.UPDATE LAFITE.PROFILE.VARS LAFITE.SIGNATURE LAFITE.USE.ALL.MODES LAFITEBROWSERFONT LAFITEBROWSERICONMENU LAFITEBROWSERICONMENUITEMS LAFITEBROWSERMENUITEMS LAFITEBROWSERREGION LAFITEBUFFERSIZE LAFITEBUSYWAITTIME LAFITECLOSEITEM LAFITECOMMANDMENUITEMS LAFITEDEFAULTHOST&DIR LAFITEDELETEDLINEHEIGHT LAFITEDISPLAYAFTERDELETEFLG LAFITEDISPLAYFONT LAFITEDISPLAYREGION LAFITEDL.EXT LAFITEDLDIRECTORIES LAFITEENDOFMESSAGEFONT LAFITEENDOFMESSAGESTR LAFITEEXTRAMENUFLG LAFITEFIXEDWIDTHFONT LAFITEFORM.EXT LAFITEFORMFILES LAFITEFROMFRACTION LAFITEHARDCOPY.MIN.TOC LAFITEHARDCOPYBATCHFLG LAFITEHARDCOPYBATCHSHADE LAFITEHARDCOPYFONT LAFITEHARDCOPYSEPARATOR LAFITEIFFROMMETHENSEENFLG LAFITEINFO.NAME LAFITEMAIL.EXT LAFITEMENUFONT LAFITEMINFROMCHARS LAFITEMODEDEFAULT LAFITEMODELST LAFITEMOVETOCONFIRMFLG LAFITEMSGICONFONT LAFITENEWPAGEFLG LAFITESHOWMODEFLG LAFITESTATUSWINDOWMINWIDTH LAFITESTATUSWINDOWPOSITION LAFITESUBBROWSEMENUITEMS LAFITESUBQUITMENUITEMS LAFITETITLEFONT LAFITETOC.EXT LAFITEUPDATEMENUITEMS MOVETOMARK LAFITEMENUVARS LAFITE.DUMMY.SHADE LAFITE.DUMMY.HALF.SHADE LAFITEEXTRAMENUITEMS LAFITE.EXTRA.MOVE.ITEMS LAFITE.AUTO.MOVE.MENU)))

(CL:PROCLAIM (QUOTE (CL:SPECIAL LAFITEVERIFYFLG)))



(* ; "For debugging with Masterscope, here are fns not called from code")


(RPAQQ LAFITE.CALLED.FROM.LITERALS (\LAFITE.FIND \LAFITE.FIND.RELATED \LAFITE.FIND.AGAIN \LAFITE.FIND.RELATED.BACKWARD \LAFITE.REHIDE.HEADERS MAKELISPSUPPORTFORM MAKELAFITESUPPORTFORM \LAFITE.MERGE.FOLDERS \LAFITE.MERGE.NAMELISTS \LAFITE.SET.LOOKS.FROM.MENU \LAFITE.HARDCOPY.FROM.DISPLAY \LAFITE.UNHIDE.HEADERS \LAFITE.SET.DEFAULT.LOOKS \LAFITE.SET.FIXED.LOOKS \LAFITE.DISPLAY \LAFITE.DELETE \LAFITE.UNDELETE \LAFITE.ANSWER \LAFITE.FORWARD \LAFITE.HARDCOPY \LAFITE.MOVETO \LAFITE.UPDATE \LAFITE.GETMAIL \LAFITE.BROWSE.PROC \LAFITE.BROWSE.FORGET \LAFITE.BROWSE.LAURELFILE \LAFITE.UNCACHE.FOLDER \LAFITE.UNCACHE.MESSAGEFORM \LAFITE.NOTICE.FOLDERS \LAFITE.GC.FOLDERS LAFITE.READ.LINE.FOR.TOC LAFITE.READ.NAME.FIELD LAFITE.READ.FORMAT LAFITE.GRAB.DATE LAFITE.READ.ONE.LINE.FOR.TOC GV.POLLNEWMAIL GV.OPENMAILBOX GV.NEXTMESSAGE GV.RETRIEVEMESSAGE GV.CLOSEMAILBOX GV.PORTFROMNAME \GV.SEND.PARSE \GV.SENDMESSAGE GV.MAKEANSWERFORM GV.INIT.MAIL.USER \GV.MESSAGE.P \GV.MESSAGE.FROM.SELF.P \NSMAIL.SEND.PARSE \NSMAIL.SEND \NSMAIL.MAKEANSWERFORM \NSMAIL.AUTHENTICATE \NSMAIL.MESSAGE.P \NSMAIL.MESSAGE.FROM.SELF.P \NSMAIL.LOGIN \LAFITE.GETMAIL.FROM.ICON \MAILOBJ.INIT \MAILOBJ.VIEW \MAILOBJ.PUT.FILE \MAILOBJ.HARDCOPY \MAILOBJ.EXPAND \MAILOBJ.FB \NS.READ.ENVELOPE.ITEM \NS.WRITE.ENVELOPE.ITEM \LAFITE.GLOBAL.INIT \LAFITE.BROWSE \LAFITE.MESSAGEFORM \LAFITE.QUIT \LAFITE.HARDCOPYONLY.PROC \LAFITE.UPDATE.PROC \LAFITE.EXPUNGE.PROC \LAFITE.UPDATE.PROC \LAFITE.QUIT \LAFITE.RESTART \LAFITE.LOGIN.NORESTART \LAFITE.REAUTHENTICATE \LAFITE.DESCRIBE.FOLDER \LAFITE.GO.TO.INTERACTIVE \LAFITE.ENABLE.MOVE.MENU \LAFITE.GO.TO.FIRST \LAFITE.GO.TO.LAST \LAFITE.RENAME.FOLDER LAFITE.COMPUTE.CACHED.VARS LAFITE.ON.FROM.BACKGROUND SET.LAFITE.MODE.INTERACTIVELY))

(RPAQQ LAFITE.PROGRAMMER.ENTRIES (LAFITEDEFAULTHOST&DIR COPY7BITFILE LOAD-LAFITE RELEASE.LAFITE LAFITE.SENDMESSAGE BUILD.LAFITE.LAYOUTS LAB.SELECTED.MESSAGES LAFITE.DELETE.MESSAGES LAFITE.MOVE.MESSAGES LAFITE.HARDCOPY.MESSAGES LAFITE.OBTAIN.FOLDER))
(DECLARE%: DONTEVAL@COMPILE 

(SETTEMPLATE (QUOTE WINDOWPROP) (QUOTE (EVAL PROP EVAL . PPE)))

(SETTEMPLATE (QUOTE WINDOWADDPROP) (QUOTE (EVAL PROP EVAL EVAL . PPE)))

(SETTEMPLATE (QUOTE WINDOWDELPROP) (QUOTE (EVAL PROP EVAL . PPE)))

(SETTEMPLATE (QUOTE PROCESSPROP) (QUOTE (EVAL PROP EVAL . PPE)))

(SETTEMPLATE (QUOTE TEXTPROP) (QUOTE (EVAL PROP EVAL . PPE)))
)
(PUTPROPS LAFITEDECLS COPYRIGHT ("Xerox Corporation" 1985 1986 1987 1988))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL)))
STOP