From: Dmitry Gutov <dgutov@yandex.ru>
To: "João Távora" <joaotavora@gmail.com>
Cc: "Philip K." <philipk@posteo.net>,
"Rudi Schlatte" <rudi@constantly.at>,
"Augusto Stoffel" <arstoffel@gmail.com>,
"Zhu Zihao" <cjpeople2013@gmail.com>,
"Theodor Thornhill" <theo@thornhill.no>,
"Daniel Martín" <mardani29@yahoo.es>,
"Eric Abrahamsen" <eric@ericabrahamsen.net>,
"Manuel Uberti" <manuel.uberti@inventati.org>,
"Juri Linkov" <juri@linkov.net>,
"Rudolf Adamkovič" <salutis@me.com>,
41572@debbugs.gnu.org
Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project
Date: Tue, 29 Nov 2022 20:51:52 +0200 [thread overview]
Message-ID: <a18144d5-f756-32d3-430e-f3650d204867@yandex.ru> (raw)
In-Reply-To: <8735a2rt3l.fsf@gmail.com>
On 29/11/2022 11:46, João Távora wrote:
> Dmitry Gutov <dgutov@yandex.ru> writes:
>
>> On 26/11/22 21:23, João Távora wrote:
>>> On Sat, Nov 26, 2022, 12:30 Dmitry Gutov <dgutov@yandex.ru
>>> <mailto:dgutov@yandex.ru>> wrote:
>>> > My use case is the following: I'm interested in being able to
>>> designate
>>> > projects (through various means, not only marker files) that may only
>>> > exist inside other projects.
>>> You previously described your super-project and how you handled
>>> it
>>> using
>>> project-find-functions hook with a new element that looked for file
>>> markers. Does this patch make that easier to do? Without writing custom
>>> functions?
>>> The example i gave did _not_ use file markers. Personally, I can't
>>> use them. I need some elisp way.
>>
>> Please elaborate.
>
> I've already elaborated, with actual code.
>
> https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg01505.html
> https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg01530.html
These answered the question of *what* you want to do, not *why*.
>> Does it mean that those subprojects are chosen manually and don't have
>> "packages.jon" or etc exactly (or that too many subprojects in that
>> same project would, undesirably, contain the same files)?
>
> OK, one last time: packages.json and i.e. monorepos that have a
> developing collection of similarly structured NPM packages that move
> around is good case for marker files, undoubtedly. I'm not putting that
> into question.
>
> But many times that's not the case and you have a big project in which a
> mostly fixed heterogenous collection of sub-hierarchies exist and you
> would like to designate as those as subprojects. In the latter case,
> marker files are useless, uselessly slow and perhaps even impossible.
I understand that in theory, it's just it's often possible to solve the
problem with the tools at hand (see my latest reply on emacs-devel about
the Emacs doc/ subdirectory). So I figured to ask about your particulars.
> In _both_ cases, it's very useful to have project operations let the
> user choose the target: super-project or sub-project (or "parent
> project", "outer project", "nested project", "inner project": I don't
> care too much about the nomenclature).
Yes. But separate feature.
>> Would being able to set to absolute file names (directories) help? Or
>> would that be too awkward?
>
> That's more or less the idea, but they don't need to be absolute file
> names which is indeed awkward See project-sub-project-prefixes in the
> code I posted. project-sub-project-prefixes can even be a regex pattern
> applied on the super-project's root. This describes the heterogenous
> collection economically and robustly. It is then typically set
> dir-locally, with either a .dir-locals.el file or with
> dir-locals-set-class-variables.
I asked about absolute file names because those would be easier
(semantically) to cram into the same user option as the markers.
Otherwise we'd need a separate option for those.
Although... if we insisted on using the format like "./abc/def/", that
would also put those values into a different category. The handling
logic would need to be different just the same.
> Of course, the member of project-find-functions that consults
> project-sub-project-prefixes needs to be aware of containing
> super-projects found by some other means (marker files included). See
> the code I posted to emacs-devel for a possible implementation.
Have you tried the patch that I sent in the GP email?
next prev parent reply other threads:[~2022-11-29 18:51 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-28 3:32 bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project Zhu Zihao
2020-05-28 7:42 ` Philip K.
2020-05-28 11:20 ` Zihao Zhu
2020-05-28 12:24 ` Philip K.
2020-06-03 11:04 ` Basil L. Contovounesios
2020-05-28 11:27 ` Zhu Zihao
2020-05-28 12:35 ` Dmitry Gutov
2020-05-28 15:46 ` Zihao Zhu
2020-05-28 19:58 ` Dmitry Gutov
2020-05-29 4:34 ` Zihao Zhu
2020-05-29 7:11 ` Philip K.
2020-05-29 13:58 ` Dmitry Gutov
2020-06-02 23:40 ` Juri Linkov
2020-06-05 19:02 ` Dmitry Gutov
2020-06-05 19:22 ` Theodor Thornhill
2020-06-05 23:11 ` Dmitry Gutov
2020-06-06 8:48 ` Theodor Thornhill
2020-06-06 11:15 ` Dmitry Gutov
2020-06-06 11:53 ` Theodor Thornhill
2020-06-06 12:17 ` Dmitry Gutov
2020-06-06 13:37 ` Theodor Thornhill
2020-07-20 20:55 ` Dmitry Gutov
2020-10-01 3:11 ` Lars Ingebrigtsen
2021-09-25 23:13 ` Dmitry Gutov
2021-09-26 6:38 ` Lars Ingebrigtsen
2021-10-03 18:06 ` Juri Linkov
2021-10-05 2:03 ` Dmitry Gutov
2021-10-05 2:08 ` Dmitry Gutov
2021-10-05 6:52 ` Juri Linkov
2021-10-05 12:42 ` Dmitry Gutov
2021-10-05 16:32 ` Juri Linkov
2021-10-06 7:21 ` Juri Linkov
2021-10-06 16:29 ` Juri Linkov
2021-10-06 21:16 ` Dmitry Gutov
2021-10-06 21:13 ` Dmitry Gutov
2021-10-07 7:17 ` Juri Linkov
2021-10-07 13:41 ` Dmitry Gutov
2021-10-10 16:47 ` Juri Linkov
2021-10-11 0:40 ` Dmitry Gutov
2021-10-05 14:39 ` Nikolay Kudryavtsev
2021-10-05 15:03 ` Dmitry Gutov
2021-10-05 15:21 ` Nikolay Kudryavtsev
2021-10-05 16:56 ` Dmitry Gutov
2021-10-05 18:19 ` Nikolay Kudryavtsev
2021-10-06 0:11 ` Dmitry Gutov
2021-10-06 14:09 ` Nikolay Kudryavtsev
2021-10-07 2:27 ` Dmitry Gutov
2021-10-07 13:08 ` Nikolay Kudryavtsev
2021-10-08 2:12 ` Dmitry Gutov
2021-10-08 16:24 ` Nikolay Kudryavtsev
2021-10-11 1:57 ` Dmitry Gutov
2021-10-11 18:05 ` Nikolay Kudryavtsev
2021-10-17 2:48 ` Dmitry Gutov
2021-10-17 11:52 ` Nikolay Kudryavtsev
2021-09-26 0:22 ` Dmitry Gutov
2022-11-26 1:49 ` Dmitry Gutov
2022-11-26 7:47 ` Eli Zaretskii
2022-11-26 13:22 ` Dmitry Gutov
2022-11-26 14:27 ` Eli Zaretskii
2022-11-27 1:08 ` Dmitry Gutov
2022-11-27 6:46 ` Eli Zaretskii
2022-11-27 14:10 ` Dmitry Gutov
2022-11-27 14:27 ` Eli Zaretskii
2022-11-27 15:51 ` Dmitry Gutov
2022-11-27 16:43 ` Eli Zaretskii
2022-11-27 21:41 ` Dmitry Gutov
2022-11-28 11:58 ` Eli Zaretskii
2022-11-28 12:30 ` Dmitry Gutov
2022-11-28 13:22 ` Eli Zaretskii
2022-11-28 14:29 ` Dmitry Gutov
2022-11-28 14:49 ` Eli Zaretskii
2022-11-28 15:31 ` Dmitry Gutov
2022-11-28 16:51 ` Eli Zaretskii
2022-11-30 2:26 ` Dmitry Gutov
2022-11-30 13:29 ` Eli Zaretskii
2022-11-30 18:52 ` Dmitry Gutov
2022-11-30 20:32 ` Eli Zaretskii
2022-11-30 20:43 ` Dmitry Gutov
2022-12-01 2:19 ` Dmitry Gutov
2022-12-01 6:02 ` Eli Zaretskii
2022-12-01 15:08 ` Dmitry Gutov
2022-11-26 9:52 ` João Távora
2022-11-26 12:29 ` Dmitry Gutov
2022-11-26 19:23 ` João Távora
2022-11-27 16:09 ` Dmitry Gutov
2022-11-29 9:46 ` João Távora
2022-11-29 18:51 ` Dmitry Gutov [this message]
2022-11-29 22:06 ` João Távora
2022-11-30 0:10 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a18144d5-f756-32d3-430e-f3650d204867@yandex.ru \
--to=dgutov@yandex.ru \
--cc=41572@debbugs.gnu.org \
--cc=arstoffel@gmail.com \
--cc=cjpeople2013@gmail.com \
--cc=eric@ericabrahamsen.net \
--cc=joaotavora@gmail.com \
--cc=juri@linkov.net \
--cc=manuel.uberti@inventati.org \
--cc=mardani29@yahoo.es \
--cc=philipk@posteo.net \
--cc=rudi@constantly.at \
--cc=salutis@me.com \
--cc=theo@thornhill.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.