Re: Announcing RMCL
Ron Garret <[email protected]>
| Newsgroups | gmane.lisp.mcl.general |
|---|---|
| Message-ID | <[email protected]> |
On May 27, 2009, at 12:34 PM, peter wrote: > At 12:02 PM -0700 09/05/27, Ron Garret wrote: >> [...] >> >> Apparently, the applicable method cache is not >> being reset when an class is redefined. The bug >> shows up the other way too: >> >> ? (defclass c (a) ()) >> #<STANDARD-CLASS C> >> ? (m (make-instance 'c)) >> A >> ? (defclass c () ()) >> #<STANDARD-CLASS C> >> ? (m (make-instance 'c)) >> A >> ? (find-method #'m () (list (find-class 'c))) >>> Error: #<STANDARD-GENERIC-FUNCTION M >> #x14CFBD6> has no method for NIL >> (#<STANDARD-CLASS C>) >>> While executing: >> #<CCL::STANDARD-KERNEL-METHOD FIND-METHOD >> (STANDARD-GENERIC-FUNCTION T T)> >>> Type Command-. to abort. >> See the RestartsŠ menu item for further choices. >> 1 > >> >> >> I was about ready to give RMCL a big woo-hoo, >> but not being able to redefine classes is a >> show-stopper for me. > > Suggest you read the documentation (if you > haven't) as class redefinition issues are > mentioned. They are? I went through all the release notes, and the only thing I could find was this, in release-notes-5.1b2: Reusing defclass on a class that had :default-initargs before but doesn't contain a :default-initargs option in the redefinition will not cause the preexisting :default-initargs to go away. This is in accordance with AMOP. The solution is to include (:default-initargs) in the redefinition. If I missed something, I would be most grateful for additional clues. rg _______________________________________________ info-mcl mailing list [email protected] http://clozure.com/mailman/listinfo/info-mcl