commit 62824137d65aec32654f0cd91f900b1d470fa959
parent 71219ccc3905931c5afb2646ff8c5de4145428f5
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 17 Apr 2000 16:22:50 -0300
no more `seterrormethod' function
Diffstat:
4 files changed, 10 insertions(+), 27 deletions(-)
diff --git a/lapi.c b/lapi.c
@@ -1,5 +1,5 @@
/*
-** $Id: lapi.c,v 1.76 2000/03/27 20:10:21 roberto Exp roberto $
+** $Id: lapi.c,v 1.77 2000/03/29 20:19:20 roberto Exp roberto $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -102,15 +102,6 @@ lua_Object lua_settagmethod (lua_State *L, int tag, const char *event) {
}
-lua_Object lua_seterrormethod (lua_State *L) {
- lua_Object temp;
- luaA_checkCargs(L, 1);
- temp = lua_getglobal(L, "_ERRORMESSAGE");
- lua_setglobal(L, "_ERRORMESSAGE");
- return temp;
-}
-
-
lua_Object lua_gettable (lua_State *L) {
luaA_checkCargs(L, 2);
luaV_gettable(L, L->top--);
diff --git a/lbuiltin.c b/lbuiltin.c
@@ -1,5 +1,5 @@
/*
-** $Id: lbuiltin.c,v 1.104 2000/04/13 18:08:18 roberto Exp roberto $
+** $Id: lbuiltin.c,v 1.105 2000/04/14 17:44:20 roberto Exp roberto $
** Built-in functions
** See Copyright Notice in lua.h
*/
@@ -256,11 +256,6 @@ void luaB_gettagmethod (lua_State *L) {
luaL_check_string(L, 2)));
}
-void luaB_seterrormethod (lua_State *L) {
- lua_Object nf = luaL_functionarg(L, 1);
- lua_pushobject(L, nf);
- lua_pushobject(L, lua_seterrormethod(L));
-}
void luaB_collectgarbage (lua_State *L) {
lua_pushnumber(L, lua_collectgarbage(L, luaL_opt_int(L, 1, 0)));
@@ -318,8 +313,10 @@ void luaB_call (lua_State *L) {
int narg = (int)getnarg(L, arg);
int i, status;
if (err != LUA_NOOBJECT) { /* set new error method */
+ lua_Object oldem = lua_getglobal(L, "_ERRORMESSAGE");
lua_pushobject(L, err);
- err = lua_seterrormethod(L);
+ lua_setglobal(L, "_ERRORMESSAGE");
+ err = oldem;
}
/* push arg[1...n] */
luaD_checkstack(L, narg);
@@ -328,7 +325,7 @@ void luaB_call (lua_State *L) {
status = lua_callfunction(L, f);
if (err != LUA_NOOBJECT) { /* restore old error method */
lua_pushobject(L, err);
- lua_seterrormethod(L);
+ lua_setglobal(L, "_ERRORMESSAGE");
}
if (status != 0) { /* error in call? */
if (strchr(options, 'x')) {
@@ -632,7 +629,6 @@ static const struct luaL_reg builtin_funcs[] = {
{"rawgettable", luaB_rawgettable},
{"rawsetglobal", luaB_rawsetglobal},
{"rawsettable", luaB_rawsettable},
- {"seterrormethod", luaB_seterrormethod},
{"setglobal", luaB_setglobal},
{"settag", luaB_settag},
{"settagmethod", luaB_settagmethod},
diff --git a/lbuiltin.h b/lbuiltin.h
@@ -1,5 +1,5 @@
/*
-** $Id: lbuiltin.h,v 1.5 1999/12/28 19:23:41 roberto Exp roberto $
+** $Id: lbuiltin.h,v 1.6 2000/03/03 14:58:26 roberto Exp roberto $
** Built-in functions
** See Copyright Notice in lua.h
*/
@@ -32,7 +32,6 @@ void luaB_rawgetglobal (lua_State *L);
void luaB_rawgettable (lua_State *L);
void luaB_rawsetglobal (lua_State *L);
void luaB_rawsettable (lua_State *L);
-void luaB_seterrormethod (lua_State *L);
void luaB_setglobal (lua_State *L);
void luaB_settag (lua_State *L);
void luaB_settagmethod (lua_State *L);
diff --git a/lua.h b/lua.h
@@ -1,5 +1,5 @@
/*
-** $Id: lua.h,v 1.46 2000/04/14 17:46:37 roberto Exp roberto $
+** $Id: lua.h,v 1.47 2000/04/14 17:48:20 roberto Exp roberto $
** Lua - An Extensible Extension Language
** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil
** e-mail: lua@tecgraf.puc-rio.br
@@ -11,7 +11,7 @@
#ifndef lua_h
#define lua_h
-#define LUA_VERSION "Lua 4.0"
+#define LUA_VERSION "Lua 4.0 (alpha)"
#define LUA_COPYRIGHT "Copyright (C) 1994-2000 TeCGraf, PUC-Rio"
#define LUA_AUTHORS "W. Celes, R. Ierusalimschy & L. H. de Figueiredo"
@@ -112,8 +112,6 @@ lua_Object lua_createtable (lua_State *L);
long lua_collectgarbage (lua_State *L, long limit);
-lua_Object lua_seterrormethod (lua_State *L); /* In: new method */
-
/*
** ===============================================================
@@ -207,9 +205,8 @@ extern lua_State *lua_state;
#define lua_unref(ref) (lua_unref)(lua_state, ref)
#define lua_createtable() (lua_createtable)(lua_state)
#define lua_collectgarbage(limit) (lua_collectgarbage)(lua_state, limit)
-#define lua_seterrormethod() (lua_seterrormethod)(lua_state)
/*
-** the following typecast is a little dirty, but we cannot find another
+** the following typecast is a little dirty, but we know of no other
** way to keep compatibility with old definition of `lua_CFunction'
*/
#define lua_pushcclosure(fn,n) \