* debug.h (SCM_MACROFRAME, SCM_MACROFRAMEP): New frame type.
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Mon, 9 Nov 1998 14:13:06 +0000 (14:13 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Mon, 9 Nov 1998 14:13:06 +0000 (14:13 +0000)
libguile/debug.h

index 46998f6..0b8ae62 100644 (file)
@@ -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))