From bc5dd60a1aa63a86cbbb094c6049b7698b01576d Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Tue, 29 Jan 2008 00:17:50 +0000 Subject: [PATCH] Fix LuaState.getglobal() and LuaState.setglobal() to use the currently closure's environment. --- src/core/org/luaj/vm/LuaState.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/core/org/luaj/vm/LuaState.java b/src/core/org/luaj/vm/LuaState.java index c698a544..e0cacc75 100644 --- a/src/core/org/luaj/vm/LuaState.java +++ b/src/core/org/luaj/vm/LuaState.java @@ -1347,9 +1347,7 @@ public class LuaState extends Lua { * */ public void getglobal(String s) { - LTable t = this._G; - // TODO: what if this triggers metatable ops - // pushlvalue( t.luaGetTable(this, t, new LString(s))); + LTable t = calls[cc].closure.env; t.luaGetTable(this, t, new LString(s)); } @@ -2022,7 +2020,7 @@ public class LuaState extends Lua { * */ public void setglobal(String name) { - LTable g = this._G; + LTable g = calls[cc].closure.env; LValue v = poplvalue(); g.luaSetTable(this, g, new LString(name), v); }