Aditya Mahajan wrote:

But why does it work if I replace mc by mr (as Wolfgang showed). Also, how can I check the mathcode of a character, other than going through the sources and figuring out where it is set.

\message{\the\mathcode`\1 } And it is "0031. It should have been "7031 for variable family use. That is the value that initex initializes it to (that explains mkii). Mkiv sets the values explicitly (and incorrectly) In math-ini.lua: @@ -52,7 +52,7 @@ mathematics.classes.diacritic = mathematics.classes.accent mathematics.classes.large = mathematics.classes.op mathematics.classes.variable = mathematics.classes.alphabetic -mathematics.classes.number = mathematics.classes.nothing +mathematics.classes.number = mathematics.classes.alphabetic Best wishes, Taco