summaryrefslogtreecommitdiffstats
path: root/src/if_lua.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-16 07:29:28 +0800
committerChristian Brabandt <cb@256bit.org>2023-08-16 20:25:10 +0200
commit4112acae0816e3f64c082b1e773dd5f4a100685e (patch)
tree7ed4ea7d065fc65f5c297921714ed9b8863414ef /src/if_lua.c
parenta456b12011569be91418bbf6277d844c67e05e79 (diff)
patch 9.0.1721: Build failure on Windows with dynamic luav9.0.1721
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 <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Diffstat (limited to 'src/if_lua.c')
-rw-r--r--src/if_lua.c41
1 files changed, 20 insertions, 21 deletions
diff --git a/src/if_lua.c b/src/if_lua.c
index 1eda2bf264..2041f5bccc 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 =======