[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openmcl-bug
Subject:    Re: [Bug-openmcl] class of adjustable strings
From:       Gary Byers <gb () clozure ! com>
Date:       2007-01-23 13:56:58
Message-ID: 20070123065504.A90427 () clozure ! com
[Download RAW message or body]

Yes.  Patch enclosed. (It'll be fixed in CVS, but there's other chaos
going on in CVS at the moment.)


On Tue, 23 Jan 2007, David Lichteblau wrote:

> Hi,
>
> with openmcl-linuxx8664-snapshot-061231 I get this:
>
> CL-USER> (class-of (make-array 9 :element-type 'character :adjustable t))
> #<BUILT-IN-CLASS T>
>
> The correct answer should be a subclass of STRING, right?
>
>
> Thanks,
> David
> _______________________________________________
> Bug-openmcl mailing list
> Bug-openmcl@clozure.com
> http://clozure.com/mailman/listinfo/bug-openmcl
>
>
["x8664-string-class.diff" (TEXT/plain)]

Index: level-1/l1-clos-boot.lisp
===================================================================
RCS file: /usr/local/tmpcvs/openmcl-dev/ccl/level-1/l1-clos-boot.lisp,v
retrieving revision 1.62
diff -u -r1.62 l1-clos-boot.lisp
--- level-1/l1-clos-boot.lisp	4 Dec 2006 19:48:35 -0000	1.62
+++ level-1/l1-clos-boot.lisp	23 Jan 2007 13:54:30 -0000
@@ -1852,7 +1852,7 @@
               *t-class*
               (find-class 'word-vector)
               (find-class 'unsigned-word-vector)
-              (find-class 'base-string)
+              (find-class 'base-string) ;old
               (find-class 'byte-vector)
               (find-class 'unsigned-byte-vector)
               (find-class 'bit-vector)))
@@ -1870,7 +1870,7 @@
               *t-class*
               *t-class*
               *t-class*
-              *t-class*
+              (find-class 'base-string)
               (find-class 'long-vector)
               (find-class 'unsigned-long-vector)
               (find-class 'short-float-vector)))
@@ -2164,7 +2164,7 @@
                              (idx (ash subtype (- x8664::ntagbits))))
                         (cond ((= class x8664::fulltag-immheader-0)
                                (%svref *immheader-0-classes* idx))
-                              ((= class x8664::fulltag-immheader-0)
+                              ((= class x8664::fulltag-immheader-1)
                                (%svref *immheader-1-classes* idx))
                               ((= class x8664::fulltag-immheader-2)
                                (%svref *immheader-2-classes* idx))


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic