(defmacro without-package-locks (&body body)
#!+sb-doc
"Ignores all runtime package lock violations during the execution of
-body. Body can begin with declarations."
- #!-sb-package-locks
- `(progn ,@body)
- #!+sb-package-locks
- `(let ((*ignored-package-locks* t))
+body. Body can begin with declarations."
+ `(let (#!+sb-package-locks (*ignored-package-locks* t))
,@body))
(!defun-from-collected-cold-init-forms !early-package-cold-init)
(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
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.12.31"
+"0.8.12.32"