From 5627d7bacb2ee381ed9b97ac669cb7269802d8bc Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 29 Nov 2011 20:05:07 -0800 Subject: * eval.c (expand_vars): Bugfix: was not handling vars of the form var, only (var initform). --- ChangeLog | 5 +++++ eval.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 22860e28..88b31abe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-11-29 Kaz Kylheku + + * eval.c (expand_vars): Bugfix: was not handling vars + of the form var, only (var initform). + 2011-11-29 Kaz Kylheku Support assignment to (car ...) and (cdr ...). 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); -- cgit v1.2.3