Posted to tcl by dbohdan at Mon Mar 23 09:06:59 GMT 2015view pretty
proc sla script { set res {} set parts {} foreach part [split $script \n] { lappend parts $part set part [join $parts \n] #add the newline that was stripped because it can make a difference if {[info complete $part\n]} { set parts {} set part [string trim $part] if {$part eq {}} { continue } if {[string index $part 0] eq {#}} { continue } # A hack to ensure $part is byte-compiled. set x [apply "{} { uplevel 2 {list $part} }"] lappend res {*}$x } } if {$parts ne {}} { error [list {incomplete parts} [join $parts]] } return $res }