summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 1993481e..5ae61d71 100644
--- a/eval.c
+++ b/eval.c
@@ -693,6 +693,12 @@ static val expand_vars(val vars)
{
if (atom(vars)) {
return vars;
+ } else if (symbolp(car(vars))) {
+ val rest_vars = rest(vars);
+ val rest_vars_ex = expand_vars(rest_vars);
+ if (rest_vars == rest_vars_ex)
+ return vars;
+ return cons(car(vars), rest_vars_ex);
} else {
cons_bind (var, init, car(vars));
val rest_vars = rest(vars);