Here is a corrected version of the Business BASIC Renumber program. Just EXEC this file and save it on the Business BASIC Master Diskette. 10 INVOKE"Renumber.INV" 20 HOME 30 PRINT USING"76c";"-- RENUMBER 1.01 --" 50 PRINT:PRINT TAB(8);"Your options are:":PRINT 60 PRINT TAB(26);"1 Line References" 70 PRINT TAB(26);"2 Append/Merge Programs" 80 PRINT TAB(26);"3 Renumber a Program" 90 PRINT TAB(26);"4 Quit" 100 PRINT 110 PRINT TAB(8);:INPUT"Which option? ";a$:x=ASC(a$)-48 120 ON x GOTO 150,250,360,140 130 PRINT TAB(8);"Please enter 1, 2, 3, or 4": VPOS= VPOS-2:GOTO 110 140 TEXT:HOME:END 150 REM --- XREF 160 TEXT:HOME:PRINT USING"76c";"-- XREF --":PRINT 170 INPUT"Name of Source File: ";i$:IF LEN(i$)=0 THEN 20 180 INPUT"Output file name? (Press RETURN for output to .CONSOLE) ";o$ 190 IF LEN(o$)=0 THEN o$="temp.xref" 200 INPUT"Should unreferenced lines be displayed?";r$: IF ASC(r$)=ASC("y") OR ASC(r$)=ASC("Y") THEN 230 210 PERFORM xref(@i$,@o$) 211 IF o$<>"temp.xref" THEN 20 212 ON ERR GOTO 218 213 OPEN#1,"temp.xref" 214 INPUT#1;a$ 215 GOSUB 620 216 IF l=20 THEN GOSUB 670 217 GOTO 214 218 OFF ERR:CLOSE#1:DELETE"temp.xref":GOSUB 670 220 GOTO 20 230 PERFORM xlist(@i$,@o$) 240 GOTO 211 250 REM --- MERGE 260 TEXT:HOME:PRINT USING"76c";"-- APPEND/MERGE --":PRINT 270 INPUT"Name of the first Program? ";i$: IF LEN(i$)=0 THEN 20 280 INPUT"Which Program should be merged with it? ";i2$: IF LEN(i2$)=0 THEN VPOS= VPOS-2:PRINT CHR$(29);:GOTO 270 290 INPUT"Output file name? ";o$: IF LEN(o$)=0 THEN VPOS= VPOS-3:PRINT CHR$(29);:GOTO 270 300 INPUT"Should I allow interleaving of program lines? ";a$ 310 IF ASC(a$)=ASC("Y") OR ASC(a$)=ASC("y") THEN 340 320 PERFORM append(@i$,@i2$,@o$) 330 GOTO 20 340 PERFORM merge(@i$,@i2$,@o$) 350 GOTO 20 360 REM --- RENUMBER 370 TEXT:HOME:PRINT USING"76c";"-- RENUMBER --":PRINT 380 INPUT"Name of Program to be Renumbered? ";i$: IF LEN(i$)=0 THEN 20 390 INPUT"Save with what file name? ";o$: IF LEN(o$)=0 THEN VPOS= VPOS-2:PRINT CHR$(29);:GOTO 380 400 INPUT"What line number should I start renumbering at? (Default=0) ";low$: IF LEN(low$)=0 THEN low=0:GOTO 420 410 IF ASC(low$)<48 OR ASC(low$)>57 THEN VPOS= VPOS-1: GOTO 400:ELSE low=VAL(low$) 420 INPUT"What line number should I renumber up to? (Default=63999) ";high$: IF LEN(high$)=0 THEN high=63999:GOTO 440 430 IF ASC(high$)<48 OR ASC(high$)>57 THEN VPOS= VPOS-1: GOTO 420:ELSE high=VAL(high$) 440 INPUT"Starting value for the renumbered lines? (Default=10) ";start$: IF LEN(start$)=0 THEN start=10:GOTO 460 450 IF ASC(start$)<48 OR ASC(start$)>57 THEN VPOS= VPOS-1: GOTO 440:ELSE start=VAL(start$) 460 INPUT"What increment between each line? (Default=10) "; bump$:IF LEN(bump$)=0 THEN bump=10:GOTO 480 470 IF ASC(bump$)<48 OR ASC(bump$)>57 THEN VPOS= VPOS-1: GOTO 460: ELSE bump=VAL(bump$) 480 REM Map numbers larger than 32767 into standard two's complement form. 490 low=TEN(HEX$(low)): high=TEN(HEX$(high)): start=TEN(HEX$(start)) 500 INPUT"Should I allow lines to be moved? ";a$: IF ASC(a$)=ASC("Y") OR ASC(a$)=ASC("y") THEN 530 510 PERFORM renum(@i$,@o$,%low,%high,%start,%bump) 520 GOTO 20 530 PERFORM reseqnce(@i$,@o$,%low,%high,%start,%bump) 540 GOTO 20 620 IF LEN(a$)<80 THEN PRINT a$:l=l+1:RETURN 630 PRINT MID$(a$,1,80):s=80:e=74:l=l+1: IF l=20 THEN GOSUB 670 640 IF LEN(a$)-80=>74 THEN HPOS=6: PRINT MID$(a$,s,e):s=s+74:l=l+1: IF l=20 THEN GOSUB 670:GOTO 640 650 IF LEN(a$)-s>0 THEN HPOS=6:PRINT MID$(a$,s) 660 RETURN 670 VPOS=23: PRINT USING"76c";"-- press RETURN to continue --"; 680 GET a$ 690 IF ASC(a$)<>13 THEN 690 700 HOME:PRINT USING"76c";"-- XREF --":PRINT:l=0:RETURN