From 483a13e6b8099e0746e5e2c4a35bf464cd9e7e09 Mon Sep 17 00:00:00 2001
From: Luigi Scarso <luigi.scarso@gmail.com>
Date: Tue, 27 Dec 2022 15:14:21 +0100
Subject: [PATCH] =?UTF-8?q?Ensured=20that=20load=5Fhyphenation=20has=20eno?=
 =?UTF-8?q?ugh=20Lua=20stack,=20and=20pops=20the=20latest=20table=20pushed?=
 =?UTF-8?q?=20in=20(Michal=20Vlas=C3=A1k).?=
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/lang/texlang.c      | 2 ++
 source/texk/web2c/luatexdir/luatex_svnversion.h | 2 +-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog
index d8b6a5d5d..bde59eddc 100644
--- a/source/texk/web2c/luatexdir/ChangeLog
+++ b/source/texk/web2c/luatexdir/ChangeLog
@@ -1,3 +1,6 @@
+2022-11-20  Luigi Scarso <luigi.scarso@gmail.com> 
+    * Ensured that load_hyphenation has enough Lua stack, and pops the latest table pushed in (Michal Vlasák).
+
 2022-11-10  Luigi Scarso <luigi.scarso@gmail.com> 
     * Better error message if setlocale fails
 
diff --git a/source/texk/web2c/luatexdir/lang/texlang.c b/source/texk/web2c/luatexdir/lang/texlang.c
index a0d067251..f8c60e548 100644
--- a/source/texk/web2c/luatexdir/lang/texlang.c
+++ b/source/texk/web2c/luatexdir/lang/texlang.c
@@ -287,6 +287,7 @@ void load_hyphenation(struct tex_language *lang, const unsigned char *buff)
     int id ;
     if (lang == NULL)
         return;
+    lua_checkstack(Luas, 3);
     if (lang->exceptions == 0) {
         lua_newtable(Luas);
         lang->exceptions = luaL_ref(Luas, LUA_REGISTRYINDEX);
@@ -314,6 +315,7 @@ void load_hyphenation(struct tex_language *lang, const unsigned char *buff)
             }
         }
     }
+    lua_pop(Luas, 1);
 }
 
 void clear_hyphenation(struct tex_language *lang)
diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h
index 2630418c8..cc26f5a97 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 7548
+#define luatex_svn_revision 7549
 #endif
-- 
GitLab