From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Subprojects in project.el Date: Sat, 26 Nov 2022 09:23:28 +0000 Message-ID: <87mt8errvz.fsf@gmail.com> References: <87zgcq68zp.fsf@ericabrahamsen.net> <87zgcml7g7.fsf@gmail.com> <2ba04533-097a-a1da-ff3f-2c9506fd488e@yandex.ru> <875yf9bbzb.fsf@gmail.com> <87wn7oa0aw.fsf@gmail.com> <7a5b76fd-fb15-8c1e-ea29-bf11f7e0d2ae@yandex.ru> <87bkoya815.fsf@gmail.com> <0024a67d-b8e5-b35c-1b22-82541a170eb3@yandex.ru> <871qptai4d.fsf_-_@gmail.com> <71addecc-373e-b1f0-f190-0ce3531626a8@yandex.ru> <50bf9e49-23f0-0966-f619-88bcf35479fa@yandex.ru> <871qpqvme6.fsf@gmail.com> <184362df-01c7-0771-28b4-a87ea52ca45e@yandex.ru> <874jumtwic.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17205"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Stefan Monnier , Danny Freeman , Eric Abrahamsen , emacs-devel To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 26 10:23:16 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oyrP2-0004HX-CO for ged-emacs-devel@m.gmane-mx.org; Sat, 26 Nov 2022 10:23:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oyrOC-0002VX-Ku; Sat, 26 Nov 2022 04:22:24 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oyrO5-0002V9-4K for emacs-devel@gnu.org; Sat, 26 Nov 2022 04:22:19 -0500 Original-Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oyrO3-0002vL-9B for emacs-devel@gnu.org; Sat, 26 Nov 2022 04:22:16 -0500 Original-Received: by mail-wr1-x430.google.com with SMTP id x5so9850395wrt.7 for ; Sat, 26 Nov 2022 01:22:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=swQIQwiq5A3KglMVHHkHZHMjkCXNFhDAigaFbbq+/8I=; b=FgWSR8Nm8xi3NMNivu0Ac1kPYOOMoapevkT19QsBsTfJS3/2+7oMxtEfTAJtaojGWs v/5eSpSCuupQd8PjViNxhWwH7+P1+H7KflZcPia7BcIblPVmIK9vMpjE+azm4tabde02 HUREweGiZIvOzonDqWNcm41E0FXb7dtmH2EF92+wfNkXABiGdVa2aAkhCvv7Nv3iFx9o 6GjF44D0HZEjZop1rnXyehZur2/G2I3mW05Lcp++LOr6GXmQCSmGFLWUV6TRtZ0bLkdp tsvWsCqsvEd3TSdCRLK5L6FZxWMrVY/vcPxkj8H4Mj9Y5bIOMczpO4znHu18mXXpYZrV U7kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=swQIQwiq5A3KglMVHHkHZHMjkCXNFhDAigaFbbq+/8I=; b=PiJq4kK8bWcV0Mru8edGRon0bpU8kaNGlLHXdfPItN3RhELmm7mKhCNGCpUOof9Ywt X+PuTGFeytVgVNSw62fIoV2POGpdsWRMWz/VJ8Og2Pd+plhml8LSfURVTUV/Dg6RB0G5 g9HpXNxugH2qGqkxLVOzaf/VqnHd2Mj/7LCCUISzsr3HLaltdYrHd1nyItE/BNebafsu Fo5A8nO1NGERTY/sA7JIsa4GSsi/nIVdFsc6Mi/L1/vavCs5WL8+kUJkrA+Kkm0i1z/k gxkzyldYDmi3TCMThElhB5YeIJxTOtl7PgtVln/XWuuu6lZ8M8kaBitPk3h5PhULWosh egeQ== X-Gm-Message-State: ANoB5plNQ3ENCSgpN9mBPTvRrNaad4fGuFYDjBqVAFqC7ZTelizt76D3 lh38f09rnVMT0DCBRjkQlPZCDFXh9MA= X-Google-Smtp-Source: AA0mqf6s3ilARYTKkFUa2FcCYBv7QbzLZWguTa3VMRCQhCWn0khfgbXVQzfMkOWo/oCNPqH8rQculg== X-Received: by 2002:a05:6000:110c:b0:236:8710:41f2 with SMTP id z12-20020a056000110c00b00236871041f2mr25919658wrw.239.1669454533378; Sat, 26 Nov 2022 01:22:13 -0800 (PST) Original-Received: from krug (87-196-72-177.net.novis.pt. [87.196.72.177]) by smtp.gmail.com with ESMTPSA id n5-20020a05600c4f8500b003c6c4639ac6sm9207392wmq.34.2022.11.26.01.22.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Nov 2022 01:22:12 -0800 (PST) In-Reply-To: (Dmitry Gutov's message of "Sat, 26 Nov 2022 03:57:30 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=joaotavora@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:300558 Archived-At: Dmitry Gutov writes: > On 26/11/22 02:00, Jo=C3=A3o T=C3=A1vora wrote: > We aren't even close to top efficiency WRT file operations now. And > your idea is also based on hand-crafting project-find-functions to > only contain the necessary items. project-find-functions is part of project.el's API. So it makes a lot of sense to use, otherwise why would it be there? We can provide some pre-baked functions to put there, or already put there for users. The key point is that functions bail out early if they don't the adequate context. One of them is the one I proposed earlier, which uses a local project-subproject-prefixes variable. Another would search for marker files and consult a tramp-specific user variable for opt-out. > As opposed to real-life scenario of Projectile just adding its > function at the front. > >>> I don't entirely understand the algorithm you're proposing here, but >>> it sounds vaguely like what I'm writing now, so you might like the >>> result. >> Where/when can I find this code? > > You and others can now find it here: https://debbugs.gnu.org/41572#186 That thread has a latest patch that allows marker files to designate top-level projects: I'm not interested in using marker files specifically, so I don't see the relevance. I can't deduce from the patch what you're trying to solve or if it solves my use case. Again, I'm interested in being able to designate projects that may only exist inside other projects, and having a the C-x p family of commands to allow a choice of inner project or any of the associated super-projects. There are maybe multiple ways to go about this: I've suggested what I think is a promising one. Jo=C3=A3o