texlive[61610] Build/source/texk/web2c/cwebdir: [CWEB] Increase array
commits+ascherer at tug.org
commits+ascherer at tug.org
Sat Jan 15 13:07:27 CET 2022
Revision: 61610
http://tug.org/svn/texlive?view=revision&revision=61610
Author: ascherer
Date: 2022-01-15 13:07:27 +0100 (Sat, 15 Jan 2022)
Log Message:
-----------
[CWEB] Increase array sizes in CWEB 4.6.1.
Without affecting CWEB in TeX Live, various array sizes in 'original'
CWEB (release 4.6.1) were increased so that both CTANGLE and CWEAVE (but
unfortunately _not_ CTWILL) can process CTEX.W in Martin Ruckert's WEB2W
project (https://w3-o.cs.hm.edu/users/ruckert/public_html/web2w/index.html).
Modified Paths:
--------------
trunk/Build/source/texk/web2c/cwebdir/ChangeLog
trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch
trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h
trunk/Build/source/texk/web2c/cwebdir/common.c
trunk/Build/source/texk/web2c/cwebdir/common.h
trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch
trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch
trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
trunk/Build/source/texk/web2c/cwebdir/ctangle.c
trunk/Build/source/texk/web2c/cwebdir/ctangle.w
trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch
trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
trunk/Build/source/texk/web2c/cwebdir/cweave.w
trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
trunk/Build/source/texk/web2c/cwebdir/cwebman.tex
Modified: trunk/Build/source/texk/web2c/cwebdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ChangeLog 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ChangeLog 2022-01-15 12:07:27 UTC (rev 61610)
@@ -1,3 +1,21 @@
+2022-01-15 Andreas Scherer <https://ascherer.github.io>
+
+ * comm-pc.ch,
+ * comm-w2c.h,
+ * common.c,
+ * common.h,
+ * ctang-bs.ch,
+ * ctang-pc.ch,
+ * ctang-w2c.ch,
+ * ctangle.c,
+ * ctangle.w,
+ * ctwill-w2c.ch,
+ * cweav-pc.ch,
+ * cweav-w2c.ch,
+ * cweave.w,
+ * cwebman.tex,
+ * cwebman-w2c.ch: Increase sizes in CWEB 4.6.1.
+
2021-12-26 Andreas Scherer <https://ascherer.github.io>
* Makefile,
Modified: trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -8,7 +8,7 @@
that allows >64K arrays.
@x section 16
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
Modified: trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h 2022-01-15 12:07:27 UTC (rev 61610)
@@ -251,9 +251,8 @@
extern void print_stats(void);@/
extern void cb_show_banner(void);
-@ The following parameters were sufficient in the original \.{WEB} to
-handle \TEX/, so they should be sufficient for most applications of
-\.{CWEB}.
+@ The following parameters are sufficient to handle \TEX/ (converted to
+\.{CWEB}), so they should be sufficient for most applications of \.{CWEB}.
@d buf_size 1000 /* maximum length of input line, plus one */
@d longest_name 10000 /* file names, section names, and section texts
Modified: trunk/Build/source/texk/web2c/cwebdir/common.c
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/common.c 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/common.c 2022-01-15 12:07:27 UTC (rev 61610)
@@ -82,13 +82,13 @@
#define new_line putchar('\n')
#define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout) \
-#define buf_size 100
+#define buf_size 200
#define longest_name 10000 \
#define long_buf_size (buf_size+longest_name)
-#define max_bytes 90000 \
+#define max_bytes 100000 \
-#define max_names 4000 \
+#define max_names 5000 \
#define max_sections 2000 \
Modified: trunk/Build/source/texk/web2c/cwebdir/common.h
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/common.h 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/common.h 2022-01-15 12:07:27 UTC (rev 61610)
@@ -226,17 +226,16 @@
extern void common_init(void);@/
extern void print_stats(void);
-@ The following parameters were sufficient in the original \.{WEB} to
-handle \TEX/, so they should be sufficient for most applications of
-\.{CWEB}.
+@ The following parameters are sufficient to handle \TEX/ (converted to
+\.{CWEB}), so they should be sufficient for most applications of \.{CWEB}.
- at d buf_size 100 /* maximum length of input line, plus one */
+ at d buf_size 200 /* maximum length of input line, plus one */
@d longest_name 10000 /* file names, section names, and section texts
shouldn't be longer than this */
@d long_buf_size (buf_size+longest_name) /* for \.{CWEAVE} */
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
index entries, and section names; must be less than $2^{24}$ */
- at d max_names 4000 /* number of identifiers, strings, section names;
+ at d max_names 5000 /* number of identifiers, strings, section names;
must be less than 10240 */
@d max_sections 2000 /* greater than the total number of sections */
Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -98,7 +98,7 @@
@x Section 20.
-@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@ @d max_texts 4000 /* number of replacement texts, must be less than 10240 */
@d max_toks 270000 /* number of bytes in compressed \CEE/ code */
@y
@ (This is a modified version of \.{CTANGLE}, and in fact one of the parameters
Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -14,7 +14,7 @@
@d banner "This is CTANGLE (Version 4.6pc)"
@z
@x section 17
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
index entries, and section names; must be less than $2^{24}$ */
@y (note that CWEAVE itself needs only about 42K toks)
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -60,7 +60,7 @@
@z
@x
-@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@ @d max_texts 4000 /* number of replacement texts, must be less than 10240 */
@d max_toks 270000 /* number of bytes in compressed \CEE/ code */
@y
@ @d max_texts 10239 /* number of replacement texts, must be less than 10240 */
Modified: trunk/Build/source/texk/web2c/cwebdir/ctangle.c
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctangle.c 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctangle.c 2022-01-15 12:07:27 UTC (rev 61610)
@@ -84,17 +84,17 @@
#define new_line putchar('\n')
#define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout) \
-#define buf_size 100
+#define buf_size 200
#define longest_name 10000 \
#define long_buf_size (buf_size+longest_name)
-#define max_bytes 90000 \
+#define max_bytes 100000 \
-#define max_names 4000 \
+#define max_names 5000 \
#define max_sections 2000 \
-#define max_texts 2500
+#define max_texts 4000
#define max_toks 270000
#define equiv equiv_or_xref \
Modified: trunk/Build/source/texk/web2c/cwebdir/ctangle.w
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctangle.w 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctangle.w 2022-01-15 12:07:27 UTC (rev 61610)
@@ -126,7 +126,7 @@
} text;
typedef text *text_pointer;
-@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@ @d max_texts 4000 /* number of replacement texts, must be less than 10240 */
@d max_toks 270000 /* number of bytes in compressed \CEE/ code */
@<Private...@>=
static text text_info[max_texts];
Modified: trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -84,7 +84,7 @@
Volumes B and~D of {\sl Computers {\char`\&} Typesetting\/} in 1985.
\.{CTWILL} was hacked together hastily in June, 1992, to generate pages for
Knuth's book about the Stanford GraphBase, and updated even more hastily
-in March, 1993 to generate final copy for that book. The main idea was to
+in March, 1993, to generate final copy for that book. The main idea was to
extend \.{CWEAVE} so that ``mini-indexes'' could appear.
No time was available to make \.{CTWILL} into a refined or complete system,
nor even to fully update the program documentation below. Subsequent changes
@@ -123,8 +123,8 @@
@z
@x
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
- at d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
+ at d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@y
@d max_refs 65535 /* number of cross-references; must be less than 65536 */
@d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@@ -146,9 +146,9 @@
@z
@x
- at d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ at d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
must be less than 65536 */
- at d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ at d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
must be less than 10240 */
@y
@d max_toks 65535 /* number of symbols in \CEE/ texts being parsed;
Modified: trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -17,12 +17,12 @@
@z
@x section 17
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
@x
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
@y
@d max_refs 10000 /* number of cross-references; must be less than 65536 */
@z
Modified: trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -60,8 +60,8 @@
@z
@x
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
- at d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
+ at d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@y
@d max_refs 65535 /* number of cross-references; must be less than 65536 */
@d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@@ -74,9 +74,9 @@
@z
@x
- at d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ at d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
must be less than 65536 */
- at d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ at d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
must be less than 10240 */
@y
@d max_toks 65535 /* number of symbols in \CEE/ texts being parsed;
Modified: trunk/Build/source/texk/web2c/cwebdir/cweave.w
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweave.w 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cweave.w 2022-01-15 12:07:27 UTC (rev 61610)
@@ -111,13 +111,13 @@
@i common.h
-@ The following parameters were sufficient in the original \.{WEAVE} to
-handle \TEX/, so they should be sufficient for most applications of \.{CWEAVE}.
+@ The following parameters are sufficient to handle \TEX/ (converted to
+\.{CWEB}), so they should be sufficient for most applications of \.{CWEAVE}.
@d line_length 80 /* lines of \TEX/ output have at most this many characters;
should be less than 256 */
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
- at d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
+ at d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@* Data structures exclusive to {\tt CWEAVE}.
As explained in \.{common.w}, the field of a |name_info| structure
@@ -335,9 +335,9 @@
unused location of |tok_start| is called |text_ptr|.
Thus, we usually have |*text_ptr==tok_ptr|.
- at d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ at d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
must be less than 65536 */
- at d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ at d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
must be less than 10240 */
@<Private...@>=
@@ -3765,7 +3765,7 @@
} output_state;
typedef output_state *stack_pointer;
-@ @d stack_size 400 /* number of simultaneous output levels */
+@ @d stack_size 2000 /* number of simultaneous output levels */
@d cur_end cur_state.end_field /* current ending location in |tok_mem| */
@d cur_tok cur_state.tok_field /* location of next output token in |tok_mem| */
@d cur_mode cur_state.mode_field /* current mode of interpretation */
Modified: trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch 2022-01-15 12:07:27 UTC (rev 61610)
@@ -220,10 +220,10 @@
the program sources at \.{ftp://ftp.cs.stanford.edu/pub/ctwill}.
@y
the program sources at
-\pdfURL{\.{ftp://ftp.cs.stanford.edu/pub/ctwill}}%
- {ftp://ftp.cs.stanford.edu/pub/ctwill}.%
-\cwebfootnote{\TeX~Live comes with an up-to-date \.{ctwill} executable -- and
-its associated helpers -- out of the box.}
+\pdfURL{\.{http://ftp.cs.stanford.edu/pub/ctwill}}%
+ {http://ftp.cs.stanford.edu/pub/ctwill}.%
+\cwebfootnote{\TeX~Live comes with an up-to-date
+\.{ctwill} executable -- and its associated helpers -- out of the box.}
@z
@x
Modified: trunk/Build/source/texk/web2c/cwebdir/cwebman.tex
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cwebman.tex 2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cwebman.tex 2022-01-15 12:07:27 UTC (rev 61610)
@@ -1600,8 +1600,8 @@
\point 9. Data for the table of contents is written to a file that
is read after the indexes have been \TEX/ed; there's one line of data
for every starred section. The file \.{common.toc} might look like this:
-$$\lpile{\.{\\ZZ \{Introduction\}\{0\}\{1\}\{28\}\{\}}\cr
- \.{\\ZZ \{The character set\}\{2\}\{5\}\{29\}\{\}}\cr}$$
+$$\lpile{\.{\\ZZ \{Introduction\}\{0\}\{1\}\{29\}\{\}}\cr
+ \.{\\ZZ \{The character set\}\{1\}\{21\}\{35\}\{\}}\cr}$$
and so on. The \.{\\topofcontents} macro could
redefine \.{\\ZZ} so that the information appears in any desired format.
(See also point~19 below.)
More information about the tex-live-commits
mailing list.