Evaluated proc cgetchar2 {f x y} { set line [lindex [split $f \n] $y]; set cum [rempty [split $line [^C]]]; set c 0; foreach chunk $cum {set debug [list]; set info [cblock2map $chunk]; lappend debug $info; foreach letter [explode [last $info]] { if {$c == $x} {return "[first $info] [second $info] $letter"} {incr c}}; }; . $debug }