diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-25 18:07:41 -0800 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-25 18:07:51 -0800 |
| commit | fb22ba11ac2c363941d8bf34f8b8a9181bd7c7dc (patch) | |
| tree | 1939c69ef3c9c43b473ce9e8ca1f7045d57faa09 | |
| parent | 6668918b2e8a5548bb66864c5051ca94c61994d3 (diff) | |
Fixed improperly handling locals of a block.
| -rw-r--r-- | nomsu.lua | 5 | ||||
| -rwxr-xr-x | nomsu.moon | 4 |
2 files changed, 5 insertions, 4 deletions
@@ -897,14 +897,15 @@ do local lua = self:tree_to_lua(arg) if #tree.value == 1 and lua.expr and not lua.statements then return { - expr = lua.expr + expr = lua.expr, + locals = lua.locals } end if lua.locals then local _list_1 = lua.locals for _index_1 = 1, #_list_1 do local l = _list_1[_index_1] - locals[l] = true + table.insert(locals, l) end end if lua.statements then @@ -642,9 +642,9 @@ class NomsuCompiler for arg in *tree.value lua = @tree_to_lua arg if #tree.value == 1 and lua.expr and not lua.statements - return expr:lua.expr + return {expr:lua.expr, locals:lua.locals} if lua.locals - for l in *lua.locals do locals[l] = true + for l in *lua.locals do table.insert(locals, l) if lua.statements then insert lua_bits, lua.statements elseif lua.expr then insert lua_bits, "#{lua.expr};" utils.deduplicate(locals) |
