summaryrefslogtreecommitdiff
path: root/include/lua.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lua.h')
-rw-r--r--include/lua.h40
1 files changed, 24 insertions, 16 deletions
diff --git a/include/lua.h b/include/lua.h
index 4e0a52e3..07f53209 100644
--- a/include/lua.h
+++ b/include/lua.h
@@ -2,14 +2,14 @@
** LUA - Linguagem para Usuarios de Aplicacao
** Grupo de Tecnologia em Computacao Grafica
** TeCGraf - PUC-Rio
-** $Id: lua.h,v 3.21 1995/11/13 15:36:52 roberto Exp $
+** $Id: lua.h,v 3.28 1996/05/06 14:32:59 roberto Exp $
*/
#ifndef lua_h
#define lua_h
-#define LUA_VERSION "Lua 2.2"
+#define LUA_VERSION "Lua 2.4"
#define LUA_COPYRIGHT "Copyright (C) 1994, 1995 TeCGraf"
#define LUA_AUTHORS "W. Celes, R. Ierusalimschy & L. H. de Figueiredo"
@@ -52,6 +52,14 @@ void lua_endblock (void);
lua_Object lua_getparam (int number);
#define lua_getresult(_) lua_getparam(_)
+#define lua_isnil(_) (lua_type(_)==LUA_T_NIL)
+#define lua_istable(_) (lua_type(_)==LUA_T_ARRAY)
+#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA)
+#define lua_iscfunction(_) (lua_type(_)==LUA_T_CFUNCTION)
+int lua_isnumber (lua_Object object);
+int lua_isstring (lua_Object object);
+int lua_isfunction (lua_Object object);
+
float lua_getnumber (lua_Object object);
char *lua_getstring (lua_Object object);
lua_CFunction lua_getcfunction (lua_Object object);
@@ -60,7 +68,6 @@ void *lua_getuserdata (lua_Object object);
void lua_pushnil (void);
void lua_pushnumber (float n);
void lua_pushstring (char *s);
-void lua_pushliteral (char *s);
void lua_pushcfunction (lua_CFunction fn);
void lua_pushusertag (void *u, int tag);
void lua_pushobject (lua_Object object);
@@ -73,32 +80,33 @@ lua_Object lua_getsubscript (void);
int lua_type (lua_Object object);
-int lua_lock (void);
-lua_Object lua_getlocked (int ref);
-void lua_pushlocked (int ref);
-void lua_unlock (int ref);
+
+int lua_ref (int lock);
+lua_Object lua_getref (int ref);
+void lua_pushref (int ref);
+void lua_unref (int ref);
lua_Object lua_createtable (void);
/* some useful macros */
-#define lua_lockobject(o) (lua_pushobject(o), lua_lock())
+#define lua_refobject(o,l) (lua_pushobject(o), lua_ref(l))
#define lua_register(n,f) (lua_pushcfunction(f), lua_storeglobal(n))
#define lua_pushuserdata(u) lua_pushusertag(u, LUA_T_USERDATA)
-#define lua_isnil(_) (lua_type(_)==LUA_T_NIL)
-#define lua_isnumber(_) (lua_type(_)==LUA_T_NUMBER)
-#define lua_isstring(_) (lua_type(_)==LUA_T_STRING)
-#define lua_istable(_) (lua_type(_)==LUA_T_ARRAY)
-#define lua_isfunction(_) (lua_type(_)==LUA_T_FUNCTION)
-#define lua_iscfunction(_) (lua_type(_)==LUA_T_CFUNCTION)
-#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA)
+/* for compatibility with old versions. Avoid using these macros */
+
+#define lua_lockobject(o) lua_refobject(o,1)
+#define lua_lock() lua_ref(1)
+#define lua_getlocked lua_getref
+#define lua_pushlocked lua_pushref
+#define lua_unlock lua_unref
-/* for lua 1.1 compatibility. Avoid using these macros */
+#define lua_pushliteral(o) lua_pushstring(o)
#define lua_getindexed(o,n) (lua_pushobject(o), lua_pushnumber(n), lua_getsubscript())
#define lua_getfield(o,f) (lua_pushobject(o), lua_pushliteral(f), lua_getsubscript())