153 |
|
|
154 |
if (argc == 2) |
if (argc == 2) |
155 |
{ |
{ |
156 |
m4_macro_define (M4ARG (1), NULL); |
m4_macro_define (context, M4ARG (1), NULL); |
157 |
return; |
return; |
158 |
} |
} |
159 |
|
|
160 |
switch (TOKEN_TYPE (argv[2])) |
switch (TOKEN_TYPE (argv[2])) |
161 |
{ |
{ |
162 |
case M4_TOKEN_TEXT: |
case M4_TOKEN_TEXT: |
163 |
m4_macro_define (M4ARG (1), argv[2]); |
m4_macro_define (context, M4ARG (1), argv[2]); |
164 |
return; |
return; |
165 |
|
|
166 |
case M4_TOKEN_FUNC: |
case M4_TOKEN_FUNC: |
167 |
m4_builtin_define (M4ARG (1), argv[2]); |
m4_builtin_define (context, M4ARG (1), argv[2]); |
168 |
return; |
return; |
169 |
} |
} |
170 |
|
|
174 |
|
|
175 |
M4BUILTIN_HANDLER (undefine) |
M4BUILTIN_HANDLER (undefine) |
176 |
{ |
{ |
177 |
if (!m4_symbol_lookup (M4ARG (1))) |
if (!m4_symbol_lookup (M4SYMTAB, M4ARG (1))) |
178 |
M4WARN ((warning_status, 0, |
M4WARN ((warning_status, 0, |
179 |
_("Warning: %s: undefined name: %s"), M4ARG (0), M4ARG (1))); |
_("Warning: %s: undefined name: %s"), M4ARG (0), M4ARG (1))); |
180 |
else |
else |
181 |
m4_symbol_delete (M4ARG (1)); |
m4_symbol_delete (M4SYMTAB, M4ARG (1)); |
182 |
} |
} |
183 |
|
|
184 |
M4BUILTIN_HANDLER (pushdef) |
M4BUILTIN_HANDLER (pushdef) |
188 |
|
|
189 |
if (argc == 2) |
if (argc == 2) |
190 |
{ |
{ |
191 |
m4_macro_pushdef (M4ARG (1), NULL); |
m4_macro_pushdef (context, M4ARG (1), NULL); |
192 |
return; |
return; |
193 |
} |
} |
194 |
|
|
195 |
switch (TOKEN_TYPE (argv[2])) |
switch (TOKEN_TYPE (argv[2])) |
196 |
{ |
{ |
197 |
case M4_TOKEN_TEXT: |
case M4_TOKEN_TEXT: |
198 |
m4_macro_pushdef (M4ARG (1), argv[2]); |
m4_macro_pushdef (context, M4ARG (1), argv[2]); |
199 |
return; |
return; |
200 |
|
|
201 |
case M4_TOKEN_FUNC: |
case M4_TOKEN_FUNC: |
202 |
m4_builtin_pushdef (M4ARG (1), argv[2]); |
m4_builtin_pushdef (context, M4ARG (1), argv[2]); |
203 |
return; |
return; |
204 |
} |
} |
205 |
|
|
209 |
|
|
210 |
M4BUILTIN_HANDLER (popdef) |
M4BUILTIN_HANDLER (popdef) |
211 |
{ |
{ |
212 |
if (!m4_symbol_lookup (M4ARG (1))) |
if (!m4_symbol_lookup (M4SYMTAB, M4ARG (1))) |
213 |
M4WARN ((warning_status, 0, |
M4WARN ((warning_status, 0, |
214 |
_("Warning: %s: undefined name: %s"), M4ARG (0), M4ARG (1))); |
_("Warning: %s: undefined name: %s"), M4ARG (0), M4ARG (1))); |
215 |
else |
else |
216 |
m4_symbol_popdef (M4ARG (1)); |
m4_symbol_popdef (M4SYMTAB, M4ARG (1)); |
217 |
} |
} |
218 |
|
|
219 |
|
|
227 |
m4_symbol *symbol; |
m4_symbol *symbol; |
228 |
const char *result; |
const char *result; |
229 |
|
|
230 |
symbol = m4_symbol_lookup (M4ARG (1)); |
symbol = m4_symbol_lookup (M4SYMTAB, M4ARG (1)); |
231 |
|
|
232 |
if (symbol) |
if (symbol) |
233 |
result = M4ARG (2); |
result = M4ARG (2); |
292 |
const m4_builtin *bp; |
const m4_builtin *bp; |
293 |
|
|
294 |
data.obs = obs; |
data.obs = obs; |
295 |
m4_dump_symbols (&data, argc, argv, TRUE); |
m4_dump_symbols (context, &data, argc, argv, TRUE); |
296 |
|
|
297 |
for (; data.size > 0; --data.size, data.base++) |
for (; data.size > 0; --data.size, data.base++) |
298 |
{ |
{ |
299 |
m4_symbol *symbol = m4_symbol_lookup (data.base[0]); |
m4_symbol *symbol = m4_symbol_lookup (M4SYMTAB, data.base[0]); |
300 |
|
|
301 |
fprintf (stderr, "%s:\t", data.base[0]); |
fprintf (stderr, "%s:\t", data.base[0]); |
302 |
assert (SYMBOL_TYPE (symbol) == M4_TOKEN_TEXT |
assert (SYMBOL_TYPE (symbol) == M4_TOKEN_TEXT |
332 |
{ |
{ |
333 |
m4_symbol *symbol; |
m4_symbol *symbol; |
334 |
|
|
335 |
symbol = m4_symbol_lookup (M4ARG (1)); |
symbol = m4_symbol_lookup (M4SYMTAB, M4ARG (1)); |
336 |
if (symbol == NULL) |
if (symbol == NULL) |
337 |
{ |
{ |
338 |
M4WARN ((warning_status, 0, |
M4WARN ((warning_status, 0, |
556 |
exit_code = 0; |
exit_code = 0; |
557 |
|
|
558 |
/* Ensure any module exit callbacks are executed. */ |
/* Ensure any module exit callbacks are executed. */ |
559 |
m4__module_exit (); |
m4__module_exit (context); |
560 |
|
|
561 |
exit (exit_code); |
exit (exit_code); |
562 |
} |
} |
594 |
int i; |
int i; |
595 |
|
|
596 |
if (argc == 1) |
if (argc == 1) |
597 |
m4_symtab_apply (set_trace, (void *) obs); |
m4_symtab_apply (M4SYMTAB, set_trace, (void *) obs); |
598 |
else |
else |
599 |
for (i = 1; i < argc; i++) |
for (i = 1; i < argc; i++) |
600 |
{ |
{ |
601 |
const char *name = M4ARG (i); |
const char *name = M4ARG (i); |
602 |
m4_symbol *symbol = m4_symbol_lookup (name); |
m4_symbol *symbol = m4_symbol_lookup (M4SYMTAB, name); |
603 |
if (symbol != NULL) |
if (symbol != NULL) |
604 |
set_trace (NULL, NULL, symbol, (char *) obs); |
set_trace (NULL, NULL, symbol, (char *) obs); |
605 |
else |
else |
614 |
int i; |
int i; |
615 |
|
|
616 |
if (argc == 1) |
if (argc == 1) |
617 |
m4_symtab_apply (set_trace, NULL); |
m4_symtab_apply (M4SYMTAB, set_trace, NULL); |
618 |
else |
else |
619 |
for (i = 1; i < argc; i++) |
for (i = 1; i < argc; i++) |
620 |
{ |
{ |
621 |
const char *name = M4ARG (i); |
const char *name = M4ARG (i); |
622 |
m4_symbol *symbol = m4_symbol_lookup (name); |
m4_symbol *symbol = m4_symbol_lookup (M4SYMTAB, name); |
623 |
if (symbol != NULL) |
if (symbol != NULL) |
624 |
set_trace (NULL, NULL, symbol, NULL); |
set_trace (NULL, NULL, symbol, NULL); |
625 |
else |
else |