Index: generic/predefined.xotcl =================================================================== diff -u -r3f0573cc75724179f416942b974373e5a62ec05e -rfb73930aa9ecf6ce966e512e6f899acb5784ea8c --- generic/predefined.xotcl (.../predefined.xotcl) (revision 3f0573cc75724179f416942b974373e5a62ec05e) +++ generic/predefined.xotcl (.../predefined.xotcl) (revision fb73930aa9ecf6ce966e512e6f899acb5784ea8c) @@ -543,7 +543,8 @@ if {[info exists :default]} { set arg ${:default} # deactivated for now: || [string first {$} $arg] > -1 - if {[string match {*\[*\]*} $arg]} { + if {[string match {*\[*\]*} $arg] + && $type ne "substdefault"} { lappend objopts substdefault } } elseif {[info exists :initcmd]} { @@ -559,7 +560,9 @@ } if {$type ne ""} { set objopts [linsert $objopts 0 $type] - set methodopts [linsert $methodopts 0 $type] + # Never add "substdefault" to methodopts, since these are for + # provided values, not for defaults. + if {$type ne "substdefault"} {set methodopts [linsert $methodopts 0 $type]} } lappend objopts slot=[::nx::core::current object]