bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emac


From: Dmitry Gutov
Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project
Date: Sun, 26 Sep 2021 02:13:39 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 01.10.2020 06:11, Lars Ingebrigtsen wrote:
If I'm skimming this thread correctly, there wasn't much enthusiasm for
the proposed new functionality, so I'm closing this bug report.  If
there's further progress to be made here, please respond to the debbugs
address and we'll reopen.

There are valid issues here, but there was no clear picture of how to solve them best. But it would be good to try to do that (at least to some extent) before Emacs 28 is released.

The first issue is that projects that don't use any of the supported VCS are not recognized at all.

Since these days most large projects do use version control, we can expect that projects which do not, should be relatively small. And our find-based implementation will generally be fast enough. Also, looking at the home-grown project definitions out there, people often don't bother with the 'ignores' method, so maybe a backend which provides no way to specify them will still cover most of the needs. It could be extended with such feature later anyway.

Patch adding such backend with a customizable list of "markers" is attached. I wasn't sure whether to add support for wildcards there, because file-expand-wildcards does not optimize for the trivial case, and directory-files is slower than file-exists-p. I'm mostly worried about Tramp performance here, but some pathologically huge directory could be a problem as well, IDK.

project-fallback-markers only includes .dir-locals.el, but it can be easily customized. Not sure if it should include other standard file names, such as Makefile, Gemfile, mix.exs, and so on. The first version doesn't have them.

Another question is the name. 'plain' sounds not very descriptive. I've considered 'fallback' and 'novc', eventually settling on the former.

Opinions welcome, though.

Attachment: project-fallback.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]