diff --git a/src/object.c b/src/object.c index 32752ec0f11c83115d0255d842e1ce0f340c23d8..9e61cfb39acd8372d821ea2c600599395e295c79 100644 --- a/src/object.c +++ b/src/object.c @@ -797,7 +797,10 @@ static void call_destroy(struct object *o, enum object_destruct_reason reason) UNSETJMP (jmp); move_svalue (&throw_value, &err); } - call_handle_error(); + if (!SETJMP(jmp)) { + call_handle_error(); + } + UNSETJMP(jmp); } else {