5

Consider this simple piece of code, which is part of a format file I found.

\catcode`\@=11

\ch@ck0\insc@unt\count

\bye

Why does it work fine with both tex and pdftex but issues an error message for xetex and luatex?

2
  • @Marijin Thank you, but I think this has nothing to do with fonts. \ch@ck and \insc@unt are two control sequences defined in the plain format: maybe xetex and luatex load a format which is slightly different from Knuth's plain.
    – User
    Commented May 29, 2020 at 11:45
  • @Marijn No problem, thank you anyways!
    – User
    Commented May 29, 2020 at 11:52

1 Answer 1

5

I get the error in pdftex as well, you presumably have an older release.

If you change it to

\catcode`\@=11

\show\ch@ck



\bye

then with tex you get

> \ch@ck=macro:
#1#2#3->\ifnum \count 1#1<#2\else \errmessage {No room for a new #3}\fi .
l.3 \show\ch@ck

? 

but with formats that have included the etex.src macros to allow allocation above 255 you get

> \ch@ck=macro:
#1#2#3#4->\ifnum \count 1#1 < #2#4\else \errmessage {No room for a new #3}\fi .
l.3 \show\ch@ck

? 

with a 4 argument form which in your code picks up the \par from the blank line and errors.

1
  • Ok, so the problem is that the plain macros loaded are different, as I guessed. Thank you!
    – User
    Commented May 29, 2020 at 11:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .