Index: generic/xotcl.c =================================================================== diff -u -rd03aa65bff84b01cbdd418581c35faec809cb50f -rd7a2ef042e35be3ce0411019edd2b7de129e7094 --- generic/xotcl.c (.../xotcl.c) (revision d03aa65bff84b01cbdd418581c35faec809cb50f) +++ generic/xotcl.c (.../xotcl.c) (revision d7a2ef042e35be3ce0411019edd2b7de129e7094) @@ -10514,22 +10514,21 @@ int result; Tcl_Obj *rawConfArgs; - /* TODO cleanup here around.... + /* + * Parameter definitions are cached in the class, for which + * instances are created. The parameter definitions are flushed in + * the following situations: + * + * a) on class cleanup: ParsedParamFree(cl->parsedParamPtr) + * b) on class structure changes, + * c) when instmixins are added, + * d) when new slots are defined, + * e) when slots are removed + * + * When slot defaults or types are changed, the slots have to + * perform a manual "$domain invalidateobjectparameter" + */ - a) definitions are freed on a class cleanup, with - ParsedParamFree(cl->parsedParamPtr) - - What should be done: - - b) the same cleanup should be performed, whenever - 1) the class structure changes, DONE - 2) instmixins are added DONE - 3) slots are defined, DONE - 4) slots defaults or types are changed ... maybe higher level support ? - 5) slots removals (destroy on slots) - - */ - /* * Check, if there is already a parameter definition available for * creating objects of this class.