(FILECREATED " 1-Aug-85 12:46:51" ("compiled on " {ERIS}PROLOG>IO.%;1) "19-Mar-85 14:34:17" tcompl'd in "INTERLISP-D 19-Jun-85 ..." dated "19-Jun-85 10:24:28") (FILECREATED " 1-Aug-85 12:28:42" {ERIS}PROLOG>IO.%;1 21880 changes to: (VARS IOCOMS) ( RECORDS QP.IO.RECORD) (FNS PCHAR.COUNT PLINE.COUNT PLINE.POSITION QP.CLOSE.STREAM QP.GET.CHAR QP.GET.CHAR.TOKEN QP.GET.STREAM QP.GET0 QP.GET0.2 QP.GETPROMPT QP.INIT.IO QP.INPUT.KEY.CHECK QP.IO.OK QP.NEW.STREAM QP.OPEN.APPEND QP.OPEN.READ QP.OPEN.WRITE QP.OUTPUT.KEY.CHECK QP.P.ALPHAMERIC QP.P.CLOSE QP.P.CURRENT.INPUT QP.P.CURRENT.OUTPUT QP.P.FLUSH QP.P.SET.INPUT QP.P.SET.OUTPUT QP.POPEN.NULL QP.PROMPT QP.PUT QP.PUT.2 QP.PUT.STREAM QP.PUT.TOKEN.FLOAT QP.PUT.TOKEN.INTEGER QP.PUT.TOKEN.REF QP.PUT.TOKEN.SYMBOL QP.SETPROMPT QP.STREAM.OPENED QP.TIME.STATISTIC QP.UNGET0)) PCHAR.COUNT D1 (I 1 CHANNEL I 0 KEY) @Ag `A(l((7 QP.KEY.CHECK) (12Q QP.IO.TABLE 4 IO.CHAR.COUNT) () PLINE.COUNT D1 (I 1 CHANNEL I 0 KEY) @Ag `A(l((7 QP.KEY.CHECK) (12Q QP.IO.TABLE 4 IO.LINE.COUNT) () PLINE.POSITION D1 (I 1 CHANNEL I 0 KEY) @Ag `A(l((7 QP.KEY.CHECK) (12Q QP.IO.TABLE 4 IO.LINE.POSITION) () QP.CLOSE.STREAM D1 (L (0 STREAM)) (@d`l h*@``@``NIL (45Q QP.CURRENT.OUTPUT 42Q QP.STANDARD.OUTPUT 34Q QP.CURRENT.OUTPUT 27Q QP.CURRENT.INPUT 24Q QP.STANDARD.INPUT 17Q QP.CURRENT.INPUT 4 QP.PERMANENT.STREAMS) () QP.GET.CHAR D1 (F 1 MV.RETURNER1 F 2 MV.NARGS) ` Hclc`Hk((5 QP.GET.STREAM) (22Q QP.CHARTYPE.ARRAY 2 QP.CURRENT.INPUT) () QP.GET.CHAR.TOKEN D1 (P 4 CH P 3 CH1 P 2 TYPE P 1 CH P 0 CH F 5 MV.RETURNER1 F 6 MV.NARGS) ` Hdl(l(c lc gmmc lc gH ` `Ik(Zdgg$Idl(l( l c lc gc lc JJdgUIdl/E` Kdl*'` l*` Ldl/  Ic lc Jc lc Jg` l l cIc lc J(346Q QP.UNGET0 334Q QP.GET.STREAM 276Q QP.UNGET0 270Q QP.UNGET0 250Q QP.GET.STREAM 235Q QP.GET.STREAM 214Q QP.GET.STREAM 140Q QP.UNGET0 70Q QP.GET.STREAM 62Q QP.UNGET0 10Q QP.GET.STREAM 2 QP.CLEAR.BYTE.BUFFER) (331Q QP.CURRENT.INPUT 323Q percent 245Q QP.CURRENT.INPUT 232Q QP.CURRENT.INPUT 211Q QP.CURRENT.INPUT 172Q agglutinating 154Q white_space 120Q individual_char 107Q white_space 76Q QP.CHARTYPE.ARRAY 65Q QP.CURRENT.INPUT 55Q end_of_stream 35Q individual_char 5 QP.CURRENT.INPUT) () QP.GET.STREAM D1 (P 2 CHAR P 0 HOLD I 0 STREAM)  @l(X@lh*H@dl ( @`g@l( hk( %@`@l@l(k*@l@l(k*@l i*m`@d`@k( @l@l(k*Jdl i@l@l(k*@lj*l l7@d`0g Yj#II @l@l(k*@l@l(k*m@l@l(k*@l@l(k*J(266Q \FZEROP 251Q QP.PSEUDO 145Q QP.PROMPT 61Q EOFP 51Q QP.NERROR 31Q QP.CLOSE.STREAM) (246Q EDITOR.STATE 237Q QP.STANDARD.INPUT 203Q QP.NEWLINE.LAST 137Q QP.STANDARD.INPUT 131Q QP.NEWLINE.LAST 67Q QP.CURRENT.INPUT 42Q END.OF.FILE 35Q QP.STANDARD.INPUT) () QP.GET0 D1 NIL ` (5 QP.GET.STREAM) (2 QP.CURRENT.INPUT) () QP.GET0.2 D1 (I 1 CHANNEL I 0 KEY) @Ag `A( (17Q QP.GET.STREAM 7 QP.INPUT.KEY.CHECK) (12Q QP.IO.TABLE 4 IO.GET0) () QP.GETPROMPT D1 (F 0 QP.dummy) Pl(NIL NIL () QP.INIT.IO D1 (P 1 I) 5ll"IH.l ZlI*Jlj*Jlj*Jlj*J`IK*IkYl Hlm*Hlj*Hki*Hlg*Hl g*Hlj*Hlj*Hlj*H`j`*l Hlm*Hlk*Hki*Hlg*Hl g*Hlj*Hlj*Hlj*H`k`*l Hlm*Hll*Hki*Hlg*Hl g*Hlj*Hlj*Hlj*H`l`*`````hi(317Q ARRAY 206Q ARRAY 75Q ARRAY 20Q ARRAY) (461Q QP.PERMANENT.STREAMS 452Q QP.STANDARD.ERROR 447Q QP.STANDARD.OUTPUT 444Q QP.STANDARD.INPUT 441Q QP.CURRENT.OUTPUT 436Q QP.STANDARD.OUTPUT 433Q QP.CURRENT.INPUT 430Q QP.STANDARD.INPUT 424Q QP.STANDARD.ERROR 417Q QP.IO.TABLE 414Q QP.STANDARD.ERROR 363Q WRITE 353Q USER_ERROR 311Q QP.STANDARD.OUTPUT 305Q QP.IO.TABLE 302Q QP.STANDARD.OUTPUT 251Q WRITE 241Q USER 200Q QP.STANDARD.INPUT 174Q QP.IO.TABLE 171Q QP.STANDARD.INPUT 140Q READ 130Q USER 55Q QP.IO.TABLE) () QP.INPUT.KEY.CHECK D1 NIL iNIL NIL () QP.IO.OK D1 (L (0 STREAM.NUM)) j@NIL NIL () QP.NEW.STREAM D1 (P 3 STR P 1 FOUND.FLAG P 0 STRUCT I 1 MODE I 0 NAME F 4 STR) i llKJ`K(l (X IHg k@AdggggAggl *Hl A*Hl@*KYk[T (146Q QP.IO.OK 115Q OPENFILE 110Q SHOULDNT 42Q QP.IO.ERROR) (104Q APPEND 77Q APPEND 72Q OUTPUT 65Q WRITE 60Q INPUT 52Q READ 37Q NO.MORE.STREAMS 20Q QP.IO.TABLE) () QP.OPEN.APPEND D1 (I 1 KEY I 0 FILENAME F 3 MV.RETURNER1 F 4 MV.NARGS F 5 QP.IO.OK F 6 CHANNEL) /@g !HHIU JlA*VclcIclcm(24Q EQP 6 QP.NEW.STREAM) (3 APPEND) () QP.OPEN.READ D1 (I 1 KEY I 0 FILENAME F 3 MV.RETURNER1 F 4 MV.NARGS F 5 QP.IO.OK F 6 CHANNEL) /@g !HHIU JlA*VclcIclcm(24Q EQP 6 QP.NEW.STREAM) (3 READ) () QP.OPEN.WRITE D1 (I 1 KEY I 0 FILENAME F 3 MV.RETURNER1 F 4 MV.NARGS F 5 QP.IO.OK F 6 CHANNEL) /@g !HHIU JlA*VclcIclcm(24Q EQP 6 QP.NEW.STREAM) (3 WRITE) () QP.OUTPUT.KEY.CHECK D1 NIL iNIL NIL () QP.P.ALPHAMERIC D1 (P 0 TYPE I 0 CHAR) :`@k(HgHgHgHg@ ` b@ h(66Q QP.UNGET0 55Q QP.GET.STREAM 46Q QP.PUT.BYTE) (52Q QP.CURRENT.INPUT 40Q underbar 32Q digit 24Q capital_letter 15Q small_letter 2 QP.CHARTYPE.ARRAY) () QP.P.CLOSE D1 (I 1 CHANNEL I 0 KEY) @Ag `A( (17Q QP.CLOSE.STREAM 7 QP.KEY.CHECK) (12Q QP.IO.TABLE 4 IO.CLOSE) () QP.P.CURRENT.INPUT D1 (F 2 MV.RETURNER1 F 3 MV.NARGS) `l(`l(IclcHNIL (10Q QP.CURRENT.INPUT 2 QP.CURRENT.INPUT) () QP.P.CURRENT.OUTPUT D1 (F 2 MV.RETURNER1 F 3 MV.NARGS) `l(`l(IclcHNIL (10Q QP.CURRENT.OUTPUT 2 QP.CURRENT.OUTPUT) () QP.P.FLUSH D1 (I 1 CHANNEL I 0 KEY) @Ag (7 QP.OUTPUT.KEY.CHECK) (4 IO.FLUSH) () QP.P.SET.INPUT D1 (I 1 CHANNEL I 0 KEY) @Ag `A((7 QP.INPUT.KEY.CHECK) (17Q QP.CURRENT.INPUT 12Q QP.IO.TABLE 4 IO.SET.INPUT) () QP.P.SET.OUTPUT D1 (I 1 CHANNEL I 0 KEY) @Ag `A((7 QP.OUTPUT.KEY.CHECK) (17Q QP.CURRENT.OUTPUT 12Q QP.IO.TABLE 4 IO.SET.OUTPUT) () QP.POPEN.NULL D1 (I 0 KEY F 3 MV.RETURNER1 F 4 MV.NARGS F 5 QP.IO.OK F 6 CHANNEL) 1gg !HHIU Jl@*VclcIclcm(26Q EQP 10Q QP.NEW.STREAM) (5 WRITE 2 {NODIRCORE}) () QP.PROMPT D1 NIL hNIL NIL () QP.PUT D1 (I 0 CHAR) `@ (6 QP.PUT.STREAM) (2 QP.CURRENT.OUTPUT) () QP.PUT.2 D1 (I 2 CHAR I 1 CHANNEL I 0 KEY) @Ag `A(B (20Q QP.PUT.STREAM 7 QP.OUTKEY.CHECK) (12Q QP.IO.TABLE 4 IO.PUT.2) () QP.PUT.STREAM D1 (I 1 CHAR I 0 STREAM) `Al @l@l(k*@lj*@d`i@l@l(k*h@l@l(k*Al9`Al ٍl0AAl0ل`A@k( (135Q PRIN3) (125Q \OneCharAtomBase 103Q \OneCharAtomBase 60Q QP.NEWLINE.LAST 33Q QP.STANDARD.OUTPUT) () QP.PUT.TOKEN.FLOAT D1 (P 3 CHAR P 2 I P 0 LENGTH I 1 TOKEN I 0 STREAM) .A` !HkJI`J)Kl h@K JkZ(45Q QP.PUT.STREAM 6 QP.FLOAT.TO.STRING) (24Q QP.PUT.TOKEN.STRING 3 QP.PUT.TOKEN.STRING) () QP.PUT.TOKEN.INTEGER D1 (P 2 CHAR P 1 I P 0 STRING I 1 TOKEN I 0 STREAM) A kHI)Jh@J Ik԰(27Q QP.PUT.STREAM 3 MKSTRING) NIL () QP.PUT.TOKEN.REF D1 (P 2 OFFSET P 1 LOLOC P 0 HILOC I 1 TOKEN I 0 STREAM F 3 QP.membot) $A!AӹHSISlۺ@l_ @J (41Q QP.PUT.TOKEN.INTEGER 34Q QP.PUT.STREAM) NIL () QP.PUT.TOKEN.SYMBOL D1 (P 6 I P 5 CHAR P 4 TYPE1 P 2 QUOTE.NEEDED P 1 AGGLUTINATING.SEEN P 0 ALPHAMERIC.SEEN I 2 QUOTEFLAG I 1 TOKEN I 0 STREAM) Agj @Bj{BB q`Ak k(LgLgiKkAN ]>`M k([gKgKgKdgIigHiNkԾiJ@l' kAN)MJ@l' @M NkԾ(260Q QP.PUT.STREAM 252Q QP.PUT.STREAM 222Q QP.PUT.STREAM 122Q CHCON1 110Q NTHCHAR 46Q CHCON1 43Q NTHCHAR 31Q \FZEROP 10Q QP.PUT.TOKEN) (171Q agglutinating 155Q underbar 146Q digit 140Q capital_letter 131Q small_letter 116Q QP.CHARTYPE.ARRAY 71Q underbar 63Q capital_letter 36Q QP.CHARTYPE.ARRAY 4 %[%]) () QP.SETPROMPT D1 (L (0 ATOM) F 0 QP.dummy) Pl@*NIL NIL () QP.STREAM.OPENED D1 (L (0 CHAN.INDEX) F 3 QP.IO.CHANNEL F 4 MV.RETURNER1 F 5 MV.NARGS F 6 MV.RETURNER2 F 7 MV.RETURNER3 F 10Q MV.RETURNER4 F 11Q QP.IO.CHANNEL.LIMIT) TW@IHhd5SI(l (&SI(Zl(cJl(c Jl(cJl (clc IkYcdc dcdclc jNIL NIL () QP.TIME.STATISTIC D1 (F 2 QP.PREVIOUS.TIME F 3 MV.RETURNER1 F 4 MV.NARGS) Rj IcdHclcI(4 CLOCK) NIL () QP.UNGET0 D1 (L (0 CH)) `l@*NIL (2 QP.CURRENT.INPUT) () (PRETTYCOMPRINT IOCOMS) (RPAQQ IOCOMS ((MACROS DO.FOREVER IO.CHANNEL NEXTCHAR NOTZEROP QIO.CHARPOS QIO.EOF QIO.KEY QIO.LINENUM QIO.LINEPOS QIO.MODE QIO.NAME QIO.NUMBER QIO.PUSHBACK QIO.STREAM QP.GOBBLE./*COMMENT QP.GOBBLE.PCT.COMMENT) (RECORDS QP.IO.RECORD) (VARS QP.IO.CHANNEL.LIMIT QP.IO.TABLE QP.NEWLINE.LAST QP.PUT.TOKEN.STRING) (FNS PCHAR.COUNT PLINE.COUNT PLINE.POSITION QP.CLOSE.STREAM QP.GET.CHAR QP.GET.CHAR.TOKEN QP.GET.STREAM QP.GET0 QP.GET0.2 QP.GETPROMPT QP.INIT.IO QP.INPUT.KEY.CHECK QP.IO.OK QP.NEW.STREAM QP.OPEN.APPEND QP.OPEN.READ QP.OPEN.WRITE QP.OUTPUT.KEY.CHECK QP.P.ALPHAMERIC QP.P.CLOSE QP.P.CURRENT.INPUT QP.P.CURRENT.OUTPUT QP.P.FLUSH QP.P.SET.INPUT QP.P.SET.OUTPUT QP.POPEN.NULL QP.PROMPT QP.PUT QP.PUT.2 QP.PUT.STREAM QP.PUT.TOKEN.FLOAT QP.PUT.TOKEN.INTEGER QP.PUT.TOKEN.REF QP.PUT.TOKEN.SYMBOL QP.SETPROMPT QP.STREAM.OPENED QP.TIME.STATISTIC QP.UNGET0))) (PUTPROPS DO.FOREVER MACRO (**MACROARG** (LET ((BODY (NTH **MACROARG** 1))) (BQUOTE (PROG NIL TAG ,@ BODY (GO TAG)))))) (PUTPROPS IO.CHANNEL MACRO (**MACROARG** (LET ((NUMBER (CAR (NTH **MACROARG** 1)))) (BQUOTE (ELT QP.IO.TABLE , NUMBER))))) (PUTPROPS NEXTCHAR MACRO (**MACROARG** (LET ((STR (CAR (NTH **MACROARG** 1)))) (BQUOTE (CHCON1 (READC , STR)))))) (PUTPROPS NOTZEROP MACRO (**MACROARG** (LET ((N (CAR (NTH **MACROARG** 1)))) (BQUOTE (NOT (ZEROP , N)) )))) (PUTPROPS QIO.CHARPOS MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.CHARPOS) (QUOTE OF) X)))) (PUTPROPS QIO.EOF MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) (QUOTE QIO.EOF) (QUOTE OF) X)))) (PUTPROPS QIO.KEY MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) (QUOTE QIO.KEY) (QUOTE OF) X)))) (PUTPROPS QIO.LINENUM MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.LINENUM) (QUOTE OF) X)))) (PUTPROPS QIO.LINEPOS MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.LINEPOS) (QUOTE OF) X)))) (PUTPROPS QIO.MODE MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.MODE) (QUOTE OF) X)))) (PUTPROPS QIO.NAME MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.NAME) (QUOTE OF) X)))) (PUTPROPS QIO.NUMBER MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.NUMBER) (QUOTE OF) X)))) (PUTPROPS QIO.PUSHBACK MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.PUSHBACK) (QUOTE OF) X)))) (PUTPROPS QIO.STREAM MACRO (**MACROARG** (LET ((X (CAR (NTH **MACROARG** 1)))) (LIST (QUOTE FETCH) ( QUOTE QIO.STREAM) (QUOTE OF) X)))) (PUTPROPS QP.GOBBLE./*COMMENT MACRO (**MACROARG** (LET NIL (QUOTE (DO.FOREVER (COND ((EQ ( QP.GET.STREAM QP.CURRENT.INPUT) (CHARCODE *)) (LET ((CH (QP.GET.STREAM QP.CURRENT.INPUT))) (COND ((EQ CH (CHARCODE /)) (RETURN)) (T (QP.UNGET0 CH))))) (T NIL))))))) (PUTPROPS QP.GOBBLE.PCT.COMMENT MACRO (**MACROARG** (LET NIL (QUOTE (DO.FOREVER (COND ((EQ ( QP.GET.STREAM QP.CURRENT.INPUT) (CHARCODE EOL)) (QP.UNGET0 (CHARCODE EOL)) (RETURN)) (T NIL))))))) (ARRAYRECORD QP.IO.RECORD (QIO.STREAM QIO.NAME QIO.PUSHBACK QIO.CHARPOS QIO.LINENUM QIO.LINEPOS QIO.KEY QIO.NUMBER QIO.MODE QIO.EOF) QIO.CHARPOS _ 0 QIO.LINENUM _ 0 QIO.LINEPOS _ 0 QIO.MODE _ NIL) (RPAQQ QP.IO.CHANNEL.LIMIT 20) (RPAQ QP.IO.TABLE (READARRAY 20 (QUOTE POINTER) 0)) ({ARRAYP}#65,35074 {ARRAYP}#65,35160 {ARRAYP}#65,35244 {ARRAYP}#65,31724 {ARRAYP}#65,31730 {ARRAYP}#65,31734 {ARRAYP}#65,31740 {ARRAYP}#65,31744 {ARRAYP}#65,31750 {ARRAYP}#65,31754 {ARRAYP}#65,31760 {ARRAYP}#65,31764 {ARRAYP}#65,31770 {ARRAYP}#65,31774 {ARRAYP}#65,35000 {ARRAYP}#65,35004 {ARRAYP}#71,166100 {ARRAYP}#71,166120 {ARRAYP}#71,166124 {ARRAYP}#65,35010 NIL) (RPAQQ QP.NEWLINE.LAST NIL) (RPAQQ QP.PUT.TOKEN.STRING "" ) (PUTPROPS IO COPYRIGHT ("Xerox Corporation" 1985)) NIL