diff --git a/userspace/digwatch/lua/compiler.lua b/userspace/digwatch/lua/compiler.lua index 043660fd..e9a0215f 100644 --- a/userspace/digwatch/lua/compiler.lua +++ b/userspace/digwatch/lua/compiler.lua @@ -300,7 +300,7 @@ function expand_in(node) local mapper = function(element) return { type = "BinaryRelOp", - operator = "eq", + operator = "=", left = node.left, right = element } @@ -350,7 +350,7 @@ function expand_macros(ast, defs, changed) end if (ast.type == "Rule") then - macros = expand_macros(ast.filter, defs, changed) + return expand_macros(ast.filter, defs, changed) elseif ast.type == "Filter" then if (ast.value.type == "Macro") then if (defs[ast.value.value] == nil) then @@ -514,6 +514,8 @@ function compiler.compile_line(line, macro_defs) check_macros(ast) if (ast.type == "MacroDef") then + expand_in(ast.value) + -- Parsed line is a macro definition, so update our dictionary of macros and -- return macro_defs[ast.name] = ast.value