From 830e3583da682eee41ed6b027c9912547d4022c0 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 21 Aug 2018 14:23:35 +0200 Subject: [PATCH] patch 8.1.0305: missing support for Lua 5.4 32 bits on Unix Problem: Missing support for Lua 5.4 32 bits on Unix. Solution: Define lua_newuserdatauv. (Kazunobu Kuriyama) --- src/if_lua.c | 14 +++++++++++++- src/version.c | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/if_lua.c b/src/if_lua.c index 7602c80de4..6e33734643 100644 --- a/src/if_lua.c +++ b/src/if_lua.c @@ -164,7 +164,11 @@ static luaV_Funcref *luaV_pushfuncref(lua_State *L, typval_T *tv); #define lua_rawget dll_lua_rawget #define lua_rawgeti dll_lua_rawgeti #define lua_createtable dll_lua_createtable -#define lua_newuserdata dll_lua_newuserdata +#if LUA_VERSION_NUM >= 504 + #define lua_newuserdatauv dll_lua_newuserdatauv +#else + #define lua_newuserdata dll_lua_newuserdata +#endif #define lua_getmetatable dll_lua_getmetatable #define lua_setfield dll_lua_setfield #define lua_rawset dll_lua_rawset @@ -261,7 +265,11 @@ int (*dll_lua_rawget) (lua_State *L, int idx); int (*dll_lua_rawgeti) (lua_State *L, int idx, lua_Integer n); #endif void (*dll_lua_createtable) (lua_State *L, int narr, int nrec); +#if LUA_VERSION_NUM >= 504 +void *(*dll_lua_newuserdatauv) (lua_State *L, size_t sz, int nuvalue); +#else void *(*dll_lua_newuserdata) (lua_State *L, size_t sz); +#endif int (*dll_lua_getmetatable) (lua_State *L, int objindex); void (*dll_lua_setfield) (lua_State *L, int idx, const char *k); void (*dll_lua_rawset) (lua_State *L, int idx); @@ -362,7 +370,11 @@ static const luaV_Reg luaV_dll[] = { {"lua_rawget", (luaV_function) &dll_lua_rawget}, {"lua_rawgeti", (luaV_function) &dll_lua_rawgeti}, {"lua_createtable", (luaV_function) &dll_lua_createtable}, +#if LUA_VERSION_NUM >= 504 + {"lua_newuserdatauv", (luaV_function) &dll_lua_newuserdatauv}, +#else {"lua_newuserdata", (luaV_function) &dll_lua_newuserdata}, +#endif {"lua_getmetatable", (luaV_function) &dll_lua_getmetatable}, {"lua_setfield", (luaV_function) &dll_lua_setfield}, {"lua_rawset", (luaV_function) &dll_lua_rawset}, diff --git a/src/version.c b/src/version.c index 8fa17ec790..9cb104134c 100644 --- a/src/version.c +++ b/src/version.c @@ -794,6 +794,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 305, /**/ 304, /**/ -- 2.47.2