From: Richard M. Stallman Date: Thu, 15 Dec 1994 00:42:19 +0000 (+0000) Subject: (Fdefconst, Fdefvar): Error if too many arguments. X-Git-Tag: emacs-19.34~5694 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a42ba017bc22ce7714ecd981b25332f92cc02af0;p=emacs.git (Fdefconst, Fdefvar): Error if too many arguments. --- diff --git a/src/eval.c b/src/eval.c index eafb9e84a65..f5dd69ff057 100644 --- a/src/eval.c +++ b/src/eval.c @@ -571,18 +571,21 @@ If INITVALUE is missing, SYMBOL's value is not set.") (args) Lisp_Object args; { - register Lisp_Object sym, tem; + register Lisp_Object sym, tem, tail; sym = Fcar (args); - tem = Fcdr (args); - if (!NILP (tem)) + tail = Fcdr (args); + if (!NILP (Fcdr (Fcdr (tail)))) + error ("too many arguments"); + + if (!NILP (tail)) { tem = Fdefault_boundp (sym); if (NILP (tem)) Fset_default (sym, Feval (Fcar (Fcdr (args)))); } - tem = Fcar (Fcdr (Fcdr (args))); - if (!NILP (tem)) + tail = Fcdr (Fcdr (args)); + if (!NILP (Fcar (tail))) { if (!NILP (Vpurify_flag)) tem = Fpurecopy (tem); @@ -612,6 +615,9 @@ it would override the user's choice.") register Lisp_Object sym, tem; sym = Fcar (args); + if (!NILP (Fcdr (Fcdr (Fcdr (args))))) + error ("too many arguments"); + Fset_default (sym, Feval (Fcar (Fcdr (args)))); tem = Fcar (Fcdr (Fcdr (args))); if (!NILP (tem))