
On 5/30/2025 7:30 AM, Linas Stonys wrote:
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
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.
consistency with what write does when it writes data (also, returning a token list as lua table and then expecting that to get expanded explicitly otherwise is not that efficient) we can consider adding getfield(w,"rawdata") for write and special whatsits (maybe tl 2026); the current "data" access with expansion is not a bug and it won't change
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
_______________________________________________ dev-luatex mailing list -- dev-luatex@ntg.nl To unsubscribe send an email to dev-luatex-leave@ntg.nl
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------