Index: head/stand/common/interp_lua.c =================================================================== --- head/stand/common/interp_lua.c +++ head/stand/common/interp_lua.c @@ -85,6 +85,8 @@ // {LUA_MATHLIBNAME, luaopen_math}, // {LUA_UTF8LIBNAME, luaopen_utf8}, // {LUA_DBLIBNAME, luaopen_debug}, + {"io", luaopen_io}, + {"loader", luaopen_loader}, {NULL, NULL} }; @@ -105,7 +107,6 @@ abort(); } softc->luap = luap; - register_utils(luap); /* "require" functions from 'loadedlibs' and set results to global table */ for (lib = loadedlibs; lib->func; lib++) { Index: head/stand/liblua/lutils.h =================================================================== --- head/stand/liblua/lutils.h +++ head/stand/liblua/lutils.h @@ -28,4 +28,5 @@ #include -void register_utils(lua_State *); +int luaopen_loader(lua_State *); +int luaopen_io(lua_State *); Index: head/stand/liblua/lutils.c =================================================================== --- head/stand/liblua/lutils.c +++ head/stand/liblua/lutils.c @@ -233,11 +233,15 @@ }; #undef REG_SIMPLE -void -register_utils(lua_State *L) +int +luaopen_loader(lua_State *L) { luaL_newlib(L, loaderlib); - lua_setglobal(L, "loader"); - luaL_newlib(L, iolib); - lua_setglobal(L, "io"); + return 1; } + +int +luaopen_io(lua_State *L) +{ + luaL_newlib(L, iolib); + return 1;