Ticket #653 (new defect)
class-finalized-p true though effects of custom finalizations discarded on load
| Reported by: | vii | Owned by: | gb |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | ANSI CL Compliance | Version: | trunk |
| Keywords: | Cc: |
Description
This bug affects manardb. (For manardb users you can dodge this by changing ensure-finalize-inheritance to finalize-inheritance in defmmclass).
I have attached a test case to demonstrate -- note that http://trac.clozure.com/ccl/ticket/640 is related.
(The error in manardb is "Slot WRITER-FUNCTION is unbound in #<MM-EFFECTIVE-SLOT-DEFINITION for memory slot ...>"
[Condition of type UNBOUND-SLOT])
If you compile a class to a fasl, then load that fasl again, class-finalized-p remains true but the custom slots you may have set in an overridden finalize-inheritance are not kept. If you restart from a fresh state and simply load the fasl, then things are fine.
Here is a test case
CL-USER> (lisp-implementation-version) "Version 1.5-dev-r13281M-trunk (LinuxX8664)" CL-USER> (compile-file "/tmp/ccl-finalize-bug.lisp") #P"/tmp/ccl-finalize-bug.lx64fsl" NIL NIL CL-USER> (bug) NIL CL-USER> (load "/tmp/ccl-finalize-bug.lx64fsl") #P"/tmp/ccl-finalize-bug.lx64fsl" CL-USER> (bug) ; Evaluation aborted.

