Tcl中source -verbose的实现

风行水上 @ 2012-11-21 14:38:56
标签:

    Tcl内置的source命令不会逐条显示正在执行的命令,这对于阅读log文件有些不方便。

    有些工具的Tcl扩展支持source -verbose的用法。自己写了一个Tcl的实现,代码如下

    proc source-verbose {file} {
      set fp [open $file r]
      puts "#ref: $file\n"
      set buffer ""
      while {[gets $fp line]>=0 } {
        append buffer $line "\n"
        if [info complete $buffer] {
          set buffer [string trim $buffer]
          if {[string length $buffer] == 0} {
            # skip
          } else {
            puts -nonewline $buffer ; puts " ;#--tcl--#"
            uplevel 1 $buffer
          }
          set buffer ""
        }
      }
      close $fp
    }
    
    标签:

      分享到:
      comments powered by Disqus

      27/31ms