diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2010-07-02 08:38:13 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2010-07-02 08:38:13 -0300 |
commit | 7192afafeeb1a96b3de60af90a72cd8762b09d94 (patch) | |
tree | d1e7e061822f755c33cc497d98ea451c7e7e32e8 /lauxlib.h | |
parent | a139e2e003e0b62b7d34eeda20dd2354e74885f9 (diff) | |
download | lua-7192afafeeb1a96b3de60af90a72cd8762b09d94.tar.gz lua-7192afafeeb1a96b3de60af90a72cd8762b09d94.tar.bz2 lua-7192afafeeb1a96b3de60af90a72cd8762b09d94.zip |
new module policy: C modules do not create globals and do not register
themselves with 'require' (let 'require' do its work); new auxiliary
functions luaL_newlib/luaL_newlibtable/luaL_setfuncs/luaL_requiref.
Old luaL_register will be deprecated.
Diffstat (limited to 'lauxlib.h')
-rw-r--r-- | lauxlib.h | 22 |
1 files changed, 17 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lauxlib.h,v 1.106 2010/05/31 16:34:19 roberto Exp roberto $ | 2 | ** $Id: lauxlib.h,v 1.107 2010/06/30 17:40:27 roberto Exp roberto $ |
3 | ** Auxiliary functions for building Lua libraries | 3 | ** Auxiliary functions for building Lua libraries |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -29,10 +29,6 @@ typedef struct luaL_Reg { | |||
29 | LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver); | 29 | LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver); |
30 | #define luaL_checkversion(L) luaL_checkversion_(L, LUA_VERSION_NUM) | 30 | #define luaL_checkversion(L) luaL_checkversion_(L, LUA_VERSION_NUM) |
31 | 31 | ||
32 | LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, | ||
33 | int sizehint); | ||
34 | LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, | ||
35 | const luaL_Reg *l, int nup); | ||
36 | LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); | 32 | LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); |
37 | LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); | 33 | LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); |
38 | LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); | 34 | LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); |
@@ -78,11 +74,15 @@ LUALIB_API int (luaL_len) (lua_State *L, int idx); | |||
78 | LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, | 74 | LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, |
79 | const char *r); | 75 | const char *r); |
80 | 76 | ||
77 | LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); | ||
78 | |||
81 | LUALIB_API void (luaL_findtable) (lua_State *L, int idx, const char *fname); | 79 | LUALIB_API void (luaL_findtable) (lua_State *L, int idx, const char *fname); |
82 | 80 | ||
83 | LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, | 81 | LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, |
84 | const char *msg, int level); | 82 | const char *msg, int level); |
85 | 83 | ||
84 | LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, | ||
85 | lua_CFunction openf, int glb); | ||
86 | 86 | ||
87 | /* | 87 | /* |
88 | ** =============================================================== | 88 | ** =============================================================== |
@@ -90,6 +90,12 @@ LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, | |||
90 | ** =============================================================== | 90 | ** =============================================================== |
91 | */ | 91 | */ |
92 | 92 | ||
93 | |||
94 | #define luaL_newlibtable(L,l) \ | ||
95 | lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) | ||
96 | |||
97 | #define luaL_newlib(L,l) (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) | ||
98 | |||
93 | #define luaL_argcheck(L, cond,numarg,extramsg) \ | 99 | #define luaL_argcheck(L, cond,numarg,extramsg) \ |
94 | ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) | 100 | ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) |
95 | #define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) | 101 | #define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) |
@@ -149,6 +155,12 @@ LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); | |||
149 | /* }====================================================== */ | 155 | /* }====================================================== */ |
150 | 156 | ||
151 | 157 | ||
158 | LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, | ||
159 | int sizehint); | ||
160 | LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, | ||
161 | const luaL_Reg *l, int nup); | ||
162 | |||
163 | |||
152 | /* compatibility with ref system */ | 164 | /* compatibility with ref system */ |
153 | 165 | ||
154 | /* pre-defined references */ | 166 | /* pre-defined references */ |