summaryrefslogtreecommitdiffstats
path: root/library/auto.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'library/auto.tcl')
-rw-r--r--library/auto.tcl22
1 files changed, 10 insertions, 12 deletions
diff --git a/library/auto.tcl b/library/auto.tcl
index 6638cc1..e8aa61a 100644
--- a/library/auto.tcl
+++ b/library/auto.tcl
@@ -3,7 +3,7 @@
# utility procs formerly in init.tcl dealing with auto execution
# of commands and can be auto loaded themselves.
#
-# RCS: @(#) $Id: auto.tcl,v 1.21 2004/12/01 22:14:20 dgp Exp $
+# RCS: @(#) $Id: auto.tcl,v 1.22 2005/01/25 16:39:56 dgp Exp $
#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1998 Sun Microsystems, Inc.
@@ -16,23 +16,21 @@
#
# Destroy all cached information for auto-loading and auto-execution,
# so that the information gets recomputed the next time it's needed.
-# Also delete any procedures that are listed in the auto-load index
-# except those defined in this file.
+# Also delete any commands that are listed in the auto-load index.
#
# Arguments:
# None.
proc auto_reset {} {
- variable ::tcl::auto_oldpath
- global auto_execs auto_index
- foreach p [info procs] {
- if {[info exists auto_index($p)]} {
- rename $p {}
- }
+ foreach cmdName [array names ::auto_index] {
+ set fqcn [namespace which $cmdName]
+ if {$fqcn eq ""} {continue}
+ rename $fqcn {}
+ }
+ unset -nocomplain ::auto_execs ::auto_index ::tcl::auto_oldpath
+ if {[info library] ni $::auto_path} {
+ lappend ::auto_path [info library]
}
- catch {unset auto_execs}
- catch {unset auto_index}
- catch {unset auto_oldpath}
}
# tcl_findLibrary --