summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2023-08-04 15:14:23 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2023-08-04 15:14:23 +0000
commite0ee1d85ea2e0695c731281d3f1dc7914289b17c (patch)
tree6edd1c25d0f1094e086e4ce7652d5ebb37833f75 /Build/source
parentdeb02c75c8990d690d66c02003c5b66c849ccb7a (diff)
[CWEB] Desolve section with internal array sizes.
git-svn-id: svn://tug.org/texlive/trunk@67809 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/web2c/cwebdir/ChangeLog13
-rw-r--r--Build/source/texk/web2c/cwebdir/common.bux20
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-hint.ch240
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-mini.ch346
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-w2c.ch78
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-bs.ch29
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-pc.ch7
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-vms.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-w2c.ch4
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-w32.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/cweave.w19
11 files changed, 386 insertions, 374 deletions
diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog
index 261f7d4b089..b852358a7b0 100644
--- a/Build/source/texk/web2c/cwebdir/ChangeLog
+++ b/Build/source/texk/web2c/cwebdir/ChangeLog
@@ -1,3 +1,16 @@
+2023-08-04 Andreas Scherer <https://ascherer.github.io>
+
+ * common.bux,
+ * ctwill-hint.ch,
+ * ctwill-mini.ch,
+ * ctwill-w2c.ch,
+ * cweav-bs.ch,
+ * cweav-pc.ch,
+ * cweav-vms.ch,
+ * cweav-w2c.ch,
+ * cweav-w32.ch,
+ * cweave.w: Desove section with internal array sizes.
+
2023-08-02 Andreas Scherer <https://ascherer.github.io>
* ctang-bs.ch,
diff --git a/Build/source/texk/web2c/cwebdir/common.bux b/Build/source/texk/web2c/cwebdir/common.bux
index e5d8e3f1cbd..d516df936cf 100644
--- a/Build/source/texk/web2c/cwebdir/common.bux
+++ b/Build/source/texk/web2c/cwebdir/common.bux
@@ -2,24 +2,24 @@
@$cweave {COMMON}2 \&{cweb}@>
@$ctwill {COMMON}2 \&{cweb}@>
+@$text_info {CTANGLE.W}20 \&{text} [\,]@>
+
+@$equiv {CTANGLE.W}22 \\{equiv\_or\_xref}@>
+
@$ac {CWEAVE.W}2 \&{int}@>
@$av {CWEAVE.W}2 \&{char} ${*}{*}$@>
@$main {CWEAVE.W}2 \&{int} (\,)@>
-@$ilk {CWEAVE.W}20 \\{dummy.Ilk}@>
+@$ilk {CWEAVE.W}11 \\{dummy.Ilk}@>
-@$xmem {CWEAVE.W}23 \&{xref\_info} [\,]@>
+@$xmem {CWEAVE.W}22 \&{xref\_info} [\,]@>
-@$xref {CWEAVE.W}24 \\{equiv\_or\_xref}@>
+@$xref {CWEAVE.W}23 \\{equiv\_or\_xref}@>
-@$init_node {CWEAVE.W}32 \&{void} (\,)@>
-@$names_match {CWEAVE.W}32 \&{boolean} (\,)@>
+@$init_node {CWEAVE.W}31 \&{void} (\,)@>
+@$names_match {CWEAVE.W}31 \&{boolean} (\,)@>
-@$print_stats {CWEAVE.W}270 \&{void} (\,)@>
-
-@$text_info {CTANGLE.W}20 \&{text} [\,]@>
-
-@$equiv {CTANGLE.W}22 \\{equiv\_or\_xref}@>
+@$print_stats {CWEAVE.W}269 \&{void} (\,)@>
@$kpse_set_program_name "<kpathsea/progname.h>" \zip@>
@$kpse_find_file "<kpathsea/tex-file.h>" \zip@>
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-hint.ch b/Build/source/texk/web2c/cwebdir/ctwill-hint.ch
index d4bad94ec59..e965ecaccd6 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-hint.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-hint.ch
@@ -27,8 +27,8 @@ The ``banner line'' defined here should be changed whenever \.{CTWILL} is
@$ctwill {CTWILL}3 \&{enum} \&{cweb}@>
@$cweave {CTWILL}3 \&{enum} \&{cweb}@>
-@$inner {CTWILL}207 \&{enum} \&{mode}@>
-@$outer {CTWILL}207 \&{enum} \&{mode}@>
+@$inner {CTWILL}206 \&{enum} \&{mode}@>
+@$outer {CTWILL}206 \&{enum} \&{mode}@>
@z
Section 2.
@@ -156,7 +156,7 @@ Section 17.
@$long_buf_size {CTWILL}17 =$\\{buf\_size}+\\{longest\_name}$@>
@z
-Section 20.
+Section 19.
@x
@* Data structures exclusive to {\tt CWEAVE}.
@@ -165,7 +165,7 @@ Section 20.
@-a@>
@z
-Section 22.
+Section 21.
@x
@ The other large memory area in \.{CWEAVE} keeps the cross-reference data.
@@ -175,7 +175,7 @@ Section 22.
@-x@>
@z
-Section 24.
+Section 23.
@x
@d file_flag (3*cite_flag)
@@ -183,13 +183,13 @@ Section 24.
@-file_flag@>
@-def_flag@>
@-xref@>
-@$file_flag {CTWILL}24 =$\T{3}*\\{cite\_flag}{}$@>
-@$def_flag {CTWILL}24 =$\T{2}*\\{cite\_flag}{}$@>
-@$xref {CTWILL}24 =\\{equiv\_or\_xref}@>
+@$file_flag {CTWILL}23 =$\T{3}*\\{cite\_flag}{}$@>
+@$def_flag {CTWILL}23 =$\T{2}*\\{cite\_flag}{}$@>
+@$xref {CTWILL}23 =\\{equiv\_or\_xref}@>
@d file_flag (3*cite_flag)
@z
-Section 25.
+Section 24.
@x
@ A new cross-reference for an identifier is formed by calling |new_xref|,
@@ -199,10 +199,10 @@ Section 25.
@-c@>
@-p@>
@-no_xref@>
-@$no_xref {CTWILL}25 =$\R\\{make\_xrefs}$@>
+@$no_xref {CTWILL}24 =$\R\\{make\_xrefs}$@>
@z
-Section 36.
+Section 35.
@x
@d underline '\n' /* this code will be intercepted without confusion */
@@ -210,11 +210,11 @@ Section 36.
@d underline '\n' /* this code will be intercepted without confusion */
@-begin_comment@>
@-underline@>
-@$begin_comment {CTWILL}36 =\.{'\\t'}@>
-@$underline {CTWILL}36 =\.{'\\n'}@>
+@$begin_comment {CTWILL}35 =\.{'\\t'}@>
+@$underline {CTWILL}35 =\.{'\\n'}@>
@z
-Section 42.
+Section 41.
CTWILL hickups on comment and produces unmatched '$' in mini-index.
@@ -224,17 +224,17 @@ skip_TeX(void) /* skip past pure \TEX/ code */
skip_TeX(void)
@z
-Section 44.
+Section 43.
@x
@ As one might expect, |get_next| consists mostly of a big switch
@y
@ As one might expect, |get_next| consists mostly of a big switch
@-c@>
-@$c {CTWILL}44 \&{eight\_bits}@>
+@$c {CTWILL}43 \&{eight\_bits}@>
@z
-Section 45.
+Section 44.
@x
@ @<Predecl...@>=@+static eight_bits get_next(void);
@@ -243,17 +243,17 @@ Section 45.
@-get_next@>
@z
-Section 46.
+Section 45.
@x
@d left_preproc ord /* begins a preprocessor command */
@y
@-left_preproc@>
-@$left_preproc {CTWILL}46 =\\{ord}@>
+@$left_preproc {CTWILL}45 =\\{ord}@>
@d left_preproc ord /* begins a preprocessor command */
@z
-Section 52.
+Section 51.
@x
id_first=--loc;
@@ -272,7 +272,7 @@ Section 52.
return identifier;
@z
-Section 53.
+Section 52.
@x
@d gather_digits_while(t) while ((t) || *loc=='\'')
@@ -281,7 +281,7 @@ Section 53.
@-t@>
@z
-Section 65.
+Section 64.
@x
@ @<Predecl...@>=@+static void skip_restricted(void);
@@ -290,7 +290,7 @@ Section 65.
@-skip_restricted@>
@z
-Section 69.
+Section 68.
@x
@ @<Predecl...@>=@+static void phase_one(void);
@@ -299,7 +299,7 @@ Section 69.
@-phase_one@>
@z
-Section 72.
+Section 71.
@x
C_xref( /* makes cross-references for \CEE/ identifiers */
@@ -308,10 +308,10 @@ C_xref( /* makes cross-references for \CEE/ identifiers */
C_xref( /* makes cross-references for \CEE/ identifiers */
eight_bits spec_ctrl)
@-C_xref@>
-@$C_xref {CTWILL}72 \&{static} \&{void} (\,)@>
+@$C_xref {CTWILL}71 \&{static} \&{void} (\,)@>
@z
-Section 86.
+Section 85.
@x
@ The |flush_buffer| routine empties the buffer up to a given breakpoint,
@@ -320,20 +320,20 @@ Section 86.
@-b@>
@-c@>
@-tex_new_line@>
-@$tex_new_line {CTWILL}86 =$\\{putc}(\.{'\\n'},\39\\{active\_file})$@>
+@$tex_new_line {CTWILL}85 =$\\{putc}(\.{'\\n'},\39\\{active\_file})$@>
@z
-Section 89.
+Section 88.
@x
@d proofing flags['P']
@y
@d proofing flags['P']
@-proofing@>
-@$proofing {CTWILL}89 =\\{flags}[\.{'P'}]@>
+@$proofing {CTWILL}88 =\\{flags}[\.{'P'}]@>
@z
-Section 90.
+Section 89.
@x
@ When we wish to append one character |c| to the output buffer, we write
@@ -343,7 +343,7 @@ Section 90.
@-s@>
@z
-Section 91.
+Section 90.
@x
out_str( /* output characters from |s| to end of string */
@@ -352,10 +352,10 @@ const char*s)
out_str( /* output characters from |s| to end of string */
const char*s)
@-out_str@>
-@$out_str {CTWILL}91 \&{static} \&{void} (\,)@>
+@$out_str {CTWILL}90 \&{static} \&{void} (\,)@>
@z
-Section 101.
+Section 100.
@x
@ The |copy_comment| function issues a warning if more braces are opened than
@@ -364,10 +364,10 @@ Section 101.
@-c@>
@-t@>
@-copy_comment@>
-@$copy_comment {CTWILL}101 \&{static} \&{int} (\,)@>
+@$copy_comment {CTWILL}100 \&{static} \&{int} (\,)@>
@z
-Section 108.
+Section 107.
@x
@d print_cat(c) fputs(cat_name[c],stdout) /* symbolic printout of a category */
@@ -376,7 +376,7 @@ Section 108.
@-c@>
@z
-Section 109.
+Section 108.
@x
@ The token lists for translated \TEX/ output contain some special control
@@ -392,7 +392,7 @@ Section 109.
@-n@>
@z
-Section 110.
+Section 109.
@x
@ The raw input is converted into scraps according to the following table,
@@ -402,7 +402,7 @@ Section 110.
The raw input is converted into scraps according to the following table,
@z
-Sections 111.
+Sections 110.
@x l.7 line numbers refer to 'prod.w'
@ Here is a table of all the productions. Each production that
@@ -420,17 +420,17 @@ Sections 111.
@-s@>
@z
-Section 113.
+Section 111.
@x
-@ @d trans trans_plus.Trans /* translation texts of scraps */
+@d trans trans_plus.Trans /* translation texts of scraps */
@y
-@ @d trans trans_plus.Trans /* translation texts of scraps */
+@d trans trans_plus.Trans /* translation texts of scraps */
@-trans@>
-@$trans {CTWILL}113 =\\{trans\_plus}.\\{Trans}@>
+@$trans {CTWILL}111 =\\{trans\_plus}.\\{Trans}@>
@z
-Section 115.
+Section 114.
@x
@ Token lists in |@!tok_mem| are composed of the following kinds of
@@ -441,13 +441,13 @@ Section 115.
@-section_flag@>
@-tok_flag@>
@-inner_tok_flag@>
-@$res_flag {CTWILL}115 =$\T{2}*\\{id\_flag}$@>
-@$section_flag {CTWILL}115 =$\T{3}*\\{id\_flag}$@>
-@$tok_flag {CTWILL}115 =$\T{3}*\\{id\_flag}$@>
-@$inner_tok_flag {CTWILL}115 =$\T{4}*\\{id\_flag}$@>
+@$res_flag {CTWILL}114 =$\T{2}*\\{id\_flag}$@>
+@$section_flag {CTWILL}114 =$\T{3}*\\{id\_flag}$@>
+@$tok_flag {CTWILL}114 =$\T{3}*\\{id\_flag}$@>
+@$inner_tok_flag {CTWILL}114 =$\T{4}*\\{id\_flag}$@>
@z
-Section 118.
+Section 117.
@x
@ The production rules listed above are embedded directly into \.{CWEAVE},
@@ -462,7 +462,7 @@ Section 118.
@-pp@>
@z
-Section 121.
+Section 120.
@x
@ Let us consider the big switch for productions now, before looking
@@ -471,12 +471,12 @@ Section 121.
@-cat1@>
@-cat2@>
@-cat3@>
-@$cat1 {CTWILL}121 =$(\\{pp}+\T{1})\MG\\{cat}$@>
-@$cat2 {CTWILL}121 =$(\\{pp}+\T{2})\MG\\{cat}$@>
-@$cat3 {CTWILL}121 =$(\\{pp}+\T{3})\MG\\{cat}$@>
+@$cat1 {CTWILL}120 =$(\\{pp}+\T{1})\MG\\{cat}$@>
+@$cat2 {CTWILL}120 =$(\\{pp}+\T{2})\MG\\{cat}$@>
+@$cat3 {CTWILL}120 =$(\\{pp}+\T{3})\MG\\{cat}$@>
@z
-Section 122.
+Section 121.
@x
`\.{@@!@@:operator+=\}\{\\\&\{operator\} \$+\{=\}\$@@>}').
@@ -489,12 +489,12 @@ Section 122.
@-no_ident_found@>
@-case_found@>
@-operator_found@>
-@$no_ident_found {CTWILL}122 =\hfil\break(\&{token\_pointer}) 0@>
-@$case_found {CTWILL}122 =\hfil\break(\&{token\_pointer}) 1@>
-@$operator_found {CTWILL}122 =\hfil\break(\&{token\_pointer}) 2@>
+@$no_ident_found {CTWILL}121 =\hfil\break(\&{token\_pointer}) 0@>
+@$case_found {CTWILL}121 =\hfil\break(\&{token\_pointer}) 1@>
+@$operator_found {CTWILL}121 =\hfil\break(\&{token\_pointer}) 2@>
@z
-Section 124.
+Section 123.
@x
make_reserved( /* make the first identifier in |p->trans| like |int| */
@@ -503,10 +503,10 @@ scrap_pointer p)
make_reserved( /* make the first identifier in |p->trans| like |int| */
scrap_pointer p)
@-make_reserved@>
-@$make_reserved {CTWILL}124 \&{static} \&{void} (\,)@>
+@$make_reserved {CTWILL}123 \&{static} \&{void} (\,)@>
@z
-Section 125.
+Section 124.
@x
make_underlined(
@@ -517,7 +517,7 @@ make_underlined(
/* underline the entry for the first identifier in |p->trans| */
scrap_pointer p)
@-make_underlined@>
-@$make_underlined {CTWILL}125 \&{static} \&{void} (\,)@>
+@$make_underlined {CTWILL}124 \&{static} \&{void} (\,)@>
@z
@x
@@ -526,17 +526,17 @@ scrap_pointer p)
return; /* this happens, for example, in \&{case} \\{found}: */
@z
-Section 155.
+Section 154.
@x
@d force_lines flags['f'] /* should each statement be on its own line? */
@y
@d force_lines flags['f'] /* should each statement be on its own line? */
@-force_lines@>
-@$force_lines {CTWILL}155 =\\{flags}[\.{'f'}]@>
+@$force_lines {CTWILL}154 =\\{flags}[\.{'f'}]@>
@z
-Section 187.
+Section 186.
@x
@ @<Print a snapsh...@>=
@@ -544,11 +544,11 @@ Section 187.
@ @<Print a snapsh...@>=
@-n@>
@%
+@$n {CTWILL}181 \&{short}@>
@$n {CTWILL}182 \&{short}@>
-@$n {CTWILL}183 \&{short}@>
@z
-Section 189.
+Section 188.
@x
@ @<Predecl...@>=@+static text_pointer translate(void);
@@ -557,19 +557,19 @@ Section 189.
@-translate@>
@z
-Section 193.
+Section 192.
@x
if (next_control=='|' || next_control==begin_comment ||
next_control==begin_short_comment) return;
@y
@-C_parse@>
-@$C_parse {CTWILL}193 \&{static} \&{void} (\,)@>
+@$C_parse {CTWILL}192 \&{static} \&{void} (\,)@>
if (next_control=='|' || next_control==begin_comment @| ||
next_control==begin_short_comment) return;
@z
-Section 194.
+Section 193.
@x
@ @<Predecl...@>=@+static void C_parse(eight_bits);
@@ -578,7 +578,7 @@ Section 194.
@-C_parse@>
@z
-Section 195.
+Section 194.
@x
@ The following macro is used to append a scrap whose tokens have just
@@ -588,17 +588,17 @@ Section 195.
@-c@>
@z
-Section 204.
+Section 203.
@x
@d make_pb flags['e']
@y
@d make_pb flags['e']
@-make_pb@>
-@$make_pb {CTWILL}204 =\\{flags}[\.{'e'}]@>
+@$make_pb {CTWILL}203 =\\{flags}[\.{'e'}]@>
@z
-Section 208.
+Section 207.
@x
@d cur_mode cur_state.mode_field /* current mode of interpretation */
@@ -607,12 +607,12 @@ Section 208.
@-cur_end@>
@-cur_tok@>
@-cur_mode@>
-@$cur_end {CTWILL}208 =\\{cur\_state}.\\{end\_field}@>
-@$cur_tok {CTWILL}208 =\\{cur\_state}.\\{tok\_field}@>
-@$cur_mode {CTWILL}208 =\\{cur\_state}.\\{mode\_field}@>
+@$cur_end {CTWILL}207 =\\{cur\_state}.\\{end\_field}@>
+@$cur_tok {CTWILL}207 =\\{cur\_state}.\\{tok\_field}@>
+@$cur_mode {CTWILL}207 =\\{cur\_state}.\\{mode\_field}@>
@z
-Section 211.
+Section 210.
@x
push_level( /* suspends the current level */
@@ -621,10 +621,10 @@ text_pointer p)
push_level( /* suspends the current level */
text_pointer p)
@-push_level@>
-@$push_level {CTWILL}211 \&{static} \&{void} (\,)@>
+@$push_level {CTWILL}210 \&{static} \&{void} (\,)@>
@z
-Section 228.
+Section 227.
@x
@ @<Predecl...@>=@+static void phase_two(void);
@@ -633,17 +633,17 @@ Section 228.
@-phase_two@>
@z
-Section 230.
+Section 229.
@x
@ @d usage_sentinel (struct perm_meaning *)1
@y
@ @d usage_sentinel (struct perm_meaning *)1
@-usage_sentinel@>
-@$usage_sentinel {CTWILL}230 =(\&{struct} \&{perm\_meaning} ${}{*}{}$) \T{1}@>
+@$usage_sentinel {CTWILL}229 =(\&{struct} \&{perm\_meaning} ${}{*}{}$) \T{1}@>
@z
-Section 234.
+Section 233.
@x
finish_C( /* finishes a definition or a \CEE/ part */
@@ -652,10 +652,10 @@ finish_C( /* finishes a definition or a \CEE/ part */
finish_C( /* finishes a definition or a \CEE/ part */
boolean visible) /* |true| if we should produce \TeX\ output */
@-finish_C@>
-@$finish_C {CTWILL}234 \&{static} \&{void} (\,)@>
+@$finish_C {CTWILL}233 \&{static} \&{void} (\,)@>
@z
-Section 235.
+Section 234.
@x
@ @<Predecl...@>=@+static void finish_C(boolean);
@@ -664,7 +664,7 @@ Section 235.
@-finish_C@>
@z
-Section 243.
+Section 242.
@x
footnote( /* outputs section cross-references */
@@ -673,10 +673,10 @@ sixteen_bits flag)
footnote( /* outputs section cross-references */
sixteen_bits flag)
@-footnote@>
-@$footnote {CTWILL}243 \&{static} \&{void} (\,)@>
+@$footnote {CTWILL}242 \&{static} \&{void} (\,)@>
@z
-Section 244.
+Section 243.
@x
@ @<Predecl...@>=@+static void footnote(sixteen_bits);
@@ -685,7 +685,7 @@ Section 244.
@-footnote@>
@z
-Section 248.
+Section 247.
@x
@ @<Predecl...@>=@+static void phase_three(void);
@@ -694,7 +694,7 @@ Section 248.
@-phase_three@>
@z
-Section 251.
+Section 250.
@x
@ A left-to-right radix sorting method is used, since this makes it easy to
@@ -703,7 +703,7 @@ Section 251.
@-c@>
@z
-Section 253.
+Section 252.
@x
@<Rest of |trans_plus| union@>=
@@ -713,7 +713,7 @@ Section 253.
@-k@>
@z
-Section 254.
+Section 253.
@x
@ @d depth cat /* reclaims memory that is no longer needed for parsing */
@@ -723,22 +723,22 @@ Section 254.
@-head@>
@-sort_ptr@>
@-max_sorts@>
-@$depth {CTWILL}254 =\\{cat}@>
-@$head {CTWILL}254 =\\{trans\_plus}.\\{Head}@>
-@$sort_ptr {CTWILL}254 =\\{scrap\_ptr}@>
+@$depth {CTWILL}253 =\\{cat}@>
+@$head {CTWILL}253 =\\{trans\_plus}.\\{Head}@>
+@$sort_ptr {CTWILL}253 =\\{scrap\_ptr}@>
@z
-Section 258.
+Section 257.
@x
@ Procedure |unbucket| goes through the buckets and adds nonempty lists
@y
@ Procedure |unbucket| goes through the buckets and adds nonempty lists
@-unbucket@>
-@$unbucket {CTWILL}258 \&{static} \&{void} (\,)@>
+@$unbucket {CTWILL}257 \&{static} \&{void} (\,)@>
@z
-Section 259.
+Section 258.
@x
@ @<Predecl...@>=@+static void unbucket(eight_bits);
@@ -747,7 +747,7 @@ Section 259.
@-unbucket@>
@z
-Section 261.
+Section 260.
@x
next_name=sort_ptr->head;
@@ -755,7 +755,7 @@ Section 261.
next_name=sort_ptr->head;@/
@z
-Section 262.
+Section 261.
@x
cur_name=sort_ptr->head;
@@ -763,7 +763,7 @@ Section 262.
cur_name=sort_ptr->head;@/
@z
-Section 268.
+Section 267.
@x
@ @<Predecl...@>=@+static void section_print(name_pointer);
@@ -772,7 +772,7 @@ Section 268.
@-section_print@>
@z
-Section 270.
+Section 269.
@x
puts(_("\nMemory usage statistics:"));
@@ -836,10 +836,10 @@ Section 270.
@t\5\5\5\5@>(long)max_scraps);
@z
-Section 272.
+Section 271.
@x
-@q Section 2->272. @>
+@q Section 2->271. @>
@* {\tentex CTWILL} user manual.
@y
@* {\tentex CTWILL} user manual.
@@ -849,17 +849,17 @@ Section 272.
@-printf@>
@z
-Section 274.
+Section 273.
@x
static struct perm_meaning {
@y
static struct perm_meaning {
@-perm_meaning@>
-@$perm_meaning {CTWILL}274 \&{static} \&{struct}@>
+@$perm_meaning {CTWILL}273 \&{static} \&{struct}@>
@z
-Section 283.
+Section 282.
@x
@ @<Predec...@>=@+static boolean app_supp(text_pointer);
@@ -868,7 +868,7 @@ Section 283.
@-app_supp@>
@z
-Section 284.
+Section 283.
@x
@ The trickiest part of \.{CTWILL} is the procedure |make_ministring(pp+l)|,
@@ -879,10 +879,10 @@ Section 284.
@-c@>
@-l@>
@-make_ministring@>
-@$make_ministring {CTWILL}284 \&{static} \&{void} (\,)@>
+@$make_ministring {CTWILL}283 \&{static} \&{void} (\,)@>
@z
-Section 285.
+Section 284.
@x
@ @<Predec...@>=@+static void make_ministring(scrap_pointer);
@@ -891,28 +891,28 @@ Section 285.
@-make_ministring@>
@z
-Section 293.
+Section 292.
@x
@ @<Write the new meaning to the \.{.aux} file@>=
@y
@ @<Write the new meaning to the \.{.aux} file@>=
@%
-@$p {CTWILL}277 \&{name\_pointer}@>
-@$q {CTWILL}277 \&{struct perm\_meaning} ${}{*}{}$@>
+@$p {CTWILL}276 \&{name\_pointer}@>
+@$q {CTWILL}276 \&{struct perm\_meaning} ${}{*}{}$@>
@z
-Section 294.
+Section 293.
@x
@<Flag the usage of this identifier, for the mini-index@>=
@y
@<Flag the usage of this identifier, for the mini-index@>=
@%
-@$p {CTWILL}202 \&{name\_pointer}@>
+@$p {CTWILL}201 \&{name\_pointer}@>
@z
-Section 297.
+Section 296.
@x
@ @<Predec...@>=@+static void out_mini(meaning_struct *);
@@ -921,7 +921,7 @@ Section 297.
@-out_mini@>
@z
-Section 300.
+Section 299.
@x
@ @<Predec...@>=@+static sixteen_bits title_lookup(void);
@@ -930,27 +930,27 @@ Section 300.
@-title_lookup@>
@z
-Section 303.
+Section 302.
@x
@d indent_param_decl flags['i'] /* should formal parameter declarations be indented? */
@y
@d indent_param_decl flags['i'] /* should formal parameter declarations be indented? */
@-indent_param_decl@>
-@$indent_param_decl {CTWILL}303 =\\{flags}[\.{'i'}]@>
+@$indent_param_decl {CTWILL}302 =\\{flags}[\.{'i'}]@>
@z
-Section 304.
+Section 303.
@x
@d order_decl_stmt flags['o'] /* should declarations and statements be separated? */
@y
@d order_decl_stmt flags['o'] /* should declarations and statements be separated? */
@-order_decl_stmt@>
-@$order_decl_stmt {CTWILL}304 =\\{flags}[\.{'o'}]@>
+@$order_decl_stmt {CTWILL}303 =\\{flags}[\.{'o'}]@>
@z
-Section 310.
+Section 307.
@x l.116 of CTWILL-TEXLIVE.CH
@d kpse_find_cweb(name) kpse_find_file(name,kpse_cweb_format,true)
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
index 31701bfe0f4..21995b057aa 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
@@ -32,14 +32,14 @@ Section 1.
@x
A kind of ``user manual'' for \.{CTWILL} can be found in the appendix
-\X271:Mogrify \.{CWEAVE} into \.{CTWILL}\X~and beyond, together with
+\X270:Mogrify \.{CWEAVE} into \.{CTWILL}\X~and beyond, together with
additional material specific to \.{CTWILL}. % FIXME
Until then, \.{CWEAVE}'s sequence of sections will be preserved.
The ``banner line'' defined here should be changed whenever \.{CTWILL} is
@y
A kind of ``user manual'' for \.{CTWILL} can be found in section~%
-\X288:Mogrify {\tentex CWEAVE} into {\tentex CTWILL}\X~and beyond,
+\X287:Mogrify {\tentex CWEAVE} into {\tentex CTWILL}\X~and beyond,
together with additional material specific to \.{CTWILL}. % FIXME
\bigskip
{\font\itt=cmitt10 \font\bit=cmbxti10
@@ -65,8 +65,8 @@ The ``banner line'' defined here should be changed whenever \.{CTWILL} is
@$ctwill {CTWILL}3 \&{enum} \&{cweb}@>
@$cweave {CTWILL}3 \&{enum} \&{cweb}@>
-@$inner {CTWILL}223 \&{enum} \&{mode}@>
-@$outer {CTWILL}223 \&{enum} \&{mode}@>
+@$inner {CTWILL}222 \&{enum} \&{mode}@>
+@$outer {CTWILL}222 \&{enum} \&{mode}@>
@z
Section 2.
@@ -155,7 +155,7 @@ Section 13.
@-s@>
@z
-Section 14.
+Section 15.
@x
extern const char *use_language; /* prefix to \.{cwebmac.tex} in \TEX/ output */
@@ -206,7 +206,7 @@ Section 17.
@$long_buf_size {CTWILL}17 =$\\{buf\_size}+\\{longest\_name}$@>
@z
-Section 20.
+Section 19.
@x
@* Data structures exclusive to {\tt CWEAVE}.
@@ -215,7 +215,7 @@ Section 20.
@-a@>
@z
-Section 21.
+Section 20.
@x
@ We keep track of the current section number in |section_count|, which
@@ -223,7 +223,7 @@ Section 21.
@r @ We keep track of the current section number in |section_count|, which
@z
-Section 22.
+Section 21.
@x
@ The other large memory area in \.{CWEAVE} keeps the cross-reference data.
@@ -233,7 +233,7 @@ Section 22.
@-x@>
@z
-Section 24.
+Section 23.
@x
@d file_flag (3*cite_flag)
@@ -241,13 +241,13 @@ Section 24.
@-file_flag@>
@-def_flag@>
@-xref@>
-@$file_flag {CTWILL}24 =$\T{3}*\\{cite\_flag}{}$@>
-@$def_flag {CTWILL}24 =$\T{2}*\\{cite\_flag}{}$@>
-@$xref {CTWILL}24 =\\{equiv\_or\_xref}@>
+@$file_flag {CTWILL}23 =$\T{3}*\\{cite\_flag}{}$@>
+@$def_flag {CTWILL}23 =$\T{2}*\\{cite\_flag}{}$@>
+@$xref {CTWILL}23 =\\{equiv\_or\_xref}@>
@d file_flag (3*cite_flag)
@z
-Section 25.
+Section 24.
@x
@ A new cross-reference for an identifier is formed by calling |new_xref|,
@@ -257,10 +257,10 @@ Section 25.
@-c@>
@-p@>
@-no_xref@>
-@$no_xref {CTWILL}25 =$\R\\{make\_xrefs}$@>
+@$no_xref {CTWILL}24 =$\R\\{make\_xrefs}$@>
@z
-Section 36.
+Section 35.
@x
@d underline '\n' /* this code will be intercepted without confusion */
@@ -268,11 +268,11 @@ Section 36.
@d underline '\n' /* this code will be intercepted without confusion */
@-begin_comment@>
@-underline@>
-@$begin_comment {CTWILL}36 =\.{'\\t'}@>
-@$underline {CTWILL}36 =\.{'\\n'}@>
+@$begin_comment {CTWILL}35 =\.{'\\t'}@>
+@$underline {CTWILL}35 =\.{'\\n'}@>
@z
-Section 37.
+Section 36.
@x
@ Control codes are converted to \.{CWEAVE}'s internal
@@ -280,7 +280,7 @@ Section 37.
@r @ Control codes are converted to \.{CWEAVE}'s internal
@z
-Section 42.
+Section 41.
CTWILL hickups on comment and produces unmatched '$' in mini-index.
@@ -290,7 +290,7 @@ skip_TeX(void) /* skip past pure \TEX/ code */
skip_TeX(void)
@z
-Section 43.
+Section 42.
@x
\yskip\hang |identifier|: In this case the global variables |id_first| and
@@ -340,17 +340,17 @@ The value of |cur_section_char| will be |'('| if the section name was
preceded by \.{@@(} instead of \.{@@<}.\par}
@z
-Section 44.
+Section 43.
@x
@ As one might expect, |get_next| consists mostly of a big switch
@y
@ As one might expect, |get_next| consists mostly of a big switch
@-c@>
-@$c {CTWILL}44 \&{eight\_bits}@>
+@$c {CTWILL}43 \&{eight\_bits}@>
@z
-Section 45.
+Section 44.
@x
@ @<Predecl...@>=@+static eight_bits get_next(void);
@@ -359,7 +359,7 @@ Section 45.
@-get_next@>
@z
-Section 46.
+Section 45.
@x
@d left_preproc ord /* begins a preprocessor command */
@@ -369,7 +369,7 @@ Section 46.
@d left_preproc ord /* begins a preprocessor command */
@z
-Section 51.
+Section 50.
@x
if (*(loc+1)=='*') {loc++;@+compress(minus_gt_ast);}
@@ -387,7 +387,7 @@ Section 51.
} break;
@z
-Section 52.
+Section 51.
@x
id_first=--loc;
@@ -408,7 +408,7 @@ Section 52.
}
@z
-Section 53.
+Section 52.
@x
@d gather_digits_while(t) while ((t) || *loc=='\'')
@@ -417,7 +417,7 @@ Section 53.
@-t@>
@z
-Section 54.
+Section 53.
@x
@ @<Get a hex...@>={
@@ -425,7 +425,7 @@ Section 54.
@r @ @<Get a hex...@>={
@z
-Section 57.
+Section 56.
@x
else {
@@ -438,7 +438,7 @@ Section 57.
@y
@z
-Section 64.
+Section 63.
@x
@ This function skips over a restricted context at relatively high speed.
@@ -446,7 +446,7 @@ Section 64.
@r @ This function skips over a restricted context at relatively high speed.
@z
-Section 65.
+Section 64.
@x
@ @<Predecl...@>=@+static void skip_restricted(void);
@@ -455,7 +455,7 @@ Section 65.
@-skip_restricted@>
@z
-Section 69.
+Section 68.
@x
@ @<Predecl...@>=@+static void phase_one(void);
@@ -464,7 +464,7 @@ Section 69.
@-phase_one@>
@z
-Section 72.
+Section 71.
@x
C_xref( /* makes cross-references for \CEE/ identifiers */
@@ -473,7 +473,7 @@ C_xref( /* makes cross-references for \CEE/ identifiers */
C_xref( /* makes cross-references for \CEE/ identifiers */
eight_bits spec_ctrl)
@-C_xref@>
-@$C_xref {CTWILL}72 \&{static} \&{void} (\,)@>
+@$C_xref {CTWILL}71 \&{static} \&{void} (\,)@>
@z
@x
@@ -484,7 +484,7 @@ C_xref( /* makes cross-references for \CEE/ identifiers */
next_control==begin_short_comment) return;
@z
-Section 73.
+Section 72.
@x
@ The |outer_xref| subroutine is like |C_xref| except that it begins
@@ -496,7 +496,7 @@ with |next_control| |!='|'| and ends with |next_control>=format_code|.
Thus, it handles \CEE/ text with embedded comments.
@z
-Section 80.
+Section 79.
@x
@ Finally, when the \TEX/ and definition parts have been treated, we have
@@ -506,7 +506,7 @@ Section 80.
\hfil\break|next_control>=begin_C|.
@z
-Section 86.
+Section 85.
@x
@ The |flush_buffer| routine empties the buffer up to a given breakpoint,
@@ -515,20 +515,20 @@ Section 86.
@-b@>
@-c@>
@-tex_new_line@>
-@$tex_new_line {CTWILL}86 =$\\{putc}(\.{'\\n'},\39\\{active\_file})$@>
+@$tex_new_line {CTWILL}85 =$\\{putc}(\.{'\\n'},\39\\{active\_file})$@>
@z
-Section 89.
+Section 88.
@x
@d proofing flags['P']
@y
@d proofing flags['P']
@-proofing@>
-@$proofing {CTWILL}89 =\\{flags}[\.{'P'}]@>
+@$proofing {CTWILL}88 =\\{flags}[\.{'P'}]@>
@z
-Section 90.
+Section 89.
@x
@ When we wish to append one character |c| to the output buffer, we write
@@ -538,7 +538,7 @@ Section 90.
@-s@>
@z
-Section 91.
+Section 90.
@x
out_str( /* output characters from |s| to end of string */
@@ -547,10 +547,10 @@ const char*s)
out_str( /* output characters from |s| to end of string */
const char*s)
@-out_str@>
-@$out_str {CTWILL}91 \&{static} \&{void} (\,)@>
+@$out_str {CTWILL}90 \&{static} \&{void} (\,)@>
@z
-Section 97.
+Section 96.
@x
@ The |out_name| procedure is used to output an identifier or index
@@ -558,7 +558,7 @@ Section 97.
@r @ The |out_name| procedure is used to output an identifier or index
@z
-Section 100.
+Section 99.
@x
@ The |copy_TeX| routine processes the \TEX/ code at the beginning of a
@@ -566,7 +566,7 @@ Section 100.
@r @ The |copy_TeX| routine processes the \TEX/ code at the beginning of a
@z
-Section 101.
+Section 100.
@x
@ The |copy_comment| function issues a warning if more braces are opened than
@@ -575,7 +575,7 @@ Section 101.
@-c@>
@-t@>
@-copy_comment@>
-@$copy_comment {CTWILL}101 \&{static} \&{int} (\,)@>
+@$copy_comment {CTWILL}100 \&{static} \&{int} (\,)@>
@z
@x
@@ -584,7 +584,7 @@ Section 101.
} @+ else {
@z
-Section 106.
+Section 105.
@x
@ Here is a list of the category codes that scraps can have.
@@ -592,7 +592,7 @@ Section 106.
@r @ Here is a list of the category codes that scraps can have.
@z
-Section 108.
+Section 107.
@x
@d print_cat(c) fputs(cat_name[c],stdout) /* symbolic printout of a category */
@@ -601,7 +601,7 @@ Section 108.
@-c@>
@z
-Section 109--110.
+Section 108--109.
@x
@ The token lists for translated \TEX/ output contain some special control
@@ -617,7 +617,7 @@ Section 109--110.
@-n@>
@z
-Section 111--116.
+Section 110--115.
@x
@ The raw input is converted into scraps according to the following table,
@@ -694,7 +694,7 @@ The raw input is converted into scraps according to the following table,
*The \.{\\,} (thin space) is omitted in ``|inner| \TeX\ mode.''
@z
-Sections 117--125.
+Sections 116--124.
@x l.7 line numbers refer to 'prod.w'
@ Here is a table of all the productions. Each production that
@@ -711,7 +711,7 @@ TeX reports 'extra \fi' when running on twilled 'ctwill.w'.
\newcount\prodno \newdimen\midcol \let\+\relax
@z
-Section 118.
+Section 117.
@x l.78
\+& |lpar| |rpar| & |exp| \hfill $L\.{\\,}R$ & functions, declarations\cr
@@ -744,7 +744,7 @@ Section 118.
\ignorespaces#3\hfil}\quad \hbox to1.45in{\ignorespaces#4\hfil}}}
@z
-Section 119.
+Section 118.
@x l.45
|int_like| \alt|raw_int| |struct_like| & |extern "Ada" int|\cr
@@ -776,7 +776,7 @@ Section 119.
\ignorespaces#3\hfil}\quad \hbox to1.45in{\ignorespaces#4\hfil}}}
@z
-Section 120.
+Section 119.
@x l.75
& \&{struct} \&{name\_info} $\{$\cr
@@ -808,7 +808,7 @@ Section 120.
\ignorespaces#3\hfil}\quad \hbox to1.45in{\ignorespaces#4\hfil}}}
@z
-Section 121.
+Section 120.
@x l.164
& \&{else} $x=0;$\cr
@@ -841,7 +841,7 @@ Section 121.
\advance\midcol20pt
@z
-Section 122.
+Section 121.
@x l.211
\+& |prerangle| & |binop| \hfill \.> & $>$ not in template\cr
@@ -873,7 +873,7 @@ Section 122.
\ignorespaces#3\hfil}\quad \hbox to1.45in{\ignorespaces#4\hfil}}}
@z
-Section 123.
+Section 122.
@x l.232
\+\dagit& |new_exp| & |exp| & |new int;|\cr
@@ -925,7 +925,7 @@ Section 123.
@y
@z
-Section 124.
+Section 123.
@x l.291
\+& |exp| |attr| & |exp| \hfill $E\.\ A$ & \&{enum} $\{x\ [[\ldots]]\}$ \cr
@@ -964,7 +964,7 @@ Section 124.
\advance\midcol20pt
@z
-Section 125.
+Section 124.
@x l.326
\+& |alignas_like| |cast| & |attr| & |alignas(int)| \cr
@@ -991,7 +991,7 @@ Section 125.
\everypar={\hangindent=2em}
@z
-Section 126.
+Section 125.
@x
@* Implementing the productions.
@@ -1006,17 +1006,15 @@ the category codes |pp->cat,@,@,(pp+1)->cat|$,\,\,\ldots\,$
the category codes |pp->cat|, |(pp+1)->cat|, $\,\ldots\,$
@z
-Section 127.
-
@x
-@ @d trans trans_plus.Trans /* translation texts of scraps */
+@d trans trans_plus.Trans /* translation texts of scraps */
@y
-@ @d trans trans_plus.Trans /* translation texts of scraps */
+@d trans trans_plus.Trans /* translation texts of scraps */
@-trans@>
-@$trans {CTWILL}127 =\\{trans\_plus}.\\{Trans}@>
+@$trans {CTWILL}125 =\\{trans\_plus}.\\{Trans}@>
@z
-Section 128.
+Section 127.
@x
null_scrap.trans=&tok_start[0];
@@ -1026,7 +1024,7 @@ null_scrap.trans=&tok_start[0];@/
scrap_base=scrap_info+1;@/
@z
-Section 129.
+Section 128.
@x
@ Token lists in |@!tok_mem| are composed of the following kinds of
@@ -1037,13 +1035,13 @@ Section 129.
@-section_flag@>
@-tok_flag@>
@-inner_tok_flag@>
-@$res_flag {CTWILL}129 =$\T{2}*\\{id\_flag}$@>
-@$section_flag {CTWILL}129 =$\T{3}*\\{id\_flag}$@>
-@$tok_flag {CTWILL}129 =$\T{3}*\\{id\_flag}$@>
-@$inner_tok_flag {CTWILL}129 =$\T{4}*\\{id\_flag}$@>
+@$res_flag {CTWILL}128 =$\T{2}*\\{id\_flag}$@>
+@$section_flag {CTWILL}128 =$\T{3}*\\{id\_flag}$@>
+@$tok_flag {CTWILL}128 =$\T{3}*\\{id\_flag}$@>
+@$inner_tok_flag {CTWILL}128 =$\T{4}*\\{id\_flag}$@>
@z
-Section 132.
+Section 131.
@x
@ The production rules listed above are embedded directly into \.{CWEAVE},
@@ -1066,7 +1064,7 @@ example, `|squash(pp,3,exp,-2,3)|' is an abbreviation for `|big_app3(pp)|'
followed by `|reduce(pp,3,exp,-2,3)|'.
@z
-Section 133.
+Section 132.
@x
@ The |mathness| is an attribute of scraps that says whether they are
@@ -1074,7 +1072,7 @@ Section 133.
@r @ The |mathness| is an attribute of scraps that says whether they are
@z
-Section 135--136.
+Section 134--135.
@x
@ Let us consider the big switch for productions now, before looking
@@ -1083,9 +1081,9 @@ Section 135--136.
@-cat1@>
@-cat2@>
@-cat3@>
-@$cat1 {CTWILL}135 =$(\\{pp}+\T{1})\MG\\{cat}$@>
-@$cat2 {CTWILL}135 =$(\\{pp}+\T{2})\MG\\{cat}$@>
-@$cat3 {CTWILL}135 =$(\\{pp}+\T{3})\MG\\{cat}$@>
+@$cat1 {CTWILL}134 =$(\\{pp}+\T{1})\MG\\{cat}$@>
+@$cat2 {CTWILL}134 =$(\\{pp}+\T{2})\MG\\{cat}$@>
+@$cat3 {CTWILL}134 =$(\\{pp}+\T{3})\MG\\{cat}$@>
@z
@x
@@ -1219,7 +1217,7 @@ pp++; /* if no match was found, we move to the right */
case default_like: @<Cases for |default_like|@>@; @+break;
@z
-Section 137.
+Section 136.
@x
should say, for example, `\.{@@!@@\^\\\&\{operator\} \$+\{=\}\$@@>}' (or,
@@ -1236,12 +1234,12 @@ should say, for example, `\.{@@!@@\^\\\&\{operator\}} \.{\$+\{=\}\$@@>}'
@-no_ident_found@>
@-case_found@>
@-operator_found@>
-@$no_ident_found {CTWILL}137 =\hfil\break(\&{token\_pointer}) 0@>
-@$case_found {CTWILL}137 =\hfil\break(\&{token\_pointer}) 1@>
-@$operator_found {CTWILL}137 =\hfil\break(\&{token\_pointer}) 2@>
+@$no_ident_found {CTWILL}136 =\hfil\break(\&{token\_pointer}) 0@>
+@$case_found {CTWILL}136 =\hfil\break(\&{token\_pointer}) 1@>
+@$operator_found {CTWILL}136 =\hfil\break(\&{token\_pointer}) 2@>
@z
-Section 139.
+Section 138.
@x
the |for| loop below.
@@ -1261,10 +1259,10 @@ scrap_pointer p)
make_reserved( /* make the first identifier in |p->trans| like |int| */
scrap_pointer p)
@-make_reserved@>
-@$make_reserved {CTWILL}139 \&{static} \&{void} (\,)@>
+@$make_reserved {CTWILL}138 \&{static} \&{void} (\,)@>
@z
-Section 140.
+Section 139.
@x
@ In the following situations we want to mark the occurrence of
@@ -1281,7 +1279,7 @@ make_underlined(
/* underline the entry for the first identifier in |p->trans| */
scrap_pointer p)
@-make_underlined@>
-@$make_underlined {CTWILL}140 \&{static} \&{void} (\,)@>
+@$make_underlined {CTWILL}139 \&{static} \&{void} (\,)@>
@z
@x
@@ -1290,7 +1288,7 @@ scrap_pointer p)
return; /* this happens, for example, in \&{case} \\{found}: */
@z
-Section 141.
+Section 140.
@x
while (q != xmem) {
@@ -1298,7 +1296,7 @@ Section 141.
while (q != xmem) { @+
@z
-Section 143.
+Section 142.
@x
strcpy(ministring_buf,"label");
@@ -1312,7 +1310,7 @@ else if (cat1==attr) {
else @/ if (cat1==attr) {
@z
-Section 157.
+Section 156.
@x
@ @<Cases for |struct_head|@>=
@@ -1320,7 +1318,7 @@ Section 157.
@r @ @<Cases for |struct_head|@>=
@z
-Section 164.
+Section 163.
@x
else reduce(pp,0,else_like,0,65);
@@ -1332,17 +1330,17 @@ else if (cat1==attr) {
@+ else @/ if (cat1==attr) {
@z
-Section 170.
+Section 159.
@x
@d force_lines flags['f'] /* should each statement be on its own line? */
@y
@d force_lines flags['f'] /* should each statement be on its own line? */
@-force_lines@>
-@$force_lines {CTWILL}170 =\\{flags}[\.{'f'}]@>
+@$force_lines {CTWILL}159 =\\{flags}[\.{'f'}]@>
@z
-Section 173.
+Section 172.
@x
if (cat1==if_like || cat1==else_like || cat1==define_like)
@@ -1356,7 +1354,7 @@ if (cat1==if_like || cat1==else_like || cat1==define_like) @/
} else @/ if (cat1==exp || cat1==function) {
@z
-Section 178.
+Section 177.
@x l.3017
app(opt); app('9'); reduce(pp,4,langle,0,153);
@@ -1368,7 +1366,7 @@ Section 178.
else reduce(pp,4,cast,-1,154);
@z
-Section 179.
+Section 178.
@x l.3028
big_app1_insert(pp,' '); reduce(pp,2,struct_like,0,155);
@@ -1380,7 +1378,7 @@ else reduce(pp,0,raw_int,0,91);
else reduce(pp,0,raw_int,0,91);
@z
-Section 181.
+Section 180.
@x
big_app1(pp+2); reduce(pp,3,new_exp,0,96);
@@ -1392,7 +1390,7 @@ else if (cat1==raw_ubin) {
@+ else @/ if (cat1==raw_ubin) {
@z
-Section 197.
+Section 196.
@x
@ Now here's the |reduce| procedure used in our code for productions,
@@ -1400,7 +1398,7 @@ Section 197.
@r @ Now here's the |reduce| procedure used in our code for productions,
@z
-Section 202.
+Section 201.
@x
@ @<Print a snapsh...@>=
@@ -1408,11 +1406,11 @@ Section 202.
@ @<Print a snapsh...@>=
@-n@>
@%
+@$n {CTWILL}196 \&{short}@>
@$n {CTWILL}197 \&{short}@>
-@$n {CTWILL}198 \&{short}@>
@z
-Section 204.
+Section 203.
@x
@ @<Predecl...@>=@+static text_pointer translate(void);
@@ -1421,19 +1419,19 @@ Section 204.
@-translate@>
@z
-Section 208.
+Section 207.
@x
if (next_control=='|' || next_control==begin_comment ||
next_control==begin_short_comment) return;
@y
@-C_parse@>
-@$C_parse {CTWILL}208 \&{static} \&{void} (\,)@>
+@$C_parse {CTWILL}207 \&{static} \&{void} (\,)@>
if (next_control=='|' || next_control==begin_comment @| ||
next_control==begin_short_comment) return;
@z
-Section 209.
+Section 208.
@x
@ @<Predecl...@>=@+static void C_parse(eight_bits);
@@ -1442,7 +1440,7 @@ Section 209.
@-C_parse@>
@z
-Section 210.
+Section 209.
@x
@ The following macro is used to append a scrap whose tokens have just
@@ -1452,7 +1450,7 @@ Section 210.
@-c@>
@z
-Section 211.
+Section 210.
@x
@ @<Append the scr...@>=
@@ -1515,7 +1513,7 @@ Section 211.
@#
@z
-Section 212--213.
+Section 211--212.
@x
overflow(_("scrap/token/text"));
@@ -1564,7 +1562,7 @@ Section 212--213.
case ':': app(':');@+app_scrap(colon,no_math);@+break;@/
@z
-Section 215.
+Section 214.
@x
@<Append a string or...@>={@+ int count=-1; /* characters remaining before string break */
@@ -1572,7 +1570,7 @@ Section 215.
@<Append a string or...@>={int count=-1; /* characters remaining before string break */
@z
-Section 220.
+Section 219.
@x
@ The |outer_parse| routine is to |C_parse| as |outer_xref|
@@ -1585,10 +1583,10 @@ Section 220.
@y
@d make_pb flags['e']
@-make_pb@>
-@$make_pb {CTWILL}220 =\\{flags}[\.{'e'}]@>
+@$make_pb {CTWILL}219 =\\{flags}[\.{'e'}]@>
@z
-Section 224.
+Section 223.
@x
@d cur_mode cur_state.mode_field /* current mode of interpretation */
@@ -1597,12 +1595,12 @@ Section 224.
@-cur_end@>
@-cur_tok@>
@-cur_mode@>
-@$cur_end {CTWILL}224 =\\{cur\_state}.\\{end\_field}@>
-@$cur_tok {CTWILL}224 =\\{cur\_state}.\\{tok\_field}@>
-@$cur_mode {CTWILL}224 =\\{cur\_state}.\\{mode\_field}@>
+@$cur_end {CTWILL}223 =\\{cur\_state}.\\{end\_field}@>
+@$cur_tok {CTWILL}223 =\\{cur\_state}.\\{tok\_field}@>
+@$cur_mode {CTWILL}223 =\\{cur\_state}.\\{mode\_field}@>
@z
-Section 227.
+Section 226.
@x
@ To insert token-list |p| into the output, the |push_level| subroutine
@@ -1617,10 +1615,10 @@ text_pointer p)
push_level( /* suspends the current level */
text_pointer p)
@-push_level@>
-@$push_level {CTWILL}227 \&{static} \&{void} (\,)@>
+@$push_level {CTWILL}226 \&{static} \&{void} (\,)@>
@z
-Section 228.
+Section 227.
@x
force when the current level was begun. This subroutine will never be
@@ -1630,7 +1628,7 @@ force when the current level was begun. It is so simple, we declare it as a
macro. This subroutine will never be called when |stack_ptr==1|.
@z
-Section 233--234.
+Section 232--233.
@x
@ Here is \.{CWEAVE}'s major output handler.
@@ -1717,7 +1715,7 @@ Section 233--234.
}
@z
-Section 235.
+Section 234.
@x
@ An identifier of length one does not have to be enclosed in braces, and it
@@ -1725,7 +1723,7 @@ Section 235.
@r @ An identifier of length one does not have to be enclosed in braces, and it
@z
-Section 236.
+Section 235.
@x
} else if (a==opt) b=get_output(); /* ignore digit following |opt| */
@@ -1733,7 +1731,7 @@ Section 236.
}@+ else if (a==opt) b=get_output(); /* ignore digit following |opt| */
@z
-Section 237.
+Section 236.
@x
@<Look ahead for st...@>= {
@@ -1755,7 +1753,7 @@ Section 237.
while (true) {@+
@z
-Section 240.
+Section 239.
@x
case ' ': case '\\': case '#': case '%': case '$': case '^':
@@ -1768,7 +1766,7 @@ Section 240.
out('\\'); @=/* falls through */@>@;
@z
-Section 242.
+Section 241.
@x
if (b=='@@' || (b=='\\' && delim!=0))
@@ -1776,7 +1774,7 @@ Section 242.
if (b=='@@' || (b=='\\' && delim!=0)) @/
@z
-Section 244.
+Section 243.
@x
phase_two(void) {
@@ -1784,7 +1782,7 @@ phase_two(void) {
phase_two(void) {@+
@z
-Section 245.
+Section 244.
@x
@ @<Predecl...@>=@+static void phase_two(void);
@@ -1793,7 +1791,7 @@ Section 245.
@-phase_two@>
@z
-Section 247.
+Section 246.
@x
@ @d usage_sentinel (struct perm_meaning *)1
@@ -1801,11 +1799,11 @@ Section 247.
@y
@ @d usage_sentinel (struct perm_meaning *)1
@-usage_sentinel@>
-@$usage_sentinel {CTWILL}247 =(\&{struct} \&{perm\_meaning} ${}{*}{}$) \T{1}@>
+@$usage_sentinel {CTWILL}246 =(\&{struct} \&{perm\_meaning} ${}{*}{}$) \T{1}@>
@<Translate the current section@>=@+ {
@z
-Section 251.
+Section 250.
@x
finish_C( /* finishes a definition or a \CEE/ part */
@@ -1814,10 +1812,10 @@ finish_C( /* finishes a definition or a \CEE/ part */
finish_C( /* finishes a definition or a \CEE/ part */
boolean visible) /* |true| if we should produce \TeX\ output */
@-finish_C@>
-@$finish_C {CTWILL}251 \&{static} \&{void} (\,)@>
+@$finish_C {CTWILL}250 \&{static} \&{void} (\,)@>
@z
-Section 252.
+Section 251.
@x
@ @<Predecl...@>=@+static void finish_C(boolean);
@@ -1826,7 +1824,7 @@ Section 252.
@-finish_C@>
@z
-Section 254.
+Section 253.
@x
@ @<Start a format...@>= {
@@ -1834,7 +1832,7 @@ Section 254.
@r @ @<Start a format...@>= {
@z
-Section 255.
+Section 254.
@x
|next_control>=begin_C|. We will make the global variable |this_section|
@@ -1845,7 +1843,7 @@ We will make the global variable |this_section| point to
\hfil\break the current section name, if it has a name.
@z
-Section 260.
+Section 259.
@x
footnote( /* outputs section cross-references */
@@ -1854,10 +1852,10 @@ sixteen_bits flag)
footnote( /* outputs section cross-references */
sixteen_bits flag)
@-footnote@>
-@$footnote {CTWILL}260 \&{static} \&{void} (\,)@>
+@$footnote {CTWILL}259 \&{static} \&{void} (\,)@>
@z
-Section 261.
+Section 260.
@x
@ @<Predecl...@>=@+static void footnote(sixteen_bits);
@@ -1866,7 +1864,7 @@ Section 261.
@-footnote@>
@z
-Section 265.
+Section 264.
@x
@ @<Predecl...@>=@+static void phase_three(void);
@@ -1875,7 +1873,7 @@ Section 265.
@-phase_three@>
@z
-Section 268.
+Section 267.
@x
@ A left-to-right radix sorting method is used, since this makes it easy to
@@ -1884,7 +1882,7 @@ Section 268.
@-c@>
@z
-Section 270.
+Section 269.
@x
@<Rest of |trans_plus| union@>=
@@ -1894,7 +1892,7 @@ Section 270.
@-k@>
@z
-Section 271.
+Section 270.
@x
@ @d depth cat /* reclaims memory that is no longer needed for parsing */
@@ -1904,12 +1902,12 @@ Section 271.
@-head@>
@-sort_ptr@>
@-max_sorts@>
-@$depth {CTWILL}271 =\\{cat}@>
-@$head {CTWILL}271 =\\{trans\_plus}.\\{Head}@>
-@$sort_ptr {CTWILL}271 =\\{scrap\_ptr}@>
+@$depth {CTWILL}270 =\\{cat}@>
+@$head {CTWILL}270 =\\{trans\_plus}.\\{Head}@>
+@$sort_ptr {CTWILL}270 =\\{scrap\_ptr}@>
@z
-Section 273.
+Section 272.
@x
$|collate|[0]<|collate|[1]<\cdots<|collate|[100]$.
@@ -1917,17 +1915,17 @@ $|collate|[0]<|collate|[1]<\cdots<|collate|[100]$.
|collate[0]| ${}<{}$|collate[1]|${}<\cdots<{}$|collate[100]|.
@z
-Section 275.
+Section 274.
@x
@ Procedure |unbucket| goes through the buckets and adds nonempty lists
@y
@ Procedure |unbucket| goes through the buckets and adds nonempty lists
@-unbucket@>
-@$unbucket {CTWILL}275 \&{static} \&{void} (\,)@>
+@$unbucket {CTWILL}274 \&{static} \&{void} (\,)@>
@z
-Section 276.
+Section 275.
@x
@ @<Predecl...@>=@+static void unbucket(eight_bits);
@@ -1936,7 +1934,7 @@ Section 276.
@-unbucket@>
@z
-Section 278.
+Section 277.
@x
@ @<Split the list...@>= {
@@ -1948,7 +1946,7 @@ Section 278.
next_name=sort_ptr->head;@/
@z
-Section 279.
+Section 278.
@x
cur_name=sort_ptr->head;
@@ -1956,7 +1954,7 @@ Section 279.
cur_name=sort_ptr->head;@/
@z
-Section 281.
+Section 280.
@x
else {out_str("\\["); out_section(cur_val-def_flag); out(']');}
@@ -1964,7 +1962,7 @@ Section 281.
else {@+out_str("\\["); out_section(cur_val-def_flag); out(']');@+}
@z
-Section 285.
+Section 284.
@x
@ @<Predecl...@>=@+static void section_print(name_pointer);
@@ -1973,7 +1971,7 @@ Section 285.
@-section_print@>
@z
-Section 287.
+Section 286.
@x
puts(_("\nMemory usage statistics:"));
@@ -2037,7 +2035,7 @@ Section 287.
@t\5\5\5\5@>(long)max_scraps);
@z
-Section 288.
+Section 287.
@x
@** Mogrify {\tentex CWEAVE} into {\tentex CTWILL}. The following sections
@@ -2045,9 +2043,9 @@ introduce material that is specific to \.{CTWILL}.
Care has been taken to keep the original section numbering of \.{CWEAVE}
up to this point intact, so this new material should nicely integrate
-with the original ``\&{271.~Index}.''
+with the original ``\&{270.~Index}.''
-@q Section 2->272. @>
+@q Section 2->271. @>
@* {\tentex CTWILL} user manual.
@y
@** Mogrify {\tentex CWEAVE} into {\tentex CTWILL}.
@@ -2062,7 +2060,7 @@ give it the necessary hints in other places via your change file.
@-x@>
@z
-Section 289--290.
+Section 288--289.
@x
The current meaning of every identifier is initially `\.{\\uninitialized}'.
@@ -2087,17 +2085,17 @@ must have fewer than 80 characters.
@y
@z
-Section 292.
+Section 291.
@x
static struct perm_meaning {
@y
static struct perm_meaning {
@-perm_meaning@>
-@$perm_meaning {CTWILL}292 \&{static} \&{struct}@>
+@$perm_meaning {CTWILL}291 \&{static} \&{struct}@>
@z
-Section 301.
+Section 300.
@x
@ @<Predec...@>=@+static boolean app_supp(text_pointer);
@@ -2106,7 +2104,7 @@ Section 301.
@-app_supp@>
@z
-Section 302.
+Section 301.
@x
@ The trickiest part of \.{CTWILL} is the procedure |make_ministring(pp+l)|,
@@ -2117,10 +2115,10 @@ Section 302.
@-c@>
@-l@>
@-make_ministring@>
-@$make_ministring {CTWILL}302 \&{static} \&{void} (\,)@>
+@$make_ministring {CTWILL}301 \&{static} \&{void} (\,)@>
@z
-Section 303.
+Section 302.
@x
@ @<Predec...@>=@+static void make_ministring(scrap_pointer);
@@ -2129,7 +2127,7 @@ Section 303.
@-make_ministring@>
@z
-Section 306.
+Section 305.
@x
@ @<Append tokens for type |q|@>=
@@ -2143,28 +2141,28 @@ Section 306.
@|&& *(*r+1)=='{') app(**q); /* |struct_like| identifier */
@z
-Section 311.
+Section 310.
@x
@ @<Write the new meaning to the \.{.aux} file@>=
@y
@ @<Write the new meaning to the \.{.aux} file@>=
@%
-@$p {CTWILL}295 \&{name\_pointer}@>
-@$q {CTWILL}295 \&{struct perm\_meaning} ${}{*}{}$@>
+@$p {CTWILL}294 \&{name\_pointer}@>
+@$q {CTWILL}294 \&{struct perm\_meaning} ${}{*}{}$@>
@z
-Section 312.
+Section 311.
@x
@<Flag the usage of this identifier, for the mini-index@>=
@y
@<Flag the usage of this identifier, for the mini-index@>=
@%
-@$p {CTWILL}218 \&{name\_pointer}@>
+@$p {CTWILL}217 \&{name\_pointer}@>
@z
-Section 315.
+Section 314.
@x
@ @<Predec...@>=@+static void out_mini(meaning_struct *);
@@ -2173,7 +2171,7 @@ Section 315.
@-out_mini@>
@z
-Section 318.
+Section 317.
@x
@ @<Predec...@>=@+static sixteen_bits title_lookup(void);
@@ -2182,27 +2180,27 @@ Section 318.
@-title_lookup@>
@z
-Section 321.
+Section 320.
@x
@d indent_param_decl flags['i'] /* should formal parameter declarations be indented? */
@y
@d indent_param_decl flags['i'] /* should formal parameter declarations be indented? */
@-indent_param_decl@>
-@$indent_param_decl {CTWILL}321 =\\{flags}[\.{'i'}]@>
+@$indent_param_decl {CTWILL}320 =\\{flags}[\.{'i'}]@>
@z
-Section 322.
+Section 321.
@x
@d order_decl_stmt flags['o'] /* should declarations and statements be separated? */
@y
@d order_decl_stmt flags['o'] /* should declarations and statements be separated? */
@-order_decl_stmt@>
-@$order_decl_stmt {CTWILL}322 =\\{flags}[\.{'o'}]@>
+@$order_decl_stmt {CTWILL}321 =\\{flags}[\.{'o'}]@>
@z
-Section 328.
+Section 326.
@x l.116 of CTWILL-TEXLIVE.CH
@d kpse_find_cweb(name) kpse_find_file(name,kpse_cweb_format,true)
@@ -2211,7 +2209,7 @@ Section 328.
@-name@>
@z
-Section 330.
+Section 327.
@x
@** Index.
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
index cacca867050..d3ed71bc14f 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
@@ -94,7 +94,7 @@ can be found in Knuth's article ``Mini-indexes for literate programs,''
reprinted in {\sl Digital Typography\/} (1999), 225--245.
A kind of ``user manual'' for \.{CTWILL} can be found in the appendix
-\X271:Mogrify \.{CWEAVE} into \.{CTWILL}\X~and beyond, together with
+\X270:Mogrify \.{CWEAVE} into \.{CTWILL}\X~and beyond, together with
additional material specific to \.{CTWILL}. % FIXME
Until then, \.{CWEAVE}'s sequence of sections will be preserved.
@@ -124,12 +124,6 @@ modified. The version number parallels the corresponding version of \.{CWEAVE}.
@z
@x
-@d max_refs 30000 /* number of cross-references; must be less than 65536 */
-@y
-@d max_refs 65535 /* number of cross-references; must be less than 65536 */
-@z
-
-@x
turned on during the first phase.
@<Private...@>=
@@ -139,6 +133,12 @@ turned on during the first phase---NOT!
@z
@x
+@ @d max_refs 30000 /* number of cross-references; must be less than 65536 */
+@y
+@ @d max_refs 30000 /* number of cross-references; must be less than 65536 */
+@z
+
+@x
@d append_xref(c) if (xref_ptr==xmem_end) overflow("cross-reference");
@y
@d append_xref(c) if (xref_ptr==xmem_end) overflow(_("cross-reference"));
@@ -1326,15 +1326,15 @@ out_name(cur_name,proofing);
@x
@** Index.
@y
-@q Section 271. @>
+@q Section 270. @>
@** Mogrify {\tentex CWEAVE} into {\tentex CTWILL}. The following sections
introduce material that is specific to \.{CTWILL}.
Care has been taken to keep the original section numbering of \.{CWEAVE}
up to this point intact, so this new material should nicely integrate
-with the original ``\&{271.~Index}.''
+with the original ``\&{270.~Index}.''
-@q Section 2->272. @>
+@q Section 2->271. @>
@* {\tentex CTWILL} user manual.
Here is a sort of user manual for \.{CTWILL}---which is exactly like
\.{CWEAVE} except that it produces much better documentation, for which you
@@ -1495,7 +1495,7 @@ which are quite different from the change files you set up for tangling.
@d max_tex_chars 80 /* limit on the \TeX\ part of a meaning */
-@q Section 25->273. @>
+@q Section 24->272. @>
@* Temporary and permanent meanings.
\.{CTWILL} has special data structures to keep track of current
and temporary meanings. These structures were not designed for maximum
@@ -1513,7 +1513,7 @@ typedef struct {
char tex_part[max_tex_chars]; /* \TeX\ part of meaning */
} meaning_struct;
-@q Section 26->274. @>
+@q Section 25->273. @>
@ @<Private...@>=
static struct perm_meaning {
meaning_struct perm; /* current meaning of an identifier */
@@ -1536,16 +1536,16 @@ static char *ministring_buf_end=ministring_buf+max_tex_chars-1;
static char *ministring_ptr; /* first available slot in |ministring_buf| */
static boolean ms_mode; /* are we outputting to |ministring_buf|? */
-@q Section 27->275. @>
+@q Section 26->274. @>
@ @<Set init...@>=
max_temp_meaning_ptr=temp_meaning_stack;
title_code_ptr=title_code;
ms_mode=false;
-@q Section 276. @>
+@q Section 275. @>
@ @<Predec...@>=@+static void new_meaning(name_pointer);
-@q Section 30->277. @>
+@q Section 29->276. @>
@ The |new_meaning| routine changes the current ``permanent meaning''
when an identifier is redeclared. It gets the |tex_part| from
|ministring_buf|.
@@ -1570,7 +1570,7 @@ new_meaning(
@<Write the new meaning to the \.{.aux} file@>@;
}
-@q Section 75->278. @>
+@q Section 74->277. @>
@ @<Process a user-generated meaning@>=
{ char *first=id_first;
while (xisspace(*first)) first++;
@@ -1590,7 +1590,7 @@ new_meaning(
loc=id_loc+2;
}
-@q Section 76->279. @>
+@q Section 75->278. @>
@ @<Suppress mini-index entry@>=
{ char *first=id_first,*last=id_loc;
while (xisspace(*first)) first++;
@@ -1601,7 +1601,7 @@ new_meaning(
}
}
-@q Section 77->280. @>
+@q Section 76->279. @>
@ @<Digest...@>=
{ meaning_struct *m;
struct perm_meaning *q=get_meaning(p);
@@ -1624,7 +1624,7 @@ new_meaning(
}
}
-@q Section 141->281/2. @>
+@q Section 140->280/1. @>
@* Make ministrings.
\.{CTWILL} needs the following procedure, which appends tokens of a
translated text until coming to |tok_loc|, then suppresses text that may
@@ -1654,10 +1654,10 @@ static boolean app_supp(
catch14: return *(*(p+1)-1)=='9'; /* was production 14 used? */
}
-@q Section 283. @>
+@q Section 282. @>
@ @<Predec...@>=@+static boolean app_supp(text_pointer);
-@q Section 142->284. @>
+@q Section 141->283. @>
@ The trickiest part of \.{CTWILL} is the procedure |make_ministring(pp+l)|,
with offset $l\in\{0,1,2\}$, which tries to figure out a symbolic form of
definition after |make_underlined(pp+l)| has been called. We rely heavily
@@ -1685,14 +1685,14 @@ make_ministring(scrap_pointer p)
cur_mathness=maybe_math; /* restore it */
}
-@q Section 285. @>
+@q Section 284. @>
@ @<Predec...@>=@+static void make_ministring(scrap_pointer);
-@q Section 43->286. @>
+@q Section 42->285. @>
@ @<Private...@>=
static sixteen_bits int_loc, ext_loc; /* locations of special reserved words */
-@q Section 143->287. @>
+@q Section 142->286. @>
@ Here we use the fact that a |decl_head| comes from |int_like| only in
production~27, whose translation is fairly easy to recognize. (Well,
production 28 has been added for \CPLUSPLUS/, but we hope that doesn't
@@ -1733,7 +1733,7 @@ else {
@<Append tokens for type |q|@>@;
}
-@q Section 144->288. @>
+@q Section 143->287. @>
@ @<Append tokens for type |q|@>=
cur_mathness=no_math; /* it was |maybe_math| */
if (*(q+1)==*q+8 && *(*q+1)==' ' && *(*q+3)==' ') {
@@ -1745,13 +1745,13 @@ while (ast_count) {
big_app('{');@+app('*');@+app('}');@+ast_count--;
}
-@q Section 253->289. @>
+@q Section 252->288. @>
@ @<Private...@>=
static boolean is_macro; /* it's a macro def, not a format def */
static boolean def_diff; /* |false| iff the current macro has parameters */
static name_pointer id_being_defined; /* the definee */
-@q Section 257->290. @>
+@q Section 256->289. @>
@ @<Make ministring for a new macro@>=
{
ms_mode=true; ministring_ptr=ministring_buf;
@@ -1769,14 +1769,14 @@ static name_pointer id_being_defined; /* the definee */
new_meaning(id_being_defined);
}
-@q Section 246->291. @>
+@q Section 245->290. @>
@* Process {\tentex .aux} files.
@<Private...@>=
static FILE *aux_file;
static char aux_file_name[max_file_name_length]; /* name of \.{.aux} file */
-@q Section 247->292. @>
+@q Section 246->291. @>
@ @<Read the \.{.aux} file, if present; then open it for output@>=
memcpy(aux_file_name,tex_file_name,strlen(tex_file_name)-4);
strcat(aux_file_name,".bux");
@@ -1805,7 +1805,7 @@ if (include_depth) { /* at least one new file was opened */
if ((aux_file=fopen(aux_file_name,"wb"))==NULL)
fatal(_("! Cannot open aux output file "),aux_file_name);
-@q Section 31->293. @>
+@q Section 30->292. @>
@ @<Write the new meaning to the \.{.aux} file@>=
{@+int n=q->perm.prog_no;
fprintf(aux_file,"@@$%.*s %.*s",@|
@@ -1815,7 +1815,7 @@ if ((aux_file=fopen(aux_file_name,"wb"))==NULL)
fprintf(aux_file," %s@@>\n",q->perm.tex_part);
}
-@q Section 268->294. @>
+@q Section 267->293. @>
@* Usage of identifiers.
The following code is performed for each identifier parsed during
a section. Variable |top_usage| is always nonzero; it has the sentinel
@@ -1834,7 +1834,7 @@ placed on the list, unless they are reserved and their current
}
}
-@q Section 269->295. @>
+@q Section 268->294. @>
@ @<Output information about usage of id's defined in other sections@>=
{ struct perm_meaning *q;
while (temp_meaning_ptr>temp_meaning_stack) {
@@ -1850,7 +1850,7 @@ placed on the list, unless they are reserved and their current
}
}
-@q Section 270->296. @>
+@q Section 269->295. @>
@ @c static void
out_mini(
meaning_struct *m)
@@ -1869,10 +1869,10 @@ out_mini(
out(' '); out_str(m->tex_part); finish_line();
}
-@q Section 271->297. @>
+@q Section 270->296. @>
@ @<Predec...@>=@+static void out_mini(meaning_struct *);
-@q Section 272->298. @>
+@q Section 271->297. @>
@ Compare this code with section |@<Output the name...@>|.
@<Mini-output...@>=
@@ -1905,7 +1905,7 @@ switch (cur_name->ilk) {@+char *j;@+@t}\6{\4@>
out_name(cur_name,true);
name_done:@;
-@q Section 28->299. @>
+@q Section 27->298. @>
@* Handle program title.
Here's a routine that converts a program title from the buffer
into an internal number for the |prog_no| field of a meaning.
@@ -1935,10 +1935,10 @@ It advances |loc| past the title found.
return p-title_code;
}
-@q Section 300. @>
+@q Section 299. @>
@ @<Predec...@>=@+static sixteen_bits title_lookup(void);
-@q Section 29->301. @>
+@q Section 28->300. @>
@ @<Give a default title to the program, if necessary@>=
if (title_code_ptr==title_code) { /* no \.{\\def\\title} found in limbo */
char *saveloc=loc,*savelimit=limit; /* save */
@@ -1951,7 +1951,7 @@ if (title_code_ptr==title_code) { /* no \.{\\def\\title} found in limbo */
loc=saveloc; limit=savelimit; /* restore */
}
-@q Section 302. @>
+@q Section 301. @>
@** Extensions to {\tentex CWEB}. The following sections introduce new or
improved features that have been created by numerous contributors over the
course of a quarter century.
diff --git a/Build/source/texk/web2c/cwebdir/cweav-bs.ch b/Build/source/texk/web2c/cwebdir/cweav-bs.ch
index 0f2b43b6d1c..4fbd9bb902b 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-bs.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-bs.ch
@@ -29,7 +29,7 @@ is modified.
@z
-@x Section 10.
+@x Section 11.
@d ilk dummy.Ilk /* used by \.{CWEAVE} only */
@<Common code...@>=
@@ -87,7 +87,7 @@ extern hash_pointer h; /* index into hash-head array */
@z
-@x Section 22.
+@x Section 21.
typedef struct xref_info {
sixteen_bits num; /* section number plus zero or |def_flag| */
struct xref_info *xlink; /* pointer to the previous cross-reference */
@@ -102,7 +102,7 @@ typedef xref_info huge* xref_pointer;
@z
-@x Section 23.
+@x Section 22.
static xref_info xmem[max_refs]; /* contains cross-reference information */
static xref_pointer xmem_end = xmem+max_refs-1;
@y
@@ -111,14 +111,14 @@ static xref_pointer xmem_end;
@z
-@x Section 24.
+@x Section 23.
@d xref equiv_or_xref
@y
@d xref ptr_union.xref_member
@z
-@x Section 24.
+@x Section 23.
xref_ptr=xmem; init_node(name_dir); xref_switch=section_xref_switch=0;
xmem->num=0; /* sentinel value */
@y
@@ -128,7 +128,7 @@ xmem->num=0; /* sentinel value */
@z
-@x Section 30. (to please Borland's C++, version 4.02)
+@x Section 29. (to please Borland's C++, version 4.02)
static token tok_mem[max_toks]; /* tokens */
static token_pointer tok_mem_end = tok_mem+max_toks-1; /* end of |tok_mem| */
static token_pointer tok_ptr; /* first unused position in |tok_mem| */
@@ -146,7 +146,8 @@ static text_pointer tok_start_end; /* end of |tok_start| */
static text_pointer text_ptr; /* first unused position in |tok_start| */
@z
-@x Section 31. (goes with the previous change)
+
+@x Section 30. (goes with the previous change)
tok_ptr=max_tok_ptr=tok_mem+1;@/
tok_start[0]=tok_start[1]=tok_mem+1;@/
text_ptr=max_text_ptr=tok_start+1;
@@ -158,14 +159,14 @@ max_tok_ptr=tok_mem+1; max_text_ptr=tok_start+1;
@z
-@x Section 32.
+@x Section 31.
p->xref=(void *)xmem;
@y
p->xref=(void huge*)xmem;
@z
-@x Section 78.
+@x Section 77.
if (unindexed(lhs)) { /* retain only underlined entries */
xref_pointer q,r=NULL;
for (q=(xref_pointer)lhs->xref;q>xmem;q=q->xlink)
@@ -186,35 +187,35 @@ max_tok_ptr=tok_mem+1; max_text_ptr=tok_start+1;
@z
-@x Section 97.
+@x Section 96.
char *k; /* pointer into |byte_mem| */
@y
char huge* *k; /* pointer into |byte_mem| */
@z
-@x Section 218.
+@x Section 216.
char *p; /* index into |byte_mem| */
@y
char huge *p; /* index into |byte_mem| */
@z
-@x Section 253.
+@x Section 251.
if (cur_name->xref!=(void *)xmem) {
@y
if (cur_name->xref!=(void huge*)xmem) {
@z
-@x Section 255.
+@x Section 253.
static char *cur_byte; /* index into |byte_mem| */
@y
static char huge* cur_byte; /* index into |byte_mem| */
@z
-@x Section 264.
+@x Section 262.
switch (cur_name->ilk) {@+char *j;@+@t}\6{\4@>
@y
switch (cur_name->ilk) {@+char huge* j;@+@t}\6{\4@>
diff --git a/Build/source/texk/web2c/cwebdir/cweav-pc.ch b/Build/source/texk/web2c/cwebdir/cweav-pc.ch
index cd8367fe29c..3cc65479a83 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-pc.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-pc.ch
@@ -21,8 +21,9 @@ change files that have -bs in their name instead of -pc.)
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
-@x
-@d max_refs 30000 /* number of cross-references; must be less than 65536 */
+
+@x section 22
+@ @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 */
+@ @d max_refs 10000 /* number of cross-references; must be less than 65536 */
@z
diff --git a/Build/source/texk/web2c/cwebdir/cweav-vms.ch b/Build/source/texk/web2c/cwebdir/cweav-vms.ch
index 3e9488ab2b9..e62fae43997 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-vms.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-vms.ch
@@ -18,7 +18,7 @@ modified:
@d banner "This is CWEAVE (VAX/VMS Version 4.9)"
@z
-@x section 4 (01-FEB-1992 ST)
+@x section 5 (01-FEB-1992 ST)
#include <ctype.h> /* definition of |@!isalpha|, |@!isdigit| and so on */
#include <stdbool.h> /* definition of |@!bool|, |@!true| and |@!false| */
#include <stddef.h> /* definition of |@!ptrdiff_t| */
diff --git a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
index 48cf8dbde32..4f94e202e17 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
@@ -60,9 +60,9 @@
@z
@x
-@d max_refs 30000 /* 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 65535 /* number of cross-references; must be less than 65536 */
+@ @d max_refs 30000 /* number of cross-references; must be less than 65536 */
@z
@x
diff --git a/Build/source/texk/web2c/cwebdir/cweav-w32.ch b/Build/source/texk/web2c/cwebdir/cweav-w32.ch
index 279534899af..6e38de468c3 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-w32.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-w32.ch
@@ -7,7 +7,7 @@ This is the change file for CWEB's CWEAVE under Win32
@d banner "This is CWEAVE (Version 4.9win32)"
@z
-@x
+@x section 31
boolean names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w
index a8d80d95902..710dc21236f 100644
--- a/Build/source/texk/web2c/cwebdir/cweave.w
+++ b/Build/source/texk/web2c/cwebdir/cweave.w
@@ -111,14 +111,6 @@ possible changes from this \.{COMMON} interface consistently.
@i common.h
-@ 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 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
that contains the |rlink| of a section name is used for a completely
@@ -216,7 +208,9 @@ typedef struct xref_info {
} xref_info;
typedef xref_info *xref_pointer;
-@ @<Private...@>=
+@ @d max_refs 30000 /* number of cross-references; must be less than 65536 */
+
+@<Private...@>=
static xref_info xmem[max_refs]; /* contains cross-reference information */
static xref_pointer xmem_end = xmem+max_refs-1;
static xref_pointer xref_ptr; /* the largest occupied position in |xmem| */
@@ -1326,6 +1320,9 @@ characters long, so we place it into an output buffer. During the output
process, |out_line| will hold the current line number of the line about to
be output.
+@d line_length 80 /* lines of \TEX/ output have at most this many characters;
+ should be less than 256 */
+
@<Private...@>=
static char out_buf[line_length+1]; /* assembled characters */
static char *out_buf_end = out_buf+line_length; /* end of |out_buf| */
@@ -2161,6 +2158,8 @@ blanks that will not match in any productions. Parsing stops when
Since the |scrap| structure will later be used for other purposes, we
declare its second element as a union.
+@d trans trans_plus.Trans /* translation texts of scraps */
+
@<Type...@>=
typedef struct {
eight_bits cat;
@@ -2172,7 +2171,7 @@ typedef struct {
} scrap;
typedef scrap *scrap_pointer;
-@ @d trans trans_plus.Trans /* translation texts of scraps */
+@ @d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@<Private...@>=
static scrap scrap_info[max_scraps]; /* memory array for scraps */