Re: etex and pdftex have diverging memory constraints?
jfbu via tex-live <[email protected]>
| Newsgroups | gmane.comp.tex.live |
|---|---|
| Message-ID | <[email protected]> |
Sorry Herbert. I forgot to say I am on a 64bit system. I have confirmed that the limits (which are close to one another with etex slightly highter than pdftex) are about half the value of main_memory parameter in texmf.cnf. This parameter is referred to in a comment there as "words of inimemory available; " On my system its value is 5000000. Perhaps you have a higher setting or are on a 32bit machine and then the limit is at about main_memory (I can't check). Kind regards Jean-François > Le 27 août 2025 à 15:42, Herbert Voss <[email protected]> a écrit : > > > > Am 27.08.25 um 15:15 schrieb jfbu via tex-live: >> Hi, >> >> Sorry if this is very basic, but I always thought the sole difference between etex and pdftex is that the former works to produce a dvi and the latter a pdf. >> >> So, I was surprised to discover (or perhaps I observed that years ago and forgot) that pdftex has slightly more constrained memory constraints on macro expansion. >> >> Here is a test file testxintLength.tex >> >> ---- >> \input xintkernel.sty >> \edef\x{\romannumeral\xintreplicate{% >> 2492679% >> }{F}} >> \expandafter\xintLength\expandafter{\x} >> \bye >> ---- >> >> (the code creates a macro \x expanding to 2492679 F's then attempts to measure how many F's there are). >> >> Compilation with etex succeeds (even with 2492694 in place of 2492679). >> >> $ etex testxintLength.tex >> This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=etex) >> restricted \write18 enabled. >> entering extended mode >> (./testxintLength.tex (./xintkernel.sty) [1] ) >> Output written on testxintLength.dvi (1 page, 216 bytes). >> Transcript written on testxintLength.log. >> >> But compilation with pdftex fails. >> >> $ pdftex testxintLength >> This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=pdftex) >> restricted \write18 enabled. >> entering extended mode >> (./testxintLength.tex (./xintkernel.sty) >> ! TeX capacity exceeded, sorry [main memory size=5000000]. >> <inserted text> 2492679 >> \xintlength ...xint_c_i \xint_c_ \xint_bye \relax l.5 \expandafter\xintLength\expandafter{\x} >> ! ==> Fatal error occurred, no output PDF file produced! >> Transcript written on testxintLength.log. > > I cannot see it with an up-to-date TL2025 (macOS): > > voss>mist:$ pdfetex xyz.tex > This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=pdfetex) > restricted \write18 enabled. > entering extended mode > (./xyz.tex (/usr/local/texlive/2025/texmf-dist/tex/generic/xint/xintkernel.sty) > [1{/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] )</u > sr/local/texlive/2025/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb> > Output written on xyz.pdf (1 page, 9876 bytes). > Transcript written on xyz.log. > > Herbert