[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
                 \message {\string #1 (not defined),}
        {\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?


More information about the luatex mailing list