git-gui: _which, only add .exe suffix if not present

The _which function finds executables on $PATH, and adds .exe on Windows
unless -script was given. However, win32.tcl executes "wscript.exe"
and "cscript.exe", both of which fail as _which adds .exe to both. This
is already fixed in git-gui released by Git for Windows. Do so here.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
This commit is contained in:
Mark Levedahl
2025-04-03 10:26:21 -04:00
committed by Taylor Blau
parent dcda716dbc
commit 37b9230226

View File

@@ -101,6 +101,9 @@ proc _which {what args} {
if {[is_Windows] && [lsearch -exact $args -script] >= 0} {
set suffix {}
} elseif {[is_Windows] && [string match *$_search_exe [string tolower $what]]} {
# The search string already has the file extension
set suffix {}
} else {
set suffix $_search_exe
}