summaryrefslogtreecommitdiff
path: root/libguile/debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/debug.h')
-rw-r--r--libguile/debug.h7
1 files changed, 5 insertions, 2 deletions
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))