diff options
author | Neil Jerram <neil@ossau.uklinux.net> | 2001-06-26 21:55:45 +0000 |
---|---|---|
committer | Neil Jerram <neil@ossau.uklinux.net> | 2001-06-26 21:55:45 +0000 |
commit | d95c0b76d6f139d59660bdc7b20fae5a15947bcd (patch) | |
tree | cb719979fbd8f0b2996aafda0b922fdf88a823f7 /libguile/debug.h | |
parent | 17383b7c773eaca6e5ab488c9edd1fa313c33248 (diff) | |
download | guile-d95c0b76d6f139d59660bdc7b20fae5a15947bcd.tar.gz |
* Handle evaluator traps by calling trap handlers directly rather than
by scm_ithrow and a lazy catch handler.
Diffstat (limited to 'libguile/debug.h')
-rw-r--r-- | libguile/debug.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libguile/debug.h b/libguile/debug.h index 16d09510a..0954e3329 100644 --- a/libguile/debug.h +++ b/libguile/debug.h @@ -98,14 +98,16 @@ extern int scm_check_entry_p, scm_check_apply_p, scm_check_exit_p; #define SCM_RESET_DEBUG_MODE \ do {\ - CHECK_ENTRY = SCM_ENTER_FRAME_P || SCM_BREAKPOINTS_P;\ - CHECK_APPLY = SCM_APPLY_FRAME_P || SCM_TRACE_P;\ - CHECK_EXIT = SCM_EXIT_FRAME_P || SCM_TRACE_P;\ + CHECK_ENTRY = (SCM_ENTER_FRAME_P || SCM_BREAKPOINTS_P)\ + && SCM_NFALSEP (SCM_ENTER_FRAME_HDLR);\ + CHECK_APPLY = (SCM_APPLY_FRAME_P || SCM_TRACE_P)\ + && SCM_NFALSEP (SCM_APPLY_FRAME_HDLR);\ + CHECK_EXIT = (SCM_EXIT_FRAME_P || SCM_TRACE_P)\ + && SCM_NFALSEP (SCM_EXIT_FRAME_HDLR);\ scm_debug_mode = SCM_DEVAL_P || CHECK_ENTRY || CHECK_APPLY || CHECK_EXIT;\ scm_ceval_ptr = scm_debug_mode ? scm_deval : scm_ceval;\ } while (0) - /* {Evaluator} */ |