Hi LuaTeX Team,
I am writing to report strange behavior of the
\magstep0
command
, or the original magnification \csname
@m\endcsname
.
The problem is happened in a macro with
\afterassignment
and
then assign \magstep0
to
a count register.
For the LuaTeX version: luatex --version
This is LuaTeX, Version 1.22.0 (TeX Live 2026/dev/Arch Linux)
Development id: 7674
Execute 'luatex --credits' for credits and version details.
There is NO warranty. Redistribution of this software is covered by
the terms of the GNU General Public License, version 2 or (at your option)
any later version. For more information about these matters, see the file
named COPYING and the LuaTeX source.
LuaTeX is Copyright 2025 Taco Hoekwater and the LuaTeX Team.
The problem is happened in a macro with \afterassignment and then assign \magstep0 to a count register.
A shortest description:
```
\newcount\count
\def\problemhere#1\relax#2{\string#1#2}
\def\todo{
\afterassignment\problemhere
\count=
}
```
For the above macro,
\todo\magstep1{HERE}
just
print HERE
while
\todo\magstep0{HERE}
print
\or1200HERE.
It seems that
\magstep0
break
the \ifcase
structure
in the \magstep
definition,
It seems that this is not a expected behavior.
Complete use case steps and more details are on the stackoverflow page
-
https://tex.stackexchange.com/q/745864/248249
Sincerely,
Yours