diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/primitives.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/primitives.c b/src/primitives.c index 73812b8..e5e65e3 100644 --- a/src/primitives.c +++ b/src/primitives.c @@ -106,8 +106,11 @@ SExpRef primitive_assert(Interp *interp, SExpRef args, bool istail) { } SExpRef primitive_eval(Interp *interp, SExpRef args, bool istail) { + if (LENGTH(args) != 1) { + return new_error(interp, "eval: syntax error."); + } args = lisp_eval_args(interp, args); - return lisp_eval(interp, args, istail); + return lisp_eval(interp, CAR(args), istail); } SExpRef primitive_unwind_protect(Interp *interp, SExpRef args, bool istail) { |
