Index: library/nx/nx.tcl =================================================================== diff -u -ra6a5d4be56157641a50c3a25a348464591980ac6 -r4ca122f3c023fe74de3b36c8a65c3145e554aeba --- library/nx/nx.tcl (.../nx.tcl) (revision a6a5d4be56157641a50c3a25a348464591980ac6) +++ library/nx/nx.tcl (.../nx.tcl) (revision 4ca122f3c023fe74de3b36c8a65c3145e554aeba) @@ -1370,7 +1370,10 @@ #puts stderr "+++ [self] added elementtype ${:elementtype}" } if {${:disposition} eq "slotset"} { - lappend options slot=[::nsf::self] ${:disposition} method=${:forwardername} + lappend options slot=[::nsf::self] ${:disposition} + if {${:forwardername} ne ${:name}} { + lappend options method=${:forwardername} + } } else { lappend options ${:disposition} } @@ -1624,25 +1627,29 @@ -multiplicity 0..n \ -defaultmethods {} \ -disposition slotset \ - -settername "object mixin" -forwardername object-mixin -elementtype mixinreg + -settername "object mixin" \ + -elementtype mixinreg ::nx::RelationSlot create ::nx::Object::slot::object-filter \ -multiplicity 0..n \ -defaultmethods {} \ -disposition slotset \ - -settername "object filter" -forwardername object-filter -elementtype filterreg + -settername "object filter" \ + -elementtype filterreg ::nx::RelationSlot create ::nx::Class::slot::mixin \ -multiplicity 0..n \ -defaultmethods {} \ -disposition slotset \ - -forwardername "class-mixin" -elementtype mixinreg + -forwardername "class-mixin" \ + -elementtype mixinreg ::nx::RelationSlot create ::nx::Class::slot::filter \ -multiplicity 0..n \ -defaultmethods {} \ -disposition slotset \ - -forwardername class-filter -elementtype filterreg + -forwardername class-filter \ + -elementtype filterreg # # Define "class" as a ObjectParameterSlot defined as alias Index: tests/info-method.test =================================================================== diff -u -rcafecba5f922de5329a5db109b697cbf88ae5f1a -r4ca122f3c023fe74de3b36c8a65c3145e554aeba --- tests/info-method.test (.../info-method.test) (revision cafecba5f922de5329a5db109b697cbf88ae5f1a) +++ tests/info-method.test (.../info-method.test) (revision 4ca122f3c023fe74de3b36c8a65c3145e554aeba) @@ -721,7 +721,7 @@ ? {C info configure syntax} "/::C/ ?-a /value/? ?-b /value/? ?-object-mixin /mixinreg .../? ?-class /class/? ?-object-filter /filterreg .../? ?/__initblock/?" # ? {C info configure syntax a} "/::C/ ?-a /value/?" - ? {C info configure parameters } "-a {-b 1} -object-mixin:mixinreg,slot=::nx::Object::slot::object-mixin,slotset,method=object-mixin,0..n -class:class,alias,method=::nsf::methods::object::class -object-filter:filterreg,slot=::nx::Object::slot::object-filter,slotset,method=object-filter,0..n __initblock:cmd,optional,noleadingdash" + ? {C info configure parameters } "-a {-b 1} -object-mixin:mixinreg,slot=::nx::Object::slot::object-mixin,slotset,0..n -class:class,alias,method=::nsf::methods::object::class -object-filter:filterreg,slot=::nx::Object::slot::object-filter,slotset,0..n __initblock:cmd,optional,noleadingdash" # ? {C info parameter list} "-a -b -noinit -object-mixin -class -object-filter __initblock" # ? {C info parameter names} "a b noinit object-mixin class object-filter __initblock" Index: tests/info-variable.test =================================================================== diff -u -r0e4ebdb092c8158987489b5c26cf11526b2756f5 -r4ca122f3c023fe74de3b36c8a65c3145e554aeba --- tests/info-variable.test (.../info-variable.test) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) +++ tests/info-variable.test (.../info-variable.test) (revision 4ca122f3c023fe74de3b36c8a65c3145e554aeba) @@ -33,9 +33,9 @@ ? {join [Person info configure parameters] \n} \ "-age:integer -name --object-mixin:mixinreg,slot=::nx::Object::slot::object-mixin,slotset,method=object-mixin,0..n +-object-mixin:mixinreg,slot=::nx::Object::slot::object-mixin,slotset,0..n -class:class,alias,method=::nsf::methods::object::class --object-filter:filterreg,slot=::nx::Object::slot::object-filter,slotset,method=object-filter,0..n +-object-filter:filterreg,slot=::nx::Object::slot::object-filter,slotset,0..n __initblock:cmd,optional,noleadingdash" ? {Person info configure parameters age} "-age:integer" Index: tests/parameters.test =================================================================== diff -u -rf0c21b811a657f7a7731e6218751544f612908f5 -r4ca122f3c023fe74de3b36c8a65c3145e554aeba --- tests/parameters.test (.../parameters.test) (revision f0c21b811a657f7a7731e6218751544f612908f5) +++ tests/parameters.test (.../parameters.test) (revision 4ca122f3c023fe74de3b36c8a65c3145e554aeba) @@ -4,8 +4,8 @@ #::nx::configure defaultMethodCallProtection false -set objectFilter "-object-filter:filterreg,slot=::nx::Object::slot::object-filter,slotset,method=object-filter,0..n" -set objectMixin "-object-mixin:mixinreg,slot=::nx::Object::slot::object-mixin,slotset,method=object-mixin,0..n" +set objectFilter "-object-filter:filterreg,slot=::nx::Object::slot::object-filter,slotset,0..n" +set objectMixin "-object-mixin:mixinreg,slot=::nx::Object::slot::object-mixin,slotset,0..n" set initBlock "__initblock:cmd,optional,noleadingdash" set filter "-filter:filterreg,slot=::nx::Class::slot::filter,slotset,method=class-filter,0..n"