From 40d2e58584fe1dc71db23716f67ded166d4489ce Mon Sep 17 00:00:00 2001 From: Li Jin Date: Fri, 24 Mar 2023 09:06:11 +0800 Subject: stop adding yue to globals, fix issue #128. --- src/yue.cpp | 2 +- src/yuescript/yue_compiler.cpp | 2 +- src/yuescript/yuescript.cpp | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/yue.cpp b/src/yue.cpp index 8edac36..98bf4b4 100644 --- a/src/yue.cpp +++ b/src/yue.cpp @@ -44,7 +44,7 @@ static void openlibs(void* state) { lua_State* L = static_cast(state); luaL_openlibs(L); #if LUA_VERSION_NUM > 501 - luaL_requiref(L, "yue", luaopen_yue, 1); + luaL_requiref(L, "yue", luaopen_yue, 0); #else lua_pushcfunction(L, luaopen_yue); lua_call(L, 0, 0); diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 8c99303..6b2b27d 100644 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp @@ -72,7 +72,7 @@ static std::unordered_set Metamethods = { "close"s // Lua 5.4 }; -const std::string_view version = "0.15.30"sv; +const std::string_view version = "0.16.0"sv; const std::string_view extension = "yue"sv; class CompileError : public std::logic_error { diff --git a/src/yuescript/yuescript.cpp b/src/yuescript/yuescript.cpp index c8a7d42..ead2841 100644 --- a/src/yuescript/yuescript.cpp +++ b/src/yuescript/yuescript.cpp @@ -379,7 +379,9 @@ YUE_API int luaopen_yue(lua_State* L) { #if LUA_VERSION_NUM > 501 luaL_newlib(L, yuelib); // yue #else - luaL_register(L, "yue", yuelib); // yue + lua_getglobal(L, "package"); + lua_getfield(L, "loaded"); + luaL_register(L, nullptr, yuelib); // yue #endif lua_pushlstring(L, &yue::version.front(), yue::version.size()); // yue version lua_setfield(L, -2, "version"); // yue["version"] = version, yue -- cgit v1.2.3-55-g6feb