Index: library/nx/nx.tcl =================================================================== diff -u -N -rb8ca306282c9a1000b1c93ffd97f7f4673953f65 -r9df6b50237ae89bc387ec217237538d08c0f8d39 --- library/nx/nx.tcl (.../nx.tcl) (revision b8ca306282c9a1000b1c93ffd97f7f4673953f65) +++ library/nx/nx.tcl (.../nx.tcl) (revision 9df6b50237ae89bc387ec217237538d08c0f8d39) @@ -1847,7 +1847,8 @@ } set restore [:removeTraces $object *] - ::nsf::var::set $object ${:name} ${:default} + # was: ::nsf::var::set $object ${:name} ${:default} + ::nsf::var::set $object ${:name} $value if {[info exists restore]} { {*}$restore } } @@ -2238,6 +2239,11 @@ if {![info exists trace] && [info exists :trace] && ${:trace} ne "none"} { set trace ${:trace} } + + if {$parameterOptions ne "" && "substdefault" in [split $parameterOptions ,]} { + set defaultValue [subst $defaultValue] + } + if {$initblock eq "" && !$configurable && !$incremental && $accessor eq "none" && ![info exists trace]} { # @@ -2257,7 +2263,7 @@ # we rely here that the nsf::is error message expresses the implementation limits set noptions {} foreach o [split $parameterOptions ,] { - if {$o ne "noconfig"} {lappend noptions $o} + if {$o ni {noconfig substdefault}} {lappend noptions $o} } set parameterOptions [join $noptions ,]