commit c25072a246eddff711ebec8e4acce9593bc5ff70
parent 1a69a3eceab706f3b83abd41507aba1d969aaf4f
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Fri, 31 Oct 2014 15:41:26 -0200
'lua_load' sets _ENV for any chunk with upvalues (not just those
with exactly one upvalue)
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lapi.c b/lapi.c
@@ -1,5 +1,5 @@
/*
-** $Id: lapi.c,v 2.239 2014/10/25 11:50:46 roberto Exp roberto $
+** $Id: lapi.c,v 2.240 2014/10/28 17:27:50 roberto Exp roberto $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -968,7 +968,7 @@ LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data,
status = luaD_protectedparser(L, &z, chunkname, mode);
if (status == LUA_OK) { /* no errors? */
LClosure *f = clLvalue(L->top - 1); /* get newly created function */
- if (f->nupvalues == 1) { /* does it have one upvalue? */
+ if (f->nupvalues >= 1) { /* does it have an upvalue? */
/* get global table from registry */
Table *reg = hvalue(&G(L)->l_registry);
const TValue *gt = luaH_getint(reg, LUA_RIDX_GLOBALS);