\lccode1=13
\lowercase{\def\sk@pf@nt\preloaded=#1^^A{\endgroup}}


I suspect that the global setting here is not intended, it's just used to generate a token for the following definition.



On Sun, 23 Mar 2025 at 15:10, David Carlisle <d.p.carlisle@gmail.com> wrote:


On Sun, 23 Mar 2025 at 14:16, Martin Ruckert <martin.ruckert@hm.edu> wrote:
Hi all!

I am currently working on moving the hitex engine to utf8,
and I discovered that there are some small differences between
luatex and xetex (see below). Are these differences on purpose
or is there a bug somewhere?

Best regards
Martin


There are differences between xetex and luatex for these five codepoints:

codepoint 1:
   xetex  \lccode=13
   luatex \lccode=0

You haven't said how you are looking. The values set by the engines don't really matter much as any format is likely to reset them.

for character 1, in the engine both xetex and luatex set the lccode to 0

$ luatex --ini  \\showthe\\lccode1
This is LuaTeX, Version 1.22.0 (TeX Live 2025)  (INITEX)
 restricted system commands enabled.
> 0.

$ xetex --ini  \\showthe\\lccode1
This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (INITEX)
 restricted \write18 enabled.
> 0.

In plain TeX, xetex is setting it to 13

$ luatex   \\showthe\\lccode1
This is LuaTeX, Version 1.22.0 (TeX Live 2025)
 restricted system commands enabled.
> 0.

$ xetex   \\showthe\\lccode1
This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (preloaded format=xetex)
 restricted \write18 enabled.
entering extended mode
> 13.


and latex it is set to 0 in both

$ lualatex   \\showthe\\lccode1
This is LuaHBTeX, Version 1.22.0 (TeX Live 2025)
 restricted system commands enabled.
LaTeX2e <2024-11-01> patch level 2
L3 programming layer <2025-01-18>
> 0.

$ xelatex   \\showthe\\lccode1
This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2024-11-01> patch level 2
L3 programming layer <2025-01-18>
> 0.


so the only slightly anomalous setting is plain xetex where it is active but let to the subscript character rather than having that catcode directly

Line 56 of tex-ini-files/xetex.ini  is

\lccode1=13

David