[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Upvalue order and _ENV
- From: Roberto Ierusalimschy <roberto@...>
- Date: Mon, 8 Oct 2018 13:58:28 -0300
> > For one of my projects I need to reliably change the environment of a function*
> > While doing some experimenting to see how this could best be done in a way
> > that works in both LuaJIT and 5.3, I came across the following behavior:
> >
> > [...]
> >
> > As you can see, if a normal upvalue is used before any "global" variable, _ENV
> > is not the first upvalue. While the reference manual doesn't really state that
> > _ENV has to be the first upvalue, the load function does seem to assume this
> > and while digging through the archive, there was another thread where everyone
> > seemed to be taking it for granted that _ENV is always the first upvalue.
> >
> > Is this supposed to behave like this, or is it a bug? [...]
>
> There was a recent discussion about this topic in the list, starting
> with
>
> http://lua-users.org/lists/lua-l/2018-08/msg00111.html
See also
http://lua-users.org/lists/lua-l/2011-10/msg00110.html
-- Roberto