X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcode%2Fpred.lisp;h=ada4bed3944be9a718a0851f98b8684c3d8ed098;hb=f3f677703e37f5a335b3be7fa64f7748ad969517;hp=bb71bac0f53872e2c5649660d1c45bedc81f7101;hpb=5164d4bba99fa9d486ceb3aa65c6c7b136702a11;p=sbcl.git diff --git a/src/code/pred.lisp b/src/code/pred.lisp index bb71bac..ada4bed 100644 --- a/src/code/pred.lisp +++ b/src/code/pred.lisp @@ -47,6 +47,8 @@ (def-type-predicate-wrapper arrayp) (def-type-predicate-wrapper atom) (def-type-predicate-wrapper base-char-p) + (def-type-predicate-wrapper base-string-p) + #!+sb-unicode (def-type-predicate-wrapper character-string-p) (def-type-predicate-wrapper bignump) (def-type-predicate-wrapper bit-vector-p) (def-type-predicate-wrapper characterp) @@ -63,6 +65,7 @@ ;; the type it tests for in the Common Lisp type system, and since it's ;; only used in the implementation of a few specialized things.) (def-type-predicate-wrapper double-float-p) + (def-type-predicate-wrapper extended-char-p) (def-type-predicate-wrapper fdefn-p) (def-type-predicate-wrapper fixnump) (def-type-predicate-wrapper floatp) @@ -77,8 +80,10 @@ (def-type-predicate-wrapper ratiop) (def-type-predicate-wrapper realp) (def-type-predicate-wrapper short-float-p) - (def-type-predicate-wrapper sb!kernel:simple-array-p) + (def-type-predicate-wrapper simple-array-p) (def-type-predicate-wrapper simple-bit-vector-p) + (def-type-predicate-wrapper simple-base-string-p) + #!+sb-unicode (def-type-predicate-wrapper simple-character-string-p) (def-type-predicate-wrapper simple-string-p) (def-type-predicate-wrapper simple-vector-p) (def-type-predicate-wrapper single-float-p) @@ -90,6 +95,7 @@ (def-type-predicate-wrapper vectorp) (def-type-predicate-wrapper unsigned-byte-32-p) (def-type-predicate-wrapper signed-byte-32-p) + (def-type-predicate-wrapper simple-array-nil-p) (def-type-predicate-wrapper simple-array-unsigned-byte-2-p) (def-type-predicate-wrapper simple-array-unsigned-byte-4-p) (def-type-predicate-wrapper simple-array-unsigned-byte-8-p) @@ -104,7 +110,8 @@ #!+long-float (def-type-predicate-wrapper simple-array-long-float-p) (def-type-predicate-wrapper simple-array-complex-single-float-p) (def-type-predicate-wrapper simple-array-complex-double-float-p) - #!+long-float (def-type-predicate-wrapper simple-array-complex-long-float-p)) + #!+long-float (def-type-predicate-wrapper simple-array-complex-long-float-p) + (def-type-predicate-wrapper vector-nil-p)) ;;; Return the specifier for the type of object. This is not simply ;;; (TYPE-SPECIFIER (CTYPE-OF OBJECT)) because CTYPE-OF has different @@ -124,6 +131,8 @@ '(integer #.(1+ sb!xc:most-positive-fixnum)) 'bignum)) (standard-char 'standard-char) + (base-char 'base-char) + (extended-char 'extended-char) ((member t) 'boolean) (keyword 'keyword) ((or array complex) (type-specifier (ctype-of object)))