Evaluated proc 2dsetchar {f e x y} { set out [split $f \n]; set new [string replace [lindex $out $y] $x $x $e]; join [lreplace $out $y $y $new] \n }