From cb3f95d51696005e69d24b2bbc22f2fc3116b424 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 22 Dec 2009 14:47:00 -0200 Subject: [PATCH] 'lua_cpcall' is deprecated --- lapi.c | 5 +++-- lua.h | 5 ++--- luaconf.h | 10 +++++++++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lapi.c b/lapi.c index 2dee45a5..0d29807a 100644 --- a/lapi.c +++ b/lapi.c @@ -1,5 +1,5 @@ /* -** $Id: lapi.c,v 2.105 2009/12/17 16:20:01 roberto Exp roberto $ +** $Id: lapi.c,v 2.106 2009/12/22 15:32:50 roberto Exp roberto $ ** Lua API ** See Copyright Notice in lua.h */ @@ -1148,10 +1148,11 @@ LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, } +#if defined(LUA_COMPAT_CPCALL) LUA_API int lua_cpcall (lua_State *L, lua_CFunction func, void *ud) { lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_CPCALL); lua_pushlightuserdata(L, &func); lua_pushlightuserdata(L, ud); return lua_pcall(L, 2, 0, 0); } - +#endif diff --git a/lua.h b/lua.h index 63bcf922..d3fffb11 100644 --- a/lua.h +++ b/lua.h @@ -1,5 +1,5 @@ /* -** $Id: lua.h,v 1.255 2009/12/18 15:32:36 roberto Exp roberto $ +** $Id: lua.h,v 1.256 2009/12/22 15:32:50 roberto Exp roberto $ ** Lua - A Scripting Language ** Lua.org, PUC-Rio, Brazil (http://www.lua.org) ** See Copyright Notice at the end of this file @@ -239,7 +239,6 @@ LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, int ctx, lua_CFunction k); #define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) -LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud); LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, const char *chunkname); @@ -299,7 +298,7 @@ LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); #define lua_newtable(L) lua_createtable(L, 0, 0) #define lua_register(L,n,f) \ - (lua_pushcfunction(L, (f)), lua_setfield(L, LUA_GLOBALSINDEX, (n))) + (lua_pushcfunction(L, (f)), lua_setfield(L, LUA_ENVIRONINDEX, (n))) #define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) diff --git a/luaconf.h b/luaconf.h index 6efab22a..0768c9f4 100644 --- a/luaconf.h +++ b/luaconf.h @@ -1,5 +1,5 @@ /* -** $Id: luaconf.h,v 1.123 2009/12/17 12:50:20 roberto Exp roberto $ +** $Id: luaconf.h,v 1.124 2009/12/17 13:08:51 roberto Exp roberto $ ** Configuration file for Lua ** See Copyright Notice in lua.h */ @@ -205,6 +205,14 @@ ** =================================================================== */ +/* +@@ LUA_COMPAT_CPCALL controls the presence of function 'lua_cpcall'. +** CHANGE it (define it) if you need this function. (You can replace +** it with the preregistered function cpcall.) +*/ +/* #define LUA_COMPAT_CPCALL */ +/* LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud); */ + /* @@ LUA_COMPAT_FENV controls the presence of functions 'setfenv/getfenv'. ** CHANGE it (define it) if you need these functions. (You can replace