GNU bug report logs - #41572
28.0.50; [PATCH] Support plain project marked with file .emacs-project

Previous Next

Package: emacs;

Reported by: Zhu Zihao <cjpeople2013 <at> gmail.com>

Date: Thu, 28 May 2020 04:46:02 UTC

Severity: normal

Merged with 54228

Found in versions 28.0.50, 29.0.50

Fixed in version 29.1

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: philipk <at> posteo.net, rudi <at> constantly.at, eric <at> ericabrahamsen.net, cjpeople2013 <at> gmail.com, theo <at> thornhill.no, mardani29 <at> yahoo.es, joaotavora <at> gmail.com, manuel.uberti <at> inventati.org, juri <at> linkov.net, salutis <at> me.com, arstoffel <at> gmail.com, 41572 <at> debbugs.gnu.org
Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project
Date: Sat, 26 Nov 2022 15:22:36 +0200
On 26/11/22 09:47, Eli Zaretskii wrote:

>> +(defcustom project-vc-extra-root-markers nil
>> +  "List of additional \"markers\" to signal project roots.
>> +
>> +A marker is either a base file name or a glob pattern for such.
>> +
>> +These will be used in addition to regular directory markers such
>> +as .git, .hg, and so on, dependent on the value of
>> +`vc-handled-backends'.
> 
> "These will be used" how?  This crucial information is sorely missing from
> this description.  Likewise, how "markers" that are not files are used and
> are useful?

Not files, meaning, markers which are globs with wildcards?

>>                          They are most useful when a VC project
>> +has subdirectories inside it that need to be considered as
>> +separate projects, but still use the parent's ignore rules and
>> +general behaviors.
> 
> How are "markers" useful in this scenario?

As mentioned in e.g. 
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54228#11, monorepos often 
contain subdirectories which one might want to handle separately.

Those subdirectories often come in standard structures, e.g. a frontend 
subdirectory might contain a file called "package.json", a backend 
subdirectory might contain "Gemfile" or "build.gradle", or perhaps 
"autogen.sh", and so on.

Adding those to the markers list will tag those subdirectories as 
projects on their own. People can also use the file names special to 
their particular organization instead of those above.

>> +It can also be used for projects outside of VC repositories.
>> +Their behavior will still obey the relevant variables, such as
>> +`project-vc-ignores' or `project-vc-name'."
> 
> And in this one?

This covers the use cases described in the first messages of this and 
the merged bug report:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41572#5
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54228#5

People would add ".project" or ".emacs-project" to 
project-vc-extra-root-markers and see things work.

Might have to restart Emacs, though, if they already called project 
commands in the given directory, because the current project info is cached.

> IOW, please describe the main ideas of this approach instead of relying on
> use immediately gleaning that from a patch with incomplete documentation.

If you have further questions, please ask.




This bug report was last modified 2 years and 170 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.