Commit [96aa79] Maximize Restore History

handle non-standard slot allocations when updating classes

* Refactor layout comparison to work on the effective slot definition list(s)
directly -- easier to understand.

* When new slots with custom allocation are added, add their names to the
"added" list for UPDATE-INSTANCE-FOR-REDEFINED-CLASS. This is not specified
by ANSI, but unless we do this those slots don't get initialized.

Removing custom slots is hairier, as is changing a custom slot into
a normal slot. Add some tests that poke in this area as well...

* Replace wrapper-instance-slot-layout and wrapper-class-slots with the
CLASS-SLOTS lists -- saves space and makes things easier to understand.

Has a small performance cost for updating instances and SLOT-MISSING. Will
refactor again if this is critical in the real world.

Nikodemus Siivola Nikodemus Siivola 2011-09-20

changed src/pcl/braid.lisp
changed src/pcl/low.lisp
changed src/pcl/slots.lisp
changed src/pcl/std-class.lisp
changed tests/mop-2.impure-cload.lisp
changed NEWS
src/pcl/braid.lisp Diff Switch to side-by-side view
Loading...
src/pcl/low.lisp Diff Switch to side-by-side view
Loading...
src/pcl/slots.lisp Diff Switch to side-by-side view
Loading...
src/pcl/std-class.lisp Diff Switch to side-by-side view
Loading...
tests/mop-2.impure-cload.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...