diff options
-rw-r--r-- | core/configmanager.lua | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/configmanager.lua b/core/configmanager.lua index b7ee605f..1fbe83b8 100644 --- a/core/configmanager.lua +++ b/core/configmanager.lua @@ -68,7 +68,7 @@ function load(filename, format) if parsers[format] and parsers[format].load then local f, err = io.open(filename); if f then - local ok, err = parsers[format].load(f:read("*a")); + local ok, err = parsers[format].load(f:read("*a"), filename); f:close(); if ok then eventmanager.fire_event("config-reloaded", { filename = filename, format = format }); @@ -99,7 +99,7 @@ do local loadstring, pcall, setmetatable = _G.loadstring, _G.pcall, _G.setmetatable; local setfenv, rawget, tostring = _G.setfenv, _G.rawget, _G.tostring; parsers.lua = {}; - function parsers.lua.load(data) + function parsers.lua.load(data, filename) local env; -- The ' = true' are needed so as not to set off __newindex when we assign the functions below env = setmetatable({ Host = true; host = true; Component = true, component = true, @@ -139,7 +139,7 @@ do local f, err = io.open(file); if f then local data = f:read("*a"); - local ok, err = parsers.lua.load(data); + local ok, err = parsers.lua.load(data, file); if not ok then error(err:gsub("%[string.-%]", file), 0); end end if not f then error("Error loading included "..file..": "..err, 0); end @@ -147,7 +147,7 @@ do end env.include = env.Include; - local chunk, err = loadstring(data); + local chunk, err = loadstring(data, "@"..filename); if not chunk then return nil, err; |