Posted to tcl by evilotto at Tue Mar 27 21:52:50 GMT 2012view raw

  1. proc getuniq {varname {initializer ""} {prefix ""}} {
  2. upvar 1 $varname uniq
  3. set uniq ::uniques::${prefix}_unique[incr ::uniques::ucount]
  4. uplevel 1 [list trace add variable $varname {write unset} [list unset $uniq]]
  5. set $uniq $initializer
  6. return $uniq
  7. }
  8.  
  9.