From 7807b9cc097e9356217e3071ad1310191dda58fe Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 2 Mar 2014 21:37:48 -0800 Subject: * eval.c (expand): Bugfix. When processing a defvar, should mark the variable as special at expansion time. Without this, binding forms in other parts of the tree won't be expanded properly to bring about the special semantics. --- eval.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'eval.c') diff --git a/eval.c b/eval.c index e718853a..be60544b 100644 --- a/eval.c +++ b/eval.c @@ -2409,6 +2409,8 @@ tail: if (sym == defsymacro_s) { val result = eval(form_ex, make_env(nil, nil, nil), form); return cons(quote_s, cons(result, nil)); + } else { + mark_special(name); } return form_ex; -- cgit v1.2.3