=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/m4/mdef.h,v retrieving revision 1.31 retrieving revision 1.32 diff -c -r1.31 -r1.32 *** src/usr.bin/m4/mdef.h 2011/09/27 07:24:02 1.31 --- src/usr.bin/m4/mdef.h 2014/12/21 09:33:12 1.32 *************** *** 1,4 **** ! /* $OpenBSD: mdef.h,v 1.31 2011/09/27 07:24:02 espie Exp $ */ /* $NetBSD: mdef.h,v 1.7 1996/01/13 23:25:27 pk Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: mdef.h,v 1.32 2014/12/21 09:33:12 espie Exp $ */ /* $NetBSD: mdef.h,v 1.7 1996/01/13 23:25:27 pk Exp $ */ /* *************** *** 163,168 **** --- 163,172 ---- int c; }; + #define STORAGE_STRSPACE 0 + #define STORAGE_MACRO 1 + #define STORAGE_OTHER 2 + #define CURRENT_NAME (infile[ilevel].name) #define CURRENT_LINE (infile[ilevel].lineno) /* *************** *** 178,184 **** if (++sp == STACKMAX) \ enlarge_stack();\ mstack[sp].sfra = (x); \ ! sstack[sp] = 0; \ } while (0) #define pushs(x) \ --- 182,188 ---- if (++sp == STACKMAX) \ enlarge_stack();\ mstack[sp].sfra = (x); \ ! sstack[sp] = STORAGE_OTHER; \ } while (0) #define pushs(x) \ *************** *** 186,192 **** if (++sp == STACKMAX) \ enlarge_stack();\ mstack[sp].sstr = (x); \ ! sstack[sp] = 1; \ } while (0) #define pushs1(x) \ --- 190,196 ---- if (++sp == STACKMAX) \ enlarge_stack();\ mstack[sp].sstr = (x); \ ! sstack[sp] = STORAGE_STRSPACE; \ } while (0) #define pushs1(x) \ *************** *** 194,201 **** if (++sp == STACKMAX) \ enlarge_stack();\ mstack[sp].sstr = (x); \ ! sstack[sp] = 0; \ } while (0) /* * . . --- 198,214 ---- if (++sp == STACKMAX) \ enlarge_stack();\ mstack[sp].sstr = (x); \ ! sstack[sp] = STORAGE_OTHER; \ } while (0) + + #define pushdef(p) \ + do { \ + if (++sp == STACKMAX) \ + enlarge_stack();\ + mstack[sp].sstr = macro_getdef(p)->defn;\ + sstack[sp] = STORAGE_MACRO; \ + } while (0) + /* * . .