0.8.0.3:
[sbcl.git] / src / code / fdefinition.lisp
index 1864e5c..5e1fab5 100644 (file)
 ;;; CREATE is non-NIL, create a new (unbound) one.
 (defun fdefinition-object (name create)
   (declare (values (or fdefn null)))
-  (unless (legal-fun-name-p name)
-    (error 'simple-type-error
-          :datum name
-          :expected-type '(or symbol list)
-          :format-control "invalid function name: ~S"
-          :format-arguments (list name)))
+  (legal-fun-name-or-type-error name)
   (let ((fdefn (info :function :definition name)))
     (if (and (null fdefn) create)
        (setf (info :function :definition name) (make-fdefn name))
 ;;; This is like FIND-IF, except that we do it on a compiled closure's
 ;;; environment.
 (defun find-if-in-closure (test fun)
+  (declare (type function test))
   (dotimes (index (1- (get-closure-length fun)))
     (let ((elt (%closure-index-ref fun index)))
       (when (funcall test elt)
    This is SETF'able."
   (let ((fun (%coerce-name-to-fun name)))
     (loop
-      (let ((encap-info (encapsulation-info fun)))
-       (if encap-info
-           (setf fun (encapsulation-info-definition encap-info))
-           (return fun))))))
+     (let ((encap-info (encapsulation-info fun)))
+       (if encap-info
+          (setf fun (encapsulation-info-definition encap-info))
+          (return fun))))))
 
 (defvar *setf-fdefinition-hook* nil
   #!+sb-doc
-  "This holds functions that (SETF FDEFINITION) invokes before storing the
-   new value. These functions take the function name and the new value.")
+  "A list of functions that (SETF FDEFINITION) invokes before storing the
+   new value. The functions take the function name and the new value.")
 
 (defun %set-fdefinition (name new-value)
   #!+sb-doc
     ;; top level forms in the kernel core startup.
     (when (boundp '*setf-fdefinition-hook*)
       (dolist (f *setf-fdefinition-hook*)
+        (declare (type function f))
        (funcall f name new-value)))
 
     (let ((encap-info (encapsulation-info (fdefn-fun fdefn))))