From 93695db90382fc00b054e1db177985d6a8fa1609 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 26 Nov 2009 15:35:13 -0200 Subject: [PATCH] 'table.maxn' deprecated --- ltablib.c | 9 +++++++-- luaconf.h | 13 +++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ltablib.c b/ltablib.c index e2fe976d..cf846150 100644 --- a/ltablib.c +++ b/ltablib.c @@ -1,5 +1,5 @@ /* -** $Id: ltablib.c,v 1.47 2009/06/17 17:53:50 roberto Exp roberto $ +** $Id: ltablib.c,v 1.48 2009/11/24 12:05:44 roberto Exp roberto $ ** Library for Table Manipulation ** See Copyright Notice in lua.h */ @@ -63,6 +63,7 @@ static int foreach (lua_State *L) { } +#if defined(LUA_COMPAT_MAXN) static int maxn (lua_State *L) { lua_Number max = 0; luaL_checktype(L, 1, LUA_TTABLE); @@ -77,7 +78,11 @@ static int maxn (lua_State *L) { lua_pushnumber(L, max); return 1; } - +#else +static int maxn (lua_State *L) { + return luaL_error(L, "function 'maxn' is deprecated"); +} +#endif static int getn (lua_State *L) { lua_pushinteger(L, aux_getn(L, 1)); diff --git a/luaconf.h b/luaconf.h index c68ce3da..a9e0fe11 100644 --- a/luaconf.h +++ b/luaconf.h @@ -1,5 +1,5 @@ /* -** $Id: luaconf.h,v 1.117 2009/11/26 11:39:20 roberto Exp roberto $ +** $Id: luaconf.h,v 1.118 2009/11/26 16:49:28 roberto Exp roberto $ ** Configuration file for Lua ** See Copyright Notice in lua.h */ @@ -336,9 +336,8 @@ /* @@ LUA_COMPAT_FENV controls the presence of functions 'setfenv/getfenv'. -** CHANGE it (undefine it) if as soon as you rewrite your code to -** avoid using those functions. (You can replace them with lexical -** environments, 'loadin', or the debug library.) +** CHANGE it (define it) if you need these functions. (You can replace +** them with lexical environments, 'loadin', or the debug library.) */ /* #define LUA_COMPAT_FENV */ @@ -349,6 +348,12 @@ */ #define LUA_COMPAT_LOG10 +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +** CHANGE it (define it) if you need that function. +*/ +/* #define LUA_COMPAT_MAXN */ + /* @@ LUA_COMPAT_API includes some macros and functions that supply some @* compatibility with previous versions.