diff options
Diffstat (limited to 'src/primitives.c')
| -rw-r--r-- | src/primitives.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/primitives.c b/src/primitives.c index a0a90a0..1c0d1e3 100644 --- a/src/primitives.c +++ b/src/primitives.c @@ -6,7 +6,11 @@ SExpRef primitive_assert_error(Interp *interp, SExpRef args, bool istail) { SExpRef eargs = lisp_eval_args(interp, args); if (VALTYPE(eargs) == kErrSignal) return interp->t; - return new_error(interp, "assert-error failed: no error.\n"); + + const char *expstr = lisp_to_string(interp, CAR(args)); + SExpRef ret = new_error(interp, "assert-error failed, no error: %s.\n", expstr); + free((void*)expstr); + return ret; } SExpRef primitive_load(Interp *interp, SExpRef args, bool istail) { @@ -63,7 +67,7 @@ SExpRef primitive_assert(Interp *interp, SExpRef args, bool istail) { if (TRUEP(CAR(eargs))) { return interp->t; } else { - const char *expstr = lisp_to_string(interp, args); + const char *expstr = lisp_to_string(interp, CAR(args)); SExpRef ret = new_error(interp, "Assertion failed: %s.\n", expstr); free((void*)expstr); return ret; |
