lua: reject Lua 5.3

It simply doesn't work, and is hard to make work. Lua 5.3 is a different
language from 5.1 and 5.2, and is different enough to make adding
support a major issue. Most importantly, 5.3 introduced integer types,
which completely mess up any code which deals with numbers.

I tried to make this a compile time check, but failed. Still at least
try to avoid selecting the 5.3 pkg-config package when the generic "lua"
name is used (why can't Lua upstream just provide an official .pc
file...). Maybe this actually covers all cases.

Fixes #1729 (kind of).
This commit is contained in:
wm4
2015-04-01 23:59:09 +02:00
parent f9db94ab71
commit 9b59c175e3
2 changed files with 6 additions and 1 deletions

View File

@@ -377,6 +377,11 @@ static int load_lua(struct mpv_handle *client, const char *fname)
.filename = fname,
};
if (LUA_VERSION_NUM != 501 && LUA_VERSION_NUM != 502) {
MP_FATAL(ctx, "Only Lua 5.1 and 5.2 are supported.\n");
goto error_out;
}
lua_State *L = ctx->state = luaL_newstate();
if (!L)
goto error_out;