# [tex-live] epTeX weirdness with \numexpr

Joseph Wright joseph.wright at morningstar2.co.uk
Wed May 2 21:29:28 CEST 2018

Hello all,

I've stumbled across a very odd piece of output from epTeX under certain
very limited circumstances. This comes up in the context of expl3
testing, which makes it a bit of a pain.

With TeX Live 2018 pLaTeX the following example gives the expected error
for the first case, but in the second case I get an additional "\BAD"
after the error: that's a problem if you are doing log comparisons. With
the plain TeX e-pTeX I don't see the \BAD.

\def\test#1{\number\numexpr#1\relax}
\message{\test{ 0 + ( 1 + 2 }}
\let\foo\relax
\def\test#1{\number\numexpr#1\foo}
\message{\test{ 0 + ( 1 + 2 }}
\csname stop\endcsname
\bye

However, if I load the development version of expl3, the \BAD appears
even in the plain TeX example: it first came up when renaming some saved
primitives that *aren't even present* in epTeX. My guess is therefore
that there's some hash table issue.

I should add that I've only thus-far seen the issue on Windows: our
automated tests don't show the issue.