summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2022-01-16 10:19:50 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2022-01-16 10:19:50 +0000
commita71f46f17544910a1e3b1d02a905d6a19c88e27d (patch)
tree39915176dd43e2bdb2d73e31de6e841433b2f6fc /Build
parent81d53ad5e50775be15c190ef5470940ceb09b22e (diff)
[WEB] Add third layer to 'byte_mem'.
"pdftex.web + pdftex-final.ch" requires more than $2\times65336$ bytes of memory when processed by WEAVE. git-svn-id: svn://tug.org/texlive/trunk@61622 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/ChangeLog4
-rw-r--r--Build/source/texk/web2c/weave.ch22
2 files changed, 26 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index ce6e8ade2c4..f9e6331d364 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,7 @@
+2022-01-16 Andreas Scherer <https://ascherer.github.io>
+
+ * weave.ch: Add a third layer to 'byte_mem'.
+
2022-01-15 Karl Berry <karl@freefriends.org>
* web2c/Makefile.am (web2c_LDADD): set to libweb2c.a
diff --git a/Build/source/texk/web2c/weave.ch b/Build/source/texk/web2c/weave.ch
index 88916483f4c..0ed63c395f5 100644
--- a/Build/source/texk/web2c/weave.ch
+++ b/Build/source/texk/web2c/weave.ch
@@ -276,6 +276,28 @@ stat @<Print statistics about memory usage@>;@+tats@;@/
end;
@z
+@x [37] extend 'byte_mem' for "pdftex.web + pdftex-final.ch"
+there are programs that need more than 65536 bytes; \TeX\ is one of these.
+@y
+there are programs that need more than 65536 bytes; \TeX\ is one of these
+(and the pdf\TeX\ variant even requires more than twice that amount when
+its ``final'' change file is applied).
+@z
+
+@x
+is either 0 or 1. (For generality, the first index is actually allowed to
+run between 0 and |ww-1|, where |ww| is defined to be 2; the program will
+@y
+is either 0, 1 or 2. (For generality, the first index is actually allowed to
+run between 0 and |ww-1|, where |ww| is defined to be 3; the program will
+@z
+
+@x
+@d ww=2 {we multiply the byte capacity by approximately this amount}
+@y
+@d ww=3 {we multiply the byte capacity by approximately this amount}
+@z
+
@x [50] don't enter xrefs if no_xref set
@d append_xref(#)==if xref_ptr=max_refs then overflow('cross reference')
else begin incr(xref_ptr); num(xref_ptr):=#;