我正在开发一个项目,需要Tclsh支持一些自定义命令。我实现了以下代码(基于Tcl 8.5):
Tcl_Main(argc, argv, Tcl_AppInit);
并在Tcl_AppInit中注册新命令。一切都很好,除了使用新的命令行解释器,当我输入Tcl内置命令“history”时,我得到了:
% history
invalid command name "history"
其他内置命令工作正常,如“puts”,“set”等。 为什么?我是否必须实施自己的“历史”命令?
答案 0 :(得分:2)
在此处添加我的解决方案:
事实证明history
是Tcl脚本库的一部分,需要在初始化期间通过采购$TCL_LIBRARY/init.tcl
或调用Tcl_Init(interp)
来获取。