proc bp {{s {}}} { if {![info exists ::bp_skip]} { set ::bp_skip [list] } elseif {[lsearch -exact $::bp_skip $s]>=0} { return } set who [info level -1] while 1 { # Display prompt and read command. puts -nonewline "$who/$s> "; flush stdout gets stdin line # Handle shorthands if {$line=="c"} {puts "continuing.."; break} if {$line=="i"} {set line "info locals"} # Handle everything else. catch {uplevel 1 $line} res puts $res } }