summaryrefslogtreecommitdiff
path: root/systems/unix/tex-fpc/tangle.p
diff options
context:
space:
mode:
Diffstat (limited to 'systems/unix/tex-fpc/tangle.p')
-rw-r--r--systems/unix/tex-fpc/tangle.p20
1 files changed, 10 insertions, 10 deletions
diff --git a/systems/unix/tex-fpc/tangle.p b/systems/unix/tex-fpc/tangle.p
index a34f81d7dd..cc0d9b7ad3 100644
--- a/systems/unix/tex-fpc/tangle.p
+++ b/systems/unix/tex-fpc/tangle.p
@@ -1,5 +1,5 @@
{2:}{4:}{$MODE ISO}{$Q+}{$R+}{:4}PROGRAM TANGLE(OUTPUT);LABEL 9999;
-CONST{8:}BUFSIZE=100;MAXBYTES=45000;MAXTOKS=50000;MAXNAMES=4000;
+CONST{8:}BUFSIZE=100;MAXBYTES=45000;MAXTOKS=65000;MAXNAMES=4000;
MAXTEXTS=2000;HASHSIZE=353;LONGESTNAME=400;LINELENGTH=72;OUTBUFSIZE=144;
STACKSIZE=50;MAXIDLENGTH=12;UNAMBIGLENGT=7;
{:8}TYPE{11:}ASCIICODE=0..255;{:11}{12:}TEXTFILE=TEXT;
@@ -502,9 +502,9 @@ END ELSE IF BUFFER[1]=122 THEN BEGIN PRIMETHECHAN;
CHANGING:=NOT CHANGING;TEMPLINE:=OTHERLINE;OTHERLINE:=LINE;
LINE:=TEMPLINE;END;END;END{:137};
IF NOT CHANGING THEN BEGIN{136:}BEGIN LINE:=LINE+1;
-IF NOT INPUTLN(WEBFILE)THEN INPUTHASENDE:=TRUE ELSE IF LIMIT=CHANGELIMIT
-THEN IF BUFFER[0]=CHANGEBUFFER[0]THEN IF CHANGELIMIT>0 THEN CHECKCHANGE;
-END{:136};IF CHANGING THEN GOTO 20;END;LOC:=0;BUFFER[LIMIT]:=32;END;
+IF NOT INPUTLN(WEBFILE)THEN INPUTHASENDE:=TRUE ELSE IF CHANGELIMIT>0
+THEN CHECKCHANGE;END{:136};IF CHANGING THEN GOTO 20;END;LOC:=0;
+BUFFER[LIMIT]:=32;END;
{:135}{139:}FUNCTION CONTROLCODE(C:ASCIICODE):EIGHTBITS;
BEGIN CASE C OF 64:CONTROLCODE:=64;39:CONTROLCODE:=12;
34:CONTROLCODE:=13;36:CONTROLCODE:=125;32,9:CONTROLCODE:=136;
@@ -525,9 +525,9 @@ WHILE TRUE DO BEGIN IF LOC>LIMIT THEN BEGIN GETLINE;
IF INPUTHASENDE THEN BEGIN BEGIN WRITELN(OUTPUT);
WRITE('! Input ended in mid-comment');ERROR;END;GOTO 10;END;END;
C:=BUFFER[LOC];LOC:=LOC+1;{142:}IF C=64 THEN BEGIN C:=BUFFER[LOC];
-IF(C<>32)AND(C<>9)AND(C<>42)AND(C<>122)AND(C<>90)THEN LOC:=LOC+1 ELSE
-BEGIN BEGIN WRITELN(OUTPUT);WRITE('! Section ended in mid-comment');
-ERROR;END;LOC:=LOC-1;GOTO 10;
+IF(C<>32)AND(C<>9)AND(C<>42)THEN LOC:=LOC+1 ELSE BEGIN BEGIN WRITELN(
+OUTPUT);WRITE('! Section ended in mid-comment');ERROR;END;LOC:=LOC-1;
+GOTO 10;
END END ELSE IF(C=92)AND(BUFFER[LOC]<>64)THEN LOC:=LOC+1 ELSE IF C=123
THEN BAL:=BAL+1 ELSE IF C=125 THEN BEGIN IF BAL=0 THEN GOTO 10;
BAL:=BAL-1;END{:142};END;10:END;{:141}{145:}FUNCTION GETNEXT:EIGHTBITS;
@@ -743,11 +743,11 @@ END;10:END;}{:181}{182:}BEGIN INITIALIZE;{134:}OPENINPUT;LINE:=0;
OTHERLINE:=0;CHANGING:=TRUE;PRIMETHECHAN;CHANGING:=NOT CHANGING;
TEMPLINE:=OTHERLINE;OTHERLINE:=LINE;LINE:=TEMPLINE;LIMIT:=0;LOC:=1;
BUFFER[0]:=32;INPUTHASENDE:=FALSE;{:134};
-WRITELN(OUTPUT,'This is TANGLE-FPC, 2nd ed.');{183:}PHASEONE:=TRUE;
+WRITELN(OUTPUT,'This is TANGLE-FPC, 3rd ed.');{183:}PHASEONE:=TRUE;
MODULECOUNT:=0;REPEAT NEXTCONTROL:=SKIPAHEAD;UNTIL NEXTCONTROL=136;
WHILE NOT INPUTHASENDE DO SCANMODULE;
-{138:}IF CHANGELIMIT<>0 THEN BEGIN FOR II:=0 TO CHANGELIMIT DO BUFFER[II
-]:=CHANGEBUFFER[II];LIMIT:=CHANGELIMIT;CHANGING:=TRUE;LINE:=OTHERLINE;
+{138:}IF CHANGELIMIT<>0 THEN BEGIN FOR II:=0 TO CHANGELIMIT-1 DO BUFFER[
+II]:=CHANGEBUFFER[II];LIMIT:=CHANGELIMIT;CHANGING:=TRUE;LINE:=OTHERLINE;
LOC:=CHANGELIMIT;BEGIN WRITELN(OUTPUT);
WRITE('! Change file entry did not match');ERROR;END;END{:138};
PHASEONE:=FALSE;{:183};{FOR II:=0 TO 3 DO MAXTOKPTR[II]:=TOKPTR[II];}