Summary

coops: anonymous classes can't be used as metaclasses

Metadata

Description

This program reproduces the issue:

 
 (use coops)
 
 (define-class <foo> ()
   ()
   metaclass: (make-class (<standard-class>)
                          ((bar 1))))
 
 (print (slot-value <foo> 'bar))
 

It results in this error:

 
 Error: (slot-value) slot not found
 bar 
 #<coops standard-class `<foo>'>

Changes and comments

[2010-12-22 11:30:45 UTC] felix changed status from new to closed

[2010-12-22 11:30:45 UTC] felix set resolution to invalid

[2010-12-22 11:30:45 UTC] felix wrote:

Try

[2010-12-22 15:08:05 UTC] syn wrote:

That does work indeed. I know understand that make-class does not accept initforms at all. Shouldn't my make-class call above fail then as I give a list rather than just a symbol? Thanks for looking into it!

[2011-06-01 09:00:41 UTC] felix changed milestone from 4.7.0 to 4.8.0

[2011-06-01 09:00:41 UTC] felix wrote:

Milestone 4.7.0 deleted

[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0

[2012-09-24 21:47:48 UTC] felix wrote:

Milestone 4.8.0 deleted