summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-09-16 06:05:42 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-09-16 06:05:42 -0700
commited08be3446c860441524408aaa3c5a2d3bbaa919 (patch)
tree8737215c1958af5528766d537da64a80111102ee /eval.c
parent3991f471ecd6095cc321c45dff90955d7108970a (diff)
downloadtxr-ed08be3446c860441524408aaa3c5a2d3bbaa919.tar.gz
txr-ed08be3446c860441524408aaa3c5a2d3bbaa919.tar.bz2
txr-ed08be3446c860441524408aaa3c5a2d3bbaa919.zip
fix broken while* and until*.
eval.c (me_while_star, me_until_star): for loop test must be a sequence of forms, not a single form.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 754e27bf..12c28e79 100644
--- a/eval.c
+++ b/eval.c
@@ -2459,7 +2459,7 @@ static val me_while_star(val form, val menv)
val once = gensym(lit("once-"));
(void) menv;
return apply_frob_args(list(for_s, cons(list(once, t, nao), nil),
- list(or_s, once, second(form), nao),
+ cons(list(or_s, once, second(form), nao), nil),
cons(list(zap_s, once, nao), nil),
rest(rest(form)), nao));
}
@@ -2478,7 +2478,7 @@ static val me_until_star(val form, val menv)
val inv = cons(not_s, cons(second(form), nil));
(void) menv;
return apply_frob_args(list(for_s, cons(list(once, t, nao), nil),
- list(or_s, once, inv, nao),
+ cons(list(or_s, once, inv, nao), nil),
cons(list(zap_s, once, nao), nil),
rest(rest(form)), nao));
}