X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftypep.lisp;h=bcc2934d65ce9c94f629d46b054fca4970278ed8;hb=4f7161165647d655392713a0d95c951e4e1749ea;hp=36e776af85dbc1b61f8821cf2ca2ba99973c4265;hpb=fb03344c5e8388e0b16512f1cb662d8cf5d13972;p=sbcl.git diff --git a/src/code/typep.lisp b/src/code/typep.lisp index 36e776a..bcc2934 100644 --- a/src/code/typep.lisp +++ b/src/code/typep.lisp @@ -39,6 +39,7 @@ ((* t) t) ((instance) (%instancep object)) ((funcallable-instance) (funcallable-instance-p object)) + ((extended-sequence) (extended-sequence-p object)) ((nil) nil))) (numeric-type (and (numberp object) @@ -104,7 +105,8 @@ (specifier-type (array-element-type object))))))) (member-type - (if (member object (member-type-members type)) t)) + (when (member-type-member-p object type) + t)) (classoid #+sb-xc-host (ctypep object type) #-sb-xc-host (classoid-typep (layout-of object) type object)) @@ -185,11 +187,7 @@ (values obj-layout layout)) (aver (< i 2)) (when (layout-invalid obj-layout) - (if (typep (classoid-of object) 'standard-classoid) - (setq obj-layout (sb!pcl::check-wrapper-validity object)) - (error "~S was called on an obsolete object (classoid ~S)." - 'typep - (classoid-proper-name (layout-classoid obj-layout))))) + (setq obj-layout (update-object-layout-or-invalid object layout))) (ensure-classoid-valid classoid layout)) (let ((obj-inherits (layout-inherits obj-layout))) (or (eq obj-layout layout)