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.bugs Subject: bug#72141: 29.4; package-upgrade vs package-load-list Date: Sun, 04 Aug 2024 17:15:04 +0000 Message-ID: <87ikwgjjl3.fsf@posteo.net> References: <87ikx5xulu.fsf@posteo.net> <865xsr2tn0.fsf@gnu.org> <871q3drb4v.fsf@posteo.net> <8634nt1z2k.fsf@gnu.org> <87plqxbsh4.fsf@posteo.net> <87o76c3fiq.fsf@posteo.net> <8734nmguiq.fsf@posteo.net> <8734nkz67g.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="26689"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Thierry Volpiatto , Eli Zaretskii , 72141@debbugs.gnu.org To: Philip Kaludercic Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Aug 04 19:13:06 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 1saen3-0006oc-Ux for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 04 Aug 2024 19:13:06 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1saemj-0002FZ-RZ; Sun, 04 Aug 2024 13:12:46 -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 1saemf-0002FA-EM for bug-gnu-emacs@gnu.org; Sun, 04 Aug 2024 13:12:41 -0400 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 1saemf-0007Wq-50 for bug-gnu-emacs@gnu.org; Sun, 04 Aug 2024 13:12:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:References:In-Reply-To:From:To:Subject; bh=9vsyVd3RpYdxhrxmo8vGhbtmIQ/htDDvCWU4suDfB6Q=; b=RH4KBxCq35+8P7fWQNqPVtKdij8T3FjLjzzb820gR7DOs0d7ynGys/x71+XaEi3p2a43jtlLsIN+tlg/dXVw45/Rz6UWbVS77ZvDmYKfmgYeY4I7akMP7K9+5udBH6Xujv4v2qbIv0oSU8xV8arDDSEWI+FT6m/IHdZ/LVi+NfERkgMT23LoiUR08IfEKjcU6Ok8pvpU4eVsX3DEDT/8UeEuKrDy82iRBUsalh4Nzi8UIyci2TjoDHM+huCic4Huq1NIVJTN2pqhhQhaLK0UAiAz/+I5tbou8x/qpSmUsC4FW67UiVHPavd7J3XJOw3mqnYalWTSRnj3RfwGX0vWVA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1saen0-0001Op-A5 for bug-gnu-emacs@gnu.org; Sun, 04 Aug 2024 13:13:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 04 Aug 2024 17:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72141 X-GNU-PR-Package: emacs Original-Received: via spool by 72141-submit@debbugs.gnu.org id=B72141.17227915255172 (code B ref 72141); Sun, 04 Aug 2024 17:13:02 +0000 Original-Received: (at 72141) by debbugs.gnu.org; 4 Aug 2024 17:12:05 +0000 Original-Received: from localhost ([127.0.0.1]:57118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1saem4-0001LL-Fd for submit@debbugs.gnu.org; Sun, 04 Aug 2024 13:12:04 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:38557) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1saem2-0001Ka-KR for 72141@debbugs.gnu.org; Sun, 04 Aug 2024 13:12:03 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 0A1A0240027 for <72141@debbugs.gnu.org>; Sun, 4 Aug 2024 19:11:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1722791495; bh=eTae1Yo9/IHJogrPJSRHuA0C1AEAeITx1t3P08bRpzc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Autocrypt:OpenPGP:From; b=KGXAaA0uvWxUipIEu45u6MXl+9kdWWUCt9aZpmtjlvkRC56gekbh93ebBOJKuNxJh UfsUzQpk+zOksEm9QlgtWI3QQtAdDj0fBuNSfL7jx1lLzFQDVmU0vItkXHBJm9l5+3 RkQoEu3ZRr1hkSorXazt+tp7EKTpPIMK3nBSAx3Rayjg7UFm7FPCpWrL3cjCCS6y0Y z2FyH6co8edkjY/0csonBHEWfuLj/uYHnVnGo9zkggi+p8cL84JNenWDB0lbCs0aNF Vf3t21iDWTZZd57cpPzNgZQom5tt24ERuN7osx6vFYkzruGpmy0gSAAs+zVEKQtvkj KOAIqkF7QY9qw== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4WcR1Z6MhTz9rxB; Sun, 4 Aug 2024 19:11:30 +0200 (CEST) In-Reply-To: <8734nkz67g.fsf@posteo.net> (Philip Kaludercic's message of "Sun, 04 Aug 2024 14:57:23 +0000") Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=xsDNBF8ylcIBDADG+hy+zR6L4/vbdDDZuSaMmSrU3A5QZJpeBCvxTr7MpzzruZbhLPW1K3R6N2MA edi8Y+C8o27FVRIjpdbaKMGu9je7JV/TbUQYo3SOwCK1vM4LUn4V6ZLzSYkuiEt4eyMoiDdyvN0p kcK6P9x9DCetcEVszXzQg+yzCVrQ2hXWDXWT4M18EC3wtO7RHPouMqGiwBFhBAYErCqFWFxQHkfb tG/4yGyJ58rglb65O3qijjMWvYwcWZun9/7qm8Z4/4mHopmo2zgU+OrptnLSZfkZGz3Y7Uf452xQ GVq0Fv75NPvQru7y+DYVhuVXXyAmGxt+vf4rIiixMBbhKEPjcxEPAa2LTzex2IsTZR+QVG9uDnqC WcgaOEQ58fzXNvNhtwwF/Rgio2XWAJVdmFWS59/k9W58CIUSNKBMZh2XeGdEmtHvDtCxW3z6FJha 36RzOM3fMNNiAGdFZJA84gcdloJR+sHCDTTPT3784fjr+V8An7sI581NGFzkRQqPvEQCZbUAEQEA Ac0SdGhpZXZvbEBwb3N0ZW8ubmV0wsEOBBMBCgA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA FiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmL3HCoACgkQDsVtFB0W75OVEAv/f6XxmtIFz08fUb8h Bp/zJP6IC4/rhhh+0GMRIRzLN8DK0jV8JCzYdFHiRJOy2lNIOpmrrCmjRRxferc2G42+ePFIsslx hU46VSz1Z83NwIG3mpdYNV5WUTUdgzxExHTNTFCd7NKv0nlHKQaA OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt 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:289774 Archived-At: --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Philip, Philip Kaludercic writes: > Gladly, then I'd like to try it out it and perhaps write a ERT test. Patch attached, please review and test it before merging ;-) Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Fix-bug-72141-package-upgrade-should-not-include-dis.patch Content-Transfer-Encoding: quoted-printable From=20292e251a383c1fb53cc377cd32f71705e6742f85 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Sat, 3 Aug 2024 06:07:28 +0200 Subject: [PATCH] Fix bug#72141, package-upgrade should not include disabled packages * lisp/emacs-lisp/package.el (package--upgradeable-packages): Rewrite with a new optional arg to filter out disabled packages from output. (package-upgrade, package-upgrade-all): Use it and filter out built-in packages from completion according package-install-upgrade-built-in value. =2D-- lisp/emacs-lisp/package.el | 60 ++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 7cae8d68bc0..83996c9d6de 100644 =2D-- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2259,11 +2259,15 @@ had been enabled." "Upgrade package NAME if a newer version exists." (interactive (list (completing-read =2D "Upgrade package: " (package--upgradeable-packages t) nil t))) + "Upgrade package: " (package--upgradeable-packages + package-install-upgrade-built-in + 'ignore-disabled) + nil t))) (let* ((package (if (symbolp name) name (intern name))) (pkg-desc (cadr (assq package package-alist))) + ;; Keep this binding for non-interactive use. (package-install-upgrade-built-in (not pkg-desc))) ;; `pkg-desc' will be nil when the package is an "active built-in". (if (and pkg-desc (package-vc-p pkg-desc)) @@ -2275,32 +2279,37 @@ had been enabled." ;; before. Mark it as installed explicitly. (and pkg-desc 'dont-select))))) =20 =2D(defun package--upgradeable-packages (&optional include-builtins) +(defun package--upgradeable-packages (&optional + include-builtins ignore-disabled) ;; Initialize the package system to get the list of package ;; symbols for completion. (package--archives-initialize) =2D (mapcar =2D #'car =2D (seq-filter =2D (lambda (elt) =2D (or (let ((available =2D (assq (car elt) package-archive-contents))) =2D (and available =2D (or (and =2D include-builtins =2D (not (package-desc-version (cadr elt)))) =2D (version-list-< =2D (package-desc-version (cadr elt)) =2D (package-desc-version (cadr available)))))) =2D (package-vc-p (cadr elt)))) =2D (if include-builtins =2D (append package-alist =2D (mapcan =2D (lambda (elt) =2D (when (not (assq (car elt) package-alist)) =2D (list (list (car elt) (package--from-builtin elt)))= )) =2D package--builtins)) =2D package-alist)))) + (let ((pkgs (if include-builtins + (append package-alist + (append package-alist + (mapcan + (lambda (elt) + (when (not (assq (car elt) package-al= ist)) + (list + (list + (car elt) + (package--from-builtin elt))))) + package--builtins))) + package-alist))) + (cl-loop for (sym desc) in pkgs + for available =3D + (if-let ((av (assq sym package-archive-contents))) + (if ignore-disabled + (and (not (package-disabled-p sym cversion)) av) av)) + for cversion =3D (and available (package-desc-version desc)) + when (or (and available + (or (and include-builtins (not cversion)) + (and cversion + (version-list-< + cversion + (package-desc-version (cadr available= )))))) + (package-vc-p desc)) + collect sym))) =20 ;;;###autoload (defun package-upgrade-all (&optional query) @@ -2315,7 +2324,8 @@ from ELPA by either using `\\[package-upgrade]' or `\\\\[package-menu-mark-install]' after `\\[list-pa= ckages]'." (interactive (list (not noninteractive))) (package-refresh-contents) =2D (let ((upgradeable (package--upgradeable-packages))) + (let ((upgradeable (package--upgradeable-packages + package-install-upgrade-built-in 'ignore-disabled))) (if (not upgradeable) (message "No packages to upgrade") (when (and query =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmavtxgTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk8MoC/0T9AyUFatUVhOL2hD9L8m4ZAQrVMRL h3Rgl/iya7/nHxl11Ie0b/NbiwLRodfQF5Sy2nQZnGycGoa94gpPRL9pojuxVB32 YvRT/esXwIGPN5tDo+e6ivMT2xJsM0KfFqGYR+1oitqRtRERHpH/laRIPke6plk1 6pMIUpI1gkB9kr62isZcpIGVwaFFZadvSQmXv8VT5xSRIB/G1mitUJeKmslxMk5a cRAPRpQc7K+3IOw2Y472IADJSxfCymH4mHexQQ3b7kt58qXhkgH/G2hP7IOv0Ggj mhSwltxqPUFKeSDY1d5z+lI69CkMLX3N9/rv2B+IrX1XGnQvTxSnEC3vR3m61iMZ buKbxlQ7nf6+70erDpkGT+wZJgyGKrWSbAD0RmH7WUF0O/P3RRovwyP+z6Z6t8He VTtmiipAme5PV+rN79e6/zG7jn7tPyKqPNAyPZKM2h0I877sVAX8Ahm62AhMwYBz VjLba3kZRRe5js0LKg4mkKbqjZxjdqn2OoA= =aoar -----END PGP SIGNATURE----- --==-=-=--