summaryrefslogtreecommitdiffstats
path: root/unwind.c
diff options
context:
space:
mode:
Diffstat (limited to 'unwind.c')
-rw-r--r--unwind.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/unwind.c b/unwind.c
index 900d614e..a521c732 100644
--- a/unwind.c
+++ b/unwind.c
@@ -435,6 +435,10 @@ val uw_block_abscond(val tag, val result)
for (ex = uw_stack; ex != 0; ex = ex->uw.up) {
if (ex->uw.type == UW_BLOCK && ex->bl.tag == tag)
break;
+ if (ex->uw.type == UW_GUARD)
+ uw_throwf(error_s, lit("~a: cannot abscond via foreign stack frames\n"),
+ prog_string, nao);
+
}
if (ex == 0)