diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog index 8a0a4abc05147db03f3e382b2bd79c86ac322609..73a9e7f98e4f7e1cd0fca6bcbdaa114a99e32cd0 100644 --- a/source/texk/web2c/luatexdir/ChangeLog +++ b/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,6 @@ +2022-12-03 Luigi Scarso <luigi.scarso@gmail.com> + * Track last node in ligature handling (M.Krüger) + 2022-12-03 Luigi Scarso <luigi.scarso@gmail.com> * Make disc node prev. pointers more uniform (M.Krüger) diff --git a/source/texk/web2c/luatexdir/font/luafont.c b/source/texk/web2c/luatexdir/font/luafont.c index 2e08facb1d973eff06698b1f8dd8909b524ea00a..c33037244a6dc16e0c5c23ee94e94fb7e3c51b19 100644 --- a/source/texk/web2c/luatexdir/font/luafont.c +++ b/source/texk/web2c/luatexdir/font/luafont.c @@ -2242,6 +2242,7 @@ static halfword handle_lig_nest(halfword root, halfword cur) static halfword handle_lig_word(halfword cur) { halfword right = null; + halfword last = null; if (type(cur) == boundary_node) { halfword prev = alink(cur); halfword fwd = vlink(cur); @@ -2481,9 +2482,10 @@ static halfword handle_lig_word(halfword cur) } else { /*tex We have glyph nor disc. */ - return cur; + return last; } /*tex Goto the next node, where |\par| allows |vlink(cur)| to be NULL. */ + last = cur; cur = vlink(cur); } return cur; diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index 7cf200932632ef3d61138821864728197da0074a..162a40a9b6c1e77066b9f6f32d648e9163e84d7e 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 7551 +#define luatex_svn_revision 7552 #endif