Index: library/nx/nx.tcl =================================================================== diff -u -r756a5ed4e51921ada898fdf69cc7bd2c5c616828 -r67591822465e64d9051583c9aa71f8d3a4ef5c96 --- library/nx/nx.tcl (.../nx.tcl) (revision 756a5ed4e51921ada898fdf69cc7bd2c5c616828) +++ library/nx/nx.tcl (.../nx.tcl) (revision 67591822465e64d9051583c9aa71f8d3a4ef5c96) @@ -1020,7 +1020,7 @@ # Obtain a list of parameter options from slot object # set options [list] - if {[info exists :elementtype] && ${:elementtype} ni {{} mixin}} { + if {[info exists :elementtype] && ${:elementtype} ne {}} { lappend options ${:elementtype} #puts stderr "+++ [self] added elementtype ${:elementtype}" } @@ -1138,7 +1138,7 @@ # # Value contains globbing meta characters. # - if {[info exists :elementtype] && ${:elementtype} ne "" + if {[info exists :elementtype] && ${:elementtype} eq "mixinreg" && ![string match ::* $value]} { # # Prefix glob pattern with ::, since all object names have @@ -1147,10 +1147,10 @@ set value ::$value } return [lsearch -all -not -glob -inline $old $value] - } elseif {[info exists :elementtype] && ${:elementtype} ne ""} { + } elseif {[info exists :elementtype] && ${:elementtype} eq "mixinreg"} { # - # Value contains no globbing meta characters, but elementtype is - # given. + # Value contains no globbing meta characters, and elementtype could be + # fully qualified # if {[string first :: $value] == -1} { # @@ -1216,12 +1216,12 @@ ::nx::RelationSlot create ${os}::Object::slot::mixin \ -forwardername object-mixin -elementtype mixinreg ::nx::RelationSlot create ${os}::Object::slot::filter \ - -forwardername object-filter + -forwardername object-filter -elementtype filterreg ::nx::RelationSlot create ${os}::Class::slot::mixin \ -forwardername class-mixin -elementtype mixinreg ::nx::RelationSlot create ${os}::Class::slot::filter \ - -forwardername class-filter + -forwardername class-filter -elementtype filterreg # # Create two convenience object parameters to allow configuration @@ -1230,7 +1230,7 @@ ::nx::ObjectParameterSlot create ${os}::Class::slot::object-mixin \ -methodname "::nsf::classes::nx::Object::mixin" -elementtype mixinreg ::nx::ObjectParameterSlot create ${os}::Class::slot::object-filter \ - -methodname "::nsf::classes::nx::Object::filter" + -methodname "::nsf::classes::nx::Object::filter" -elementtype filterreg # # Create object parameter slots for "attributes", "noninit" and "volatile"