On Sun, Feb 7, 2021 at 1:38 PM Jeff King <peff@xxxxxxxx> wrote: > The "2l" was bogus (there is no line 2). It seems likely that an > interactive user might make at least one invalid command while editing. > Some versions (like GNU ed) have a "-l" option to loosen the exit code. Cygwin `ed` does support `-l`, so that's helpful, although it still fails the "test editor" button in the Git-For-Windows installer program since the installer calls `ed` with a Windows style path rather than a Unix style path which Cygwin `ed` doesn't understand. It is possible to skip "test editor" and continue Git-For-Windows installation without testing. The bigger problem after that, at least in my testing, is that when `git` from Git-For-Windows itself eventually launches Cygwin `ed` at commit time, it bombs with: 0 [main] ed (2444) C:\cygwin64\bin\ed.exe: *** fatal error - cygheap base mismatch detected - 0x18034C408/0x180347408. In fact, Cygwin `ed` crashes with that same problem even just being launched from the MSYS shell provided by Git-For-Windows due to bad interaction between the DLL's. On the other hand, Cygwin `ed` launches just fine from the Cygwin shell as one would expect. By the way, it's also possible to install Cygwin's Git from the Cygwin installer rather than attempting to use the Git provided by the Git-For-Windows project. The combination of Cygwin `ed` and Cygwin `git` works just fine (in my tests) once you configure `ed` as the Git editor either by setting GIT_EDITOR or EDITOR environment variables to `ed -l` or by configuring git itself: git config --global --add core.config 'ed -l' (You would want to uninstall Git-For-Windows, too, if you have it installed.)