From 0bf0b1bba1e5d59b118cf9239ce316249de15f93 Mon Sep 17 00:00:00 2001 From: Luigi Scarso <luigi.scarso@gmail.com> Date: Wed, 22 Feb 2023 10:48:03 +0100 Subject: [PATCH] fix latelua data reference (side effect of deferred late additions) (H.Hagen) --- source/texk/web2c/luatexdir/ChangeLog | 3 +++ source/texk/web2c/luatexdir/lua/luastuff.c | 2 +- source/texk/web2c/luatexdir/luatex_svnversion.h | 2 +- source/texk/web2c/luatexdir/tex/texnodes.c | 10 ++++++---- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog index ba163208a..868f64cc3 100644 --- a/source/texk/web2c/luatexdir/ChangeLog +++ b/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,6 @@ +2023-02-22 Luigi Scarso <luigi.scarso@gmail.com> + * fix latelua data reference (side effect of deferred late additions) (H.Hagen) + 2023-02-18 Luigi Scarso <luigi.scarso@gmail.com> * Fixed the "Invalid unicode ranges in CMap beginbfrange operator bug" as in pdfTeX (Hà n Thế Thà nh) diff --git a/source/texk/web2c/luatexdir/lua/luastuff.c b/source/texk/web2c/luatexdir/lua/luastuff.c index feb6a88c8..4176431ed 100644 --- a/source/texk/web2c/luatexdir/lua/luastuff.c +++ b/source/texk/web2c/luatexdir/lua/luastuff.c @@ -600,7 +600,7 @@ void late_lua(PDF pdf, halfword p) t = late_lua_type(p); if (t == normal) { /*tex sets |def_ref| */ - expand_macros_in_tokenlist(p); + expand_macros_in_tokenlist(late_lua_data(p)); luacall(def_ref, late_lua_name(p), false, p); flush_list(def_ref); } else if (t == lua_refid_call) { diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index 2866c4fa2..9bca73d52 100644 --- a/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1,4 +1,4 @@ #ifndef luatex_svn_revision_h #define luatex_svn_revision_h -#define luatex_svn_revision 7561 +#define luatex_svn_revision 7562 #endif diff --git a/source/texk/web2c/luatexdir/tex/texnodes.c b/source/texk/web2c/luatexdir/tex/texnodes.c index 76da864e5..6e0ae1ff8 100644 --- a/source/texk/web2c/luatexdir/tex/texnodes.c +++ b/source/texk/web2c/luatexdir/tex/texnodes.c @@ -2201,13 +2201,15 @@ static void flush_node_wrapup_core(halfword p) { switch (subtype(p)) { case open_node: - case write_node: case close_node: case save_pos_node: break; + case write_node: + /* Not similar to elsewhere, already flushed? */ + break; case special_node: case late_special_node: - delete_token_ref(write_tokens(p)); + delete_token_ref(special_tokens(p)); break; case late_lua_node: free_late_lua(p); @@ -3482,11 +3484,11 @@ static void show_node_wrapup_core(int p) break; case special_node: tprint_esc("special"); - print_mark(write_tokens(p)); + print_mark(special_tokens(p)); break; case late_special_node: tprint_esc("latespecial"); - print_mark(write_tokens(p)); + print_mark(late_lua_data(p)); break; case late_lua_node: show_late_lua(p); -- GitLab