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: Fri, 25 Nov 2022 20:23:21 +0000 Message-ID: <87lenyu6km.fsf@gmail.com> References: <87zgcq68zp.fsf@ericabrahamsen.net> <84781346-5b88-2be5-38bb-02696fcf1364@yandex.ru> <87o7t2vj19.fsf@dfreeman.email> <877czqtyfy.fsf@dfreeman.email> <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> <33292672-2a59-ba63-05ab-a7995118a822@yandex.ru> 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="15299"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Dmitry Gutov , Danny Freeman , Eric Abrahamsen , emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 25 21:22:43 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 1oyfDe-0003jV-Hp for ged-emacs-devel@m.gmane-mx.org; Fri, 25 Nov 2022 21:22:42 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oyfDA-0001aq-Ub; Fri, 25 Nov 2022 15:22:12 -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 1oyfD9-0001aU-Cz for emacs-devel@gnu.org; Fri, 25 Nov 2022 15:22:11 -0500 Original-Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oyfD7-0005zl-PS for emacs-devel@gnu.org; Fri, 25 Nov 2022 15:22:11 -0500 Original-Received: by mail-wr1-x42a.google.com with SMTP id q7so7443838wrr.8 for ; Fri, 25 Nov 2022 12:22:09 -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=BjGOSgDr7PorLA9GPjsnoGB0W+kiMCxVqTvy19cTdNM=; b=Xb1F3i7Ze71EWTOKkc8tDZSAyrd66toOfarKCON+TNFLHvBdUULyxYZHaBmCGEngnB mntXmHpwRABXpeeobmOzn8VwKXOmjcUMOceHNVKGZg95NzAuy/30xhpCnz6hR2dfjJei 51FMw6iKiUjsblioUquQoSL2is464eh4C81WoG/fAkJni0kJFAWZ4tGEJ09QBRKqumqi Resu1YxInp6tgyHTc6qoscX0xu6SU52RFOvNleaKThZJEybaKK/bX5YvBIpW0kitEour aOkHbPWPAzL3ij44Z9dLrA7ap1sFWUbffmjk1KWEUVHSGv+S1tuWVMNEsarIuHPlwkQ6 Uapw== 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=BjGOSgDr7PorLA9GPjsnoGB0W+kiMCxVqTvy19cTdNM=; b=UMYRzCrLMD8zKTWQo5eabJdt6ra6ARNSWhsWBJdIV2uuomSSKCX2tlObj8pdUUcCoy P3eDND7zKyZlkn94ZhyflxsRCk8jVvg05xT3YcYAxZnfC3sOkeMjX2JeDbHPcWWnSOLG ZpWEPGHqUrCnPt4CuDhdX4ZK0U8c+bkn6/z6j72Y6QRRI6MnQZSB5nFAJLl8sOcX/sKL D8VhonQkUlGAj48uep0sQslh3mBAivi9dKzuJq/F+IC+wzfhqXfFZAj/cN3Hk9IRa6BQ Bofu6Rwr27FdktBvqQa7Qovd2tqFDc02yLXDcTQ6/rEeWFPPXlYawjzVvlKKTE1E7AZn KZcQ== X-Gm-Message-State: ANoB5pm43Sn+QSUEoBBYyIsRUdVAZhVLit3V/piKSVPCHH0fA0b5hNa1 MANerlZvP8dtLz5A2mvDdqB82pigSq0= X-Google-Smtp-Source: AA0mqf57l4W74sbe1MiZPjpQnIrNE2TmLr5OQrtACRBcWeoKOSkp3DzcnwTANdKfv/AYxI561FftNQ== X-Received: by 2002:a05:6000:a12:b0:241:c4d1:41a6 with SMTP id co18-20020a0560000a1200b00241c4d141a6mr21698570wrb.324.1669407726920; Fri, 25 Nov 2022 12:22:06 -0800 (PST) Original-Received: from krug (87-196-72-177.net.novis.pt. [87.196.72.177]) by smtp.gmail.com with ESMTPSA id p13-20020a05600c358d00b003c6b9749505sm11192489wmq.30.2022.11.25.12.22.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Nov 2022 12:22:06 -0800 (PST) In-Reply-To: (Stefan Monnier's message of "Thu, 24 Nov 2022 21:38:28 -0500") Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=joaotavora@gmail.com; helo=mail-wr1-x42a.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:300520 Archived-At: Stefan Monnier writes: >> The idea of customizing the projects with a list of relative subproject >> directory file names solves those downsides, but comes with lack of >> automation: you have to do it for every relevant project, and not forget= to >> update the settings as the project structure changes. Which might also be >> a pain e.g. when switching branches, if your dir-locals.el is not >> checked in. >> >> Perhaps we'll ultimately end up with both ways to do this inside project= .el, >> but that feels redundant. > > How 'bout something more "organic": > allow the user to interactively indicate "this is the root of the > current project" and save that info in some customization file? > > IOW instead of having the users edit the customization info by hand, > allow them to edit it indirectly when they notice that Emacs doesn't > give the result they expected? I'm usually not a fan of these solutions. If marker files are available, they negate their benefits (i.e. it breaks when you move the project around). If marker files are not available then I would have some piece of configuration lying around in some special place, format and language that is not the usual elisp. The same configuration might as well have been coded with existing idioms (i.e. dir-locals-set-directory-class) and kept as Lisp in my init file. That said, I'm not against adding yet another project-definition facility that project.el can be made to understand. It's not hard to imagine a member of project-find-functions supporting the customization file you suggest. Jo=C3=A3o