lua-users home
lua-l archive

Re: Lua registry, environment, and threads.

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Roberto Ierusalimschy wrote:
> > Roberto Ierusalimschy wrote:
> > > Modules can be written as "in module(...) do <body> end", with the
> > > module function returning the module table.
> > 
> > Does this mean module() will no longer change the environment of
> > its caller? If yes, this means *all* existing Lua source code
> > using the module() function will break.
> 
> It will still change the environment of its caller, but for
> compatibility only. This will be a documented compatibility behavior,
> because it affects new code. (Outside the "in module() do ... end" you
> will still be inside the module...)
I guess someone will be surprised by this then:
 in module("foo") do
 ...
 end
 print() -- Fails rather unexpectedly.
Note that compatibility features you turn on in the standard
distribution are de-facto turned on in all installations (as I've
explained before).
--Mike

AltStyle によって変換されたページ (->オリジナル) /