From 8b839731b4fa5fe7f6e8d9a009cd0113e481fa44 Mon Sep 17 00:00:00 2001
From: Luigi Scarso <luigi.scarso@gmail.com>
Date: Tue, 27 Dec 2022 15:18:28 +0100
Subject: [PATCH] =?UTF-8?q?Track=20last=20node=20in=20ligature=20handling?=
 =?UTF-8?q?=20(M.Kr=C3=BCger)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 source/texk/web2c/luatexdir/ChangeLog           | 3 +++
 source/texk/web2c/luatexdir/font/luafont.c      | 4 +++-
 source/texk/web2c/luatexdir/luatex_svnversion.h | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog
index 8a0a4abc0..73a9e7f98 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 2e08facb1..c33037244 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 7cf200932..162a40a9b 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
-- 
GitLab