> Date: Thu, 25 Jul 2024 21:54:24 +0200
> From: Federico Tedin via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
> In Emacs master e56e4b345a2, `emacs -q`:
>
> I'm having problems trying to make project.el detect a new project that
> is contained in the directory of another project.
>
> I have a directory called 'scratch' which contains a '.git' directory, a
> file 'test.py' and a directory 'foo'. The 'foo' directory contains a
> file called 'foo.py'.
>
>
> ~/scratch/
> .git/
> main.py
> foo/
> foo.py
>
>
> If I open 'main.py', `(project-current)' evals to the expected: `(vc Git
> "~/scratch")'.
>
> If I open 'foo.py', `(project-current)' also evals to `(vc Git
> "~/scratch")', which is expected.
>
> However if now I cd into 'foo/' and run `git init`, then I would expect
> project.el to now consider 'foo.py' to be in another project - `(vc Git
> "~/scratch/foo")'. However, if I evaluate `(project-current)' when
> visiting 'foo.py', I still get `(vc Git "~/scratch")'.
>
> If I kill the buffer visiting 'foo.py' and open the file again, I get
> the same result.
>
> Interestingly, if I run 'M-x project-remember-projects-under' with
> '~/scratch/foo' as path, it does inform me that the new project has been
> found. However visiting 'foo.py` still results in `(vc Git "~/scratch")'
> as the current project.
>
> If I restart Emacs then the problem is solved; 'foo.py' is correctly
> filed under project `(vc Git "~/scratch/foo")'.
>
> The fact that this works correctly after restarting makes me think
> that there must be some runtime state set up that is preventing the
> desired behaviour to happen.
Dmitry, any comments or suggestions?