From abdbe883a86bbc7fbf1d1bfc50756e1b42fc45b5 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 7 Sep 2001 14:39:10 -0300 Subject: first implementation of unrestricted static scoping --- lfunc.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'lfunc.h') diff --git a/lfunc.h b/lfunc.h index e5bcdca1..385767a2 100644 --- a/lfunc.h +++ b/lfunc.h @@ -1,5 +1,5 @@ /* -** $Id: lfunc.h,v 1.14 2000/12/28 12:55:41 roberto Exp roberto $ +** $Id: lfunc.h,v 1.15 2001/02/23 17:17:25 roberto Exp $ ** Auxiliary functions to manipulate prototypes and closures ** See Copyright Notice in lua.h */ @@ -11,9 +11,16 @@ #include "lobject.h" +#define luaF_isclosed(c, i) (!((c)->u.l.isopen & (1 << (i)))) +#define luaF_openentry(c, i) ((c)->u.l.isopen |= (1 << (i))) +#define luaF_closeentry(c, i) ((c)->u.l.isopen &= ~(1 << (i))) + Proto *luaF_newproto (lua_State *L); -Closure *luaF_newclosure (lua_State *L, int nelems); +Closure *luaF_newCclosure (lua_State *L, int nelems); +Closure *luaF_newLclosure (lua_State *L, int nelems); +void luaF_LConlist (lua_State *L, Closure *cl); +void luaF_close (lua_State *L, StkId level); void luaF_freeproto (lua_State *L, Proto *f); void luaF_freeclosure (lua_State *L, Closure *c); -- cgit v1.2.3-55-g6feb