aboutsummaryrefslogtreecommitdiff
path: root/nomsu_environment.lua
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-01-11 15:27:11 -0800
committerBruce Hill <bruce@bruce-hill.com>2019-01-11 15:27:41 -0800
commit43e45b145279946f01876efe36e0e7acad4ce8c3 (patch)
tree29ea5f774bc7299a7b4eba65cdadf190f6c12a20 /nomsu_environment.lua
parent0f0fb2256a46a8808794d7d4746d112278da3730 (diff)
Tweaked code to use both _ENV and _G for better compatibility of
precompiled Lua between Lua 5.2+ and LuaJIT
Diffstat (limited to 'nomsu_environment.lua')
-rw-r--r--nomsu_environment.lua12
1 files changed, 4 insertions, 8 deletions
diff --git a/nomsu_environment.lua b/nomsu_environment.lua
index 7295676..9181d92 100644
--- a/nomsu_environment.lua
+++ b/nomsu_environment.lua
@@ -238,9 +238,7 @@ nomsu_environment = setmetatable({
code = NomsuCode:from(Source(path, 1, #code), code)
end
_currently_running_files:add(path)
- assert(mod[jit and "_G" or "_ENV"] == mod)
mod:run(code)
- assert(mod[jit and "_G" or "_ENV"] == mod)
_currently_running_files:pop()
package.loaded[package_name] = mod
package.loaded[path] = mod
@@ -248,17 +246,14 @@ nomsu_environment = setmetatable({
end,
use = function(self, package_name)
local mod = self:load_module(package_name)
- assert(mod[jit and "_G" or "_ENV"] == mod)
local imports = assert(_module_imports[self])
for k, v in pairs(mod) do
imports[k] = v
end
- assert(mod[jit and "_G" or "_ENV"] == mod)
return mod
end,
export = function(self, package_name)
local mod = self:load_module(package_name)
- assert(mod[jit and "_G" or "_ENV"] == mod)
local imports = assert(_module_imports[self])
for k, v in pairs(_module_imports[mod]) do
imports[k] = v
@@ -268,7 +263,6 @@ nomsu_environment = setmetatable({
self[k] = v
end
end
- assert(mod[jit and "_G" or "_ENV"] == mod)
return mod
end,
run = function(self, to_run)
@@ -365,7 +359,8 @@ nomsu_environment = setmetatable({
end
_module_imports[env] = _tbl_0
end
- env[jit and "_G" or "_ENV"] = env
+ env._ENV = env
+ env._G = env
setmetatable(env, getmetatable(nomsu_environment))
return env
end
@@ -374,7 +369,8 @@ nomsu_environment = setmetatable({
return _module_imports[self][k]
end
})
-nomsu_environment[jit and "_G" or "_ENV"] = nomsu_environment
+nomsu_environment._ENV = nomsu_environment
+nomsu_environment._G = nomsu_environment
nomsu_environment.COMPILE_RULES = require('bootstrap')
_module_imports[nomsu_environment] = { }
SOURCE_MAP = nomsu_environment.SOURCE_MAP