diff --git a/libguile/debug.h b/libguile/debug.h index 46998f638..0b8ae623f 100644 --- a/libguile/debug.h +++ b/libguile/debug.h @@ -127,7 +127,8 @@ extern scm_debug_frame *scm_last_debug_frame; #define SCM_EVALFRAME (0L << 10) #define SCM_APPLYFRAME (1L << 10) -#define SCM_VOIDFRAME (2L << 10) +#define SCM_MACROFRAME (2L << 10) +#define SCM_VOIDFRAME (3L << 10) #define SCM_TAILREC (1L << 9) #define SCM_TRACED_FRAME (1L << 8) #define SCM_ARGS_READY (1L << 7) @@ -136,8 +137,9 @@ extern scm_debug_frame *scm_last_debug_frame; #define SCM_FRAMETYPE (3L << 10) -#define SCM_EVALFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_EVALFRAME) +#define SCM_EVALFRAMEP(x) (((x).status & SCM_APPLYFRAME) == 0) #define SCM_APPLYFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_APPLYFRAME) +#define SCM_MACROFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_MACROFRAME) #define SCM_VOIDFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_VOIDFRAME) #define SCM_OVERFLOWP(x) (((x).status & SCM_DOVERFLOW) != 0) #define SCM_ARGS_READY_P(x) (((x).status & SCM_ARGS_READY) != 0) @@ -149,6 +151,7 @@ extern scm_debug_frame *scm_last_debug_frame; #define SCM_SET_TRACED_FRAME(x) ((x).status |= SCM_TRACED_FRAME) #define SCM_CLEAR_TRACED_FRAME(x) ((x).status &= ~SCM_TRACED_FRAME) #define SCM_SET_TAILREC(x) ((x).status |= SCM_TAILREC) +#define SCM_SET_MACROFRAME(x) ((x).status |= SCM_MACROFRAME) #define SCM_DEBUGGINGP scm_debug_mode #define SCM_DSIDEVAL(x, env) if NIMP(x) scm_deval((x), (env))