[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.
project-fallback.diff
Description: Text Data
- bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project,
Dmitry Gutov <=