[NTG-context] esoteric macro expansion bug in t-bib?

Taco Hoekwater taco at elvenkind.com
Tue Oct 11 08:44:55 CEST 2005


Idris Samawi Hamid wrote:
> That finally ocurred to me after you all were sleep yesterday-) Yes, the 
> \unexpanded solves things.
> 
> I'm curious: how exactly does \unexpanded work? Is this an eTeX primitive?

\unexpanded is macro, but it normally expands to \protected, which is an
eTeX primitive indeed. In 'normal' tex, it uses a macro approach to
achieve a similar effect: it defines two macros instead of one. There
will be

     \def\IBAR{\donottest\doIBAR}

and it's accompagnying

     \def\doIBAR% ... your definition

ConTeXt internals toggle the definition of \donottest depending on
the surrounding environment, using \let\donottest\noexpand or
\let\donottest\relax etc. This achieves the same effect as the
eTeX primitive, but is not as robust.

Cheers, Taco





More information about the ntg-context mailing list