Subject: bug#77122: [PATCH] project--find-in-directory resolves symlinks

From: Ship Mints <[email-masked]>
Date: Tue, 25 Mar 2025 06:54:34 -0400

On Mon, Mar 24, 2025 at 10:16 PM Dmitry Gutov <[email-masked]> wrote:

> On 24/03/2025 17:15, Ship Mints wrote:
> > I'm curious to hear more about why people would object to (project-root
> > project-obj) being canonicalized.  I don't think many people ever
> > manually enter project dirs.  The persisted known projects, I'd think,
> > would also benefit from no duplicates.
>
> I wonder if you yourself would prefer for all buffer-file-name values,
> and default-directory values, to be canonicalized as well.
>
> The same reasoning would seem to apply to them too anyway.
>

Ochen funny. I'll submit a separate patch for that one day (sarcasm doesn't
work in email, sorry).

In the meantime, I maintain my view that project.el needs to report uniform
project names and roots for identical projects approached from different
places, even if optional.

I just took a look at projectile.el, which I'd never looked at before
because I prefer using/improving core features.  It has a longer user
history to see what they've experienced (and it looks like some of
project.el's approach is copied almost verbatim e.g., the implementation of
project-name).  projectile seems to both have users that want symlink
chasing and those that don't (looks like ClearCase users--but out of
necessity not desire?).  As those concerns seem to be project dependent, we
could an option that is a list of paths or matchers to include/exclude from
chasing, and also a project root semaphore file or project config as I
suggested in another message in this thread.

I'd enable chasing as my default, opt out in a specific project should I
ever have one that needs it rather than the other way around, and enjoy
project-name and project-root uniformity.

-Stephane