Index: library/nx/nx.tcl =================================================================== diff -u -r17b2bed824041ef05d7739b2151882d5f9ec1f88 -rc1b0280fcc98b5ac8c94b36e274e1ae0906364d5 --- library/nx/nx.tcl (.../nx.tcl) (revision 17b2bed824041ef05d7739b2151882d5f9ec1f88) +++ library/nx/nx.tcl (.../nx.tcl) (revision c1b0280fcc98b5ac8c94b36e274e1ae0906364d5) @@ -157,8 +157,16 @@ if {[::nsf::is class $object] && !${per-object}} { set scope class set ensembleName [::nx::slotObj ${object} __$w] + if {[: ::nsf::methods::class::info::method exists $w] + && [: ::nsf::methods::class::info::method type $w] ne "alias"} { + return -code error "refuse to overwrite method $w; delete/rename method first." + } } else { set scope object + if {[: ::nsf::methods::object::info::method exists $w] + && [: ::nsf::methods::object::info::method type $w] ne "object"} { + return -code error "refuse to overwrite object method $w; delete/rename object method first." + } set ensembleName ${object}::$w } #puts stderr "NX check $scope $object info methods $path @ <$w> cmd=[info command $w] obj?[nsf::object::exists $ensembleName] " @@ -2652,3 +2660,9 @@ puts stderr "======= nx loaded" } +# +# Local variables: +# mode: tcl +# tcl-indent-level: 2 +# indent-tabs-mode: nil +# End: