[luatex] \mathchardef, etc., input range and \mathchar in text

Joseph Wright joseph.wright at morningstar2.co.uk
Thu Dec 22 14:50:13 CET 2011

Hello all,

Testing some register assignment code, I've been checking the
\chardef,\mathchardef and so forth across engines. In the LuaTeX manual
for beta 0.70.1, page 130 states that \mathchardef is 'unaltered' but
gives an input range of 0-"8000, with all of the other 'unaltered'
primitives having a range 0-"7FFF. A quick test show that this is not
completely correct: \mathchar"8000 does not choke, although
\mathchar"8001 does, while \mathchardef does work as documented.

These are marked 'unaltered', but XeTeX, pdfTeX and TeX "8000 is not
valid. I suspect that this 'out by one' behaviour is not intentional,
and it's certainly not what you'd expect from the docs.

An aside from the same tests. With other engines, using
\mathchar<whatever> in text gives an error about a missing $. I don't
get that with LuaTeX, which seems to silently ignore this.  I assume
this is a bug?

(I've not tested the other math primitives which are 'unaltered' here,
but the same issue may well apply.)
Joseph Wright

More information about the luatex mailing list