diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1998-02-12 17:23:32 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1998-02-12 17:23:32 -0200 |
commit | f380d627f8f018e029c889e809f1c0f9cc6fc2e5 (patch) | |
tree | 2c16130cf50294a88be303e5ca42e502ee0eee7d | |
parent | aafa106d108581ab8b259bfde3bcf1166a17c3e9 (diff) | |
download | lua-f380d627f8f018e029c889e809f1c0f9cc6fc2e5.tar.gz lua-f380d627f8f018e029c889e809f1c0f9cc6fc2e5.tar.bz2 lua-f380d627f8f018e029c889e809f1c0f9cc6fc2e5.zip |
usefull macros also available as functions
-rw-r--r-- | lapi.c | 23 | ||||
-rw-r--r-- | lbuiltin.c | 4 | ||||
-rw-r--r-- | lua.h | 11 |
3 files changed, 33 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lapi.c,v 1.19 1998/01/09 14:44:55 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 1.20 1998/01/27 19:13:45 roberto Exp roberto $ |
3 | ** Lua API | 3 | ** Lua API |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -572,6 +572,27 @@ lua_Object lua_getref (int ref) | |||
572 | } | 572 | } |
573 | 573 | ||
574 | 574 | ||
575 | /* | ||
576 | ** ======================================================= | ||
577 | ** Derived functions | ||
578 | ** ======================================================= | ||
579 | */ | ||
580 | int (lua_call) (char *name) { return lua_call(name); } | ||
581 | |||
582 | void (lua_pushref) (int ref) { lua_pushref(ref); } | ||
583 | |||
584 | int (lua_refobject) (lua_Object o, int l) { return lua_refobject(o, l); } | ||
585 | |||
586 | void (lua_register) (char *n, lua_CFunction f) { lua_register(n, f); } | ||
587 | |||
588 | void (lua_pushuserdata) (void *u) { lua_pushuserdata(u); } | ||
589 | |||
590 | void (lua_pushcfunction) (lua_CFunction f) { lua_pushcfunction(f); } | ||
591 | |||
592 | int (lua_clonetag) (int t) { return lua_clonetag(t); } | ||
593 | |||
594 | |||
595 | |||
575 | 596 | ||
576 | #ifdef LUA_COMPAT2_5 | 597 | #ifdef LUA_COMPAT2_5 |
577 | /* | 598 | /* |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lbuiltin.c,v 1.22 1998/01/07 16:26:48 roberto Exp roberto $ | 2 | ** $Id: lbuiltin.c,v 1.23 1998/01/19 19:49:22 roberto Exp roberto $ |
3 | ** Built-in functions | 3 | ** Built-in functions |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -444,7 +444,7 @@ static void testC (void) | |||
444 | case '=': lua_setglobal(getname(s)); break; | 444 | case '=': lua_setglobal(getname(s)); break; |
445 | case 's': lua_pushstring(getname(s)); break; | 445 | case 's': lua_pushstring(getname(s)); break; |
446 | case 'o': lua_pushobject(reg[getnum(s)]); break; | 446 | case 'o': lua_pushobject(reg[getnum(s)]); break; |
447 | case 'f': lua_call(getname(s)); break; | 447 | case 'f': (lua_call)(getname(s)); break; |
448 | case 'i': reg[getnum(s)] = lua_gettable(); break; | 448 | case 'i': reg[getnum(s)] = lua_gettable(); break; |
449 | case 'I': reg[getnum(s)] = lua_rawgettable(); break; | 449 | case 'I': reg[getnum(s)] = lua_rawgettable(); break; |
450 | case 't': lua_settable(); break; | 450 | case 't': lua_settable(); break; |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lua.h,v 1.13 1998/01/02 17:46:32 roberto Exp roberto $ | 2 | ** $Id: lua.h,v 1.14 1998/01/07 16:26:48 roberto Exp roberto $ |
3 | ** Lua - An Extensible Extension Language | 3 | ** Lua - An Extensible Extension Language |
4 | ** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil | 4 | ** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil |
5 | ** e-mail: lua@tecgraf.puc-rio.br | 5 | ** e-mail: lua@tecgraf.puc-rio.br |
@@ -126,20 +126,27 @@ long lua_collectgarbage (long limit); | |||
126 | 126 | ||
127 | 127 | ||
128 | /* =============================================================== */ | 128 | /* =============================================================== */ |
129 | /* some useful macros */ | 129 | /* some useful macros/derived functions */ |
130 | 130 | ||
131 | int (lua_call) (char *name); | ||
131 | #define lua_call(name) lua_callfunction(lua_getglobal(name)) | 132 | #define lua_call(name) lua_callfunction(lua_getglobal(name)) |
132 | 133 | ||
134 | void (lua_pushref) (int ref); | ||
133 | #define lua_pushref(ref) lua_pushobject(lua_getref(ref)) | 135 | #define lua_pushref(ref) lua_pushobject(lua_getref(ref)) |
134 | 136 | ||
137 | int (lua_refobject) (lua_Object o, int l); | ||
135 | #define lua_refobject(o,l) (lua_pushobject(o), lua_ref(l)) | 138 | #define lua_refobject(o,l) (lua_pushobject(o), lua_ref(l)) |
136 | 139 | ||
140 | void (lua_register) (char *n, lua_CFunction f); | ||
137 | #define lua_register(n,f) (lua_pushcfunction(f), lua_setglobal(n)) | 141 | #define lua_register(n,f) (lua_pushcfunction(f), lua_setglobal(n)) |
138 | 142 | ||
143 | void (lua_pushuserdata) (void *u); | ||
139 | #define lua_pushuserdata(u) lua_pushusertag(u, 0) | 144 | #define lua_pushuserdata(u) lua_pushusertag(u, 0) |
140 | 145 | ||
146 | void (lua_pushcfunction) (lua_CFunction f); | ||
141 | #define lua_pushcfunction(f) lua_pushCclosure(f, 0) | 147 | #define lua_pushcfunction(f) lua_pushCclosure(f, 0) |
142 | 148 | ||
149 | int (lua_clonetag) (int t); | ||
143 | #define lua_clonetag(t) lua_copytagmethods(lua_newtag(), (t)) | 150 | #define lua_clonetag(t) lua_copytagmethods(lua_newtag(), (t)) |
144 | 151 | ||
145 | 152 | ||