Subject: bug#47799: 28.0.50; Default `project-files' implementation doesn't work with quoted filenames

From: Philipp Stephani <[email-masked]>
Date: Thu, 15 Apr 2021 18:26:21 +0200

Am Do., 15. Apr. 2021 um 18:15 Uhr schrieb Dmitry Gutov <[email-masked]>:
>
> Hi Philipp,
>
> On 15.04.2021 16:43, Philipp Stephani wrote:
> > emacs -Q -batch -l project -eval '(print (project-files (quote (transient . "/:/"))))'
> >
> > ("find: ‘/:/’: No such file or directory
> > ")
> >
> > Note that the error message is listed as a file.
> >
> > 1. `project-files' should unquote local filenames before passing them to
> >     `find'.
> >
> > 2. `project-files' should check for errors returned from `find'.
>
> Would you like to propose a patch?
>
> I don't really understand the file quoting feature.
>
> Is project--files-in-directory supposed to unquote? Should
> project--vc-list-files do that as well?

I think only functions that pass filenames to external programs (that
don't know about Emacs filename handlers) should unquote. Unquoting
can change the meaning of a filename.
>From what I can see, project--vs-list-files shouldn't unquote, because
it doesn't pass filenames to external programs.

>
> Does read-directory-name return quoted names when needed? Can
> locate-dominating-file return one?

Yes, both of these can return quoted names.