From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: Re: Proposal for 'package-isolate' command Date: Fri, 18 Aug 2023 04:57:06 +0000 Message-ID: <874jkwvs01.fsf@posteo.net> References: <87r0oftgye.fsf@posteo.net> <87350vt1wz.fsf@posteo.net> <871qgen1ln.fsf@posteo.net> <87edke4mou.fsf@posteo.net> <87wmy6kuan.fsf@posteo.net> <87wmy6w070.fsf@posteo.net> <87zg2sjleg.fsf@posteo.net> <87pm3nlbm7.fsf@posteo.net> <87zg2ri9g9.fsf@posteo.net> <87bkf7b7ls.fsf@posteo.net> <87v8dfi6zy.fsf@posteo.net> <877cpvb361.fsf@posteo.net> <87pm3mj0ot.fsf_-_@posteo.net> <87v8de9qel.fsf@posteo.net> <87pm3mgj8d.fsf@posteo.net> <87a5upojjc.fsf@posteo.net> <871qg1oi61.fsf@posteo.net> <87y1i9fs8v.fsf@posteo.net> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13230"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Thierry Volpiatto , Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Aug 18 07:29:50 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 1qWs3R-0003FF-W1 for ged-emacs-devel@m.gmane-mx.org; Fri, 18 Aug 2023 07:29:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qWs2L-0004sY-E3; Fri, 18 Aug 2023 01:28:41 -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 1qWs2I-0004rs-Cc for emacs-devel@gnu.org; Fri, 18 Aug 2023 01:28:38 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qWs2F-0007NT-3j for emacs-devel@gnu.org; Fri, 18 Aug 2023 01:28:38 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 52255240103 for ; Fri, 18 Aug 2023 07:28:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1692336513; bh=+d/xTYl/UjY9gp+hWkj2NrkQ0eRNEalEyL/EEup6GzU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=cM8mEctz9R5TJ9q1NJEAz5tBFPxBL5vkZL5b6xHRvY4SJ873mfxEItR7dHoE+CRV6 UBcnO6XcdOelLnkpgkQhbzG7wrxmn6KfvaYkd88uZpypWUoYZlRSMXXkAMiDS5Zq2i s1nsKdS/jy3vj/qqDUsHVI4yCUbUhCcQAU5ZMStOr4i/VPp2yaRumTvK464FbRldDF I3lMeCU+P6/8bzDQGEj18V5CU5d8k+LF67nWeE7FTskj26Nin6LCVMNwtImIjpSDba iImEnCS3wBEtxLDBdaa+O3oIExUNzjWpwNXxEBYlhzqwkdZZAjg7rtPNmeM5PgwZWW SYodBHG4S7VXA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RRr4w3FRNz6txJ; Fri, 18 Aug 2023 07:28:32 +0200 (CEST) In-reply-to: <87y1i9fs8v.fsf@posteo.net> Received-SPF: pass client-ip=185.67.36.66; envelope-from=thievol@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, 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:308884 Archived-At: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Philip Kaludercic writes: >> Forget it, it is working properly, just forget you had modified >> package--dependencies as well. >> Sorry for the noise. > > It was either that or a new function had to be added, not sure which > approach is worse. The current implementation seems to have been > hastily added by Lars last year, and it is a bit regrettable in > retrospect. It would be possible to modify my change, and have the > function always return package-desc objects, since the function is only > used in one other spot in another part of the file. While there might > be others (packages or individuals) that depend on the function behaving > the way it does, but on the other hand, convention designates it as > being an "internal" function. The actual version is something like 4 or 5 lines long, so external packages can inline this version under another name if really needed, but your version is covering the both so it's ok I think. OTOH The problem with package.el is inconsistency within its functions, sometimes you have to use a pkg-desc as arg, sometimes not, sometimes functions return a list of symbols sometimes a list of pkg-desc, what is a package name, a string or a symbol? What is a pkg-desc exactly, sometimes it is the cdr in other places the cadr is used... Also built-in packages don't have the same format unless they are distribut= ed in Elpa etc... >> Some packages seems to require a specific version of a package for their >> dependency e.g. seq, by excluding it the package may not work correctly, >> this is my understanding but I may be wrong. Also perhaps the package >> e.g. seq is selected later when computing dependencies but maybe user >> wants to select a particular version manually in the first place? > > The current algorithm should pick the first package in the package alist > that satisfies the necessary dependencies. Perhaps that should be > re-thought or the selection should be more clever, e.g. if the user > explicitly specifies a dependency with a version, then it should be > preferred to whatever other dependency might be determined, at the > possible expense of triggering runtime bugs. I think it is hard to cover all cases, but after all it is more a developer tool for debugging a particular package than a end user tool to run packages, so perhaps the developer can give directives about dependencies to use when needed. Another thing, you use actually=20 (expand-file-name invocation-name invocation-directory) I suggest you use the truename of this instead as emacs can be symlinked in some installations. It should work with the symlink name, but it is clearer which emacs version is used. Now your function is working fine and nearly finish, did you think how you are going to distribute it? It seems you are going to merge it in master, but what about providing it as well as a Elpa package so that users of old emacs (at some point of course, say emacs-27) can use it to report bugs? Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmTfAX4THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzIjC/0bBkKGDDjGZPIqZfl1ZMBuMR50yA4A qruWYMhL12zjWfpeK/1+bMSzuFuuXuA2oscPxJ4ewvzatGKE0uDxIYDGbe8O+ZZw bM6vreoav0kjqmdIhprwrSNBgjQWh510H98Nn+bLu+IFU1XDznCQPVzwGM777VgB yanSLvbmW6iiFVd2xKkUoN8808eMRNlW1AGMxnZR0FrZNdFbksud3MZXWEQZrzYJ i0nvYHA/xVVoqUNnpINiO1hnkTDJoG2zQcgp9HCeLm6HTZEuxbiNT9xHrEm+vbRU drt4R3qyvKUmdvPjccywPUXFnDBrd/V/R48XNobiDWmsvYDwx/n33IdGDF/zuquN HL6vh55BUoUTsX6i95+/ytaN4VE17kxADrjeK7kxyAd4uKszJ7Ajz+bryR6iWX4x FQy1qjNTL5A/qyLwT9HtpbvIc23zQQ1xyvr6sajVZCsV6d0CfPHkWJdCDjKjc7aN 1lPCwz98+1LXyP0MWYl8angqFLWS8q2Xuew= =oFud -----END PGP SIGNATURE----- --=-=-=--