summaryrefslogtreecommitdiffstats
path: root/unwind.c
diff options
context:
space:
mode:
Diffstat (limited to 'unwind.c')
-rw-r--r--unwind.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/unwind.c b/unwind.c
index c1e5ba26..0032493d 100644
--- a/unwind.c
+++ b/unwind.c
@@ -65,6 +65,10 @@ static val frame_type, catch_frame_type, handle_frame_type;
static val deferred_warnings, tentative_defs;
+#if CONFIG_EXTRA_DEBUGGING
+static int uw_break_on_error;
+#endif
+
/* C99 inline instantiations. */
#if __STDC_VERSION__ >= 199901L
val uw_block_return(val tag, val result);
@@ -555,6 +559,11 @@ val uw_throw(val sym, val args)
abort();
}
+#if CONFIG_EXTRA_DEBUGGING
+ if (uw_break_on_error && uw_exception_subtype_p(sym, error_s))
+ breakpt();
+#endif
+
if (!listp(args))
args = cons(args, nil);