Subject: Re: bug#65704: 29.1; Most code of `project-ignores' seems to be dead code

From: Dmitry Gutov <[email-masked]>
Date: Mon, 4 Sep 2023 23:17:49 +0300

On 04/09/2023 23:11, Damien Cassou wrote:
> Dmitry Gutov <[email-masked]> writes:
>> That's the reason I've added project-vc-extra-root-markers: so that
>> honoring files like .gitignore still makes sense, but the user can split
>> the project into pieces using these markers while keeping the same
>> backend in use.
> 
> thank you very much for your explanation. I simplified my setup as you
> suggested.

Very good.

> That being said, `project-files' for 'vc' seems not to work for
> me. Inside my client/ folder, (project-current) returns
> 
>    (vc nil "…/client/")
> 
> The `project-files' method has this line:
> 
>      (if (and (file-equal-p dir (cdr project))

Its current definition (in Emacs 29 and later) looks like this:

        (if (and (file-equal-p dir (nth 2 project))

Perhaps you have an older version installed somewhere?

Though that wouldn't explain why (project-current) would return an 
incompatible value.

> Because `dir' is a string and (cdr project) is the list (nil
> "…/client/), `file-equal-p' always returns nil. If I change `cdr' to be
> `caddr', things seem to work perfectly.
> 
> Am I doing something wrong again or is it a bug and I should submit a
> patch?

Some investigation could help.