patch 9.0.1721: Build failure on Windows with dynamic lua

7 views
Skip to first unread message

Christian Brabandt

unread,
Aug 16, 2023, 2:51:38 PM8/16/23
to vim...@googlegroups.com
patch 9.0.1721: Build failure on Windows with dynamic lua

Commit: https://github.com/vim/vim/commit/4112acae0816e3f64c082b1e773dd5f4a100685e
Author: zeertzjq <zeer...@outlook.com>
Date: Wed Aug 16 07:29:28 2023 +0800

patch 9.0.1721: Build failure on Windows with dynamic lua

Problem: Build failure on Windows with dynamic lua (after 9.0.1719)
Solution: move definition further down in if_lua

closes: #12811
closes: #12814
closes: #12818

Signed-off-by: Christian Brabandt <c...@256bit.org>
Co-authored-by: zeertzjq <zeer...@outlook.com>

diff --git a/src/if_lua.c b/src/if_lua.c
index 1eda2bf26..2041f5bcc 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -73,27 +73,6 @@ static const char LUA___CALL[] = "__call";

static const char LUAVIM_UDATA_CACHE[] = "luaV_udata_cache";

- static void LUAV_INLINE
-luaV_getudata(lua_State *L, void *v)
-{
- lua_pushlightuserdata(L, (void *) LUAVIM_UDATA_CACHE);
- lua_rawget(L, LUA_REGISTRYINDEX); // now the cache table is at the top of the stack
- lua_pushlightuserdata(L, v);
- lua_rawget(L, -2);
- lua_remove(L, -2); // remove the cache table from the stack
-}
-
- static void LUAV_INLINE
-luaV_setudata(lua_State *L, void *v)
-{
- lua_pushlightuserdata(L, (void *) LUAVIM_UDATA_CACHE);
- lua_rawget(L, LUA_REGISTRYINDEX); // cache table is at -1
- lua_pushlightuserdata(L, v); // ...now at -2
- lua_pushvalue(L, -3); // copy the userdata (cache at -3)
- lua_rawset(L, -3); // consumes two stack items
- lua_pop(L, 1); // and remove the cache table
-}
-
#define luaV_getfield(L, s) \
lua_pushlightuserdata((L), (void *)(s)); \
lua_rawget((L), LUA_REGISTRYINDEX)
@@ -511,6 +490,26 @@ luaL_typeerror(lua_State *L, int narg, const char *tname)
}
#endif

+ static LUAV_INLINE void
+luaV_getudata(lua_State *L, void *v)
+{
+ lua_pushlightuserdata(L, (void *) LUAVIM_UDATA_CACHE);
+ lua_rawget(L, LUA_REGISTRYINDEX); // now the cache table is at the top of the stack
+ lua_pushlightuserdata(L, v);
+ lua_rawget(L, -2);
+ lua_remove(L, -2); // remove the cache table from the stack
+}
+
+ static LUAV_INLINE void
+luaV_setudata(lua_State *L, void *v)
+{
+ lua_pushlightuserdata(L, (void *) LUAVIM_UDATA_CACHE);
+ lua_rawget(L, LUA_REGISTRYINDEX); // cache table is at -1
+ lua_pushlightuserdata(L, v); // ...now at -2
+ lua_pushvalue(L, -3); // copy the userdata (cache at -3)
+ lua_rawset(L, -3); // consumes two stack items
+ lua_pop(L, 1); // and remove the cache table
+}

// ======= Internal =======

diff --git a/src/version.c b/src/version.c
index ae9bc87a2..c4098c2e7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -695,6 +695,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1721,
/**/
1720,
/**/
Reply all
Reply to author
Forward
0 new messages