Index: library/nx/nx.tcl =================================================================== diff -u -N -r5ac8b0931acfe8d0ef93054dafa03f4501868d31 -r25212e40eb097eebcf48d54931bde2bc90e94e69 --- library/nx/nx.tcl (.../nx.tcl) (revision 5ac8b0931acfe8d0ef93054dafa03f4501868d31) +++ library/nx/nx.tcl (.../nx.tcl) (revision 25212e40eb097eebcf48d54931bde2bc90e94e69) @@ -1450,10 +1450,10 @@ # # Get a full object parmeter specification from slot object # - if {[info exists :parameterSpec]} { - } else { + if {![info exists :parameterSpec]} { set prefix [expr {[info exists :positional] && ${:positional} ? "" : "-"}] set options [:getParameterOptions -withMultiplicity true -forObjectParameter true] + #puts stderr [self]================raw:$options if {[info exists :initblock]} { if {[info exists :default]} { @@ -1486,7 +1486,15 @@ # substdefault is allowed via substdefault slot property. # if {${:substdefault}} { - lappend options substdefault + set substOptPos [lsearch -glob $options substdefaultoptions=* ] + #puts stderr "[self]================ [list lsearch substdefaultoptions=* $options] => $substOptPos" + if {$substOptPos > -1} { + set substOpt [lindex $options $substOptPos] + set options [lreplace $options $substOptPos $substOptPos] + lappend options substdefault $substOpt + } else { + lappend options substdefault + } } set :parameterSpec [list [:namedParameterSpec $prefix ${:name} $options] ${:default}] } else {