mirror of https://github.com/rusefi/lua.git
'debug' library must be required before being used
This commit is contained in:
parent
ffc5f78229
commit
3904a66ab0
25
linit.c
25
linit.c
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
** $Id: linit.c,v 1.13 2005/08/26 17:36:32 roberto Exp roberto $
|
** $Id: linit.c,v 1.14 2005/12/29 15:32:11 roberto Exp roberto $
|
||||||
** Initialization of libraries for lua.c
|
** Initialization of libraries for lua.c
|
||||||
** See Copyright Notice in lua.h
|
** See Copyright Notice in lua.h
|
||||||
*/
|
*/
|
||||||
|
@ -14,6 +14,9 @@
|
||||||
#include "lauxlib.h"
|
#include "lauxlib.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** these libs are preloaded in Lua and are readily available to any program
|
||||||
|
*/
|
||||||
static const luaL_Reg lualibs[] = {
|
static const luaL_Reg lualibs[] = {
|
||||||
{"", luaopen_base},
|
{"", luaopen_base},
|
||||||
{LUA_LOADLIBNAME, luaopen_package},
|
{LUA_LOADLIBNAME, luaopen_package},
|
||||||
|
@ -22,6 +25,14 @@ static const luaL_Reg lualibs[] = {
|
||||||
{LUA_OSLIBNAME, luaopen_os},
|
{LUA_OSLIBNAME, luaopen_os},
|
||||||
{LUA_STRLIBNAME, luaopen_string},
|
{LUA_STRLIBNAME, luaopen_string},
|
||||||
{LUA_MATHLIBNAME, luaopen_math},
|
{LUA_MATHLIBNAME, luaopen_math},
|
||||||
|
{NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** these libs must be required before used
|
||||||
|
*/
|
||||||
|
static const luaL_Reg luareqlibs[] = {
|
||||||
{LUA_DBLIBNAME, luaopen_debug},
|
{LUA_DBLIBNAME, luaopen_debug},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
@ -34,5 +45,17 @@ LUALIB_API void luaL_openlibs (lua_State *L) {
|
||||||
lua_pushstring(L, lib->name);
|
lua_pushstring(L, lib->name);
|
||||||
lua_call(L, 1, 0);
|
lua_call(L, 1, 0);
|
||||||
}
|
}
|
||||||
|
lib = luareqlibs;
|
||||||
|
luaL_findtable(L, LUA_GLOBALSINDEX, "package.preload", 0);
|
||||||
|
for (; lib->func; lib++) {
|
||||||
|
lua_pushcfunction(L, lib->func);
|
||||||
|
lua_setfield(L, -2, lib->name);
|
||||||
|
}
|
||||||
|
lua_pop(L, 1); /* remove package.preload table */
|
||||||
|
#ifdef LUA_COMPAT_DEBUGLIB
|
||||||
|
lua_getglobal(L, "require");
|
||||||
|
lua_pushliteral(L, LUA_DBLIBNAME);
|
||||||
|
lua_call(L, 1, 0); /* call 'require"debug"' */
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
10
luaconf.h
10
luaconf.h
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
** $Id: luaconf.h,v 1.88 2007/05/03 20:49:29 roberto Exp roberto $
|
** $Id: luaconf.h,v 1.89 2007/06/21 13:48:04 roberto Exp roberto $
|
||||||
** Configuration file for Lua
|
** Configuration file for Lua
|
||||||
** See Copyright Notice in lua.h
|
** See Copyright Notice in lua.h
|
||||||
*/
|
*/
|
||||||
|
@ -334,6 +334,14 @@
|
||||||
*/
|
*/
|
||||||
#define LUA_COMPAT_GFIND
|
#define LUA_COMPAT_GFIND
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ LUA_COMPAT_DEBUGLIB controls compatibility with preloading
|
||||||
|
@* the debug library.
|
||||||
|
** CHANGE it to undefined as soon as you add 'require"debug"' everywhere
|
||||||
|
** you need the debug library.
|
||||||
|
*/
|
||||||
|
#define LUA_COMPAT_DEBUGLIB
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue