1
0
forked from aniani/vim

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 <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
zeertzjq 2023-08-16 07:29:28 +08:00 committed by Christian Brabandt
parent a456b12011
commit 4112acae08
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
2 changed files with 22 additions and 21 deletions

View File

@ -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 =======

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1721,
/**/
1720,
/**/