[comp.text.tex] TeX/LaTeX/SBTeX/INITeX puzzle

eijkhout@s41.csrd.uiuc.edu (Victor Eijkhout) (03/07/91)

TeXhax@cs.washington.edu writes:

>Does anyone have an idea what is happening here?

>\@@ptpage ->\begingroup \catcode `\ =10 \let \-\@dischyph [..etc..]

>\-->\discretionary {-}{}{}

This is a sure sign: TeX is expanding something that is being \let !
This means that someone has switched on expansion the way it
happens inside \edef, not the way it happens inside \csname \endcsname.

The latter:
\csname \@@ptpage \endcsname 
would have given an error message for the \bgingroup which is unexpandable,
\edef\something{\@@pgpage ...}
would display precisely the sort of output you show here.

To take on the third kind of expansion: 
\iftrue \@@ptpage
would just execute the \let, so you wouldn't get this mess.

>A clue---this only goes wrong when  INITeX  has  read  these  macros,  and  the
>resulting format is used.  When TeX \inputs them, they work fine.

Sorry. This doesn't help me any further.
Next clue please?

>\@@ptpage ...hyph \let \'\@acci
>                                \let \`\@accii \let \=\@accii...

This is where TeX finally fell flat.

>\@outputpage ...empty \@@ptpage
>                                \else \ifx \@Next \@End \gdef...

And this is where it (note that Knuth sometimes says 'he') stumbled.
If you show me what's before the 'empty', it may be possible
to find out what happens.

Victor.