From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: package-vc support for :files keyword Date: Fri, 22 Sep 2023 13:26:53 +0000 Message-ID: <87o7hutk2q.fsf@posteo.net> References: <87ttrshrib.fsf@hyperspace> <871qev6e53.fsf@posteo.net> <87r0mviltd.fsf@hyperspace> <871qevbhru.fsf@posteo.net> <87o7hzi82q.fsf@hyperspace> <874jjpvkst.fsf@bernoul.li> 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="39345"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Jonas Bernoulli , Tony Zorman , emacs-devel@gnu.org To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 22 16:08:22 2023 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 1qjgpS-000A2h-Lm for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Sep 2023 16:08:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qjgok-000267-Eb; Fri, 22 Sep 2023 10:07:38 -0400 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 1qjgoi-00025z-LX for emacs-devel@gnu.org; Fri, 22 Sep 2023 10:07:36 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qjgog-00080V-Gw for emacs-devel@gnu.org; Fri, 22 Sep 2023 10:07:36 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 42E70240027 for ; Fri, 22 Sep 2023 16:07:30 +0200 (CEST) Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RsYxY3X5Pz9s1N; Fri, 22 Sep 2023 16:07:29 +0200 (CEST) In-Reply-To: (Stefan Kangas's message of "Fri, 22 Sep 2023 05:38:25 -0700") Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, 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:310969 Archived-At: Stefan Kangas writes: > Jonas Bernoulli writes: > >> Tony Zorman writes: >> >>> This is not just for multiple packages in a single repository=E2=80=94a= t least >>> one has to somewhat broaden what "multiple packages" means. Some >>> packages include small shims for bigger projects, and inadvertently >>> require them as dependencies. The original issue[1] on the >>> vc-use-package repo mentions org-ql[2], more specifically its helm >>> integration in the form of helm-org-ql.el. Some people might not want to >>> pull down helm as a dependency just for one file that they are not going >>> to use anyways. >>> >>> I'm not sure how common of a situation this actually is, but at least >>> for the big completion frameworks=E2=80=94helm and ivy=E2=80=94it's not= totally unheard >>> of. > > If a user uses foo, and also bar, then foo may support bar optionally, > or the other way around. We have ways of dealing with that without an > explicit dependency, including e.g. autoloads and `eval-after-load'. > The user will simply install both foo and bar, and things should ideally > work as expected, including their integration. See for example > use-package-ensure-system-package.el. > > Is there any reason why that can't work? > > A separate but related issue is that we should really teach package.el > to deal with optional dependencies. I personally like Debian's model > with "Recommends" and "Suggests" sections. What is the difference between the two? >> Here's a complete list for all of these packages that are available on >> Melpa. Obviously not all of these pairings fall into the "foo and >> helm-foo share a repository" category, but you can get an idea of what >> other reasons exist for splitting a repository into multiple packages, >> based on the names of the packages/libraries. I have included links to >> the repositories, so you can quickly jump there, when only looking at >> the names is not enough. > > Having reviewed this list, my conclusion remains that there is us= ually > no need for splitting up packages like this. I might be mistaken, but I believe that MELPA and specifically package-lint advise against using {with,}eval-after-load, encouraging splitting up packages like these.