Index: generic/predefined.xotcl =================================================================== diff -u -raef09781efb62a6336ecf355e927549d72b37a7a -ra4d1fd30453e4e87467b02ed749fb4007d46a5e0 --- generic/predefined.xotcl (.../predefined.xotcl) (revision aef09781efb62a6336ecf355e927549d72b37a7a) +++ generic/predefined.xotcl (.../predefined.xotcl) (revision a4d1fd30453e4e87467b02ed749fb4007d46a5e0) @@ -67,6 +67,18 @@ foreach cmd [info command ::xotcl::cmd::Class::*] { ::xotcl::alias ::xotcl::Class [namespace tail $cmd] $cmd } + + # protect some methods against redefinition + ::xotcl::methodproperty ::xotcl::Object destroy static true + ::xotcl::methodproperty ::xotcl::Class alloc static true + ::xotcl::methodproperty ::xotcl::Class dealloc static true + ::xotcl::methodproperty ::xotcl::Class create static true + + ::xotcl::Class method unknown {args} { + #puts stderr "use explict create commands!, not [self] $args" + eval my create $args + } + # "init" must exist on Object. per default it is empty. ::xotcl::Object method init args {}