elt = Fcar (varlist);
if (XTYPE (elt) == Lisp_Symbol)
specbind (elt, Qnil);
+ else if (! NILP (Fcdr (Fcdr (elt))))
+ Fsignal (Qerror,
+ Fcons (build_string ("`let' bindings can have only one value-form"),
+ elt));
else
{
val = Feval (Fcar (Fcdr (elt)));
elt = Fcar (varlist);
if (XTYPE (elt) == Lisp_Symbol)
temps [argnum++] = Qnil;
+ else if (! NILP (Fcdr (Fcdr (elt))))
+ Fsignal (Qerror,
+ Fcons (build_string ("`let' bindings can have only one value-form"),
+ elt));
else
temps [argnum++] = Feval (Fcar (Fcdr (elt)));
gcpro2.nvars = argnum;
goto done;
default:
- error ("Ffuncall doesn't handle that number of arguments.");
- goto done;
+ /* Someone has created a subr that takes more arguments than
+ is supported by this code. We need to either rewrite the
+ subr to use a different argument protocol, or add more
+ cases to this switch. */
+ abort ();
}
}
if (XTYPE (fun) == Lisp_Compiled)