+2010-07-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Feval, Ffuncall): Use the new names.
+
+ * lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED.
+ (DEFUN): Add braces around the union initialisation and use ## to
+ specify the right union alternative and avoid a cast.
+
2010-07-18 Juanma Barranquero <lekktu@gmail.com>
* makefile.w32-in ($(BLD)/keyboard.$(O)): Update dependencies.
if (XSUBR (fun)->max_args == UNEVALLED)
{
backtrace.evalargs = 0;
- val = (XSUBR (fun)->function.a1) (args_left);
+ val = (XSUBR (fun)->function.aUNEVALLED) (args_left);
goto done;
}
backtrace.args = vals;
backtrace.nargs = XINT (numargs);
- val = (XSUBR (fun)->function.am) (XINT (numargs), vals);
+ val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
UNGCPRO;
goto done;
}
if (XSUBR (fun)->max_args == MANY)
{
- val = (XSUBR (fun)->function.am) (numargs, args + 1);
+ val = (XSUBR (fun)->function.aMANY) (numargs, args + 1);
goto done;
}
Lisp_Object (*a6) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
Lisp_Object (*a7) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
Lisp_Object (*a8) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
- Lisp_Object (*am) (int, Lisp_Object *);
+ Lisp_Object (*aUNEVALLED) (Lisp_Object args);
+ Lisp_Object (*aMANY) (int, Lisp_Object *);
} function;
short min_args, max_args;
const char *symbol_name;
Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \
DECL_ALIGN (struct Lisp_Subr, sname) = \
{ PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)), \
- (Lisp_Object(*)(void)) fnname, minargs, maxargs, lname, intspec, 0}; \
+ { .a ## maxargs = fnname }, \
+ minargs, maxargs, lname, intspec, 0}; \
Lisp_Object fnname
/* Note that the weird token-substitution semantics of ANSI C makes