diff options
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | tests/011/macros-3.tl | 5 |
2 files changed, 6 insertions, 1 deletions
@@ -2359,7 +2359,7 @@ static void builtin_reject_test(val op, val sym, val form, val def_kind) static val make_var_shadowing_env(val menv, val vars) { if (nilp(vars)) { - return menv; + return make_env(nil, nil, menv); } else if (atom(vars)) { return make_env(cons(cons(vars, special_s), nil), nil, menv); } else { diff --git a/tests/011/macros-3.tl b/tests/011/macros-3.tl index 9a595021..fda312da 100644 --- a/tests/011/macros-3.tl +++ b/tests/011/macros-3.tl @@ -18,3 +18,8 @@ (mtest s 1 s 2 s 3) + +(test (symacrolet ((a 42)) + (labels () + a)) + 42) |