Tcl 什么是/曾经是自动路径?

Tcl 什么是/曾经是自动路径?,tcl,Tcl,根据: auto_oldpath是一个全局Tcl变量,在 自动加载索引过程 自动路径是Tcl知道的神奇名称之一。这在中进行了描述 Tcl手册页“库”。它是一个包含列表的全局变量 Tcl在尝试解析或 使用package命令打包,或使用 自动加载。package和auto_load命令在中使用auto_path 不同的方式。自动加载搜索自动路径目录 用于名为tclIndex的文件。这些是“Tcl自动加载索引文件”,以及 格式有两个版本;版本2.0包含命令集 自动索引(::命名空间::函数名称)$c

根据:

auto_oldpath是一个全局Tcl变量,在 自动加载索引过程

自动路径是Tcl知道的神奇名称之一。这在中进行了描述 Tcl手册页“库”。它是一个包含列表的全局变量 Tcl在尝试解析或 使用package命令打包,或使用 自动加载。package和auto_load命令在中使用auto_path 不同的方式。自动加载搜索自动路径目录 用于名为tclIndex的文件。这些是“Tcl自动加载索引文件”,以及 格式有两个版本;版本2.0包含命令集 自动索引(::命名空间::函数名称)$cmd,其中$cmd通常 源定义命令::命名空间::函数名称的文件

对我来说:

% puts $auto_path
/usr/share/tcltk/tcl8.5 /usr/lib /usr/local/lib/tcltk /usr/local/share/tcltk /usr/lib/tcltk /usr/share/tcltk /usr/share/tcltk/tk8.5/ttk
但是:


此变量已移动到
::tcl
命名空间。
在生成自动索引时,此变量设置为
::auto_path
变量的值。
如果
::tcl::auto_oldpath
的内容等于
::auto_path
变量的内容,则不会再次尝试加载auto_索引

引用


需要明确的是,该变量被认为是Tcl实现的一部分,任何用户或扩展包代码都不应该访问它。它也不能保证在任何特定的时间存在。
% puts $auto_oldpath
can't read "auto_oldpath": no such variable
proc auto_load_index {} {
    variable ::tcl::auto_oldpath
    global auto_index auto_path

    if {[info exists auto_oldpath] && ($auto_oldpath eq $auto_path)} {
        return 0
    }
    set auto_oldpath $auto_path
    # ....
}