diff --git a/src/error.h b/src/error.h index 7ec91722a80f7453c038c257ce83cdc6fb7e94e9..e28b84cbfa515429058df22c30aa46cd46fde005 100644 --- a/src/error.h +++ b/src/error.h @@ -56,7 +56,14 @@ extern struct svalue throw_value; recoveries->onerror=&X; \ }while(0) +#ifdef DEBUG +#define UNSET_ONERROR(X) do {\ + if(recoveries->onerror != &(X)) fatal("UNSET_ONERROR out of sync.\n"); \ + recoveries->onerror=(X).previous; \ + } while(0) +#else #define UNSET_ONERROR(X) recoveries->onerror=X.previous +#endif /* Prototypes begin here */ JMP_BUF *init_recovery(JMP_BUF *r);