1.0.15.20: refactor "system locks" framework, one TIMER buglet
[sbcl.git] / src / compiler / proclaim.lisp
index 9dd4dc6..57ad824 100644 (file)
        (dolist (name args)
          (unless (symbolp name)
            (error "can't declare a non-symbol as SPECIAL: ~S" name))
-         (when (constantp name)
+         (when (sb!xc:constantp name)
            (error "can't declare a constant as SPECIAL: ~S" name))
          (with-single-package-locked-error
              (:symbol name "globally declaring ~A special"))
              (setf (classoid-state class) :sealed)
              (let ((subclasses (classoid-subclasses class)))
                (when subclasses
-                 (dohash (subclass layout subclasses)
+                 (dohash ((subclass layout) subclasses :locked t)
                    (declare (ignore layout))
                    (setf (classoid-state subclass) :sealed))))))))
       (optimize