Changeset 10000


Ignore:
Timestamp:
Jul 10, 2008, 10:16:46 PM (11 years ago)
Author:
gb
Message:

A BASIC-STREAM isn't really a STD-INSTANCE, but its easy to get its
wrapper (and weirder to try to fix this in other ways), so handle
BASIC-STREAMs in STD-INSTANCE-CLASS-CELL-TYPEP.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/level-1/l1-clos-boot.lisp

    r9944 r10000  
    12381238
    12391239(defun std-instance-class-cell-typep (form class-cell)
    1240   (when (%standard-instance-p form)
    1241     (locally (declare (type class-cell  class-cell))
     1240  (declare (type class-cell  class-cell))
     1241  (let* ((typecode (typecode form))
     1242         (wrapper (cond ((= typecode target::subtag-instance)
     1243                         (instance.class-wrapper form))
     1244                        ((= typecode target::subtag-basic-stream)
     1245                         (basic-stream.wrapper form))
     1246                        (t nil))))
     1247    (declare (type (unsigned-byte 8) typecode))
     1248    (when wrapper
    12421249      (loop
    12431250        (let ((class (class-cell-class class-cell)))
    12441251          (if class
    12451252            (let* ((ordinal (%class-ordinal class))
    1246                    (wrapper (instance.class-wrapper form))
    12471253                   (bits (or (%wrapper-cpl-bits wrapper)
    12481254                             (make-cpl-bits (%inited-class-cpl (%wrapper-class wrapper))))))
Note: See TracChangeset for help on using the changeset viewer.