/[m4]/m4/src/freeze.c
ViewVC logotype

Diff of /m4/src/freeze.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.29 by gary, Wed Jun 18 16:21:55 2003 UTC revision 1.30 by gary, Thu Jun 19 14:51:04 2003 UTC
# Line 134  produce_symbol_dump (FILE *file, m4_hash Line 134  produce_symbol_dump (FILE *file, m4_hash
134        const char   *module_name = handle ? m4_get_module_name (handle) : NULL;        const char   *module_name = handle ? m4_get_module_name (handle) : NULL;
135        const m4_builtin *bp;        const m4_builtin *bp;
136    
137        switch (SYMBOL_TYPE (symbol))        if (m4_is_symbol_text (symbol))
138          {          {
         case M4_SYMBOL_TEXT:  
139            fprintf (file, "T%lu,%lu",            fprintf (file, "T%lu,%lu",
140                     (unsigned long) strlen (symbol_name),                     (unsigned long) strlen (symbol_name),
141                     (unsigned long) strlen (SYMBOL_TEXT (symbol)));                     (unsigned long) strlen (m4_get_symbol_text (symbol)));
142            if (handle)            if (handle)
143              fprintf (file, ",%lu", (unsigned long) strlen (module_name));              fprintf (file, ",%lu", (unsigned long) strlen (module_name));
144            fputc ('\n', file);            fputc ('\n', file);
145    
146            fputs (symbol_name, file);            fputs (symbol_name, file);
147            fputs (SYMBOL_TEXT (symbol), file);            fputs (m4_get_symbol_text (symbol), file);
148            if (handle)            if (handle)
149              fputs (module_name, file);              fputs (module_name, file);
150            fputc ('\n', file);            fputc ('\n', file);
151            break;          }
152          else if (m4_is_symbol_func (symbol))
153          case M4_SYMBOL_FUNC:          {
154            bp = m4_builtin_find_by_func            bp = m4_builtin_find_by_func
155                  (m4_get_module_builtin_table (SYMBOL_HANDLE (symbol)),                  (m4_get_module_builtin_table (SYMBOL_HANDLE (symbol)),
156                   SYMBOL_FUNC (symbol));                   m4_get_symbol_func (symbol));
157    
158            if (bp == NULL)            if (bp == NULL)
159              {              {
# Line 177  produce_symbol_dump (FILE *file, m4_hash Line 176  produce_symbol_dump (FILE *file, m4_hash
176            if (handle)            if (handle)
177              fputs (module_name, file);              fputs (module_name, file);
178            fputc ('\n', file);            fputc ('\n', file);
179            break;          }
180          else
181          default:          {
182            M4ERROR ((warning_status, 0,            M4ERROR ((warning_status, 0,
183                      "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()"));                      "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()"));
184            abort ();            abort ();
           break;  
185          }          }
186      }      }
187  }  }
# Line 480  reload_frozen_state (m4 *context, const Line 478  reload_frozen_state (m4 *context, const
478                if (bp->blind_if_no_args)                if (bp->blind_if_no_args)
479                  BIT_SET (VALUE_FLAGS (token), VALUE_BLIND_ARGS_BIT);                  BIT_SET (VALUE_FLAGS (token), VALUE_BLIND_ARGS_BIT);
480    
481                VALUE_TYPE (token)        = M4_SYMBOL_FUNC;                m4_set_symbol_value_func (token, bp->func);
               VALUE_FUNC (token)        = bp->func;  
482                VALUE_HANDLE (token)      = handle;                VALUE_HANDLE (token)      = handle;
483                VALUE_MIN_ARGS (token)    = bp->min_args;                VALUE_MIN_ARGS (token)    = bp->min_args;
484                VALUE_MAX_ARGS (token)    = bp->max_args;                VALUE_MAX_ARGS (token)    = bp->max_args;
# Line 663  reload_frozen_state (m4 *context, const Line 660  reload_frozen_state (m4 *context, const
660                if (strcmp (m4_get_module_name (handle), string[2]) == 0)                if (strcmp (m4_get_module_name (handle), string[2]) == 0)
661                  break;                  break;
662    
663            VALUE_TYPE (token)            = M4_SYMBOL_TEXT;            m4_set_symbol_value_text (token, xstrdup (string[1]));
           VALUE_TEXT (token)            = xstrdup (string[1]);  
664            VALUE_HANDLE (token)          = handle;            VALUE_HANDLE (token)          = handle;
665            VALUE_MAX_ARGS (token)        = -1;            VALUE_MAX_ARGS (token)        = -1;
666    

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26