diff options
-rw-r--r-- | libguile/throw.c | 3 |
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)) ; |