summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/throw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/throw.c b/libguile/throw.c
index e2b9526c7..12c90b8d8 100644
--- a/libguile/throw.c
+++ b/libguile/throw.c
@@ -736,7 +736,8 @@ scm_ithrow (SCM key, SCM args, int noreturn SCM_UNUSED)
abort ();
for (wind_goal = scm_i_dynwinds ();
- !scm_is_eq (SCM_CDAR (wind_goal), jmpbuf);
+ (!scm_is_pair (SCM_CAR (wind_goal))
+ || !scm_is_eq (SCM_CDAR (wind_goal), jmpbuf));
wind_goal = SCM_CDR (wind_goal))
;