From e2764d75a52f60ea37f4d7aaa5414cc663e7749f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 9 Feb 2017 06:21:10 -0800 Subject: bugfix: no restart catch in compile-warning. * share/txr/stdlib/error.tl (compile-warning): Wrap throw in a catch with a continue handler to properly implement the warning protocol. --- share/txr/stdlib/error.tl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/txr/stdlib/error.tl b/share/txr/stdlib/error.tl index 12bda9ae..f437f863 100644 --- a/share/txr/stdlib/error.tl +++ b/share/txr/stdlib/error.tl @@ -37,7 +37,9 @@ (defun compile-warning (ctx fmt . args) (let ((loc (sys:loc ctx)) (name (sys:ctx-name ctx))) - (throwf 'warning `@loc~s: @fmt` name . args))) + (catch + (throwf 'warning `@loc~s: @fmt` name . args) + (continue ())))) (defun compile-defr-warning (ctx tag fmt . args) (let ((loc (sys:loc ctx)) -- cgit v1.2.3