From 5d0b85f25fa1e5cc816a8256afb38cf9552f6d9d Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 1 Dec 2017 11:32:27 +0100 Subject: [PATCH] altos/lisp: return from unmatched cond is #f, not nil Fix the return value when we fall off the end of a cond expression to be #f Signed-off-by: Keith Packard --- src/lisp/ao_lisp_eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lisp/ao_lisp_eval.c b/src/lisp/ao_lisp_eval.c index 1044aa48..fa25edf0 100644 --- a/src/lisp/ao_lisp_eval.c +++ b/src/lisp/ao_lisp_eval.c @@ -350,7 +350,7 @@ ao_lisp_eval_cond(void) DBGI(".. frame "); DBG_POLY(ao_lisp_frame_poly(ao_lisp_frame_current)); DBG("\n"); DBGI(".. saved frame "); DBG_POLY(ao_lisp_stack->frame); DBG("\n"); if (!ao_lisp_stack->sexprs) { - ao_lisp_v = AO_LISP_NIL; + ao_lisp_v = _ao_lisp_bool_false; ao_lisp_stack->state = eval_val; } else { ao_lisp_v = ao_lisp_poly_cons(ao_lisp_stack->sexprs)->car; -- 2.30.2