changeset 138:74fadb9ea35f

eval: Return exception about undefined references
author Lewin Bormann <lbo@spheniscida.de>
date Tue, 03 Sep 2019 09:40:21 +0200
parents 08d010255027
children d320f32169ee
files src/eval.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c	Sun Sep 01 22:57:51 2019 +0200
+++ b/src/eval.c	Tue Sep 03 09:40:21 2019 +0200
@@ -79,8 +79,12 @@
             } else if (val->typ == YVALUE_FUNC) {
                 return *expr;
             }
-            assert(val->typ == YVALUE_FUNC || val->typ == YVALUE_EXPR);
-            break;
+
+            // Undefined reference!
+            yexpr_t exception;
+            ystr_t msg = ystr_new("Undefined reference!");
+            yexpr_set_exception(&exception, msg);
+            return exception;
         case YEXPR_LIST:
             // Is empty list?
             if (expr->value.list.len == 0) {