46 |
|
|
47 |
|
|
48 |
/* Expand one token, according to its type. Potential macro names |
/* Expand one token, according to its type. Potential macro names |
49 |
(TOKEN_WORD) are looked up in the symbol table, to see if they have a |
(M4_TOKEN_WORD) are looked up in the symbol table, to see if they have a |
50 |
macro definition. If they have, they are expanded as macros, otherwise |
macro definition. If they have, they are expanded as macros, otherwise |
51 |
the text are just copied to the output. */ |
the text are just copied to the output. */ |
52 |
static void |
static void |
75 |
++p; |
++p; |
76 |
|
|
77 |
symbol = m4_symbol_lookup (p); |
symbol = m4_symbol_lookup (p); |
78 |
if (symbol == NULL || SYMBOL_TYPE (symbol) == M4_TOKEN_VOID |
if (symbol == NULL |
79 |
|
|| SYMBOL_TYPE (symbol) == M4_TOKEN_VOID |
80 |
|| (SYMBOL_TYPE (symbol) == M4_TOKEN_FUNC |
|| (SYMBOL_TYPE (symbol) == M4_TOKEN_FUNC |
81 |
&& BIT_TEST (SYMBOL_FLAGS (symbol), TOKEN_BLIND_ARGS_BIT) |
&& BIT_TEST (SYMBOL_FLAGS (symbol), TOKEN_BLIND_ARGS_BIT) |
82 |
&& !M4_IS_OPEN(m4_peek_input ()))) |
&& !M4_IS_OPEN (m4_peek_input ()))) |
83 |
{ |
{ |
84 |
m4_shipout_text (obs, TOKEN_TEXT (td), |
m4_shipout_text (obs, text, strlen (text)); |
|
strlen (TOKEN_TEXT (td))); |
|
85 |
} |
} |
86 |
else |
else |
87 |
expand_macro (p, symbol); |
expand_macro (p, symbol); |