Subject: Re: bug#71762: `(project-files (project-current))` with `project-vc-extra-root-markers` doesn't work on Windows.

From: Eli Zaretskii <[email-masked]>
Date: Tue, 25 Jun 2024 15:45:33 +0300

tags 71762 notabug
thanks

> From: Siyuan Chen <[email-masked]>
> Date: Tue, 25 Jun 2024 08:04:48 +0800
> 
> Anyway, setting `(setq find-program (purecopy "C:/msys64/usr/bin/find.exe"))` makes the above example work
> at the moment. 

That's one possible solution.  Another is to rearrange your system's
PATH so that the directory C:\msys64\usr\bin comes _before_ the
C:\WINDOWS\system32, where you have the stock Windows find.exe (which
is a program for a completely different purpose and with completely
different command-line syntax).

Byw, the "msys64" part of the directory where you have find.exe seems
to hint that it is an MSYS port, not a native Windows/MinGW port.  If
that is indeed so, my recommendation is to install a native find.exe
and use that instead, as MSYS ports could have subtle
incompatibilities with a native Windows Emacs.

> Perhaps all NTEmacs users should set the 3 options: grep-program, find-program, xargs-program.

These variables already exist, so I'm not sure what you are suggesting
here.

In general, the only "problematic" program is find.exe, because
Windows comes only with that.  The other two programs must be
installed, and so there's no danger of Emacs invoking the wrong one.

I see no Emacs bug here, just an issue of configuring your system
and/or Emacs correctly.

> My only
> concern now is the potential issue with backslashes and encoding.

There should be no such issues, if you find one, please report that as
a bug.