diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2017-12-09 15:34:52 -0800 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2017-12-09 15:34:52 -0800 |
| commit | 96441251c4bdbb2d9296866e6c84624ce85c2f45 (patch) | |
| tree | 7b390648a594517fb66735c9824a4f9d2cca3bb6 /nomsu.lua | |
| parent | 28b6bc188370fe3c20b26c483b48ab70673bd35b (diff) | |
Pretty much everything is working??
Diffstat (limited to 'nomsu.lua')
| -rw-r--r-- | nomsu.lua | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -280,9 +280,7 @@ do def_number = self.__class.def_number, defs = self.defs } - local where_defs_go = (getmetatable(self.defs) or { - __newindex = self.defs - }).__newindex + local where_defs_go = (getmetatable(self.defs) or { }).__newindex or self.defs for _index_0 = 1, #signature do local _des_0 = signature[_index_0] local stub, arg_names, escaped_args @@ -325,7 +323,15 @@ do end, scoped = function(self, thunk) local old_defs = self.defs - self.defs = setmetatable({ }, { + local new_defs = { + ["#vars"] = setmetatable({ }, { + __index = self.defs["#vars"] + }), + ["#loaded_files"] = setmetatable({ }, { + __index = self.defs["#loaded_files"] + }) + } + self.defs = setmetatable(new_defs, { __index = old_defs }) local ok, ret1, ret2 = pcall(thunk, self) @@ -1249,8 +1255,8 @@ end)]]):format(concat(lua_bits, "\n")) local bit = _list_0[_index_0] if type(bit) == "string" then insert(concat_parts, bit) - elseif type(bit) == "table" and bit.type == "FunctionCall" and bit.src == "__src__" then - insert(concat_parts, repr(self.defs["#macro_tree"].src)) + elseif bit.src == '__src__' then + insert(concat_parts, repr(self:dedent(self.defs["#macro_tree"].src))) else local expr, statement = self:tree_to_lua(bit, filename) if statement then |
