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.bugs Subject: bug#60418: [PATCH] Add :vc keyword to use-package Date: Fri, 05 May 2023 17:15:42 +0000 Message-ID: <87wn1mlmwx.fsf@posteo.net> References: <87zgb6uk2r.fsf@hyperspace> <87r0spa712.fsf@posteo.net> <87edopiif5.fsf@hyperspace> <87wn2bzvcp.fsf@hyperspace> <835y9vbyfr.fsf@gnu.org> <87mt36uwl8.fsf@hyperspace> <83ttxd8k1z.fsf@gnu.org> <87v8hrn56l.fsf@hyperspace> <87cz3w2lvb.fsf@posteo.net> <87jzy3ku6u.fsf@hyperspace> <87bkje93ou.fsf@posteo.net> <87y1mhihhy.fsf@hyperspace> <87ildbet2d.fsf@hyperspace> <831qjyoqj5.fsf@gnu.org> <87h6suolt2.fsf@hyperspace> <83ttwun4q4.fsf@gnu.org> <87o7n0fr9e.fsf@hyperspace> <878re3cqro.fsf@posteo.net> <83ild7jq5c.fsf@gnu.org> <87v8h7ba55.fsf@posteo.net> <83zg6ji806.fsf@gnu.org> 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="23929"; mail-complaints-to="usenet@ciao.gmane.io" Cc: soliditsallgood@mailbox.org, felician.nemeth@gmail.com, 60418@debbugs.gnu.org, stefankangas@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 05 19:16:17 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1puz2W-00062P-Sl for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 05 May 2023 19:16:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puz2K-0000bA-ES; Fri, 05 May 2023 13:16:04 -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 1puz2I-0000ad-Ib for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 13:16:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puz2I-00011g-A8 for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 13:16:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1puz2H-000716-Vv for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 13:16:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 May 2023 17:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60418 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 60418-submit@debbugs.gnu.org id=B60418.168330695126948 (code B ref 60418); Fri, 05 May 2023 17:16:01 +0000 Original-Received: (at 60418) by debbugs.gnu.org; 5 May 2023 17:15:51 +0000 Original-Received: from localhost ([127.0.0.1]:57350 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puz27-00070Z-4N for submit@debbugs.gnu.org; Fri, 05 May 2023 13:15:51 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:59511) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puz25-00070K-Cy for 60418@debbugs.gnu.org; Fri, 05 May 2023 13:15:50 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 4181B24058A for <60418@debbugs.gnu.org>; Fri, 5 May 2023 19:15:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1683306943; bh=7W4qV3TLRxZiBWl/nX5PD0TIVzaVlhQHiOTC2VjUnBI=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=nk5HbHSC/grE4ZNZ3eJ8QG+CaEf7af5xwCHB5/AfdO0RlMX18r1/eobBDH4aqrruf HQhK/1B9y/F5hjW+yKXviUtsRk0cpe39iX+bzCQKaqBIKpeFayXbpV9/ypp5NwNnqY 4W6dXQlUQmjf831ILROwpXhVs7OuNaFuKBVg7locdTRAh0HpUQVGt8+apVnlyA4PRm JMR2fB1Le0EqVvH9M5hGOGNpxynPwld+Vma8ypugFAt4OKAlnNSy5LpCrPftYt4oz7 kXy3Iqj6h+V3cGW+lasSA9pJo5OvVEsuqCV+rcEohQsVDqYWJv37N/cBof30/7Nkzu 8hPiJmkpRcSaw== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QCclL3n7nz9rxB; Fri, 5 May 2023 19:15:42 +0200 (CEST) In-Reply-To: <83zg6ji806.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 05 May 2023 09:53:45 +0300") 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 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:261124 Archived-At: Eli Zaretskii writes: >> From: Philip Kaludercic >> Cc: soliditsallgood@mailbox.org, 60418@debbugs.gnu.org, >> felician.nemeth@gmail.com, stefankangas@gmail.com >> Date: Fri, 05 May 2023 05:49:26 +0000 >>=20 >> >> How about we just say "the commit of the latest release"? >> > >> > When package-vc-install is used, what is "the latest release"? isn't >> > that the HEAD of the default branch? IOW, what about packages that >> > make no releases at all? >>=20 >> No, the commit of the latest release is interpreted the same way as >> elpa-admin.el does, namely the last revision that modified the "Version" >> header. If no such commit can be found, then a message is printed out >> and the installation continues under the assumption that the package is >> using a rolling-release model. > > I thought package-vc-install is used (or at least can be used) to > fetch the latest HEAD from the upstream repository? I even thought > this was its main raison d'=C3=AAtre? > > If that's not true, does it mean we have no means for package users to > track the latest development code of a package? This is true, for package-vc-install, but the idea was not do this for the :vc keyword to use-package. My understanding is that the main interest here is to install packages that are not available via package archives. And as use-package is a popular means of bootstrapping a configuration, it seems the right approach to use the commit of the latest revision, instead of just any commit to avoid instability. >> >> Are there any other places where we can fix this confusion? >> > >> > I guess the documentation of package-vc-install shares these issues? >>=20 >> How does this sound like to you: >>=20 >> diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.= el >> index 8f62e7d65f3..b28e33b3b89 100644 >> --- a/lisp/emacs-lisp/package-vc.el >> +++ b/lisp/emacs-lisp/package-vc.el >> @@ -747,11 +747,14 @@ package-vc-install >> symbol whose name is the package name, and the URL for the >> package will be taken from the package's metadata. >>=20=20 >> -By default, this function installs the last version of the package >> -available from its repository, but if REV is given and non-nil, it >> -specifies the revision to install. If REV has the special value >> -`:last-release' (interactively, the prefix argument), that stands >> -for the last released version of the package. >> +By default, this function installs the last revision of the >> +package available from its repository, but if REV is given and >> +non-nil, it specifies the revision to install. If REV has the >> +special value `:last-release' (interactively, the prefix >> +argument), an attempt is made to find the revision of the latest >> +release. This is done by looking up the last revision that >> +modified the \"Version\" header, as described in the Info >> +node `(elisp) Library Headers'. > > First, too much of passive voice. > More importantly, this still doesn't tell: > > . what is "the last revision", the one installed if REV is omitted? > . what are possible values of REV, in addition to :last-release, and > how are those values interpreted, in VCS terms? I have tried to address these issues here: By default, this function installs the last revision of the package available from its repository. If REV is a string, it describes the revision to install, as interpreted by the VC backend. The special value `:last-release' (interactively, the prefix argument), will use the commit of the latest release, if it exists. The latest revision is determined by the latest revision to modify the \"Version\" header of the main file. But I couldn't come up with an elegant way to avoid the passive voice in the last sentence. >> I can apply this or any variation thereof to emacs-29. > > emacs-29 is fine for documentation changes.