X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefclass.lisp;h=09bf800ef4b0dc2ec38cb42aa595cb93709465f6;hb=f705c517d8606a9a72edd11a96725f9c4e4be93d;hp=f525d4a315a1e6dfee846d35a99579aa93e38562;hpb=ff92598854bf7cae8d57fe49cef4d9a98e1ab345;p=sbcl.git diff --git a/src/pcl/defclass.lisp b/src/pcl/defclass.lisp index f525d4a..09bf800 100644 --- a/src/pcl/defclass.lisp +++ b/src/pcl/defclass.lisp @@ -100,20 +100,18 @@ (let ((defclass-form `(progn (let ,(mapcar #'cdr *initfunctions-for-this-defclass*) - (with-single-package-locked-error - (:symbol ',name "defining ~A as a class") - (%compiler-defclass ',name - ',*readers-for-this-defclass* - ',*writers-for-this-defclass* - ',*slot-names-for-this-defclass*) - (load-defclass ',name - ',metaclass - ',supers - (list ,@canonical-slots) - (list ,@(apply #'append - (when defstruct-p - '(:from-defclass-p t)) - other-initargs)))))))) + (%compiler-defclass ',name + ',*readers-for-this-defclass* + ',*writers-for-this-defclass* + ',*slot-names-for-this-defclass*) + (load-defclass ',name + ',metaclass + ',supers + (list ,@canonical-slots) + (list ,@(apply #'append + (when defstruct-p + '(:from-defclass-p t)) + other-initargs))))))) (if defstruct-p (progn ;; FIXME: (YUK!) Why do we do this? Because in order