X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fearly-low.lisp;h=abca53479d4a7b66fea887003eb4cb77ab3d4384;hb=bd0ba0f214518e8d72ff2d44de5a1e3e4b02af2c;hp=70fdb62b61d7b20c714045305ee4a55ecddd3f5e;hpb=2217cdb364e8b48c187b085895bb2a5cbdbd9622;p=sbcl.git diff --git a/src/pcl/early-low.lisp b/src/pcl/early-low.lisp index 70fdb62..abca534 100644 --- a/src/pcl/early-low.lisp +++ b/src/pcl/early-low.lisp @@ -53,9 +53,15 @@ ;;; it needs a more mnemonic name. -- WHN 19991204 (defun structure-type-p (type) (and (symbolp type) - (let ((class (cl:find-class type nil))) - (and class - (typep (sb-kernel:layout-info (sb-kernel:class-layout class)) - 'sb-kernel:defstruct-description))))) + (not (condition-type-p type)) + (let ((classoid (find-classoid type nil))) + (and classoid + (typep (layout-info + (classoid-layout classoid)) + 'defstruct-description))))) + +(defun condition-type-p (type) + (and (symbolp type) + (condition-classoid-p (find-classoid type nil)))) (/show "finished with early-low.lisp")