Tcl Source Code

Artifact [c10fb5ab50]
Login

Artifact c10fb5ab5072183d590d6da458a22af1eec7dce8:

Attachment "None" to ticket [402719ffff] added by hobbs 2000-12-08 09:08:07.
Index: library/init.tcl
===================================================================
RCS file: /cvsroot/tcl/tcl/library/init.tcl,v
retrieving revision 1.42
diff -b -c -r1.42 init.tcl
*** library/init.tcl	2000/11/23 14:21:59	1.42
--- library/init.tcl	2000/12/08 02:06:56
***************
*** 509,521 ****
  	# NT includes the 'start' built-in
  	lappend shellBuiltins "start"
      }
  
      if {[lsearch -exact $shellBuiltins $name] != -1} {
  	return [set auto_execs($name) [list $env(COMSPEC) /c $name]]
      }
  
      if {[llength [file split $name]] != 1} {
! 	foreach ext {{} .com .exe .bat} {
  	    set file ${name}${ext}
  	    if {[file exists $file] && ![file isdirectory $file]} {
  		return [set auto_execs($name) [list $file]]
--- 509,527 ----
  	# NT includes the 'start' built-in
  	lappend shellBuiltins "start"
      }
+     if {[info exists env(PATHEXT)]} {
+ 	# Add an initial ; to have the {} extension check first.
+ 	set execExtensions [split ";$env(PATHEXT)" ";"]
+     } else {
+ 	set execExtensions [list {} .com .exe .bat]
+     }
  
      if {[lsearch -exact $shellBuiltins $name] != -1} {
  	return [set auto_execs($name) [list $env(COMSPEC) /c $name]]
      }
  
      if {[llength [file split $name]] != 1} {
! 	foreach ext $execExtensions {
  	    set file ${name}${ext}
  	    if {[file exists $file] && ![file isdirectory $file]} {
  		return [set auto_execs($name) [list $file]]
***************
*** 545,551 ****
  	# Skip already checked directories
  	if {[info exists checked($dir)] || [string equal {} $dir]} { continue }
  	set checked($dir) {}
! 	foreach ext {{} .com .exe .bat} {
  	    set file [file join $dir ${name}${ext}]
  	    if {[file exists $file] && ![file isdirectory $file]} {
  		return [set auto_execs($name) [list $file]]
--- 551,557 ----
  	# Skip already checked directories
  	if {[info exists checked($dir)] || [string equal {} $dir]} { continue }
  	set checked($dir) {}
! 	foreach ext $execExtensions {
  	    set file [file join $dir ${name}${ext}]
  	    if {[file exists $file] && ![file isdirectory $file]} {
  		return [set auto_execs($name) [list $file]]