mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
* Handle evaluator traps by calling trap handlers directly rather than
by scm_ithrow and a lazy catch handler.
This commit is contained in:
parent
17383b7c77
commit
d95c0b76d6
9 changed files with 80 additions and 35 deletions
|
@ -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}
|
||||
*/
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue