+ LINE EDITOR (C)1980 ABACUS SOFTWAREG T$(500): BUFFER SPACE`L$"": CURRENT LINEwLL1: LAST LINE #(SP$" ":DL$(20)2EE0: DISK ERROR CHANNEL CLOSED<PR0: PRINT CHANNELZ144,49: DISABLE STOP KEYd" ABACUS SOFTWARE LINE EDITOR",n" FUNCTIONS:"2T8);"A)PPEND-TO END OF TEXT"m8);"C)HANGE-STRING8);"D)ELETE LINE(S)8);"F)ILER COMMANDS8);"I)NSERT BEFORE LINE8);"L)IST LINE(S)8);"M)ENU DISPLAY8);"P)RINT LINE(S)%8);"Q)UIT LEAVE EDITOR=8);"R)EPLACE LINE^:" ENTER SELECTION-> ";g510:"ENTER A,C,D,F,I,L,P,Q,R,M)ENU->"; A$:A$""510J0:I110A$("ACDFILRMQP",I,1)JI:I10I&A$0J05000:J1000,2000,3000,4000,5000,6000,7000,100,8000,90006U"APPEND TO END OF TEXT"c:LL">";}10000: GO READ LINE(L$)0500T$(LL)L$LLLL1$1010 CHANGE STRING:"CHANGE";:16000: GET RANGEHI0500("CHANGE STRING->";:10000: GET STRING4L(L$)AL0500OL42000k DM$(L$,1): DELIMITER(L$,1)DM$2000 J0:I2L1*(L$,I,1)DM$JI4I>J02000HJ22000RFR$(L$,2,J2)\J1LTS$"":2160fTS$(L$,J1,LJ1)pF(FR$)+zILOHIET(T$(I)):S1:NL$""TJ1TF1p(T$(I),J,F)FR$2230NL$NL$(T$(I),S,JS)TS$SJF:JS1JS1NL$NL$(T$(I),TS1):T$(I)NL$I500 DELETE LINE(S) :"DELETE ";:16000: GET RANGEH DF3015: NOT DEFAULT ON ENTIRE FILEg "DELETE ENTIRE FILE? ";{ A$:A$""3012 A$:A$"N"500 A$"Y"3011 HILL1500 HILL1LLLO:500 JHILO1 ILOLLJ1 T$(I)T$(IJ) I LLLL(HILO)1 500+ FILERT"FILER ENTER L)OAD OR S)AVE-> ";hA$:A$""4020A$"L"A$"S":4000A$:M$A$"ENTER FILENAME-> ";10000(L$)0500(L$)124050FI$L$ "ENTER D)ISK OR T)APE-> ";A$:A$""4100'A$AA$"D"A$"T"4090b"A$"D"4160: DISK ROUTINESs,M$"L"4400}64200@DR$"":(FI$,2)"0:"(FI$,2)"1:"DR$"0:"J4600h TAPE SAVErLL1"NO FILE TO SAVE":500|2,1,2,FI$".SOURCE"I1LL1%J1(T$(I)):2,(T$(I),J,1);AJP2,(255);WI^2t6);FI$;" SAVED"}5000 TAPE LOAD:2,1,0,FI$".SOURCE"NLL0: LINE COUNTXLLLL1:T$(LL)""b#2,A$lST644500: END OF FILE!qST0"*** LOAD ERROR ***":500CvA$(255)4440: END OF LINEXT$(LL)T$(LL)A$b4450i26);FI$;" LOADED"LLLL1500 DISK SAVEM$"L"4800 LL1"NO FILE TO SAVE":500FL$"@0"DR$FI$".SOURCE,S,W"  2,8,2,FL$#*20000: ERROR CHECK2/E10500@4I1LL1R>J1(T$(I))gH2,(T$(I),J,1);nRJ}\2,(255);fIp2z6);FI$;" SAVED"500 DISK LOADFL$DR$FI$".SOURCE,S,R"2,8,2,FL$20000: ERROR CHECKE10500%LL0: LINE COUNT;LLLL1:T$(LL)""F#2,A$dST644500: END OF FILE{ST020000:500A$(255)4850: END OF LINE$T$(LL)T$(LL)A$.486082B6);FI$;" LOADED"LLLLL1V500 INSERT LINE/:"INSERT BEFORE ";:17000: GET LINE#DLOLLLO15000S:LO;">";j10000: READ LINE{(L$)0500LLLL1ILLLO1T$(I)T$(I1)IT$(LO)L$LOLO15020p LIST LINES z:"LIST ";:16000: GET RANGEHI0500>SS$"N"::ILOHI: PERFORM LISTOI;">";T$(I)nA$:A$(18)J11024:JA$(3)6110SS$"Y"A$:A$(13)SS$"N":6110A$(32)60706120SS$"Y"6070I500X REPLACE LINE(b:"REPLACE ";:17000: GET LINE#>lLOLLLO17000Mv:LO;">";d10000: READ LINEu(L$)0500T$(LO)L$500@ QUITJ:" LEAVE EDITOR-ARE YOU SURE? ";TA$:A$""8020^A$hA$"Y"A$"N"8000 rA$"N"5002 |:" ** END LINE EDITOR **"P 144,46: ENABLE STOP KEYV g (# PRINT LINE} 2#PR0PR4:PR,PR <#"PRINT ";:16000: GET RANGE F#HI0500 P#ILOHI: PERFORM PRINT Z#PR,I;": ";T$(I) d#I n#PR!x#PR,"***";LL1;"LINES IN BUFFER ***"!!#PR*!#500E!' INPUT A LINE OF TEXTO!'L$""Z!$'"";o!.'A$:A$""10030!8'A$(13)" ":!B'(L$)8015000!L'A$SP$A$(95)10100!Q'A$(161)A$(223)10100!V'A$DL$10030"`'(L$)0A$;:L$(L$,(L$)1)"j'100202"t'L$L$A$:A$;:10020I": LINE INPUT ERRORi"::"ERROR LINE TRUNCATED"o":">"RANGE(LOW,HIGH)-> ";">10000: INPUT RANGE">LO1:HILL1: DEFAULT LIST ALL">L(L$)">DF0:L0DF1:16150">J0:I1L#>A$(L$,I,1))#>A$"0"A$"9"16090@#>A$"-"JI:16090N#>J99:I99U#>Ie#>J9916000#>J0LO(L$):HILO:#>J1LO((L$,J1))#?JLHI((L$,LJ))# ?LOHI16000#?#hB"-LINE#->";#rB10000: INPUT LINE##|BL(L$) $BL017000$BJ0 $BI1L1$BA$(L$,I,1)L$BA$"0"A$"9"17090Y$BJ99:IL`$BIp$BJ9917000}$BLO(L$)$B$ NEE0EE15:EE,8,EE$*NEE,E1,E2$,E3,E4$4NE10$>NE1;",";E2$;",";E3;",";E4$HN"*** DISK ERROR ***"$RN2%\N7