]> git.eshelyaron.com Git - emacs.git/commitdiff
Do not allow nil to be defined as a function
authorGlenn Morris <rgm@gnu.org>
Sun, 11 Dec 2016 02:58:24 +0000 (18:58 -0800)
committerGlenn Morris <rgm@gnu.org>
Sun, 11 Dec 2016 02:58:24 +0000 (18:58 -0800)
* lisp/emacs-lisp/byte-run.el (defun):
* src/data.c (Ffset): Do not allow "nil".  (Bug#25110)

lisp/emacs-lisp/byte-run.el
src/data.c

index 69b4f41fef652da571a554680e71e87905f124b2..9d2a048f365fdb9167524f41bd883cb0d503de3d 100644 (file)
@@ -240,6 +240,7 @@ The return value is undefined.
   ;; from
   ;;    (defun foo (arg) (toto)).
   (declare (doc-string 3) (indent 2))
+  (or name (error "Cannot define '%s' as a function" name))
   (if (null
        (and (listp arglist)
             (null (delq t (mapcar #'symbolp arglist)))))
index 09d94f57a8ef823a072739635900ea9fef7b4e51..52cfe4ae4a3c36e734cec3d253a2436a55d10fa1 100644 (file)
@@ -733,6 +733,9 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
 {
   register Lisp_Object function;
   CHECK_SYMBOL (symbol);
+  /* Perhaps not quite the right error signal, but seems good enough.  */
+  if (NILP (symbol))
+    xsignal1 (Qsetting_constant, symbol);
 
   function = XSYMBOL (symbol)->function;