[XeTeX] ifcat changed?
Julian Bradfield
jcb+xetex at jcbradfield.org
Sun Apr 16 12:50:53 CEST 2017
On 2017-04-16, Zdenek Wagner <zdenek.wagner at gmail.com> wrote:
> 2017-04-16 10:08 GMT+02:00 Julian Bradfield <jcb+xetex at jcbradfield.org>:
....
>> Definitely a bug. The TeXbook defines the behaviour of \if and \ifcat,
>> and all control sequences are considered to have character code 256
>> and category code 16, unless \let equal to a non-active character, in
>> which case they have the value of that character.
>>
>> Not all control sequences but primitives. Unlike \ifx, \if and \ifcat
> perform full expansion.
(a) Yes, they do perform expansion. That's irrelevant to the point at
hand, since expansion happens before the comparison.
(b) All control sequences, not just primitives:
\ifcat\noexpand\foo\noexpand\baz true\else false \fi
\ifcat\noexpand\foo\halign true\else false \fi
As Philip pointed out, I was reporting Knuth's words, which are by
definition authoritative.
More information about the XeTeX
mailing list