> local result = {f(unpack(arg))} > setfenv(0, currg) > return unpack(result) This doesn't do what it's supposed to. See http://lua-users.org/lists/lua-l/2004-07/msg00183.html http://lua-users.org/lists/lua-l/2004-04/msg00303.html -- Wim