# 2008-08-13 15:55:51 by Sean Zhang
今日工作中遇到点问题,总结一下。
proc load_cmd {file} { source -echo -verbose $file } # case 1 load_cmd $file # case 2 source $file
分别运行 case 1 和 case 2 会得到不同的结果。很是有点意外的。
经过debug和尝试,解决办法
proc load_cmd {file} { uplevel source -echo -verbose $file }
问题解决了。原因呢?
简而言之,被source的文件中需要用到的一些全局变量,看不到了。因为stack frame变化了。 知道了原因,解决办法也就显而易见了。