defn
{ infunc = false; curfname=0; defn((Cell *)$2, $4, $8); $$ = 0; }
extern void defn(Cell *, Node *, Node *);
dodefine(const char *name, const char *defn)
macro_define(name, defn);
pbstr(p->defn);
pbstr(p->defn);
dopushdef(const char *name, const char *defn)
macro_pushdef(name, defn);
fprintf(traceout, "%s:\t%s\n", name, p->defn);
fprintf(traceout, "%s:\t<%s>\n", name, p->defn);
fprintf(traceout, "`%s'\t`%s'\n", name, p->defn);
argv[1] = p->defn;
setup_definition(struct macro_definition *d, const char *defn, const char *name)
if (strncmp(defn, BUILTIN_MARKER, sizeof(BUILTIN_MARKER)-1) == 0 &&
(p = macro_getbuiltin(defn+sizeof(BUILTIN_MARKER)-1)) != NULL) {
d->defn = xstrdup(defn+sizeof(BUILTIN_MARKER)-1);
if (!*defn)
d->defn = null;
d->defn = xstrdup(defn);
if (STREQ(name, defn))
macro_define(const char *name, const char *defn)
if (n->d->defn != null)
free_definition(n->d->defn);
setup_definition(n->d, defn, name);
macro_pushdef(const char *name, const char *defn)
setup_definition(n->d, defn, name);
if (r->defn != null)
free(r->defn);
if (r->defn != null)
free(r->defn);
n->d->defn = name2;
char *defn; /* definition.. */
mstack[sp].sstr = macro_getdef(p)->defn;\