summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2022-01-15 12:07:27 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2022-01-15 12:07:27 +0000
commit8f41885e8628d81972494ab78d939ce85229c411 (patch)
treece5c36622d4bf23e0ac8a46f02b9ab2d2c0df4fe /Build
parent007459cd590148dc15d7717b186d1b675f0ed854 (diff)
[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). git-svn-id: svn://tug.org/texlive/trunk@61610 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/cwebdir/ChangeLog18
-rw-r--r--Build/source/texk/web2c/cwebdir/comm-pc.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/comm-w2c.h5
-rw-r--r--Build/source/texk/web2c/cwebdir/common.c6
-rw-r--r--Build/source/texk/web2c/cwebdir/common.h11
-rw-r--r--Build/source/texk/web2c/cwebdir/ctang-bs.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/ctang-pc.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/ctang-w2c.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/ctangle.c8
-rw-r--r--Build/source/texk/web2c/cwebdir/ctangle.w2
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-w2c.ch10
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-pc.ch4
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-w2c.ch8
-rw-r--r--Build/source/texk/web2c/cwebdir/cweave.w14
-rw-r--r--Build/source/texk/web2c/cwebdir/cwebman-w2c.ch8
-rw-r--r--Build/source/texk/web2c/cwebdir/cwebman.tex4
16 files changed, 61 insertions, 45 deletions
diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog
index 702dc019c81..72dc0012cd9 100644
--- a/Build/source/texk/web2c/cwebdir/ChangeLog
+++ b/Build/source/texk/web2c/cwebdir/ChangeLog
@@ -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,
diff --git a/Build/source/texk/web2c/cwebdir/comm-pc.ch b/Build/source/texk/web2c/cwebdir/comm-pc.ch
index 5a29188ed73..883da1303c6 100644
--- a/Build/source/texk/web2c/cwebdir/comm-pc.ch
+++ b/Build/source/texk/web2c/cwebdir/comm-pc.ch
@@ -8,7 +8,7 @@ Note: The change to section 16 is not necessary if using a compiler
that allows >64K arrays.
@x section 16
-@d max_bytes 90000 /* the number of bytes in identifiers,
+@d max_bytes 100000 /* the number of bytes in identifiers,
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.h b/Build/source/texk/web2c/cwebdir/comm-w2c.h
index 095aa8b493e..ae0ffa3d7a3 100644
--- a/Build/source/texk/web2c/cwebdir/comm-w2c.h
+++ b/Build/source/texk/web2c/cwebdir/comm-w2c.h
@@ -251,9 +251,8 @@ extern void common_init(void);@/
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
diff --git a/Build/source/texk/web2c/cwebdir/common.c b/Build/source/texk/web2c/cwebdir/common.c
index 9e77c55f317..00575a0ebf5 100644
--- a/Build/source/texk/web2c/cwebdir/common.c
+++ b/Build/source/texk/web2c/cwebdir/common.c
@@ -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 \
diff --git a/Build/source/texk/web2c/cwebdir/common.h b/Build/source/texk/web2c/cwebdir/common.h
index 2a584ff4425..ee75ca2f77a 100644
--- a/Build/source/texk/web2c/cwebdir/common.h
+++ b/Build/source/texk/web2c/cwebdir/common.h
@@ -226,17 +226,16 @@ extern FILE *active_file; /* currently active file for \.{CWEAVE} output */
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}.
-@d buf_size 100 /* maximum length of input line, plus one */
+@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} */
-@d max_bytes 90000 /* the number of bytes in identifiers,
+@d max_bytes 100000 /* the number of bytes in identifiers,
index entries, and section names; must be less than $2^{24}$ */
-@d max_names 4000 /* number of identifiers, strings, section names;
+@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 */
diff --git a/Build/source/texk/web2c/cwebdir/ctang-bs.ch b/Build/source/texk/web2c/cwebdir/ctang-bs.ch
index ceaefa93e5f..401e165f9aa 100644
--- a/Build/source/texk/web2c/cwebdir/ctang-bs.ch
+++ b/Build/source/texk/web2c/cwebdir/ctang-bs.ch
@@ -98,7 +98,7 @@ typedef text *text_pointer;
@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
diff --git a/Build/source/texk/web2c/cwebdir/ctang-pc.ch b/Build/source/texk/web2c/cwebdir/ctang-pc.ch
index 2fb9b90440f..947a4dc6214 100644
--- a/Build/source/texk/web2c/cwebdir/ctang-pc.ch
+++ b/Build/source/texk/web2c/cwebdir/ctang-pc.ch
@@ -14,7 +14,7 @@ alternate change files with -bs suffix instead of -pc.
@d banner "This is CTANGLE (Version 4.6pc)"
@z
@x section 17
-@d max_bytes 90000 /* the number of bytes in identifiers,
+@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,
diff --git a/Build/source/texk/web2c/cwebdir/ctang-w2c.ch b/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
index e1233636a81..334f54ca074 100644
--- a/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
@@ -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 */
diff --git a/Build/source/texk/web2c/cwebdir/ctangle.c b/Build/source/texk/web2c/cwebdir/ctangle.c
index 0c6f8afe2a9..6faee0b9463 100644
--- a/Build/source/texk/web2c/cwebdir/ctangle.c
+++ b/Build/source/texk/web2c/cwebdir/ctangle.c
@@ -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 \
diff --git a/Build/source/texk/web2c/cwebdir/ctangle.w b/Build/source/texk/web2c/cwebdir/ctangle.w
index 1a9e8065af8..2aeb5a8af45 100644
--- a/Build/source/texk/web2c/cwebdir/ctangle.w
+++ b/Build/source/texk/web2c/cwebdir/ctangle.w
@@ -126,7 +126,7 @@ typedef struct {
} 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];
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
index e1668d822ae..a5ae917348f 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
@@ -84,7 +84,7 @@ on \.{CWEAVE} by Silvio Levy and D.~E. Knuth. It is also based on
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 @@ modified. The version number parallels the corresponding version of \.{CWEAVE}.
@z
@x
-@d max_refs 20000 /* number of cross-references; must be less than 65536 */
-@d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+@d max_refs 30000 /* number of cross-references; must be less than 65536 */
+@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 @@ turned on during the first phase---NOT!
@z
@x
-@d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+@d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
must be less than 65536 */
-@d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+@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;
diff --git a/Build/source/texk/web2c/cwebdir/cweav-pc.ch b/Build/source/texk/web2c/cwebdir/cweav-pc.ch
index 23b37416a80..ca1e5ef1587 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-pc.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-pc.ch
@@ -17,12 +17,12 @@ change files that have -bs in their name instead of -pc.)
@z
@x section 17
-@d max_bytes 90000 /* the number of bytes in identifiers,
+@d max_bytes 100000 /* the number of bytes in identifiers,
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
@x
-@d max_refs 20000 /* number of cross-references; must be less than 65536 */
+@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
diff --git a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
index c8b530c44f9..926dc97f87f 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
@@ -60,8 +60,8 @@
@z
@x
-@d max_refs 20000 /* number of cross-references; must be less than 65536 */
-@d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+@d max_refs 30000 /* number of cross-references; must be less than 65536 */
+@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
-@d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+@d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
must be less than 65536 */
-@d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+@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;
diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w
index bcc8efcfb74..96ee6442d21 100644
--- a/Build/source/texk/web2c/cwebdir/cweave.w
+++ b/Build/source/texk/web2c/cwebdir/cweave.w
@@ -111,13 +111,13 @@ possible changes from this \.{COMMON} interface consistently.
@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 */
-@d max_refs 20000 /* number of cross-references; must be less than 65536 */
-@d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+@d max_refs 30000 /* number of cross-references; must be less than 65536 */
+@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 @@ that is unoccupied by replacement text is called |tok_ptr|, and the first
unused location of |tok_start| is called |text_ptr|.
Thus, we usually have |*text_ptr==tok_ptr|.
-@d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+@d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
must be less than 65536 */
-@d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+@d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
must be less than 10240 */
@<Private...@>=
@@ -3765,7 +3765,7 @@ typedef struct {
} 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 */
diff --git a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
index 8a548ec9620..cbe0107bdb5 100644
--- a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
@@ -220,10 +220,10 @@ Sometimes things don't work as smoothly, and you get a bunch of
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
diff --git a/Build/source/texk/web2c/cwebdir/cwebman.tex b/Build/source/texk/web2c/cwebdir/cwebman.tex
index 476b526a602..4540802d31e 100644
--- a/Build/source/texk/web2c/cwebdir/cwebman.tex
+++ b/Build/source/texk/web2c/cwebdir/cwebman.tex
@@ -1600,8 +1600,8 @@ contents page.
\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.)