[luatex] Hyphenation in plain TeX
Manuel Pégourié-Gonnard
mpg at elzevir.fr
Fri Oct 8 13:44:50 CEST 2010
Le 08/10/2010 13:24, Arthur Reutenauer a écrit :
>> Actually, etex.src even
>> makes that CS undefined after it used it. (I assume it saves some memory.)
>
> If you mean that it saves some space in the format, I think not. As
> far as I know, every macro definition is dumped into the hash table
> (even if the macro is later overwritten), and control sequence names are
> dumped in the string pool (even multiple times if there are several
> successive definitions). Which means that you can have unaccessible
> macro definitions in the format file, as well as several definitions for
> some macro, even if of course only the last one would be accessible
> (and, in the case of \undefined, none would be).
>
> Not that all of this *really* matters, of course :-)
>
First of all, sure, it doesn't matter at all. But for the sake of the
discussion, near the end of etex.src:
% In an attempt to reduce the overheads of e-TeX, we recycle all possible
% resources, including (as a penultimate step) the recycler itself...
and then:
\def \r at cycle #1%
{\ifdefined #1
\message {\string #1,}\let #1=\und at fined
\else
\message {\string #1 (not defined),}
\fi
}
{\newlinechar=`\! \message {!Recycling:}}
\r at cycle \addlanguage
% a lot more \r at cycle-ing going on here...
Given that the author of this file (Peter B.) has a much deeper understanding of
the innards of TeX that I'll probably ever have, I assume there is some
mechanism in e-TeX's \dump that prevents him from using space on undefined
macros. But maybe I misinterpreted his intentions here.
Maybe Taco can enlighten us on this particular point?
Manuel.
More information about the luatex
mailing list