473 |
|
|
474 |
if (bp) |
if (bp) |
475 |
{ |
{ |
476 |
|
m4_token token; |
477 |
int flags = 0; |
int flags = 0; |
478 |
|
|
479 |
if (bp->groks_macro_args) |
if (bp->groks_macro_args) |
481 |
if (bp->blind_if_no_args) |
if (bp->blind_if_no_args) |
482 |
BIT_SET (flags, TOKEN_BLIND_ARGS_BIT); |
BIT_SET (flags, TOKEN_BLIND_ARGS_BIT); |
483 |
|
|
484 |
m4_builtin_pushdef (string[0], handle, bp->func, flags, |
bzero (&token, sizeof (m4_token)); |
485 |
bp->min_args, bp->max_args); |
TOKEN_TYPE (&token) = M4_TOKEN_FUNC; |
486 |
|
TOKEN_FUNC (&token) = bp->func; |
487 |
|
TOKEN_HANDLE (&token) = handle; |
488 |
|
TOKEN_FLAGS (&token) = flags; |
489 |
|
TOKEN_MIN_ARGS (&token) = bp->min_args; |
490 |
|
TOKEN_MAX_ARGS (&token) = bp->max_args; |
491 |
|
|
492 |
|
m4_builtin_pushdef (string[0], &token); |
493 |
} |
} |
494 |
else |
else |
495 |
M4ERROR ((warning_status, 0, |
M4ERROR ((warning_status, 0, |
658 |
|
|
659 |
/* Enter a macro having an expansion text as a definition. */ |
/* Enter a macro having an expansion text as a definition. */ |
660 |
{ |
{ |
661 |
|
m4_token token; |
662 |
lt_dlhandle handle = 0; |
lt_dlhandle handle = 0; |
663 |
|
|
664 |
if (number[2] > 0) |
if (number[2] > 0) |
666 |
if (strcmp (m4_module_name (handle), string[2]) == 0) |
if (strcmp (m4_module_name (handle), string[2]) == 0) |
667 |
break; |
break; |
668 |
|
|
669 |
m4_macro_pushdef (string[0], handle, string[1], 0, 0, -1); |
bzero (&token, sizeof (m4_token)); |
670 |
|
TOKEN_TYPE (&token) = M4_TOKEN_TEXT; |
671 |
|
TOKEN_TEXT (&token) = string[1]; |
672 |
|
TOKEN_HANDLE (&token) = handle; |
673 |
|
TOKEN_MAX_ARGS (&token) = -1; |
674 |
|
|
675 |
|
m4_macro_pushdef (string[0], &token); |
676 |
} |
} |
677 |
break; |
break; |
678 |
|
|