
If I understood correct this was changed in 1.09.2 version -const char *luatex_version_string = “1.09.2”; +const char *luatex_version_string = “1.09.0"; In file lnodelib.c function get_write_direct_value started to expand tokens: -#define get_write_direct_value(L,n) do { \ +#define xget_write_direct_value(L,n) do { \ tokenlist_to_lua(L, write_tokens(n)); \ } while (0) +#define get_write_direct_value(L,n) do { \ + int l; \ + char *s; \ + expand_macros_in_tokenlist(n); \ + s = tokenlist_to_cstring(def_ref, 1, &l); \ + lua_pushlstring(L, s, (size_t) l); \ + free(s); \ + flush_list(def_ref); \ +} while (0) + Sourcehttps://github.com/TeX-Live/texlive-source.git https://github.com/TeX-Live/texlive-source.git What was the reason for this change I have no idea. We have reverted back this change in our compiled luatex because constantly playing with nodes reading we get issues with the "write" node. On 5/27/2025 1:02 PM, Hans Hagen wrote:
On 5/27/2025 7:23 AM, Linas Stonys wrote:
I think it is a bug. Luatex tries to expand data field content like with \edef thats why you get \iffalse. With older texlive (v0.76) the same example prints:
we now have luatex 1.12 so that is indeed old ... way too old to bother about here