commit a289a62717219810cf3ebb28c513af671aecfeac
parent e3eabcf9134c0362facffde0305c18d992375913
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 7 Sep 2010 16:38:12 -0300
'loadin' should not check whether upvalue is called '_ENV',
because its name may be unknown when there is no debug information.
Diffstat:
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/lbaselib.c b/lbaselib.c
@@ -1,5 +1,5 @@
/*
-** $Id: lbaselib.c,v 1.248 2010/09/03 14:14:01 roberto Exp roberto $
+** $Id: lbaselib.c,v 1.249 2010/09/07 19:21:39 roberto Exp roberto $
** Basic library
** See Copyright Notice in lua.h
*/
@@ -333,11 +333,9 @@ static int luaB_loadin (lua_State *L) {
luaL_checkany(L, 1);
n = luaB_load_aux(L, 2);
if (n == 1) { /* success? */
- const char *name;
lua_pushvalue(L, 1); /* environment for loaded function */
- name = lua_setupvalue(L, -2, 1);
- if (name == NULL || strcmp(name, LUA_ENV) != 0)
- luaL_error(L, "loaded chunk does not have environment upvalue");
+ if (lua_setupvalue(L, -2, 1) == NULL)
+ luaL_error(L, "loaded chunk does not have an upvalue");
}
return n;
}