const struct primitives { unsigned char *name; short min_args, max_args; lisp_object (*func) (); unsigned char *doc; } plist[] = { #define XPRIM(a, b, c, d, e) {a, b, c, d, e}, #include "primitives.h" #undef XPRIM }; for (i = 0; i < (sizeof (plist) / sizeof (struct primitives)); i++) {