Ticket #653 (new defect)

Opened 8 weeks ago

Last modified 8 weeks ago

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.

Attachments

ccl-finalize-bug.lisp Download (1.0 KB) - added by vii 8 weeks ago.
test case

Change History

Changed 8 weeks ago by vii

test case

Changed 8 weeks ago by vii

  • owner set to gb
  • component changed from IDE to ANSI CL Compliance
Note: See TracTickets for help on using tickets.