(FILECREATED "28-May-86 16:01:08" {ERIS}<LAFITE>SOURCES>LAFITEDECLS.;8 20408
changes to: (VARS LAFITEDECLSCOMS LAFITEGLOBALS)
previous date: " 6-May-86 17:19:25" {ERIS}<LAFITE>SOURCES>LAFITEDECLS.;7)
(* Copyright (c) 1985, 1986 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT LAFITEDECLSCOMS)
(RPAQQ LAFITEDECLSCOMS ((RECORDS LAFITEUSERDATA LAFITEOPS LAFITEMSG MAILFOLDER DEFAULTHOST&DIR
MAILSERVER MAILSERVEROPS OPENEDMAILBOX OUTBOX)
(CONSTANTS (LAFITESTAMPLENGTH 24)
(DELETEDFLAG (CHARCODE D))
(UNDELETEDFLAG (CHARCODE U))
(SEENFLAG (CHARCODE S))
(UNSEENFLAG (CHARCODE U))
(LAFITEDELETEPOSITION 20)
(LAFITESEENPOSITION 21)
(LAFITEMARKPOSITION 22))
(CONSTANTS LAFITETOCPASSWORD LAFITETOCOVERHEADPERENTRY LAFITETOCHEADERLENGTH
LAFITETOCMARKBYTEOFFSET)
(I.S.OPRS SELECTEDIN)
(MACROS WORDIN FIXPIN WORDOUT FIXPOUT UCASECODE NTHMESSAGE .LAFITEMENU.
MAYBEVERIFYMSG ASSURE.LAFITE.READY UNSEENMARKP)
(GLOBALVARS * LAFITEGLOBALS)
(DECLARE: DONTEVAL@COMPILE (TEMPLATES WINDOWPROP WINDOWADDPROP WINDOWDELPROP)
)))
[DECLARE: EVAL@COMPILE
(RECORD LAFITEUSERDATA (FULLUSERNAME UNPACKEDUSERNAME ENCRYPTEDPASSWORD SHORTUSERNAME . MAILSERVERS))
(RECORD LAFITEOPS (LAFITEMODE SENDPARSER SENDER ANSWERER AUTHENTICATOR))
(DATATYPE LAFITEMSG ((PARSED? FLAG)
(DELETED? FLAG)
(SEEN? FLAG)
(FORMATTED? FLAG)
(NIL FLAG)
(NIL FLAG)
(NIL FLAG)
(NIL FLAG)
(BEGIN POINTER)
(MARKCHAR BYTE)
(MESSAGELENGTH POINTER)
(# WORD)
(STAMPLENGTH WORD)
(TOCLENGTH WORD)
(NIL WORD)
(MESSAGELENGTHCHANGED? FLAG)
(NIL FLAG)
(SELECTED? FLAG)
(MSGFROMMECHECKED? FLAG)
(MSGFROMMETRUTH FLAG)
(MARKSCHANGEDINFILE? FLAG)
(MARKSCHANGEDINTOC? FLAG)
(NIL FLAG)
(DATE POINTER)
(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 (IPLUS (fetch (LAFITEMSG MESSAGELENGTH) of DATUM)
(fetch (LAFITEMSG BEGIN) of DATUM)))
(START (IPLUS (fetch (LAFITEMSG BEGIN) of DATUM)
(fetch (LAFITEMSG STAMPLENGTH) of DATUM)))
(SEENFILEPTR (IPLUS (fetch (LAFITEMSG BEGIN) of DATUM)
LAFITESEENPOSITION))
(MARKFILEPTR (IPLUS (fetch (LAFITEMSG BEGIN) of DATUM)
LAFITEMARKPOSITION))
(DELETEFILEPTR (IPLUS (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])
(DATATYPE MAILFOLDER ((BROWSERPROMPTDIRTY FLAG)
(BROWSERREADY FLAG)
(FOLDERNEEDSUPDATE FLAG)
(FOLDERNEEDSEXPUNGE FLAG)
(FOLDERBEINGUPDATED FLAG)
(HARDCOPYPENDING FLAG)
(NIL FLAG)
(FULLFOLDERNAME POINTER)
(VERSIONLESSFOLDERNAME POINTER)
(SHORTFOLDERNAME POINTER)
(FOLDERSTREAM POINTER)
(MESSAGEDESCRIPTORS POINTER)
(FOLDERLOCK POINTER)
(#OFMESSAGES WORD)
(TOCLASTMESSAGE# WORD)
(BROWSERFONTHEIGHT WORD)
(BROWSERFONTASCENT WORD)
(BROWSERFONTDESCENT WORD)
(BROWSERMAXXPOS WORD)
(ORDINALXPOS WORD)
(DATEXPOS WORD)
(FROMXPOS WORD)
(FROMMAXXPOS WORD)
(SUBJECTXPOS WORD)
(BROWSERDIGITWIDTH WORD)
(FIRSTSELECTEDMESSAGE WORD)
(LASTSELECTEDMESSAGE WORD)
(FIRSTCHANGEDMESSAGE WORD)
(CURRENTEOMLENGTH WORD)
(CURRENTDISPLAYEDSTREAM POINTER)
(BROWSEREXTENT POINTER)
(BROWSERORIGIN POINTER)
(BROWSERSELECTIONREGION POINTER)
(BROWSERWINDOW POINTER)
(BROWSERMENU POINTER)
(BROWSERMENUWINDOW POINTER)
(BROWSERPROMPTWINDOW POINTER)
(ORIGINALBROWSERTITLE POINTER)
(FOLDERDISPLAYWINDOWS POINTER)
(FOLDEREOFPTR POINTER)
(DEFAULTMOVETOFILE POINTER)
(CURRENTDISPLAYEDMESSAGE POINTER)
(BROWSERUPDATEFROMHERE POINTER)
(EXTRAFIELD POINTER)
(FOLDERCREATIONDATE POINTER)
(HARDCOPYMESSAGES POINTER)
(HARDCOPYSTREAM POINTER)))
(RECORD DEFAULTHOST&DIR (PACKEDHOST&DIR . UNPACKEDHOST&DIR)
(PROPRECORD UNPACKEDHOST&DIR (DEFAULTDIR DEFAULTHOST DEFAULTDEV)))
(RECORD MAILSERVER (MAILSERVEROPS MAILPORT MAILSERVERNAME CONTINUANCE . MAILSTATE))
(RECORD MAILSERVEROPS (POLLNEWMAIL OPENMAILBOX NEXTMESSAGE RETRIEVEMESSAGE CLOSEMAILBOX
SERVERPORTFROMNAME))
(RECORD OPENEDMAILBOX (MAILBOX . PROPERTIES)
(PROPRECORD PROPERTIES (#OFMESSAGES)))
(RECORD OUTBOX (OBWINDOW OBSIZE OBHEIGHT OBDESCENT OBORIGIN OBITEMS))
]
(/DECLAREDATATYPE (QUOTE LAFITEMSG)
(QUOTE (FLAG FLAG FLAG FLAG FLAG FLAG FLAG FLAG 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 (FLAGBITS . 80))
(LAFITEMSG 0 (FLAGBITS . 96))
(LAFITEMSG 0 (FLAGBITS . 112))
(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 FLAG FLAG POINTER 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 (FLAGBITS . 80))
(MAILFOLDER 0 (FLAGBITS . 96))
(MAILFOLDER 0 POINTER)
(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))
(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))
)
(DECLARE: EVAL@COMPILE
(RPAQQ LAFITETOCPASSWORD 45610)
(RPAQQ LAFITETOCOVERHEADPERENTRY 12)
(RPAQQ LAFITETOCHEADERLENGTH 10)
(RPAQQ LAFITETOCMARKBYTEOFFSET 4)
(CONSTANTS LAFITETOCPASSWORD LAFITETOCOVERHEADPERENTRY LAFITETOCHEADERLENGTH LAFITETOCMARKBYTEOFFSET)
)
(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 ASSURE.LAFITE.READY MACRO (NIL (OR \LAFITE.READY (CHECKLAFITEMAILFOLDERS]
[PUTPROPS UNSEENMARKP MACRO (OPENLAMBDA (MK)
(OR (EQ MK UNSEENMARK)
(EQ MK HEARDMARK]
)
(RPAQQ LAFITEGLOBALS
(LAFITEMSGICONFONT LAFITESHOWMODEFLG \LAFITE.MODE.CHOICES LAFITESUBQUITMENU
LAFITESUBQUITMENUITEMS LAFITEMODEDEFAULT LAFITEMODELST \LAFITEMODE LAFITEUPDATETOCITEM
LAFITEMOVETOCONFIRMFLG LAFITECLOSELABELS LAFITECLOSEITEM LAFITEUPDATEMENUS
LAFITESUBBROWSEMENU ANOTHERFOLDERMENUITEM ANSWERMARK AROUNDEXITFNS BROWSERMARKXPOSITION
BackgroundMenu BackgroundMenuCommands DEFAULTMAILFOLDERNAME FORWARDMARK
HARDCOPYBATCHMARK HARDCOPYMARK LA.CROSSCURSOR LA.SELECTION.BITMAP LAFITEBROWSERFONT
LAFITEBROWSERMENUITEMS LAFITEBROWSERREGION LAFITEBUFFERSIZE LAFITEBUSYWAITTIME
LAFITECOMMANDMENUITEMS LAFITEDEFAULTHOST&DIR LAFITEDELETEDLINEHEIGHT
LAFITEDISPLAYAFTERDELETEFLG LAFITEDISPLAYFONT LAFITEDISPLAYREGION LAFITEEDITORWINDOWS
LAFITEENDOFMESSAGEFONT LAFITEENDOFMESSAGESTR LAFITEEOL LAFITEEXTRAMENUFLG
LAFITEFOLDERSMENU LAFITEFORM.EXT LAFITEFORMFILES LAFITEFORMSMENU LAFITEFROMFRACTION
LAFITEHARDCOPY.MIN.TOC LAFITEHARDCOPYBATCHFLG LAFITEHARDCOPYBATCHSHADE
LAFITEHARDCOPYFONT LAFITEHARDCOPYSEPARATOR LAFITEIMMEDIATECHANGESFLG
LAFITEITEMBUSYSHADE LAFITEMAIL.EXT LAFITEMAILFOLDERS LAFITEMAINMENU LAFITEMENUFONT
LAFITEMINFROMCHARS LAFITENEWPAGEFLG LAFITEPRIMARYDISPLAYWINDOW LAFITEREADONLYFLG
LAFITESTATUSWINDOW LAFITESTATUSWINDOWMINWIDTH LAFITESTATUSWINDOWPOSITION
LAFITESUBBROWSEMENUITEMS LAFITESYSTEMDATE LAFITETITLEFONT LAFITETOC.EXT
LAFITEUPDATEMENUITEMS LAFITEVERIFYFLG LAFITEVERSION# LASTMOUSEBUTTONS LASTMOUSEX
LASTMOUSEY LOGINHOST/DIR MOVETOMARK MSGFOLDERICON MSGFOLDERMASK MSGFOLDERTEMPLATE
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 \LAFITEUSERDATA \LAFITE.OUTBOX))
(DECLARE: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS LAFITEMSGICONFONT LAFITESHOWMODEFLG \LAFITE.MODE.CHOICES LAFITESUBQUITMENU
LAFITESUBQUITMENUITEMS LAFITEMODEDEFAULT LAFITEMODELST \LAFITEMODE LAFITEUPDATETOCITEM
LAFITEMOVETOCONFIRMFLG LAFITECLOSELABELS LAFITECLOSEITEM LAFITEUPDATEMENUS LAFITESUBBROWSEMENU
ANOTHERFOLDERMENUITEM ANSWERMARK AROUNDEXITFNS BROWSERMARKXPOSITION BackgroundMenu
BackgroundMenuCommands DEFAULTMAILFOLDERNAME FORWARDMARK HARDCOPYBATCHMARK HARDCOPYMARK
LA.CROSSCURSOR LA.SELECTION.BITMAP LAFITEBROWSERFONT LAFITEBROWSERMENUITEMS
LAFITEBROWSERREGION LAFITEBUFFERSIZE LAFITEBUSYWAITTIME LAFITECOMMANDMENUITEMS
LAFITEDEFAULTHOST&DIR LAFITEDELETEDLINEHEIGHT LAFITEDISPLAYAFTERDELETEFLG LAFITEDISPLAYFONT
LAFITEDISPLAYREGION LAFITEEDITORWINDOWS LAFITEENDOFMESSAGEFONT LAFITEENDOFMESSAGESTR LAFITEEOL
LAFITEEXTRAMENUFLG LAFITEFOLDERSMENU LAFITEFORM.EXT LAFITEFORMFILES LAFITEFORMSMENU
LAFITEFROMFRACTION LAFITEHARDCOPY.MIN.TOC LAFITEHARDCOPYBATCHFLG LAFITEHARDCOPYBATCHSHADE
LAFITEHARDCOPYFONT LAFITEHARDCOPYSEPARATOR LAFITEIMMEDIATECHANGESFLG LAFITEITEMBUSYSHADE
LAFITEMAIL.EXT LAFITEMAILFOLDERS LAFITEMAINMENU LAFITEMENUFONT LAFITEMINFROMCHARS
LAFITENEWPAGEFLG LAFITEPRIMARYDISPLAYWINDOW LAFITEREADONLYFLG LAFITESTATUSWINDOW
LAFITESTATUSWINDOWMINWIDTH LAFITESTATUSWINDOWPOSITION LAFITESUBBROWSEMENUITEMS
LAFITESYSTEMDATE LAFITETITLEFONT LAFITETOC.EXT LAFITEUPDATEMENUITEMS LAFITEVERIFYFLG
LAFITEVERSION# LASTMOUSEBUTTONS LASTMOUSEX LASTMOUSEY LOGINHOST/DIR MOVETOMARK MSGFOLDERICON
MSGFOLDERMASK MSGFOLDERTEMPLATE 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 \LAFITEUSERDATA \LAFITE.OUTBOX)
)
(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)))
)
(PUTPROPS LAFITEDECLS COPYRIGHT ("Xerox Corporation" 1985 1986))
(DECLARE: DONTCOPY
(FILEMAP (NIL)))
STOP