Ignore:
Timestamp:
Aug 4, 2008, 9:44:06 AM (11 years ago)
Author:
gb
Message:

Don't assume that (uvref istruct 0) is a symbol; try to use accessors
instead, and hope that I caught everything ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-clos-boot.lisp

    r10299 r10309  
    22052205              #'(lambda (s) (%structure-class-of s))) ; need DEFSTRUCT
    22062206        (setf (%svref v target::subtag-istruct)
    2207               #'(lambda (i) (or (find-class (%svref i 0) nil) *istruct-class*)))
     2207              #'(lambda (i)
     2208                  (let* ((cell (%svref i 0))
     2209                         (wrapper (istruct-cell-info  cell)))
     2210                    (if wrapper
     2211                      (%wrapper-class wrapper)
     2212                      (or (find-class (istruct-cell-name cell) nil)
     2213                          *istruct-class*)))))
    22082214        (setf (%svref v target::subtag-basic-stream)
    22092215              #'(lambda (b) (basic-stream.class b)))
Note: See TracChangeset for help on using the changeset viewer.