Changeset 12741


Ignore:
Timestamp:
06/06/10 22:02:34 (12 years ago)
Author:
astalla
Message:

Fixed regression: correctly set slot-allocation-class for effective slot definitions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/clos.lisp

    r12738 r12741  
    263263
    264264(defun init-slot-definition (slot &key name
    265             (initargs ())
    266             (initform nil)
    267             (initfunction nil)
    268             (readers ())
    269             (writers ())
    270             (allocation :instance)
     265           (initargs ())
     266           (initform nil)
     267           (initfunction nil)
     268           (readers ())
     269           (writers ())
     270           (allocation :instance)
     271           (allocation-class nil)
    271272            &allow-other-keys)
    272273  (set-slot-definition-name slot name)
     
    277278  (set-slot-definition-writers slot writers)
    278279  (set-slot-definition-allocation slot allocation)
     280  (set-slot-definition-allocation-class slot allocation-class)
    279281  slot)
    280282
     
    283285    (if (eq slot-class +the-direct-slot-definition-class+)
    284286  (let ((slot (make-slot-definition +the-direct-slot-definition-class+)))
    285     (apply #'init-slot-definition slot args)
    286     (set-slot-definition-allocation-class slot class)
     287    (apply #'init-slot-definition slot :allocation-class class args)
    287288    slot)
    288289  (progn
    289     (let ((slot (apply #'make-instance slot-class args)))
    290       (set-slot-definition-allocation-class slot class)
     290    (let ((slot (apply #'make-instance slot-class :allocation-class class
     291           args)))
    291292      slot)))))
    292293
     
    296297  (let ((slot (make-slot-definition +the-effective-slot-definition-class+)))
    297298    (apply #'init-slot-definition slot args)
    298     (set-slot-definition-allocation-class slot class)
    299299    slot)
    300300  (progn
    301301    (let ((slot (apply #'make-instance slot-class args)))
    302       (set-slot-definition-allocation-class slot class)
    303302      slot)))))
    304303
Note: See TracChangeset for help on using the changeset viewer.