diff options
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | tests/019/redef.tl | 4 |
2 files changed, 6 insertions, 0 deletions
@@ -2162,6 +2162,7 @@ static val op_defsymacro(val form, val env) if (!opt_compat || opt_compat > 143) remhash(special, sym); sethash(top_smb, sym, second(args)); + vm_invalidate_binding(sym); return sym; } @@ -2171,6 +2172,7 @@ static val rt_defsymacro(val sym, val def) remhash(top_vb, sym); remhash(special, sym); sethash(top_smb, sym, def); + vm_invalidate_binding(sym); return sym; } diff --git a/tests/019/redef.tl b/tests/019/redef.tl index 036fb8c9..943b5c3a 100644 --- a/tests/019/redef.tl +++ b/tests/019/redef.tl @@ -17,3 +17,7 @@ (defparml foov :barv) (test (bar) (:bar :barv)) + +(defsymacro foov 42) + +(test (bar) :error) |