From bab4304671afedb894b5676d810d114dbc953b85 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 16 Sep 2016 06:05:42 -0700 Subject: 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. --- eval.c | 4 ++-- 1 file 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)); } -- cgit v1.2.3