summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eval.c2
-rw-r--r--tests/011/macros-3.tl5
2 files changed, 6 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index f8ecb236..aecc5a8e 100644
--- a/eval.c
+++ b/eval.c
@@ -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)