On Sat, Jun 24, 2023 at 5:35 PM Mark Levedahl <mlevedahl@xxxxxxxxx> wrote: > In the current git release, git-gui runs on Cygwin without enabling any > of git-gui's Cygwin specific code. This happens as the Cygwin specific > code in git-gui was (mostly) written in 2007-2008 to work with Cygwin's > then supplied Tcl/Tk which was an incompletely ported variant of the > 8.4.1 Windows Tcl/Tk code. In March, 2012, that 8.4.1 package was > replaced with a full port based upon the upstream unix/X11 code, > since maintained up to date. The two Tcl/Tk packages are completely > incompatible, and have different sygnatures. Given the context, an understandable typo perhaps: s/sygnatures/signatures/ > When Cygwin's Tcl/Tk signature changed in 2012, git-gui no longer > detected Cygwin, so did not enable Cygwin specific code, and the POSIX > environment provided by Cygwin since 2012 supported git-gui as a generic > unix. Thus, no-one apparently noticed the existence of incompatible > Cygwin specific code. > > However, since commit c5766eae6f2b002396b6cd4f85b62317b707174e in > upstream git-gui, the is_Cygwin funcion does detect current Cygwin. The > Cygwin specific code is enabled, causing use of Windows rather than unix > pathnames, and enabling incorrect warnings about environment variables > that are not relevant for the fully functional unix/X11 Tcl/Tk. The end > result is that git-gui is now incommpatible with Cygwin. s/incommpatible/incompatible/ > So, delete all Cygwin specific code (code protected by "if is_Cygwin"), > thus restoring the post-2012 behaviour. Note that Cygwin specific code > is required to enable file browsing and shortcut creation (supported > before 2012), but is not addressed in this patch. > > Signed-off-by: Mark Levedahl <mlevedahl@xxxxxxxxx>