summaryrefslogtreecommitdiffstats
path: root/library/init.tcl
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2012-08-04 07:46:48 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2012-08-04 07:46:48 (GMT)
commit26779f588a5178e773c4effc1c1ba604e9dda9fb (patch)
tree651f5be6f444e7c4b4fb789d3f11e9e608cd5085 /library/init.tcl
parentaa8f3c2fc3166ccdb25c69c648c92c6a2b3b0aa2 (diff)
parent24ef33dc101a3e9114318b884c1e99d792f4739d (diff)
downloadtcl-26779f588a5178e773c4effc1c1ba604e9dda9fb.zip
tcl-26779f588a5178e773c4effc1c1ba604e9dda9fb.tar.gz
tcl-26779f588a5178e773c4effc1c1ba604e9dda9fb.tar.bz2
Diffstat (limited to 'library/init.tcl')
-rw-r--r--library/init.tcl17
1 files changed, 9 insertions, 8 deletions
diff --git a/library/init.tcl b/library/init.tcl
index 685fc7b..51c7f29 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -651,7 +651,7 @@ proc auto_execok name {
set execExtensions [list {} .com .exe .bat .cmd]
}
- if {$name in $shellBuiltins} {
+ if {[string tolower $name] in $shellBuiltins} {
# When this is command.com for some reason on Win2K, Tcl won't
# exec it unless the case is right, which this corrects. COMSPEC
# may not point to a real file, so do the check.
@@ -689,13 +689,14 @@ proc auto_execok name {
}
}
- foreach dir [split $path {;}] {
- # Skip already checked directories
- if {[info exists checked($dir)] || ($dir eq "")} {
- continue
- }
- set checked($dir) {}
- foreach ext $execExtensions {
+ foreach ext $execExtensions {
+ unset -nocomplain checked
+ foreach dir [split $path {;}] {
+ # Skip already checked directories
+ if {[info exists checked($dir)] || ($dir eq "")} {
+ continue
+ }
+ set checked($dir) {}
set file [file join $dir ${name}${ext}]
if {[file exists $file] && ![file isdirectory $file]} {
return [set auto_execs($name) [list $file]]