[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes to m4/src/freeze.c,v
From: |
Eric Blake |
Subject: |
Changes to m4/src/freeze.c,v |
Date: |
Fri, 28 Jul 2006 14:06:13 +0000 |
CVSROOT: /sources/m4
Module name: m4
Changes by: Eric Blake <ericb> 06/07/28 14:06:11
Index: src/freeze.c
===================================================================
RCS file: /sources/m4/m4/src/freeze.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- src/freeze.c 27 Jul 2006 13:29:31 -0000 1.45
+++ src/freeze.c 28 Jul 2006 14:06:11 -0000 1.46
@@ -208,6 +208,8 @@
fputs (module_name, file);
fputc ('\n', file);
}
+ else if (m4_is_symbol_placeholder (symbol))
+ ; /* Nothing to do for a builtin we couldn't reload earlier. */
else
return "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()";
@@ -535,32 +537,32 @@
{
const m4_builtin *bp;
lt_dlhandle handle = 0;
+ m4_symbol_value *token = xzalloc (sizeof *token);
if (number[2] > 0)
handle = m4__module_find (string[2]);
bp = m4_builtin_find_by_name (handle, string[1]);
+ VALUE_HANDLE (token) = handle;
if (bp)
{
- m4_symbol_value *token = xzalloc (sizeof *token);
-
if (bp->groks_macro_args)
BIT_SET (VALUE_FLAGS (token), VALUE_MACRO_ARGS_BIT);
if (bp->blind_if_no_args)
BIT_SET (VALUE_FLAGS (token), VALUE_BLIND_ARGS_BIT);
m4_set_symbol_value_func (token, bp->func);
- VALUE_HANDLE (token) = handle;
VALUE_MIN_ARGS (token) = bp->min_args;
VALUE_MAX_ARGS (token) = bp->max_args;
-
- m4_symbol_pushdef (M4SYMTAB, string[0], token);
}
else
- M4ERROR ((m4_get_warning_status_opt (context), 0,
- _("`%s' from frozen file not found in builtin table!"),
- string[0]));
+ {
+ m4_set_symbol_value_placeholder (token, string[1]);
+ VALUE_MIN_ARGS (token) = -1;
+ VALUE_MAX_ARGS (token) = -1;
+ }
+ m4_symbol_pushdef (M4SYMTAB, string[0], token);
}
break;