2017-02-23 90 views
0

我想知道proc的调用行号。当文件从tclsh的 来源,我可以把我的PROCinfo frame vs Tcl_Eval

set infoFrame [info frame -1] 
set line [dict get [info frame -1] line] 

,这将得到我所需要的线。但是,当我从C程序读取文件并调用Tcl_Eval信息框时,返回“type proc”而不是“type source”,并且行号相对于调用proc。

在Tcl_Eval指定我实际采购一个文件并使信息框像文件行为来源之前,我可以做些什么。

我认为Tcl_EvalFile将解决问题,但由于文件已经在内存中,为什么要重新读取它。 (我必须阅读内存中的文件内容)

回答

1

对不起,但没有。不幸的是,您需要访问的内部API才能完成这项工作,但不幸的是,目前还没有计划公开任何内容以允许您改进它。写入文件是目前最好的方法。

虽然如果你mount a VFS,写入文件可能没有什么大不了的。