0.8.20.6:
[sbcl.git] / src / code / class.lisp
index e6b0b8b..535914c 100644 (file)
   (let ((layout (find-layout name)))
     (init-or-check-layout layout
                          (or (find-classoid name nil)
-                             (make-undefined-classoid name))
+                             (layout-classoid layout))
                          length
                          inherits
                          depthoid)))
@@ -937,6 +937,7 @@ NIL is returned when no such class exists."
    '((t :state :read-only :translation t)
      (character :enumerable t 
                 :codes (#.sb!vm:character-widetag)
+                :translation (character-set)
                 :prototype-form (code-char 42))
      (symbol :codes (#.sb!vm:symbol-header-widetag)
              :prototype-form '#:mu)
@@ -1242,6 +1243,21 @@ NIL is returned when no such class exists."
       :inherits (base-string simple-string string vector simple-array
                 array sequence)
       :prototype-form (make-array 0 :element-type 'base-char))
+     #!+sb-unicode
+     (character-string
+      :translation (vector character)
+      :codes (#.sb!vm:complex-character-string-widetag)
+      :direct-superclasses (string)
+      :inherits (string vector array sequence)
+      :prototype-form (make-array 0 :element-type 'character :fill-pointer t))
+     #!+sb-unicode
+     (simple-character-string
+      :translation (simple-array character (*))
+      :codes (#.sb!vm:simple-character-string-widetag)
+      :direct-superclasses (character-string simple-string)
+      :inherits (character-string simple-string string vector simple-array
+                array sequence)
+      :prototype-form (make-array 0 :element-type 'character))
      (list
       :translation (or cons (member nil))
       :inherits (sequence))
@@ -1255,12 +1271,18 @@ NIL is returned when no such class exists."
       :inherits (symbol list sequence)
       :direct-superclasses (symbol list)
       :prototype-form 'nil)
-     
      (stream
       :state :read-only
       :depth 3
-      :inherits (instance)
-      :prototype-form (make-broadcast-stream)))))
+      :inherits (instance))
+     (file-stream
+      :state :read-only
+      :depth 5
+      :inherits (stream))
+     (string-stream
+      :state :read-only
+      :depth 5
+      :inherits (stream)))))
 
 ;;; See also src/code/class-init.lisp where we finish setting up the
 ;;; translations for built-in types.