struct macro_param
{
- char *name; /* NULL for a positional parameter. */
+ bool positional; /* Is this a positional parameter? */
+ char *name; /* "!1" or "!name". */
struct tokens def; /* Default expansion. */
bool expand_arg; /* Macro-expand the argument? */
size_t n_params;
struct substring body;
+ struct tokens body_tokens;
};
void macro_destroy (struct macro *);