diff options
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | share/txr/stdlib/error.tl | 1 |
2 files changed, 3 insertions, 0 deletions
@@ -225,6 +225,8 @@ noreturn static void eval_exception(val sym, val ctx, val fmt, va_list vl) (void) vformat(stream, fmt, vl); + uw_dump_deferred_warnings(std_error); + uw_throw(sym, get_string_from_stream(stream)); } diff --git a/share/txr/stdlib/error.tl b/share/txr/stdlib/error.tl index 355b39e6..12bda9ae 100644 --- a/share/txr/stdlib/error.tl +++ b/share/txr/stdlib/error.tl @@ -31,6 +31,7 @@ (defun compile-error (ctx fmt . args) (let ((loc (sys:loc ctx)) (name (sys:ctx-name ctx))) + (dump-deferred-warnings *stderr*) (throwf 'eval-error `@loc~s: @fmt` name . args))) (defun compile-warning (ctx fmt . args) |