diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-01-10 14:30:59 -0200 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-01-10 14:30:59 -0200 |
| commit | e791f025c0c59b0a428fab604a7e2251cca568f5 (patch) | |
| tree | deb5ce4cccee88d6738b90ce162e5a6f2091d6af /lua.c | |
| parent | f61d435a7d34a07c2edd51714ad6072916e40092 (diff) | |
| download | lua-e791f025c0c59b0a428fab604a7e2251cca568f5.tar.gz lua-e791f025c0c59b0a428fab604a7e2251cca568f5.tar.bz2 lua-e791f025c0c59b0a428fab604a7e2251cca568f5.zip | |
no more `_TRACEBACK' variable
Diffstat (limited to 'lua.c')
| -rw-r--r-- | lua.c | 7 |
1 files changed, 3 insertions, 4 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lua.c,v 1.132 2004/08/30 18:35:14 roberto Exp roberto $ | 2 | ** $Id: lua.c,v 1.133 2004/11/18 19:53:49 roberto Exp roberto $ |
| 3 | ** Lua stand-alone interpreter | 3 | ** Lua stand-alone interpreter |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -82,8 +82,7 @@ static int report (lua_State *L, int status) { | |||
| 82 | static int docall (lua_State *L, int narg, int clear) { | 82 | static int docall (lua_State *L, int narg, int clear) { |
| 83 | int status; | 83 | int status; |
| 84 | int base = lua_gettop(L) - narg; /* function index */ | 84 | int base = lua_gettop(L) - narg; /* function index */ |
| 85 | lua_pushliteral(L, "_TRACEBACK"); | 85 | luaL_getfield(L, LUA_GLOBALSINDEX, "debug.traceback"); |
| 86 | lua_rawget(L, LUA_GLOBALSINDEX); /* get traceback function */ | ||
| 87 | lua_insert(L, base); /* put it under chunk and args */ | 86 | lua_insert(L, base); /* put it under chunk and args */ |
| 88 | signal(SIGINT, laction); | 87 | signal(SIGINT, laction); |
| 89 | status = lua_pcall(L, narg, (clear ? 0 : LUA_MULTRET), base); | 88 | status = lua_pcall(L, narg, (clear ? 0 : LUA_MULTRET), base); |
| @@ -359,7 +358,7 @@ static int pmain (lua_State *L) { | |||
| 359 | int interactive = 1; | 358 | int interactive = 1; |
| 360 | if (s->argv[0] && s->argv[0][0]) progname = s->argv[0]; | 359 | if (s->argv[0] && s->argv[0][0]) progname = s->argv[0]; |
| 361 | globalL = L; | 360 | globalL = L; |
| 362 | lua_userinit(L); /* open libraries */ | 361 | luaopen_stdlibs(L); /* open libraries */ |
| 363 | status = handle_luainit(L); | 362 | status = handle_luainit(L); |
| 364 | if (status == 0) { | 363 | if (status == 0) { |
| 365 | status = handle_argv(L, s->argv, &interactive); | 364 | status = handle_argv(L, s->argv, &interactive); |
