Full compatibility with Lua 5.3
Recent VLC commit (41caaa08) added lua LUA_COMPAT_APIINTCASTS compat macros to the code. It enables some lua 5.2 deprecated API. One thing to note is that this API is going to be removed from lua sources some day in the future.
In fact with Lua 5.3 release the 5.1 deprecated functions had been dropped from the default library compilation. At Linux Arch we hit issue when LUA_COMPAT_MODULE did not work because some functions were not compiled in the shared lua library.
Here is what this 5.1 specific macro enables:
#if defined(LUA_COMPAT_MODULE)
LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname,
int sizehint);
LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname,
const luaL_Reg *l, int nup);
#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0))
#endif
VLC uses only luaL_register(). And for full compatibility with the latest Lua ditributions VLC should replace the deprecated C functions with non-deprecated alternatives.
There are some docs floating that show how to replace the deprecated APIs and here is one of them http://lua-users.org/wiki/CompatibilityWithLuaFive