我想知道proc的调用行号。当文件来自tclsh时 我可以放入我的过程
set infoFrame [info frame -1]
set line [dict get [info frame -1] line]
这将得到我需要的线。但是当我从C程序中读取文件并调用Tcl_Eval时,信息框返回"键入proc"而不是"类型来源"并且行号变为相对于调用proc。
在Tcl_Eval之前我能做些什么来指定我实际上是在寻找一个文件,并使信息框的行为与文件的来源一样。
我认为Tcl_EvalFile会解决问题,但由于文件已经在内存中,为什么要再次读取它。 (我必须在内存中阅读文件内容)
答案 0 :(得分:1)
对不起,但没有。不幸的是,为了使这项工作你需要访问的内部API是非常可怕的,并且目前还没有计划公开任何东西以允许你改进它。写入文件是目前最好的方法。
虽然如果你mount a VFS,写一个文件可能没什么大不了的。