SUBROUTINE EDIT COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER LIN(512),TERMI0 INTEGER CURSAV,STATUS,LEN,CURSOR INTEGER CKGLOB,DOCMD,DOGLOB,DOREAD,GETARG,GETLST,DOOPT,LENGTH LOGICAL INTRPT,BRKFL0 EXTERNAL DOLOG0 SHORTCALL MKONU$(22) INTEGER AAAAA0(5) INTEGER AAAAB0(5) INTEGER AAAAC0 INTEGER AAAAD0 EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) DATA AAAAA0/7,-13105,-14385,-10796,-23392/ DATA AAAAB0/227,237,228,190,0/ CALL WATCH CALL SERC STATUS=-2 10000 IF((STATUS.NE.-2))GOTO 10001 IF((GETARG(ARGNO0,LIN,512-3).EQ.-1))GOTO 10001 CALL LOADS0(LIN,ARGNO0,8,NCOLS0) NLINE0=0 IF((LIN(1).NE.173))GOTO 10002 LEN=LENGTH(LIN)+1 LIN(LEN)=138 LIN(LEN+1)=0 LEN=1 STATUS=DOOPT(LIN,LEN) GOTO 10003 10002 STATUS=DOREAD(LASTL0,LIN) 10003 ARGNO0=ARGNO0+(1) GOTO 10000 10001 IF((STATUS.NE.-3))GOTO 10004 CALL PRINT0 GOTO 10005 10004 CURLN0=MIN0(1,LASTL0) 10005 BUFFE0=0 FIRSU0=1 CALL UPDSC0 IF((STATUS.EQ.-3))GOTO 10006 LIN(1)=0 10006 CURSOR=0 CALL MKONU$(AAAAA0,LOC(DOLOG0)) 10007 CALL INTRPT(BRKFL0) IF((LOSTL0.LE.2000))GOTO 10008 IF(((LASTL0+LIMCN0)/LOSTL0.GT.2))GOTO 10008 CALL GARBA0 10008 CALL MSWAIT CMDRO0=NROWS0-1 CALL PROMPT(AAAAB0) CALL GETCMD(LIN,1,CURSOR,TERMI0) CALL MESG(0,1) 10009 IF((TERMI0.EQ.132))GOTO 10011 IF((TERMI0.EQ.139))GOTO 10011 IF((TERMI0.EQ.141))GOTO 10011 GOTO 10010 10011 AAAAC0=TERMI0 GOTO 10012 10013 IF((CURLN0.LE.1))GOTO 10014 CURLN0=CURLN0-(1) GOTO 10016 10014 CURLN0=LASTL0 10015 GOTO 10016 10017 IF((CURLN0.GE.LASTL0))GOTO 10018 CURLN0=CURLN0+(1) GOTO 10016 10018 CURLN0=MIN0(1,LASTL0) 10019 GOTO 10016 10016 CALL ADJUS0(CURLN0,CURLN0) CALL UPDSC0 GOTO 10020 10012 AAAAD0=AAAAC0-131 GOTO(10013,10021,10021,10021,10021,10021,10021,10017),AAAAD0 10021 CONTINUE 10020 CALL GETCMD(LIN,1,CURSOR,TERMI0) GOTO 10009 10010 CALL PROMPT(0) CURSAV=CURLN0 ERRCO0=7 LEN=1 IF((GETLST(LIN,LEN,STATUS).NE.-2))GOTO 10022 IF((CKGLOB(LIN,LEN,STATUS).NE.-2))GOTO 10023 CALL DOGLOB(LIN,LEN,CURSAV,STATUS) GOTO 10024 10023 IF((STATUS.EQ.-3))GOTO 10025 CALL DOCMD(LIN,LEN,0,STATUS) 10025 CONTINUE 10024 CONTINUE 10022 IF((STATUS.NE.-3))GOTO 10026 CALL PRINT0 CURLN0=MIN0(CURSAV,LASTL0) GOTO 10027 10026 IF((TERMI0.EQ.134))GOTO 10028 CURSOR=0 LIN(1)=0 10028 CONTINUE 10027 CALL ADJUS0(CURLN0,CURLN0) CALL UPDSC0 IF((STATUS.NE.-1))GOTO 10007 CALL CLRSC0 CALL CLRBUF RETURN END LOGICAL FUNCTION INTRPT(ARG) LOGICAL ARG COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER JUNK EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) CALL QUIT$(ARG) INTRPT=ARG IF((.NOT.INTRPT))GOTO 10029 ERRCO0=22 CALL RESTO0 CALL TTY$RS(:40000,JUNK) 10029 RETURN END INTEGER FUNCTION GETLST(LIN,I,STATUS) INTEGER LIN(512) INTEGER I,STATUS COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER NUM INTEGER GETONE EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) LINE20=0 NLINE0=0 GOTO 10032 10030 CONTINUE 10032 IF((GETONE(LIN,I,NUM,STATUS).NE.-2))GOTO 10031 LINE10=LINE20 LINE20=NUM NLINE0=NLINE0+(1) IF((LIN(I).EQ.172))GOTO 10033 IF((LIN(I).EQ.187))GOTO 10033 GOTO 10031 10033 IF((LIN(I).NE.187))GOTO 10034 CURLN0=NUM 10034 I=I+(1) GOTO 10030 10031 IF((NLINE0.LE.2))GOTO 10035 NLINE0=2 10035 IF((NLINE0.GT.1))GOTO 10036 LINE10=LINE20 10036 IF((LINE10.LE.LINE20))GOTO 10037 STATUS=-3 ERRCO0=1 10037 IF((STATUS.EQ.-3))GOTO 10038 STATUS=-2 10038 GETLST=STATUS RETURN END INTEGER FUNCTION GETNUM(LIN,I,PNUM,STATUS) INTEGER LIN(512) INTEGER I,PNUM,STATUS COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER J INTEGER MISSI0,K INTEGER CTOI,OPTPAT,PTSCAN,KNSCAN,GETKN EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) GETNUM=-2 10039 IF((LIN(I).NE.160))GOTO 10041 I=I+(1) GOTO 10039 10042 PNUM=TOPLN0-TOPRO0+1+LIN(I)-RELAA0 GOTO 10043 10044 PNUM=CURLN0 GOTO 10043 10045 PNUM=CURLN0-1 GOTO 10043 10046 PNUM=LASTL0 GOTO 10043 10047 MISSI0=1 K=I+1 GOTO 10050 10048 K=K+(1) 10050 IF((LIN(K).EQ.0))GOTO 10049 IF((LIN(K).NE.ESCAP0))GOTO 10051 IF((LIN(K+1).NE.LIN(I)))GOTO 10051 K=K+(1) GOTO 10048 10051 IF((LIN(K).NE.LIN(I)))GOTO 10053 MISSI0=0 GOTO 10049 10053 CONTINUE 10052 GOTO 10048 10049 IF((MISSI0.NE.1))GOTO 10054 GOTO 10057 10055 K=K+(1) 10057 IF((LIN(K).EQ.0))GOTO 10056 GOTO 10055 10056 K=K-(1) LIN(K)=LIN(I) LIN(K+1)=138 LIN(K+2)=0 PEEKC0=143 10054 IF((OPTPAT(LIN,I).NE.-3))GOTO 10058 GETNUM=-3 GOTO 10043 10058 IF((LIN(I).NE.175))GOTO 10060 GETNUM=PTSCAN(0,PNUM) GOTO 10061 10060 GETNUM=PTSCAN(-1,PNUM) 10061 CONTINUE 10059 GOTO 10043 10062 J=I I=I+(1) IF((GETKN(LIN,I,SAVKN0,SAVKN0).NE.-3))GOTO 10063 GETNUM=-3 GOTO 10064 10063 IF((LIN(J).NE.190))GOTO 10065 GETNUM=KNSCAN(0,PNUM) GOTO 10066 10065 GETNUM=KNSCAN(-1,PNUM) 10066 CONTINUE 10064 I=I-(1) GOTO 10043 10067 PNUM=CTOI(LIN,I) I=I-(1) GOTO 10043 10068 PNUM=TOPLN0 GOTO 10043 10041 IF((LIN(I).LT.RELAA0))GOTO 10069 IF((LIN(I).GT.RELZA0))GOTO 10069 IF((ABSNO0.NE.0))GOTO 10069 GOTO 10042 10069 IF((LIN(I).EQ.174))GOTO 10044 IF((LIN(I).EQ.222))GOTO 10045 IF((LIN(I).EQ.173))GOTO 10045 IF((LIN(I).EQ.164))GOTO 10046 IF((LIN(I).EQ.175))GOTO 10047 IF((LIN(I).EQ.BACKS0))GOTO 10047 IF((LIN(I).EQ.190))GOTO 10062 IF((LIN(I).EQ.188))GOTO 10062 IF((176.GT.LIN(I)))GOTO 10070 IF((LIN(I).GT.185))GOTO 10070 GOTO 10067 10070 IF((LIN(I).EQ.163))GOTO 10068 GETNUM=-1 10043 IF((GETNUM.NE.-2))GOTO 10071 I=I+(1) 10071 STATUS=GETNUM RETURN END INTEGER FUNCTION GETONE(LIN,I,NUM,STATUS) INTEGER LIN(512) INTEGER I,NUM,STATUS COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER PNUM,PORM INTEGER GETNUM EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) GETONE=-1 NUM=0 IF((GETNUM(LIN,I,NUM,STATUS).NE.-2))GOTO 10072 GETONE=-2 10073 PORM=-1 10074 IF((LIN(I).NE.160))GOTO 10075 I=I+(1) GOTO 10074 10075 IF((LIN(I).EQ.173))GOTO 10077 IF((LIN(I).EQ.171))GOTO 10077 GOTO 10076 10077 PORM=LIN(I) I=I+(1) 10076 IF((GETNUM(LIN,I,PNUM,STATUS).NE.-2))GOTO 10078 IF((PORM.NE.173))GOTO 10079 NUM=NUM-(PNUM) GOTO 10080 10079 NUM=NUM+(PNUM) 10080 CONTINUE 10078 IF((STATUS.NE.-1))GOTO 10081 IF((PORM.EQ.-1))GOTO 10081 STATUS=-3 10081 CONTINUE IF((STATUS.EQ.-2))GOTO 10073 10072 IF((NUM.LT.0))GOTO 10083 IF((NUM.GT.LASTL0))GOTO 10083 GOTO 10082 10083 STATUS=-3 ERRCO0=17 10082 IF((STATUS.NE.-3))GOTO 10084 GETONE=-3 GOTO 10085 10084 STATUS=GETONE 10085 RETURN END INTEGER FUNCTION CKGLOB(LIN,I,STATUS) INTEGER LIN(512) INTEGER I,STATUS COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER LINE,USEPAT,USEMA0,TMP INTEGER DEFALT,MATCH,OPTPAT,GETKN INTEGER K LOGICAL INTRPT,BRKFL0 INTEGER AAAAE0 INTEGER AAAAF0(5) EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) DATA AAAAF0/199,204,207,194,0/ STATUS=-2 USEPAT=-1 USEMA0=-1 IF((LIN(I).EQ.167))GOTO 10087 IF((LIN(I).EQ.XMARK0))GOTO 10087 GOTO 10086 10087 IF((LIN(I).NE.167))GOTO 10088 USEMA0=1 GOTO 10089 10088 USEMA0=0 10089 I=I+(1) STATUS=GETKN(LIN,I,SAVKN0,SAVKN0) 10086 IF((STATUS.NE.-2))GOTO 10090 AAAAE0=LIN(I) GOTO 10091 10092 USEPAT=1 GOTO 10093 10094 USEPAT=0 GOTO 10093 10093 I=I+(1) IF((OPTPAT(LIN,I).NE.-3))GOTO 10095 STATUS=-3 GOTO 10097 10095 I=I+(1) 10096 GOTO 10097 10091 IF(AAAAE0.EQ.199)GOTO 10092 IF(AAAAE0.EQ.216)GOTO 10094 IF(AAAAE0.EQ.231)GOTO 10092 IF(AAAAE0.EQ.248)GOTO 10094 10097 CONTINUE 10090 IF((STATUS.NE.-2))GOTO 10098 IF((USEPAT.NE.-1))GOTO 10098 IF((USEMA0.NE.-1))GOTO 10098 STATUS=-1 GOTO 10099 10098 IF((STATUS.NE.-2))GOTO 10100 CALL DEFALT(1,LASTL0) 10100 CONTINUE 10099 IF((STATUS.NE.-2))GOTO 10101 CALL MESG(AAAAF0,1) K=LINE00 LINE=0 GOTO 10104 10102 LINE=LINE+(1) 10104 IF((LINE.GE.LINE10))GOTO 10107 GLOBM0(K)=0 K=NEXTL0(K) GOTO 10102 10105 LINE=LINE+(1) 10107 IF((LINE.GT.LINE20))GOTO 10118 IF((.NOT.INTRPT(BRKFL0)))GOTO 10108 STATUS=-3 CKGLOB=STATUS RETURN 10108 TMP=0 IF((USEMA0.EQ.-1))GOTO 10110 IF((USEMA0.NE.1))GOTO 10111 IF((MARKN0(K).NE.SAVKN0))GOTO 10111 GOTO 10110 10111 IF((USEMA0.NE.0))GOTO 10109 IF((MARKN0(K).EQ.SAVKN0))GOTO 10109 GOTO 10110 10110 IF((USEPAT.NE.-1))GOTO 10113 TMP=1 GOTO 10114 10113 CALL GTXT(K) IF((MATCH(TXTAA0,PATAA0).NE.USEPAT))GOTO 10115 TMP=1 10115 CONTINUE 10114 CONTINUE 10109 GLOBM0(K)=TMP K=NEXTL0(K) GOTO 10105 10116 K=NEXTL0(K) 10118 IF((K.EQ.LINE00))GOTO 10117 GLOBM0(K)=0 GOTO 10116 10117 CALL MESG(0,1) 10101 CKGLOB=STATUS RETURN END INTEGER FUNCTION DOCMD(LIN,I,GLOB,STATUS) INTEGER LIN(1) INTEGER I,GLOB,STATUS COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER FILE(512),SUB(256) INTEGER GFLAG,LINE3,PFLAG,FLAG,FFLAG,JUNK,KNAME,ALLBUT INTEGER APPEND,CKCHAR,CKP,CKUPD,COPY,DELETE,DOMARK,DOOPT,DOPRNT,DO *READ,DOTLIT,DOUNDO,DOWRIT,GETFN,GETKN,GETONE,GETRA0,GETRHS,GETSTR, *JOIN,MAKSET,MOVE,NEXTLN,OPTPAT,PREVLN,SUBST,DRAWB0,DOSHE0 LOGICAL INTRPT,BRKFL0 INTEGER J,MISSI0 INTEGER AAAAG0 INTEGER AAAAH0 INTEGER AAAAI0 EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) STATUS=-3 IF((.NOT.INTRPT(BRKFL0)))GOTO 10119 GOTO 10120 10119 AAAAG0=LIN(I) GOTO 10121 10122 IF((LIN(I+1).EQ.138))GOTO 10124 IF((LIN(I+1).EQ.186))GOTO 10124 GOTO 10126 10124 CALL DEFALT(CURLN0,CURLN0) IF((LIN(I+1).NE.138))GOTO 10125 CALL ADJUS0(LINE10,LINE20) CALL UPDSC0 10125 STATUS=APPEND(LINE20,LIN(I+1)) 10123 GOTO 10126 10127 IF((LIN(I+1).NE.138))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) CALL SAYNUM(LINE20) STATUS=-2 10128 GOTO 10126 10129 CALL DEFALT(CURLN0,CURLN0) IF((LIN(I+1).NE.138))GOTO 10126 CALL OVERL0(STATUS) 10130 GOTO 10126 10131 CALL DEFALT(CURLN0,CURLN0) IF((LINE10.GT.0))GOTO 10132 ERRCO0=17 GOTO 10126 10132 IF((LIN(I+1).EQ.138))GOTO 10135 IF((LIN(I+1).EQ.186))GOTO 10135 GOTO 10134 10135 IF((LIN(I+1).NE.138))GOTO 10136 CALL ADJUS0(LINE20,LINE20) CALL UPDSC0 10136 FIRSU0=MIN0(FIRSU0,LINE10) IF((FIRSU0.LE.LINE10))GOTO 10137 FIRSU0=LINE10 10137 IF((LIN(I+1).NE.138))GOTO 10138 CALL WARND0(LINE10,LINE20) 10138 STATUS=APPEND(LINE20,LIN(I+1)) IF((STATUS.EQ.-3))GOTO 10139 LINE3=CURLN0 CALL DELETE(LINE10,LINE20,STATUS) CURLN0=LINE3-(LINE20-LINE10+1) 10139 CONTINUE 10134 CONTINUE 10133 GOTO 10126 10140 IF((CKP(LIN,I+1,PFLAG,STATUS).NE.-2))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) IF((DELETE(LINE10,LINE20,STATUS).NE.-2))GOTO 10142 IF((DDIRA0.NE.0))GOTO 10142 IF((NEXTLN(CURLN0).EQ.0))GOTO 10142 CURLN0=NEXTLN(CURLN0) 10142 CONTINUE 10141 GOTO 10126 10143 CALL DEFALT(CURLN0,CURLN0) IF((LINE10.GT.0))GOTO 10144 ERRCO0=17 GOTO 10126 10144 IF((LIN(I+1).EQ.138))GOTO 10147 IF((LIN(I+1).EQ.186))GOTO 10147 GOTO 10146 10147 IF((LIN(I+1).NE.138))GOTO 10148 CALL ADJUS0(LINE10,LINE20) CALL UPDSC0 10148 STATUS=APPEND(PREVLN(LINE20),LIN(I+1)) 10146 CONTINUE 10145 GOTO 10126 10149 I=I+(1) IF((GETONE(LIN,I,LINE3,STATUS).NE.-1))GOTO 10150 STATUS=-3 10150 IF((STATUS.NE.-2))GOTO 10126 IF((CKP(LIN,I,PFLAG,STATUS).NE.-2))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) STATUS=MOVE(LINE3) 10151 GOTO 10126 10152 IF((UNIXM0.NE.1))GOTO 10153 GOTO 2 10153 CONTINUE 1 I=I+(1) IF((GETONE(LIN,I,LINE3,STATUS).NE.-1))GOTO 10154 STATUS=-3 10154 IF((STATUS.NE.-2))GOTO 10126 IF((CKP(LIN,I,PFLAG,STATUS).NE.-2))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) STATUS=COPY(LINE3) 10155 GOTO 10126 10156 I=I+(1) IF((LIN(I).NE.138))GOTO 10157 LIN(I+0)=175 LIN(I+1)=175 IF((UNIXM0.NE.0))GOTO 10158 LIN(I+2)=166 GOTO 10159 10158 LIN(I+2)=165 10159 LIN(I+3)=175 LIN(I+4)=138 LIN(I+5)=0 PEEKC0=143 GOTO 10160 10157 MISSI0=1 J=I+1 GOTO 10163 10161 J=J+(1) 10163 IF((LIN(J).EQ.0))GOTO 10162 IF((LIN(J).NE.ESCAP0))GOTO 10164 IF((LIN(J+1).NE.LIN(I)))GOTO 10164 J=J+(1) GOTO 10161 10164 IF((LIN(J).NE.LIN(I)))GOTO 10166 MISSI0=0 GOTO 10162 10166 CONTINUE 10165 GOTO 10161 10162 IF((MISSI0.NE.1))GOTO 10167 GOTO 10170 10168 J=J+(1) 10170 IF((LIN(J).EQ.0))GOTO 10169 GOTO 10168 10169 J=J-(1) LIN(J)=LIN(I) LIN(J+1)=138 LIN(J+2)=0 PEEKC0=143 10167 CONTINUE 10160 IF((OPTPAT(LIN,I).NE.-2))GOTO 10126 IF((GETRHS(LIN,I,SUB,GFLAG).NE.-2))GOTO 10126 IF((CKP(LIN,I+1,PFLAG,STATUS).NE.-2))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) STATUS=SUBST(SUB,GFLAG,GLOB) 10171 GOTO 10126 10172 IF((UNIXM0.NE.1))GOTO 10173 GOTO 1 10173 CONTINUE 2 I=I+(1) IF((LIN(I).NE.138))GOTO 10174 LIN(I+0)=175 LIN(I+1)=175 IF((UNIXM0.NE.0))GOTO 10175 LIN(I+2)=166 GOTO 10176 10175 LIN(I+2)=165 10176 LIN(I+3)=175 LIN(I+4)=138 LIN(I+5)=0 PEEKC0=143 GOTO 10177 10174 MISSI0=1 J=I+1 GOTO 10180 10178 J=J+(1) 10180 IF((LIN(J).EQ.0))GOTO 10179 IF((LIN(J).NE.ESCAP0))GOTO 10181 IF((LIN(J+1).NE.LIN(I)))GOTO 10181 J=J+(1) GOTO 10178 10181 IF((LIN(J).NE.LIN(I)))GOTO 10183 MISSI0=0 GOTO 10179 10183 CONTINUE 10182 GOTO 10178 10179 IF((MISSI0.NE.1))GOTO 10184 GOTO 10187 10185 J=J+(1) 10187 IF((LIN(J).EQ.0))GOTO 10186 GOTO 10185 10186 J=J-(1) LIN(J)=LIN(I) LIN(J+1)=138 LIN(J+2)=0 PEEKC0=143 10184 CONTINUE 10177 IF((GETRA0(LIN,I,TLPAT0,256,ALLBUT).NE.-2))GOTO 10126 IF((MAKSET(LIN,I,SUB,256).NE.-2))GOTO 10126 IF((CKP(LIN,I+1,PFLAG,STATUS).NE.-2))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) STATUS=DOTLIT(SUB,ALLBUT) 10188 GOTO 10126 10189 I=I+(1) IF((GETSTR(LIN,I,SUB,256).NE.-2))GOTO 10126 IF((CKP(LIN,I+1,PFLAG,STATUS).NE.-2))GOTO 10126 CALL DEFALT(PREVLN(CURLN0),CURLN0) STATUS=JOIN(SUB) 10190 GOTO 10126 10191 I=I+(1) CALL DEFALT(CURLN0,CURLN0) IF((CKCHAR(196,228,LIN,I,FLAG,STATUS).NE.-2))GOTO 10126 IF((CKP(LIN,I,PFLAG,STATUS).NE.-2))GOTO 10126 STATUS=DOUNDO(FLAG,STATUS) 10192 GOTO 10126 10193 I=I+(1) IF((NLINE0.EQ.0))GOTO 10194 ERRCO0=32 GOTO 10126 10194 IF((CKUPD(LIN,I,229,STATUS).NE.-2))GOTO 10196 IF((GETFN(LIN,I-1,FILE).NE.-2))GOTO 10197 CALL SCOPY(FILE,1,SAVFI0,1) CALL MESG(FILE,6) CALL CLRBUF CALL SETBUF STATUS=DOREAD(0,FILE) FIRSU0=0 CURLN0=MIN0(1,LASTL0) BUFFE0=0 GOTO 10198 10197 STATUS=-3 10198 CONTINUE 10196 CONTINUE 10195 GOTO 10126 10199 IF((NLINE0.EQ.0))GOTO 10200 ERRCO0=32 GOTO 10126 10200 IF((GETFN(LIN,I,FILE).NE.-2))GOTO 10202 CALL SCOPY(FILE,1,SAVFI0,1) CALL MESG(FILE,6) STATUS=-2 10202 CONTINUE 10201 GOTO 10126 10203 IF((GETFN(LIN,I,FILE).NE.-2))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) STATUS=DOREAD(LINE20,FILE) 10204 GOTO 10126 10205 I=I+(1) FLAG=0 FFLAG=0 CALL CKCHAR(171,190,LIN,I,FLAG,JUNK) IF((FLAG.NE.0))GOTO 10206 CALL CKCHAR(161,161,LIN,I,FFLAG,JUNK) 10206 IF((GETFN(LIN,I-1,FILE).NE.-2))GOTO 10126 CALL DEFALT(1,LASTL0) STATUS=DOWRIT(LINE10,LINE20,FILE,FLAG,FFLAG) 10207 GOTO 10126 10208 IF((LIN(I+1).NE.138))GOTO 10126 CALL DEFALT(1,TOPLN0) STATUS=DOPRNT(LINE10,LINE20) 10209 GOTO 10126 10210 CALL DEFALT(1,MIN0(LASTL0,BOTRO0-TOPRO0+TOPLN0)) IF((LINE10.GT.0))GOTO 10211 ERRCO0=17 GOTO 10126 10211 IF((LIN(I+1).NE.138))GOTO 10213 TOPLN0=LINE20 CURLN0=LINE20 FIRSU0=LINE20 STATUS=-2 10213 CONTINUE 10212 GOTO 10126 10214 I=I+(1) IF((GETKN(LIN,I,KNAME,160).EQ.-3))GOTO 10126 IF((LIN(I).NE.138))GOTO 10126 CALL UNIQU0(KNAME,STATUS) 10215 GOTO 10126 10216 I=I+(1) IF((GETKN(LIN,I,KNAME,160).EQ.-3))GOTO 10126 IF((LIN(I).NE.138))GOTO 10126 CALL DEFALT(CURLN0,CURLN0) STATUS=DOMARK(KNAME) 10217 GOTO 10126 10218 LINE3=NEXTLN(CURLN0) CALL DEFALT(LINE3,LINE3) STATUS=DOPRNT(LINE20,LINE20) GOTO 10126 10219 IF((LIN(I+1).NE.138))GOTO 10126 CALL WHERE0 STATUS=-2 10220 GOTO 10126 10221 CALL DEFALT(CURLN0,CURLN0) STATUS=DOOPT(LIN,I) GOTO 10126 10222 I=I+(1) IF((NLINE0.EQ.0))GOTO 10223 ERRCO0=32 GOTO 10126 10223 IF((CKUPD(LIN,I,241,STATUS).NE.-2))GOTO 10225 IF((LIN(I).NE.138))GOTO 10226 STATUS=-1 GOTO 10227 10226 STATUS=-3 10227 CONTINUE 10225 CONTINUE 10224 GOTO 10126 10228 I=I+(1) IF((NLINE0.NE.0))GOTO 10229 CALL DOHELP(LIN,I,STATUS) GOTO 10126 10229 ERRCO0=32 10230 GOTO 10126 10231 I=I+(1) AAAAH0=LIN(I) GOTO 10232 10233 CALL DEFALT(CURLN0,CURLN0) I=I+(1) STATUS=DRAWB0(LIN,I) GOTO 10126 10232 IF(AAAAH0.EQ.194)GOTO 10233 IF(AAAAH0.EQ.226)GOTO 10233 ERRCO0=21 10234 GOTO 10126 10235 IF((UNIXM0.NE.1))GOTO 10236 CALL ERROR('in docmd: can''t happen.') 10236 CONTINUE 3 I=I+(1) CALL DEFALT(CURLN0,CURLN0) STATUS=DOSHE0(LIN,I) GOTO 10126 10237 IF((UNIXM0.NE.1))GOTO 10238 GOTO 3 10238 ERRCO0=21 GOTO 10126 10121 IF(AAAAG0.EQ.138)GOTO 10218 IF(AAAAG0.EQ.161)GOTO 10237 AAAAI0=AAAAG0-185 GOTO(10210,10239,10239,10127,10239,10239,10239,10122,10239,10131 *,10140,10193,10199,10239,10228,10143,10189,10216,10219,10149,10214 *,10221,10208,10222,10203,10156,10172,10191,10129,10205,10239,10152 *,10231,10239,10239,10239,10239,10239,10239,10122,10239,10131,10140 *,10193,10199,10239,10228,10143,10189,10216,10219,10149,10214,10221 *,10208,10222,10203,10156,10172,10191,10129,10205,10239,10152,10231 *,10239,10239,10239,10235),AAAAI0 10239 ERRCO0=21 10126 CONTINUE 10120 IF((STATUS.NE.-2))GOTO 10240 PROBA0=0 10240 DOCMD=STATUS RETURN END SUBROUTINE DEFALT(DEF1,DEF2) INTEGER DEF1,DEF2 COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) IF((NLINE0.NE.0))GOTO 10241 LINE10=DEF1 LINE20=DEF2 10241 RETURN END SUBROUTINE MSWAIT INTEGER FD INTEGER FOLLOW,OPEN INTEGER AAAAJ0(10) INTEGER AAAAK0(7) INTEGER AAAAL0(7) INTEGER AAAAM0(8) DATA AAAAJ0/189,231,239,243,243,233,240,189,160,0/ DATA AAAAK0/189,245,243,229,242,189,0/ DATA AAAAL0/170,189,240,233,228,189,0/ DATA AAAAM0/205,229,243,243,225,231,229,0/ IF((FOLLOW(AAAAJ0,0).EQ.-3))GOTO 10242 FD=OPEN(AAAAK0,1) IF((FD.NE.-3))GOTO 10243 FD=OPEN(AAAAL0,1) 10243 CALL FOLLOW(0,0) IF((FD.EQ.-3))GOTO 10244 CALL CLOSE(FD) CALL MESG(AAAAM0,7) RETURN 10244 CONTINUE 10242 CALL MESG(0,7) RETURN END SUBROUTINE RELINK(A,X,Y,B) INTEGER A,B,X,Y COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) PREVL0(X)=A NEXTL0(Y)=B RETURN END SUBROUTINE WATCH INTEGER FACE(10) CALL DATE(2,FACE) FACE(6)=0 CALL MESG(FACE,5) RETURN END SUBROUTINE MESG(S,T) INTEGER S(1) INTEGER T COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER COL,NEED,C,FIRST,LAST INTEGER LENGTH EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) FIRST=1 GOTO 10247 10245 FIRST=FIRST+(1) 10247 IF((FIRST.GT.NCOLS0))GOTO 10246 IF((MSGAL0(FIRST).NE.T))GOTO 10245 GOTO 10246 10246 LAST=FIRST GOTO 10251 10249 LAST=LAST+(1) 10251 IF((LAST.GT.NCOLS0))GOTO 10255 IF((MSGAL0(LAST).EQ.T))GOTO 10252 GOTO 10255 10252 MSGAL0(LAST)=0 GOTO 10249 10253 FIRST=FIRST-(1) 10255 IF((FIRST.LE.1))GOTO 10254 IF((MSGAL0(FIRST-1).NE.0))GOTO 10254 GOTO 10253 10254 NEED=LENGTH(S)+2 IF((NEED.LE.2))GOTO 10256 IF((NEED.GT.LAST-FIRST))GOTO 10257 COL=FIRST GOTO 10258 10257 COL=1 GOTO 10261 10259 COL=C 10261 IF((COL.GE.NCOLS0))GOTO 10260 10262 IF((COL.GE.NCOLS0))GOTO 10263 IF((MSGAL0(COL).EQ.0))GOTO 10263 COL=COL+(1) GOTO 10262 10263 C=COL GOTO 10266 10264 C=C+(1) 10266 IF((MSGAL0(C).NE.0))GOTO 10265 IF((C.LT.NCOLS0))GOTO 10264 GOTO 10265 10265 IF((C-COL.LT.NEED))GOTO 10259 GOTO 10260 10260 CONTINUE 10258 IF((COL+NEED.LE.NCOLS0))GOTO 10269 COL=1 C=1 GOTO 10272 10270 C=C+(1) 10272 IF((C.GT.NCOLS0))GOTO 10271 IF((MSGAL0(C).EQ.0))GOTO 10270 CALL LOAD(SCREE0(C,NROWS0),NROWS0,COL) MSGAL0(COL)=MSGAL0(C) COL=COL+(1) 10273 GOTO 10270 10271 C=COL GOTO 10276 10274 C=C+(1) 10276 IF((C.GT.NCOLS0))GOTO 10275 MSGAL0(C)=0 GOTO 10274 10275 CONTINUE 10269 CALL LOAD(160,NROWS0,COL) CALL LOADS0(S,NROWS0,COL+1,0) CALL LOAD(160,NROWS0,COL+NEED-1) C=COL GOTO 10279 10277 C=C+(1) 10279 IF((C.GT.MIN0(COL+NEED-1,NCOLS0)))GOTO 10278 MSGAL0(C)=T GOTO 10277 10278 CONTINUE 10256 DO 10280 COL=1,NCOLS0 IF((MSGAL0(COL).NE.0))GOTO 10282 CALL LOAD(174,NROWS0,COL) 10282 CONTINUE 10280 CONTINUE 10281 RETURN END INTEGER FUNCTION NEXTLN(LINE) INTEGER LINE COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) NEXTLN=LINE+1 IF((NEXTLN.LE.LASTL0))GOTO 10283 NEXTLN=0 10283 RETURN END INTEGER FUNCTION PREVLN(LINE) INTEGER LINE COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) PREVLN=LINE-1 IF((PREVLN.GE.0))GOTO 10284 PREVLN=LASTL0 10284 RETURN END SUBROUTINE SERC COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0 INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0 COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256) INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0 COMMON /CTXT/TXTAA0(512) INTEGER TXTAA0 COMMON /CFILE/SAVFI0(512) INTEGER SAVFI0 COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520) INTEGER LASTB0,FENCE0,FREEA0,LINE00 INTEGER BUFAA0 INTEGER PREVL0(1),NEXTL0(1) INTEGER GLOBM0(1),LINEL0(1) INTEGER * 4 SEEKA0(1) INTEGER MARKN0(1) COMMON /CUNDO/LIMBO0,LIMCN0 INTEGER LIMBO0,LIMCN0 COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0 INTEGER SCRAA0 INTEGER * 4 SCREN0 INTEGER SCRNA0 INTEGER LOSTL0 COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV *CO0 INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0 INTEGER PEEKC0,SAVCO0(512) COMMON /CMARK/SAVKN0 INTEGER SAVKN0 COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0 INTEGER TABST0,TABSU0,UNPRI0 INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL *OBA0 COMMON /CTERM/TERMT0 INTEGER TERMT0 COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0, *SCLEN0,SCTOP0,SCLIN0 INTEGER SCREE0 INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51) COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0 INTEGER UNIXM0 INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0 COMMON /CTTY/TTYST0 INTEGER TTYST0 INTEGER LIN(512) INTEGER FD,OPEN INTEGER STATUS,LEN,CURSAV,GETLIN INTEGER GETLST,CKGLOB INTEGER AAAAN0(13) EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1) *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1) *,BUFAA0(7)) DATA AAAAN0/189,232,239,237,229,189,175,174,243,229,242,227,0/ FD=OPEN(AAAAN0,1) IF((FD.NE.-3))GOTO 10285 RETURN 10285 STATUS=14 10286 IF((GETLIN(LIN,FD,512).EQ.-1))GOTO 10287 IF((STATUS.EQ.-1))GOTO 10287 IF((LIN(1).EQ.163))GOTO 10286 IF((LIN(1).EQ.138))GOTO 10286 GOTO 10288 10288 LEN=1 CURSAV=CURLN0 IF((GETLST(LIN,LEN,STATUS).NE.-2))GOTO 10290 IF((CKGLOB(LIN,LEN,STATUS).NE.-2))GOTO 10291 CALL DOGLOB(LIN,LEN,CURSAV,STATUS) GOTO 10292 10291 CALL DOCMD(LIN,LEN,0,STATUS) 10292 CONTINUE 10290 IF((STATUS.NE.-3))GOTO 10286 CALL PRINT0 CURLN0=MIN0(CURSAV,LASTL0) 10293 GOTO 10286 10287 CALL CLOSE(FD) RETURN END C ---- Long Name Map ---- C Toprow topro0 C Sctop sctop0 C inslines insli0 C Lostlines lostl0 C Indent inden0 C Invertcase inver0 C Fence fence0 C Topln topln0 C gt40pos gt40p0 C terakpos terak0 C Savfil savfi0 C Line0 line00 C Tspeed tspee0 C clrscreen clrsc0 C printverboseerrormessage print0 C Line1 line10 C Absnos absno0 C uniquelyname uniqu0 C Line2 line20 C Limcnt limcn0 C Curcol curco0 C Insertmode inser0 C dologout dolog0 C doshell doshe0 C Nlines nline0 C Savcom savco0 C Peekc peekc0 C addspos addsp0 C fixscreen fixsc0 C Prevline prevl0 C Cmdrow cmdro0 C adjustwindow adjus0 C Bufferchanged buffe0 C Errcode errco0 C Firstcol first0 C Globals globa0 C updscreen updsc0 C Lastln lastl0 C Nextline nextl0 C Overlaycol overm0 C Txt txtaa0 C Savknm savkn0 C Tabstr tabsu0 C Nrows nrows0 C Unixmode unixm0 C setscreen setsc0 C forsyspos forsy0 C Scrname scrna0 C Nchoise nchoi0 C litmesg litme0 C getrange getra0 C drawbox drawb0 C Seekaddr seeka0 C Limbo limbo0 C garbagecollect garba0 C Subs subsa0 C Relz relza0 C termination termi0 C usemark usema0 C dellines delli0 C displaymessage displ0 C loadstr loads0 C restorescreen resto0 C Tabstops tabst0 C Sclen sclen0 C cleartoeol clear0 C Buf bufaa0 C whereami where0 C Tset tseta0 C Argno argno0 C missingdelim missi0 C ansipos ansip0 C Unprintable unpri0 C regentpos regen0 C sendmesg sendm0 C Botrow botro0 C Markname markn0 C Probation proba0 C Lastcharscanned lastc0 C Warncol warnc0 C initialize initi0 C overlay overl0 C Pat pataa0 C Lineleng linel0 C cunixswt cunix0 C decodemnemonic decod0 C Globmark globm0 C Termtype termt0 C Ncols ncols0 C Currow curro0 C brkflag brkfl0 C recvmesg recvm0 C Scr scraa0 C Firstaffected firsu0 C NOTINCCL notin0 C bee2pos bee2p0 C positioncursor posit0 C Msgalloc msgal0 C hwinsdel hwins0 C litnnum litnn0 C Screenimage scree0 C gettermtype gette0 C sbeecoord sbeec0 C warndeleted warnd0 C Curln curln0 C Free freea0 C XMARK xmark0 C b200coord b200c0 C spinject spinj0 C Tlpat tlpat0 C Lastbf lastb0 C Saverrcode saver0 C Ddir ddira0 C Rela relaa0 C ESCAPE escap0 C senddelay sendd0 C Scline sclin0 C Ttystate ttyst0 C cgcoord cgcoo0 C Scrend scren0 C BACKSCAN backs0