0.6.11.11:
[sbcl.git] / src / code / fdefinition.lisp
index 3403fea..5be9930 100644 (file)
@@ -14,9 +14,6 @@
 
 (in-package "SB!IMPL")
 
-(file-comment
-  "$Header$")
-
 (sb!int::/show0 "fdefinition.lisp 22")
 \f
 ;;;; fdefinition (fdefn) objects
   "Return the fdefn object for NAME. If it doesn't already exist and CREATE
    is non-NIL, create a new (unbound) one."
   (declare (values (or fdefn null)))
-  (unless (or (symbolp name)
-             (and (consp name)
-                  (eq (car name) 'setf)
-                  (let ((cdr (cdr name)))
-                    (and (consp cdr)
-                         (symbolp (car cdr))
-                         (null (cdr cdr))))))
+  (unless (legal-function-name-p name)
     (error 'simple-type-error
           :datum name
           :expected-type '(or symbol list)
 ;;;; definition encapsulation
 
 (defstruct (encapsulation-info (:constructor make-encapsulation-info
-                                            (type definition)))
+                                            (type definition))
+                              (:copier nil))
   ;; This is definition's encapsulation type. The encapsulated
   ;; definition is in the previous encapsulation-info element or
   ;; installed as the global definition of some function name.