summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index f863e5fd..e0c852b0 100644
--- a/eval.c
+++ b/eval.c
@@ -3132,6 +3132,7 @@ static val me_case(val form, val menv)
val testform = pop(&form);
val tformsym = gensym(lit("test-"));
val memfuncsym, eqfuncsym;
+ val lofnil = cons(nil, nil);
list_collect_decl (condpairs, ptail);
if (casesym == caseq_s) {
@@ -3167,12 +3168,13 @@ static val me_case(val form, val menv)
nao),
forms));
} else {
+ uses_or2;
ptail = list_collect(ptail,
cons(list(if3(atom(keys), eqfuncsym, memfuncsym),
tformsym,
list(quote_s, keys, nao),
nao),
- forms));
+ or2(forms, lofnil)));
}
}