Index: openacs-4/packages/xotcl-core/tcl/10-recreation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/10-recreation-procs.tcl,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/xotcl-core/tcl/10-recreation-procs.tcl 4 Mar 2010 10:36:13 -0000 1.8 +++ openacs-4/packages/xotcl-core/tcl/10-recreation-procs.tcl 12 Aug 2013 20:01:06 -0000 1.9 @@ -68,12 +68,12 @@ foreach var [$obj info vars] {$obj unset $var} # set defaults and run configure $obj set_instance_vars_defaults - eval $obj configure $args + $obj configure {*}$args #my log "### instproc recreate $obj + configure $args ..." } if {[my exists instreinit]} { #my log "### instreinit for $obj <$args>" - eval $obj init + $obj init #my log "### instproc recreate $obj + init ..." } } -proc recreate {obj args} { @@ -86,10 +86,10 @@ foreach var [$obj info vars] {$obj unset $var} # set defaults and run configure $obj set_instance_vars_defaults - eval $obj configure $args + $obj configure {*}$args } if {[my exists reinit]} { - eval $obj init + $obj init } } @@ -150,9 +150,9 @@ # we use uplevel to handle -volatile correctly set pos [my uplevel $obj configure $args] - if {[lsearch -exact $args -init] == -1} { + if {"-init" ni $args} { incr pos -1 - eval $obj init [lrange $args 0 $pos] + $obj init {*}[lrange $args 0 $pos] } }