On 12/15/06, Mike Pall <firstname.lastname@example.org> wrote:
Umm, I guess you misunderstood Roberto. It's not about leaving a
closure. It's about leaving a scope (e.g. do ... end) which has
created a closure.
I see; didn't take care of this indeed, so chances are that it's broken. Will check and fix. Or specify the limitations.
So maybe you should warn users [...]
Well, they're already warned by the fact that it's not exported in the syntax. It's really intended for macro writing, because some stuffs were really contrived to generate with standard controls. So in practice, I think I only used it within a flat "do" block, except for a couple of tests. Moreover, that's a pretty new addition, even more alpha than the rest of the code. But of course I'll warn about any limitation I know.
their programs may or may not execute properly with LuaJIT depending on what kind of
modifications they make to the bytecode. And a possible future
version may not digest standard bytecode at all ...
I don't precisely know the constraints of luaJIT, or any other VM, but clearly, as soon as you start using a construct that can't be translated to standard sources you lose some portability. Maybe there should be a portability warning when using such a feature, but for now there are more urgent problems to fix...