From d8f21f1f6558d2c433266c107c4a46a478f7965e Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sun, 21 Jul 2024 20:49:08 -0700 Subject: [PATCH] Handle errors better --- src/lisp/s-expr.pla | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/lisp/s-expr.pla b/src/lisp/s-expr.pla index f4c929f..d52fc53 100644 --- a/src/lisp/s-expr.pla +++ b/src/lisp/s-expr.pla @@ -908,6 +908,11 @@ export def eval_expr(expr)#1 else curl = NULL // Set-up for in-line LAMBDA fin + if !expr_car // Make sure we don't hang + puts("Invalid function:"); print_expr(expr); putln + expr = NULL + break + fin if expr_car->type == CONS_TYPE if expr_car=>car == sym_funarg // FUNARG expr = eval_funarg(expr_car, expr=>cdr) @@ -919,6 +924,10 @@ export def eval_expr(expr)#1 fin if expr_car=>car == sym_lambda // LAMBDA curl, expr = apply_args(curl, expr_car, expr=>cdr) + else + puts("LAMBDA expected:"); print_expr(expr); putln + expr = NULL + break fin fin else