{
struct backtrace *next;
Lisp_Object *function;
- Lisp_Object *args; /* Points to vector of args. */
+ Lisp_Object *args; /* Points to vector of args. */
size_t nargs; /* Length of vector.
If nargs is (size_t) UNEVALLED, args points
to slot holding list of unevalled args. */
CHECK_CONS_LIST ();
if (XINT (numargs) < XSUBR (fun)->min_args
- || (0 <= XSUBR (fun)->max_args
+ || (XSUBR (fun)->max_args >= 0
&& XSUBR (fun)->max_args < XINT (numargs)))
xsignal2 (Qwrong_number_of_arguments, original_fun, numargs);