(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