diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2018-12-15 15:14:26 -0800 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2018-12-15 15:14:56 -0800 |
| commit | 17fc0a0e3870030dc5db5e14c0a798b65ef7e557 (patch) | |
| tree | 48294074c1fd1e7df5d78304fe165f8417e1ea78 /nomsu_environment.lua | |
| parent | 3036d425a582898a03dfe306ac9b31ca16c269e5 (diff) | |
Fix for files getting run twice by (use "")
Diffstat (limited to 'nomsu_environment.lua')
| -rw-r--r-- | nomsu_environment.lua | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/nomsu_environment.lua b/nomsu_environment.lua index 93487aa..71d7d06 100644 --- a/nomsu_environment.lua +++ b/nomsu_environment.lua @@ -322,18 +322,30 @@ local nomsu_environment = Importer({ break end for _index_0 = 1, #files do - local filename = files[_index_0] - local lua_filename = filename:gsub("%.nom$", ".lua") - local code - if optimization ~= 0 and Files.read(lua_filename) then - local file = Files.read(lua_filename) - code = LuaCode:from(Source(filename, 1, #file), file) - else - local file = Files.read(filename) - code = NomsuCode:from(Source(filename, 1, #file), file) + local _continue_1 = false + repeat + local filename = files[_index_0] + local lua_filename = filename:gsub("%.nom$", ".lua") + if environment.FILE_CACHE[filename] then + import_to_1_from(environment, environment.FILE_CACHE[filename], prefix) + _continue_1 = true + break + end + local code + if optimization ~= 0 and Files.read(lua_filename) then + local file = Files.read(lua_filename) + code = LuaCode:from(Source(filename, 1, #file), file) + else + local file = Files.read(filename) + code = NomsuCode:from(Source(filename, 1, #file), file) + end + environment.run_1_in(code, mod) + did_anything = true + _continue_1 = true + until true + if not _continue_1 then + break end - environment.run_1_in(code, mod) - did_anything = true end break end |
