【发布时间】:2017-12-15 03:16:42
【问题描述】:
我正在做一个项目,需要 Tclsh 之类的支持和一些自定义命令。我实现了以下代码(基于 Tcl 8.5):
Tcl_Main(argc, argv, Tcl_AppInit);
并将新命令注册放入 Tcl_AppInit。一切看起来都很好,除了使用新的命令行解释器,当我输入 Tcl 内置命令“历史”时,我得到了:
% history
invalid command name "history"
其他内置命令也可以正常工作,例如“puts”、“set”等。 为什么 ?我是否必须实现自己的“历史”命令?
【问题讨论】:
-
解开了这个谜团:原来“历史”是 Tcl 脚本库的一部分,需要在初始化期间获取它,或者通过获取 $TCL_LIBRARY/init.tcl 或调用 Tcl_Init(interp)。跨度>
-
您可以将此评论添加为答案并接受它 - 这是 SO 的正常做法:您自己解决了这个事实并没有错 ;-)