X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fpred.lisp;h=76286c482b85184f9884fa086f72618944e508e1;hb=fdf46e7bd7aba9b5c8af629fdb2692d9b33b9207;hp=93299ddc7e93d5df7ea3d29a2973b696cd73283e;hpb=a4cffc065c83d046fce193919bf6d4e53f181455;p=sbcl.git diff --git a/src/code/pred.lisp b/src/code/pred.lisp index 93299dd..76286c4 100644 --- a/src/code/pred.lisp +++ b/src/code/pred.lisp @@ -21,7 +21,8 @@ (defun vector-t-p (x) (or (simple-vector-p x) (and (complex-vector-p x) - (simple-vector-p (%array-data-vector x))))) + (do ((data (%array-data-vector x) (%array-data-vector data))) + ((not (array-header-p data)) (simple-vector-p data)))))) ;;;; primitive predicates. These must be supported directly by the ;;;; compiler. @@ -73,6 +74,8 @@ (def-type-predicate-wrapper integerp) (def-type-predicate-wrapper listp) (def-type-predicate-wrapper long-float-p) + #!+(and sb-thread sb-lutex) + (def-type-predicate-wrapper lutexp) (def-type-predicate-wrapper lra-p) (def-type-predicate-wrapper null) (def-type-predicate-wrapper numberp)