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#67955: [PATCH] Add use-package-vc-prefer-newest user option Date: Tue, 16 Jan 2024 07:33:39 +0000 Message-ID: <87ply1g2b0.fsf@posteo.net> References: <87a5q3bf0e.fsf@hyperspace> <87a5paldfy.fsf@posteo.net> <878r4t18in.fsf@hyperspace> <87fryzxecx.fsf@posteo.net> <87h6jecpyk.fsf@hyperspace> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23558"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Kangas , 67955@debbugs.gnu.org To: Tony Zorman Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jan 16 08:35:52 2024 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 1rPdzE-0005s7-Dj for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 16 Jan 2024 08:35:52 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rPdxh-0000BB-FS; Tue, 16 Jan 2024 02:34:17 -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 1rPdxT-0008TE-3l for bug-gnu-emacs@gnu.org; Tue, 16 Jan 2024 02:34:06 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rPdxS-00046R-NX for bug-gnu-emacs@gnu.org; Tue, 16 Jan 2024 02:34:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rPdxS-0006P0-JI for bug-gnu-emacs@gnu.org; Tue, 16 Jan 2024 02:34:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 16 Jan 2024 07:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67955 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 67955-submit@debbugs.gnu.org id=B67955.170539042924590 (code B ref 67955); Tue, 16 Jan 2024 07:34:02 +0000 Original-Received: (at 67955) by debbugs.gnu.org; 16 Jan 2024 07:33:49 +0000 Original-Received: from localhost ([127.0.0.1]:47580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rPdxF-0006OY-3g for submit@debbugs.gnu.org; Tue, 16 Jan 2024 02:33:49 -0500 Original-Received: from mout02.posteo.de ([185.67.36.66]:39859) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rPdxC-0006OK-JV for 67955@debbugs.gnu.org; Tue, 16 Jan 2024 02:33:48 -0500 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 8CF16240101 for <67955@debbugs.gnu.org>; Tue, 16 Jan 2024 08:33:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1705390420; bh=5ztmYk+JG/RhwZjM67YnrYvwNXs2JjYem+h/RouMTkg=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: From; b=EwEcMAIySGH+Xx9ku1XCn4z/Aa131mlYqOdvHQWsGhKOMt7fMJw4rsGROw78WSQAD 0cAktkx60K/4Xt6lxVzGUZ2v7uRbniKeA1nlL8LOB8S+BP/1ZhLvHkCABI1E154vdr OPvAgzzxp46KPYEEvwbJfYUtcQS1sBG3ZdsHB9ahsazaFq6zWYbXEBzoLgzfcD9u8O 9iKAkKycjrfupTRkxxqRk3uS5/qP2ve7mxbywBc3SQVHgif9KtivcSv5xBvPlh+sNr Q5bvXkJAQ2OQ3F6BtjkfH4eWK7RmURHZlz5dZ+dXLiRU+UPrMu1FVKsmbiVYiX1WPk ftr6jwP08KWFA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4TDgjb5qjRz6tm4; Tue, 16 Jan 2024 08:33:39 +0100 (CET) In-Reply-To: <87h6jecpyk.fsf@hyperspace> (Tony Zorman's message of "Mon, 15 Jan 2024 21:16:19 +0100") 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 OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt 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:278320 Archived-At: Tony Zorman writes: [...] >> Yes, that was what I meant. I don't want to assume that users are >> familiar with MELPA, so a brief comment to that effect should suffice. >> Thanks! > > Okay, I've attached a new version of the patch. > > Thanks for the review! > T > > From 8f207a132f669cf2486ecf0e12ade864a9a6912c Mon Sep 17 00:00:00 2001 > From: Tony Zorman > Date: Thu, 21 Dec 2023 17:51:09 +0100 > Subject: [PATCH] Add use-package-vc-prefer-newest user option > > * lisp/use-package/use-package-core.el (use-package-vc-prefer-newest): > User option to prefer the latest commit (as opposed to the latest > release) of a package. > (use-package-normalize--vc-arg): Check for > use-package-vc-prefer-newest. > > * doc/misc/use-package.texi (Install package): Document > use-package-vc-prefer-newest. > > * etc/NEWS: Document use-package-vc-prefer-newest. > --- > doc/misc/use-package.texi | 8 ++++++-- > etc/NEWS | 5 +++++ > lisp/use-package/use-package-core.el | 22 +++++++++++++++++++--- > 3 files changed, 30 insertions(+), 5 deletions(-) > > diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi > index d834e1be754..c2b6404b68b 100644 > --- a/doc/misc/use-package.texi > +++ b/doc/misc/use-package.texi > @@ -1639,8 +1639,12 @@ Install package > would try -- by invoking @code{package-vc-install} -- to install the > latest commit of the package @code{foo} from the specified remote. > > -This can also be used for local packages, by combining it with the > -@code{:load-path} (@pxref{Load path}) keyword: > +@vindex use-package-vc-prefer-newest > +Alternatively, the @code{use-package-vc-prefer-newest} user option > +exists to always prefer the latest commit. > + > +The @code{:vc} keyword can also be used for local packages, by > +combining it with @code{:load-path} (@pxref{Load path}): > > @example > @group > diff --git a/etc/NEWS b/etc/NEWS > index 03b8c3b517a..f9e01b14f92 100644 > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -1035,6 +1035,11 @@ interactive Python interpreter specified by 'python-interpreter'. > *** New ':vc' keyword. > This keyword enables the user to install packages using 'package-vc'. > > ++++ > +*** New user option 'use-package-vc-prefer-newest'. > +This allows the user to always install the newest commit of a package > +when using the ':vc' keyword. > + > ** Gnus > > *** The 'nnweb-type' option 'gmane' has been removed. > diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el > index d9343e14839..ba2e93c97e9 100644 > --- a/lisp/use-package/use-package-core.el > +++ b/lisp/use-package/use-package-core.el > @@ -346,6 +346,20 @@ use-package-compute-statistics > :type 'boolean > :group 'use-package) > > +(defcustom use-package-vc-prefer-newest nil > + "Prefer the newest commit over the latest release. > +By default, much like GNU ELPA and NonGNU ELPA, the `:vc' keyword > +tracks the latest stable release of a package. If this option is > +non-nil, the latest commit is preferred instead. This has the > +same effect as specifying `:rev :newest' in every invocation of > +`:vc'. > + > +Note that always tracking a package's latest commit might lead to > +stability issues." > + :type 'boolean > + :version "30.1" > + :group 'use-package) Sounds good to me, I think the patch can be merged. Any objections? > + > (defvar use-package-statistics (make-hash-table)) > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > @@ -1649,9 +1663,11 @@ use-package-normalize--vc-arg > (if (and s (stringp s)) (intern s) s)) > (normalize (k v) > (pcase k > - (:rev (cond ((or (eq v :last-release) (not v)) :last-release) > - ((eq v :newest) nil) > - (t (ensure-string v)))) > + (:rev (pcase v > + ('nil (if use-package-vc-prefer-newest nil :last-release)) > + (:last-release :last-release) > + (:newest nil) > + (_ (ensure-string v)))) > (:vc-backend (ensure-symbol v)) > (_ (ensure-string v))))) > (pcase-let ((valid-kws '(:url :branch :lisp-dir :main-file :vc-backend :rev)) > -- > 2.43.0