From 54840fb25696ab30e11d2d80f3c18af6d1f01481 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 15 Jan 1999 11:11:22 -0200 Subject: new functions to manipulate C global variables --- lapi.c | 47 ++++++++++++++++++++++++++++++++++++++++++++--- lstate.c | 8 +------- luadebug.h | 7 ++++++- 3 files changed, 51 insertions(+), 11 deletions(-) diff --git a/lapi.c b/lapi.c index d5c16369..5f75649f 100644 --- a/lapi.c +++ b/lapi.c @@ -1,5 +1,5 @@ /* -** $Id: lapi.c,v 1.29 1998/12/03 15:45:15 roberto Exp roberto $ +** $Id: lapi.c,v 1.30 1998/12/30 17:26:49 roberto Exp roberto $ ** Lua API ** See Copyright Notice in lua.h */ @@ -425,8 +425,42 @@ void lua_settag (int tag) } + /* +** {====================================================== +** To manipulate the implementation global variables ** ======================================================= +*/ + +lua_State *lua_setstate (lua_State *st) { + lua_State *old = lua_state; + lua_state = st; + return old; +} + +lua_LHFunction lua_setlinehook (lua_LHFunction func) { + lua_LHFunction old = lua_linehook; + lua_linehook = func; + return old; +} + +lua_CHFunction lua_setcallhook (lua_CHFunction func) { + lua_CHFunction old = lua_callhook; + lua_callhook = func; + return old; +} + +int lua_setdebug (int debug) { + int old = lua_debug; + lua_debug = debug; + return old; +} + +/* }====================================================== */ + + +/* +** {====================================================== ** Debug interface ** ======================================================= */ @@ -541,8 +575,11 @@ char *lua_getobjname (lua_Object o, char **name) else return ""; } +/* }====================================================== */ + + /* -** ======================================================= +** {====================================================== ** BLOCK mechanism ** ======================================================= */ @@ -582,9 +619,11 @@ lua_Object lua_getref (int ref) return (o ? put_luaObject(o) : LUA_NOOBJECT); } +/* }====================================================== */ + /* -** ======================================================= +** {====================================================== ** Derived functions ** ======================================================= */ @@ -602,6 +641,8 @@ void (lua_pushcfunction) (lua_CFunction f) { lua_pushcfunction(f); } int (lua_clonetag) (int t) { return lua_clonetag(t); } +/* }====================================================== */ + diff --git a/lstate.c b/lstate.c index 434bd0bd..8547c176 100644 --- a/lstate.c +++ b/lstate.c @@ -1,5 +1,5 @@ /* -** $Id: lstate.c,v 1.5 1997/12/17 20:48:58 roberto Exp roberto $ +** $Id: lstate.c,v 1.6 1998/06/02 20:37:04 roberto Exp roberto $ ** Global State ** See Copyright Notice in lua.h */ @@ -78,9 +78,3 @@ void lua_close (void) } -lua_State *lua_setstate (lua_State *st) { - lua_State *old = lua_state; - lua_state = st; - return old; -} - diff --git a/luadebug.h b/luadebug.h index 12e951cd..dbc5a1d0 100644 --- a/luadebug.h +++ b/luadebug.h @@ -1,5 +1,5 @@ /* -** $Id: luadebug.h,v 1.2 1998/06/19 16:14:09 roberto Exp roberto $ +** $Id: luadebug.h,v 1.3 1998/09/07 18:59:59 roberto Exp roberto $ ** Debugging API ** See Copyright Notice in lua.h */ @@ -31,4 +31,9 @@ extern lua_CHFunction lua_callhook; extern int lua_debug; +extern lua_LHFunction lua_setlinehook (lua_LHFunction func); +extern lua_CHFunction lua_setcallhook (lua_CHFunction func); +extern int lua_setdebug (int debug); + + #endif -- cgit v1.2.3-55-g6feb