version 1.49, 2003/06/30 21:42:50 |
version 1.50, 2003/06/30 21:47:21 |
|
|
* argc is 3 for macro-or-builtin() and 2 for macro-or-builtin |
* argc is 3 for macro-or-builtin() and 2 for macro-or-builtin |
*/ |
*/ |
void |
void |
eval(const char *argv[], int argc, int td) |
eval(const char *argv[], int argc, int td, int is_traced) |
{ |
{ |
ssize_t mark = -1; |
ssize_t mark = -1; |
|
|
|
|
if (td & RECDEF) |
if (td & RECDEF) |
errx(1, "%s at line %lu: expanding recursive definition for %s", |
errx(1, "%s at line %lu: expanding recursive definition for %s", |
CURRENT_NAME, CURRENT_LINE, argv[1]); |
CURRENT_NAME, CURRENT_LINE, argv[1]); |
if (traced_macros && is_traced(argv[1])) |
if (is_traced) |
mark = trace(argv, argc, infile+ilevel); |
mark = trace(argv, argc, infile+ilevel); |
if (td == MACRTYPE) |
if (td == MACRTYPE) |
expand_macro(argv, argc); |
expand_macro(argv, argc); |