"Thomas Schilling" tjs_ng@yahoo.de writes:
because the inlined closure was modified in each loop. Dunno, if this is a bug or a feature or simply depends on the loop implementation (in which case it would probably also be a bug).
no, this is exactly how things should work. closures close over bindings, not values. the "fix" was just to change the lambda to (let ((meth method)) (lambda ... meth ...)), so that a new binding is created for each lambda.
In order to handle unfinalized classes i modified inspected-parts (standard-class) a little bit. See attachment (note: it also is no diff)
thanks. i'm going to commit what i have so far and then take a look at your changes.
Furthermore, we need a method for inspected-parts for cl:structure-class (i simply copied the one for standard-class) and for excl::structure-direct-slot-definition (allegro package), though I don't know how to do this portably. Maybe we can just add it to swank-mop and create a dummy class for all implementations that don't support/need this class.
structs have lots of implementation specific stuff about them. i think it'd be best to just implement (inspected-parts structure-class) in swank-allegro, swank-openmcl, etc.