[luatex] \mathchardef\foo=\mathcode`\x
David Carlisle
d.p.carlisle at gmail.com
Fri Feb 5 12:36:49 CET 2016
Hi
[longish preamble, sorry but you could jump to the change request at the end:-]
I wrote last year about compatibility with the \mathchar changes and
you made a small change in .88 which allows amsmath to load but
unfortunately not enough to make it work, this gives an error:
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\parbox{1cm}{}
\end{document}
failing with
! Missing number, treated as zero.
<to be read again>
"
l.5 \parbox{1cm}{}
?
the problem being that amsmath (along with several other packages)
parses the output of \meaning to change or test the mathclass of
tokens and previously
\meaning\coprod
produced
\coprod=\mathchar"1360
but now it produces
\mathchar"1"03"000060
This seems to be wrong and complicates testing: note that the form
returned is (if re-parsed with normal catcodes)
syntactically valid but not the meaning intended, it would do
\mathchar 1 and then typeset "03"000060 which basically accounts for
the error message in the above test file.
Note that if you do
\Umathchardef\xcoprod"1"03"000060
\show\xcoprod
Then you get
> \xcoprod=\Umathchar"1"03"000060.
which is the real meaning.
So... to come to the change request.
Given that \the on a mathcode or \meaning on a mathchardef token now
use the three hex number form can they be prefixed by \Umathchar so
that macros testing the returned strings can do one thing for
Umathchar and another for mathchar and so work with different engines
and old and new luatex?
David
PS
I now seem to have
This is LuaTeX, Version beta-0.89.0 (TeX Live 2016/dev)
is there any news or change log from 0.88 ??
More information about the luatex
mailing list