0.8.7.37:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 2 Feb 2004 16:19:14 +0000 (16:19 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 2 Feb 2004 16:19:14 +0000 (16:19 +0000)
Fix for the type translation of the class corresponding to
(SIMPLE-ARRAY (UNSIGNED-BYTE 15) (*))

NEWS
src/code/class.lisp
tests/type.pure.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 77290ed..45facf6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2257,6 +2257,8 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7:
     behaviour, and in particular no longer treats all memory as being
     exhausted when many small objects point to each other in a deeply
     recursive manner.
+  * bug fix: arrays specialized on (UNSIGNED-BYTE 15) are now
+    recognized as being TYPEP their class.
   * optimization: implemented multiplication as a modular
     (UNSIGNED-BYTE 32) operation on the x86 backend.
   * optimization: SEARCH on simple-base-strings can now be open-coded.
index 392ccfa..14532ed 100644 (file)
       :inherits (vector simple-array array sequence)
       :prototype-form (make-array 0 :element-type '(unsigned-byte 8)))
      (simple-array-unsigned-byte-15
-      :translation (simple-array (unsigned-byte 7) (*))
+      :translation (simple-array (unsigned-byte 15) (*))
       :codes (#.sb!vm:simple-array-unsigned-byte-15-widetag)
       :direct-superclasses (vector simple-array)
       :inherits (vector simple-array array sequence)
index 90205bc..73eb277 100644 (file)
 ;;; bug 46c
 (dolist (fun '(and if))
   (assert (raises-error? (coerce fun 'function) type-error)))
+
+(dotimes (i 100)
+  (let ((x (make-array 0 :element-type `(unsigned-byte ,(1+ i)))))
+    (eval `(typep ,x (class-of ,x)))))
index 21a15fe..411319e 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.7.36"
+"0.8.7.37"