Changeset 11


Ignore:
Timestamp:
Oct 22, 2003, 12:00:22 AM (16 years ago)
Author:
gb
Message:

CLASS-SLOT bugs in dcode/reader-trap.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/l1-dcode.lisp

    r6 r11  
    19581958               table-wrapper flag)
    19591959          (declare (fixnum index mask))
    1960           ;(print (list 'first-index index wrapper))
     1960          ;;(print (list 'first-index index wrapper))
    19611961          (setq index (+ index index)) ; +2 ??
    1962           (loop 
     1962          (loop
    19631963            (if (eq (setq table-wrapper (%gf-dispatch-table-ref dt index)) wrapper)
    19641964              (let* ((the-pos (%gf-dispatch-table-ref dt (the fixnum (1+ index)))))
     
    19721972                                 (%svref (%wrapper-instance-slots wrapper) the-pos)))
    19731973                        (return the-val))))
    1974                   (let ((the-val (cadr the-pos)))
     1974                  (let ((the-val (cdr the-pos)))
    19751975                    (if (eq the-val (%slot-unbound-marker))
    19761976                      (return (slot-unbound (%wrapper-class wrapper) arg (car the-pos)))
     
    20452045          (error "Obsolete instance in reader-trap-2"))
    20462046        (let ((idx (or (%vector-member slot-name slots)
    2047                        (assq slot-name (%wrapper-class-slots wrapper)))))
     2047                       (let* ((slotd (find-slotd
     2048                                      slot-name
     2049                                      (class-slots (%wrapper-class wrapper)))))
     2050                         (if slotd (%slot-definition-location slotd))))))
    20482051          (unless idx
    20492052            (error "~s has no slot named ~s" instance slot-name))
Note: See TracChangeset for help on using the changeset viewer.