From b6bc4ab20cb62edc4ab6dac00918f81781ba1925 Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Mon, 23 Nov 2015 17:13:55 +0000 Subject: [PATCH] Signal an error when `setf' gets an odd number of arguments. * lisp/emacs-lisp/gv.el (setf): Amend. --- lisp/emacs-lisp/gv.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el index 9e00190e000..1fea38c49c1 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -260,6 +260,8 @@ The return value is the last VAL in the list. \(fn PLACE VAL PLACE VAL ...)" (declare (debug (&rest [gv-place form]))) + (if (/= (logand (length args) 1) 0) + (signal 'wrong-number-of-arguments (list 'setf (length args)))) (if (and args (null (cddr args))) (let ((place (pop args)) (val (car args))) -- 2.11.4.GIT