>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.
After comparing the relevant code
2017-04-16 10:08 GMT+02:00 Julian Bradfield :
> On 2017-04-15, Bruno Le Floch wrote:
> > The primitive conditional "\ifcat\relax\cr true\else false\fi" gives
> > "true" in pdfTeX, LuaTeX, (e)(u)pTeX, and XeTeX from some time ago
> > (could be
Zdenek Wagner wrote:
> Not all control sequences but primitives.
Again, I would respectfully suggest that Knuth's own words are the best
guidance here :
> *\**if *
>
> TeX will expand macros following *\if* until two unexpandable tokens are
> found. If either token is a control sequence,
On 2017-04-16, Zdenek Wagner wrote:
> 2017-04-16 10:08 GMT+02:00 Julian Bradfield :
>> Definitely a bug. The TeXbook defines the behaviour of \if and \ifcat,
>> and all control sequences are considered to have character code 256
>> and
On 2017-04-15, Bruno Le Floch wrote:
> The primitive conditional "\ifcat\relax\cr true\else false\fi" gives
> "true" in pdfTeX, LuaTeX, (e)(u)pTeX, and XeTeX from some time ago
> (could be years), but "false" in XeTeX 0.6
Definitely a bug. The TeXbook defines the
>As far as I can tell from the sources, the bug likely was there from the
>start, and only affects \span, \cr and \crcr. Basically, their
>character code is too small. This can be fixed by changing
>"special_char" from 65537 to 1114112 or so, to make the values of
>"span_code", "cr_code",
Filed https://sourceforge.net/p/xetex/bugs/138/ with a text essentially
identical to my message below explaining the bug's origin and how to fix it.
On 04/16/2017 06:50 AM, Julian Bradfield wrote:
> On 2017-04-16, Zdenek Wagner wrote:
>> 2017-04-16 10:08 GMT+02:00 Julian