aboutsummaryrefslogtreecommitdiff
path: root/lua.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-07-12 15:11:58 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-07-12 15:11:58 -0300
commitae1cf64348ca7bcb6d3abb19a0b97918e343914c (patch)
tree23bd25ec0cc4d29ad62a64fad039495fbbee8bb5 /lua.h
parenta264fd089e1814bc13d6de924b928959af2e38d9 (diff)
downloadlua-ae1cf64348ca7bcb6d3abb19a0b97918e343914c.tar.gz
lua-ae1cf64348ca7bcb6d3abb19a0b97918e343914c.tar.bz2
lua-ae1cf64348ca7bcb6d3abb19a0b97918e343914c.zip
better names for type-related functions
Diffstat (limited to 'lua.h')
-rw-r--r--lua.h51
1 files changed, 24 insertions, 27 deletions
diff --git a/lua.h b/lua.h
index 1f8bbd60..1d28ef62 100644
--- a/lua.h
+++ b/lua.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.h,v 1.99 2001/06/28 14:45:44 roberto Exp roberto $ 2** $Id: lua.h,v 1.100 2001/07/05 19:32:42 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: info@lua.org 5** e-mail: info@lua.org
@@ -51,10 +51,16 @@ typedef struct lua_State lua_State;
51 51
52typedef int (*lua_CFunction) (lua_State *L); 52typedef int (*lua_CFunction) (lua_State *L);
53 53
54
55/*
56** an invalid `tag'
57*/
58#define LUA_NOTAG (-1)
59
54/* 60/*
55** types returned by `lua_type' 61** tags for basic types
56*/ 62*/
57#define LUA_TNONE (-1) 63#define LUA_TNONE LUA_NOTAG
58 64
59#define LUA_TUSERDATA 0 65#define LUA_TUSERDATA 0
60#define LUA_TNIL 1 66#define LUA_TNIL 1
@@ -63,11 +69,6 @@ typedef int (*lua_CFunction) (lua_State *L);
63#define LUA_TTABLE 4 69#define LUA_TTABLE 4
64#define LUA_TFUNCTION 5 70#define LUA_TFUNCTION 5
65 71
66/*
67** an invalid `tag'
68*/
69#define LUA_NOTAG (-2)
70
71 72
72/* minimum Lua stack available to a C function */ 73/* minimum Lua stack available to a C function */
73#define LUA_MINSTACK 20 74#define LUA_MINSTACK 20
@@ -122,13 +123,12 @@ LUA_API int lua_stackspace (lua_State *L);
122** access functions (stack -> C) 123** access functions (stack -> C)
123*/ 124*/
124 125
125LUA_API int lua_type (lua_State *L, int index); 126LUA_API const lua_char *lua_type (lua_State *L, int index);
126LUA_API const lua_char *lua_tag2name (lua_State *L, int tag);
127LUA_API const lua_char *lua_xtypename (lua_State *L, int index);
128LUA_API int lua_isnumber (lua_State *L, int index); 127LUA_API int lua_isnumber (lua_State *L, int index);
129LUA_API int lua_isstring (lua_State *L, int index); 128LUA_API int lua_isstring (lua_State *L, int index);
130LUA_API int lua_iscfunction (lua_State *L, int index); 129LUA_API int lua_iscfunction (lua_State *L, int index);
131LUA_API int lua_tag (lua_State *L, int index); 130LUA_API int lua_tag (lua_State *L, int index);
131LUA_API int lua_rawtag (lua_State *L, int index);
132 132
133LUA_API int lua_equal (lua_State *L, int index1, int index2); 133LUA_API int lua_equal (lua_State *L, int index1, int index2);
134LUA_API int lua_lessthan (lua_State *L, int index1, int index2); 134LUA_API int lua_lessthan (lua_State *L, int index1, int index2);
@@ -201,11 +201,13 @@ LUA_API void lua_setgcthreshold (lua_State *L, int newthreshold);
201/* 201/*
202** miscellaneous functions 202** miscellaneous functions
203*/ 203*/
204LUA_API int lua_newxtype (lua_State *L, const lua_char *name, int basictype); 204LUA_API int lua_newtype (lua_State *L, const lua_char *name, int basictype);
205LUA_API int lua_name2tag (lua_State *L, const lua_char *name);
206LUA_API int lua_copytagmethods (lua_State *L, int tagto, int tagfrom); 205LUA_API int lua_copytagmethods (lua_State *L, int tagto, int tagfrom);
207LUA_API void lua_settag (lua_State *L, int tag); 206LUA_API void lua_settag (lua_State *L, int tag);
208 207
208LUA_API int lua_name2tag (lua_State *L, const lua_char *name);
209LUA_API const lua_char *lua_tag2name (lua_State *L, int tag);
210
209LUA_API void lua_error (lua_State *L, const lua_char *s); 211LUA_API void lua_error (lua_State *L, const lua_char *s);
210 212
211LUA_API void lua_unref (lua_State *L, int ref); 213LUA_API void lua_unref (lua_State *L, int ref);
@@ -219,14 +221,9 @@ LUA_API void *lua_newuserdata (lua_State *L, size_t size);
219LUA_API void lua_newuserdatabox (lua_State *L, void *u); 221LUA_API void lua_newuserdatabox (lua_State *L, void *u);
220 222
221LUA_API void lua_setweakmode (lua_State *L, int mode); 223LUA_API void lua_setweakmode (lua_State *L, int mode);
222LUA_API int lua_getweakmode (lua_State *L, int index); 224LUA_API int lua_getweakmode (lua_State *L, int index);
223 225
224 226
225/*
226** deprecated function
227*/
228LUA_API void lua_pushusertag (lua_State *L, void *u, int tag);
229
230 227
231/* 228/*
232** =============================================================== 229** ===============================================================
@@ -242,11 +239,11 @@ LUA_API void lua_pushusertag (lua_State *L, void *u, int tag);
242#define lua_pushcfunction(L,f) lua_pushcclosure(L, f, 0) 239#define lua_pushcfunction(L,f) lua_pushcclosure(L, f, 0)
243#define lua_clonetag(L,t) lua_copytagmethods(L, lua_newtag(L), (t)) 240#define lua_clonetag(L,t) lua_copytagmethods(L, lua_newtag(L), (t))
244 241
245#define lua_isfunction(L,n) (lua_type(L,n) == LUA_TFUNCTION) 242#define lua_isfunction(L,n) (lua_rawtag(L,n) == LUA_TFUNCTION)
246#define lua_istable(L,n) (lua_type(L,n) == LUA_TTABLE) 243#define lua_istable(L,n) (lua_rawtag(L,n) == LUA_TTABLE)
247#define lua_isuserdata(L,n) (lua_type(L,n) == LUA_TUSERDATA) 244#define lua_isuserdata(L,n) (lua_rawtag(L,n) == LUA_TUSERDATA)
248#define lua_isnil(L,n) (lua_type(L,n) == LUA_TNIL) 245#define lua_isnil(L,n) (lua_rawtag(L,n) == LUA_TNIL)
249#define lua_isnull(L,n) (lua_type(L,n) == LUA_TNONE) 246#define lua_isnull(L,n) (lua_rawtag(L,n) == LUA_TNONE)
250 247
251#define lua_pushliteral(L, s) lua_pushlstring(L, s, \ 248#define lua_pushliteral(L, s) lua_pushlstring(L, s, \
252 (sizeof(s)/sizeof(lua_char))-1) 249 (sizeof(s)/sizeof(lua_char))-1)
@@ -256,7 +253,7 @@ LUA_API void lua_pushusertag (lua_State *L, void *u, int tag);
256/* 253/*
257** compatibility macros 254** compatibility macros
258*/ 255*/
259#define lua_newtag(L) lua_newxtype(L, NULL, LUA_TNONE) 256#define lua_newtag(L) lua_newtype(L, NULL, LUA_TNONE)
260#define lua_typename lua_tag2name 257#define lua_typename lua_tag2name
261 258
262#endif 259#endif
@@ -294,8 +291,8 @@ LUA_API void lua_pushusertag (lua_State *L, void *u, int tag);
294/* 291/*
295** formats for Lua numbers 292** formats for Lua numbers
296*/ 293*/
297#ifndef LUA_SCAN_NUMBER 294#ifndef LUA_NUMBER_SCAN
298#define LUA_SCAN_NUMBER "%lf" 295#define LUA_NUMBER_SCAN "%lf"
299#endif 296#endif
300#ifndef LUA_NUMBER_FMT 297#ifndef LUA_NUMBER_FMT
301#define LUA_NUMBER_FMT "%.16g" 298#define LUA_NUMBER_FMT "%.16g"