diff options
author | Benoit Germain <bnt.germain@gmail.com> | 2012-10-25 10:59:23 +0300 |
---|---|---|
committer | Benoit Germain <bnt.germain@gmail.com> | 2012-10-25 10:59:23 +0300 |
commit | 518d7ba7bf9ff18fb60e9f304465164c9b068a99 (patch) | |
tree | 363f077ae9a1c76aaa26403b3b7d3dd6433b326a /TODO | |
parent | 1d2a314407f5e70a5b46b3166402d79b531099c4 (diff) | |
download | lanes-518d7ba7bf9ff18fb60e9f304465164c9b068a99.tar.gz lanes-518d7ba7bf9ff18fb60e9f304465164c9b068a99.tar.bz2 lanes-518d7ba7bf9ff18fb60e9f304465164c9b068a99.zip |
Raise an error on multiple-named functions.
Lua 5.2 introduced a hash randomizer seed which causes table iteration to yield a different key order
on different VMs even when the tables are populated the exact same way.
When Lua is built with compatibility options (such as LUA_COMPAT_ALL),
this causes several base libraries to register functions under multiple names.
This, with the randomizer, can cause the first name of a function to be different on different VMs,
which breaks function transfer.
This means that Lua 5.2 must be built with compatibility off to be able to use Lanes.
Even under Lua 5.1, this may cause trouble (even if this would be much less frequent)
Unfortunately, this fails with string.gfind/string.gmatch when Lua 5.1 is built with LUA_COMPAT_GFIND (which is the case of LuaBinaries),
so for the time being, fail only for Lua 5.2 as the randomizer is the real show breaker here.
Diffstat (limited to 'TODO')
0 files changed, 0 insertions, 0 deletions