diff options
author | dgp <dgp@users.sourceforge.net> | 2005-01-25 17:04:20 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2005-01-25 17:04:20 (GMT) |
commit | 3c6ddb9aced9de4312cc2a982bf5715af646eddb (patch) | |
tree | 55d7a724ec1f2b6f934aa5ffc6c1c2d2de5a736e /library/auto.tcl | |
parent | 2d7b99e0ac484196f8de1cd5a31123baa638d6e7 (diff) | |
download | tcl-3c6ddb9aced9de4312cc2a982bf5715af646eddb.zip tcl-3c6ddb9aced9de4312cc2a982bf5715af646eddb.tar.gz tcl-3c6ddb9aced9de4312cc2a982bf5715af646eddb.tar.bz2 |
Added safety checks
Diffstat (limited to 'library/auto.tcl')
-rw-r--r-- | library/auto.tcl | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/library/auto.tcl b/library/auto.tcl index e8aa61a..f77b866 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.22 2005/01/25 16:39:56 dgp Exp $ +# RCS: @(#) $Id: auto.tcl,v 1.23 2005/01/25 17:04:20 dgp Exp $ # # Copyright (c) 1991-1993 The Regents of the University of California. # Copyright (c) 1994-1998 Sun Microsystems, Inc. @@ -22,14 +22,20 @@ # None. proc auto_reset {} { - foreach cmdName [array names ::auto_index] { - set fqcn [namespace which $cmdName] - if {$fqcn eq ""} {continue} - rename $fqcn {} + if {[array exists ::auto_index]} { + 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] + if {[catch {llength $::auto_path}]} { + set ::auto_path [list [info library]] + } else { + if {[info library] ni $::auto_path} { + lappend ::auto_path [info library] + } } } |