# 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变化了。 知道了原因,解决办法也就显而易见了。