/[m4]/m4/m4/builtin.c
ViewVC logotype

Diff of /m4/m4/builtin.c

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

revision 1.13 by gary, Thu Oct 11 21:09:15 2001 UTC revision 1.14 by gary, Fri Oct 12 19:57:29 2001 UTC
# Line 72  m4_builtin_find_by_func (const m4_builti Line 72  m4_builtin_find_by_func (const m4_builti
72    
73  m4_symbol *  m4_symbol *
74  m4_builtin_pushdef (const char *name, lt_dlhandle handle,  m4_builtin_pushdef (const char *name, lt_dlhandle handle,
75                      m4_builtin_func *func, int flags)                      m4_builtin_func *func, int flags, int min_args,
76                        int max_args)
77  {  {
78    m4_symbol *symbol;    m4_symbol *symbol;
79    
# Line 83  m4_builtin_pushdef (const char *name, lt Line 84  m4_builtin_pushdef (const char *name, lt
84    symbol = m4_symbol_pushdef (name);    symbol = m4_symbol_pushdef (name);
85    
86    if (symbol)    if (symbol)
87      m4_symbol_builtin (symbol, handle, func, flags);      m4_symbol_builtin (symbol, handle, func, flags, min_args, max_args);
88    
89    return symbol;    return symbol;
90  }  }
91    
92  m4_symbol *  m4_symbol *
93  m4_builtin_define (const char *name, lt_dlhandle handle,  m4_builtin_define (const char *name, lt_dlhandle handle,
94                     m4_builtin_func *func, int flags)                     m4_builtin_func *func, int flags,
95                       int min_args, int max_args)
96  {  {
97    m4_symbol *symbol;    m4_symbol *symbol;
98    
# Line 101  m4_builtin_define (const char *name, lt_ Line 103  m4_builtin_define (const char *name, lt_
103    symbol = m4_symbol_define (name);    symbol = m4_symbol_define (name);
104    
105    if (symbol)    if (symbol)
106      m4_symbol_builtin (symbol, handle, func, flags);      m4_symbol_builtin (symbol, handle, func, flags, min_args, max_args);
107    
108    return symbol;    return symbol;
109  }  }
# Line 133  m4_builtin_table_install (lt_dlhandle ha Line 135  m4_builtin_table_install (lt_dlhandle ha
135        if (bp->groks_macro_args) BIT_SET (flags, TOKEN_MACRO_ARGS_BIT);        if (bp->groks_macro_args) BIT_SET (flags, TOKEN_MACRO_ARGS_BIT);
136        if (bp->blind_if_no_args) BIT_SET (flags, TOKEN_BLIND_ARGS_BIT);        if (bp->blind_if_no_args) BIT_SET (flags, TOKEN_BLIND_ARGS_BIT);
137    
138        m4_builtin_pushdef (key, handle, bp->func, flags);        m4_builtin_pushdef (key, handle, bp->func, flags,
139                              bp->min_args, bp->max_args);
140    
141        if (prefix_all_builtins)        if (prefix_all_builtins)
142          xfree (key);          xfree (key);
# Line 142  m4_builtin_table_install (lt_dlhandle ha Line 145  m4_builtin_table_install (lt_dlhandle ha
145    
146  m4_symbol *  m4_symbol *
147  m4_macro_pushdef (const char *name, lt_dlhandle handle, const char *text,  m4_macro_pushdef (const char *name, lt_dlhandle handle, const char *text,
148                    int flags)                    int flags, int min_args, int max_args)
149  {  {
150    m4_symbol *symbol;    m4_symbol *symbol;
151    
# Line 152  m4_macro_pushdef (const char *name, lt_d Line 155  m4_macro_pushdef (const char *name, lt_d
155    symbol = m4_symbol_pushdef (name);    symbol = m4_symbol_pushdef (name);
156    
157    if (symbol)    if (symbol)
158      m4_symbol_macro (symbol, handle, text, flags);      m4_symbol_macro (symbol, handle, text, flags, min_args, max_args);
159    
160    return symbol;    return symbol;
161  }  }
162    
163  m4_symbol *  m4_symbol *
164  m4_macro_define (const char *name, lt_dlhandle handle, const char *text,  m4_macro_define (const char *name, lt_dlhandle handle, const char *text,
165                   int flags)                   int flags, int min_args, int max_args)
166  {  {
167    m4_symbol *symbol;    m4_symbol *symbol;
168    
# Line 169  m4_macro_define (const char *name, lt_dl Line 172  m4_macro_define (const char *name, lt_dl
172    symbol = m4_symbol_define (name);    symbol = m4_symbol_define (name);
173    
174    if (symbol)    if (symbol)
175      m4_symbol_macro (symbol, handle, text, flags);      m4_symbol_macro (symbol, handle, text, flags, min_args, max_args);
176    
177    return symbol;    return symbol;
178  }  }
# Line 181  m4_macro_table_install (lt_dlhandle hand Line 184  m4_macro_table_install (lt_dlhandle hand
184    const m4_macro *mp;    const m4_macro *mp;
185    
186    for (mp = table; mp->name != NULL; mp++)    for (mp = table; mp->name != NULL; mp++)
187      m4_macro_pushdef (mp->name, handle, mp->value, 0);      m4_macro_pushdef (mp->name, handle, mp->value, 0, 0, -1);
188  }  }

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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