diff --git a/core/parse.go b/core/parse.go index f17da0870..d9ee8b838 100644 --- a/core/parse.go +++ b/core/parse.go @@ -827,7 +827,7 @@ func parseSetMacro(obj Object, ctx *ParseContext) Expr { func isUnknownCallable(expr Expr) bool { switch c := expr.(type) { case *VarRefExpr: - return c.vr.expr == nil + return (c.vr.isMacro && c.vr.Value == nil) || c.vr.expr == nil default: return false } diff --git a/tests/symbols-lint.joke b/tests/symbols-lint.joke index a8df3386f..4b831103b 100644 --- a/tests/symbols-lint.joke +++ b/tests/symbols-lint.joke @@ -5,7 +5,7 @@ [spec :as s]) (:import [java.security Security])) - +(defmacro test-macro [x]) (def f []) (f 1) @@ -23,3 +23,4 @@ (f j) (f1 1) (tt/g 3) +(test-macro uuu)