--- gforth/Attic/forth.h 1996/05/23 15:13:08 1.22 +++ gforth/Attic/forth.h 1996/07/16 20:57:09 1.23 @@ -132,8 +132,8 @@ typedef Label *Xt; /* CODE_ADDRESS is the address of the code jumped to through the code field */ #define CODE_ADDRESS(cfa) (*(Label *)(cfa)) /* DOES_CODE is the Forth code does jumps to */ -#define DOES_CODE(cfa) (cfa[1]) -#define DOES_CODE1(cfa) DOES_CODE(cfa) +#define DOES_CODE(cfa) ((cfa[0] == symbols[DODOES]) ? cfa[1] : NULL) +#define DOES_CODE1(cfa) (cfa[1]) /* MAKE_CF creates an appropriate code field at the cfa; ca is the code address */ #define MAKE_CF(cfa,ca) ((*(Label *)(cfa)) = ((Label)ca))