From: Alan Mackenzie Date: Mon, 23 Nov 2015 13:56:37 +0000 (+0000) Subject: Signal an error when `setq' has an odd number of arguments. Fixes bug#20241. X-Git-Tag: emacs-25.0.90~689 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/2b8154f2bc1ad678fdb8e4677cf25359251d5c01 Signal an error when `setq' has an odd number of arguments. Fixes bug#20241. * src/eval.c (Fsetq): Signal an error on an odd number of arguments. (syms_of_eval): Add a DEFSYM for Qsetq. --- diff --git a/src/eval.c b/src/eval.c index 023c2ef6aa..d04796abc3 100644 --- a/src/eval.c +++ b/src/eval.c @@ -487,6 +487,10 @@ usage: (setq [SYM VAL]...) */) if (CONSP (args)) { Lisp_Object args_left = args; + Lisp_Object numargs = Flength (args); + + if (XINT (numargs) & 1) + xsignal2 (Qwrong_number_of_arguments, Qsetq, numargs); do { @@ -3654,6 +3658,7 @@ To prevent this happening, set `quit-flag' to nil before making `inhibit-quit' nil. */); Vinhibit_quit = Qnil; + DEFSYM (Qsetq, "setq"); DEFSYM (Qinhibit_quit, "inhibit-quit"); DEFSYM (Qautoload, "autoload"); DEFSYM (Qinhibit_debugger, "inhibit-debugger");