Index: generic/itclBase.c ================================================================== --- generic/itclBase.c +++ generic/itclBase.c @@ -79,11 +79,11 @@ static const char safeInitScript[] = "proc ::itcl::local {class name args} {\n" " set ptr [uplevel [list $class $name] $args]\n" " uplevel [list set itcl-local-$ptr $ptr]\n" " set cmd [uplevel namespace which -command $ptr]\n" -" uplevel [list trace variable itcl-local-$ptr u \"::itcl::delete object $cmd; list\"]\n" +" uplevel [list trace add variable itcl-local-$ptr unset \"::itcl::delete object $cmd; list\"]\n" " return $ptr\n" "}"; static const char *clazzClassScript = "::oo::class create ::itcl::clazz {\n" Index: library/itcl.tcl ================================================================== --- library/itcl.tcl +++ library/itcl.tcl @@ -30,11 +30,11 @@ # ---------------------------------------------------------------------- proc ::itcl::local {class name args} { set ptr [uplevel [list $class $name] $args] uplevel [list set itcl-local-$ptr $ptr] set cmd [uplevel namespace which -command $ptr] - uplevel [list trace variable itcl-local-$ptr u \ + uplevel [list trace add variable itcl-local-$ptr unset \ "::itcl::delete_helper $cmd"] return $ptr } # ----------------------------------------------------------------------