GNU bug report logs - #65475
29.1; package-selected-packages variable is not updated when the last package is deleted

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Andrey Samsonov <samsonov.box@HIDDEN>; dated Wed, 23 Aug 2023 14:26:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 14 Sep 2023 14:28:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 14 10:28:08 2023
Received: from localhost ([127.0.0.1]:40754 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qgnKC-0007ue-FM
	for submit <at> debbugs.gnu.org; Thu, 14 Sep 2023 10:28:08 -0400
Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]:51314)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qgnK9-0007uA-WD
 for 65475 <at> debbugs.gnu.org; Thu, 14 Sep 2023 10:28:07 -0400
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2bf66a32f25so15708901fa.2
 for <65475 <at> debbugs.gnu.org>; Thu, 14 Sep 2023 07:27:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1694701674; x=1695306474; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=moEMwETHIqGw23+/lmkPKIX5KzvUCIhvMjhefac8nNM=;
 b=Ia2GhBYexP4E+aDXSU2kvZMIk/C3SuHkDiqfhHlj6vNGj/RWyidBaAyCw0NvPQESE3
 MJ72IHuUwiDQyf28XcIFRplFsNncqwhdndHbg8l7I2VWlV6wFbAE9z7l8qjirxv6o5yQ
 TGX9LzbpiiQllBgMo82AvmTnFEETlgr+OC6+69gltW6NGwJGIM35bmVNTO50pqlYqzHF
 86QZfNKtlG+8cHd7Y4C1CCN5IPjeMReA0pkrpGd4TpEN9jBsUk3eQQBSC3dUfSqLfIVg
 EPf4DnsZT8NGbcDJfsuxCeRkmcpf1dfRqxkNCX6fGFkzdfqJsfI4tnRaDxYzMpT5C65z
 gXBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1694701674; x=1695306474;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=moEMwETHIqGw23+/lmkPKIX5KzvUCIhvMjhefac8nNM=;
 b=m+6NvgTD29WSmnvGWv/X+s0Y4Oog/ezfbxOquYoMhbq+BOCOr2gF3qf5RXsVAHRie2
 Isc/W+hjtl/nlE61/yYFhk8vb2CXjpWzUiXPy4ca8/OEFcLbKQ+PkRc5sVFQXgZxSslX
 ZTgyNa9GeyhjtKbhLOULDh5OmptWbyfA9kLm2Etw1AJqihkGoolUyvpRWUtxptYBXDVy
 MSILDSwfdu9INvY+/jCxPwoDlDJTMroNnm1xiV+KJBHiREScphh8dR2GQzj3Wjqi+s8q
 DuC8Apuy3hDXHHoQD0SbBXhQsE9DtxAKvZuzqECLbNzad58A1p2cR2aaY4Ib61rKHfnF
 XukA==
X-Gm-Message-State: AOJu0YxBntJ4R+s9jJz8ziatRUHhGhgFnImumpnW3B/LuHmmmmb/dqe9
 mymikIRE59D0Cc3CckEYParRkAw2GCj7XXPUOgU=
X-Google-Smtp-Source: AGHT+IHXdivtbml8orsbnuYoyn8NEoLMrdRdwP759GT6X8KrL5j/iLXoQMEyV52+7uY3B6PBvHGxzXoYGXjna7sN71A=
X-Received: by 2002:a2e:960e:0:b0:2bf:789e:b5dd with SMTP id
 v14-20020a2e960e000000b002bf789eb5ddmr4716016ljh.53.1694701673890; Thu, 14
 Sep 2023 07:27:53 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Thu, 14 Sep 2023 07:27:53 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <87sf7goq8u.fsf@HIDDEN>
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN>
 <87h6o8eec3.fsf@HIDDEN> <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 <87fs3mxmtp.fsf@HIDDEN> <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN>
 <8734ziv1ck.fsf@HIDDEN>
 <CADwFkm=Lukk9vhxExfyx-1FTEggMXas5EmJ3t9Rp6Xr2x78M4g@HIDDEN>
 <87sf7goq8u.fsf@HIDDEN>
MIME-Version: 1.0
Date: Thu, 14 Sep 2023 07:27:52 -0700
Message-ID: <CADwFkmkzj_xpPt8PryOOx=dtLn4wH7vSuM=LoZg--EiNs0BjxQ@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
To: Philip Kaludercic <philipk@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Philip Kaludercic <philipk@HIDDEN> writes:

> How does this look like:

Thanks, some comments below:

> From e865604c6a9d06cb986752e28b9ae88d7bc8011e Mon Sep 17 00:00:00 2001
> From: Philip Kaludercic <philipk@HIDDEN>
> Date: Thu, 14 Sep 2023 15:09:19 +0200
> Subject: [PATCH] package-tests.el: Add test Bug#65475
>
> * test/lisp/emacs-lisp/package-tests.el (with-package-test): Bind
> package-selected-packages.
> (package-test-bug65475): Add test.
> ---
>  test/lisp/emacs-lisp/package-tests.el | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/test/lisp/emacs-lisp/package-tests.el b/test/lisp/emacs-lisp/package-tests.el
> index 113b4ec12a8..b55254bc036 100644
> --- a/test/lisp/emacs-lisp/package-tests.el
> +++ b/test/lisp/emacs-lisp/package-tests.el
> @@ -125,6 +125,7 @@ with-package-test
>              abbreviated-home-dir
>              package--initialized
>              package-alist
> +            package-selected-packages
>              ,@(if update-news
>                    '(package-update-news-on-upload t)
>                  (list (cl-gensym)))
> @@ -307,6 +308,23 @@ package-test-bug58367
>        (package-delete (cadr (assq 'v7-withsub package-alist))))
>      ))
>
> +(ert-deftest package-test-bug65475 ()
> +  "Ensure deleting a package clears `package-selected-packages'."
      ^^^^^^ (1)      ^^^^^^^^^ (2)

1. Is this word redundant?
2. Maybe: "the last package"?

> +  (with-package-test (:basedir (ert-resource-directory))
> +    (package-initialize)
> +    (let* ((pkg-el "simple-single-1.3.el")
> +           (source-file (expand-file-name pkg-el (ert-resource-directory))))
> +      (should-not package-alist)
> +      (should-not package-selected-packages)
> +      (package-install-file source-file)
> +      (should package-alist)
> +      (should package-selected-packages)
> +      (let ((desc (cadr (assq 'simple-single package-alist))))
> +        (should desc)
> +        (package-delete desc))

I'm not sure that the `should's and `should-not's above help, because
they make the intention of this test case less clear.  For example, the
test fails if installing the package fails, but don't we already have a
separate test for that?  Do we really need this test to fail in that
case also?

If we want to check that, as a precondition, `package-alist' and
`package-selected-packages' are empty, perhaps that should be some
`cl-assert's in the `with-package-test' macro?  OTOH, we already know
it's nil because of the let in the macro, so wouldn't that just be
verifying that let-binding a variable works correctly?

It seems like the relevant `should's for this particular test are the
two below:

> +      (should-not package-alist)
> +      (should-not package-selected-packages))))
> +
>  (ert-deftest package-test-install-file-EOLs ()
>    "Install same file multiple time with `package-install-file'
>  but with a different end of line convention (bug#48137)."
> --
> 2.39.2




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 14 Sep 2023 13:10:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 14 09:10:09 2023
Received: from localhost ([127.0.0.1]:37961 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qgm6i-0002co-Ur
	for submit <at> debbugs.gnu.org; Thu, 14 Sep 2023 09:10:09 -0400
Received: from mout01.posteo.de ([185.67.36.65]:56737)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qgm6g-0002cD-GU
 for 65475 <at> debbugs.gnu.org; Thu, 14 Sep 2023 09:10:07 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id CF618240029
 for <65475 <at> debbugs.gnu.org>; Thu, 14 Sep 2023 15:09:54 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1694696994; bh=QqgXxxhUrsdqmRd9Pb/pYHGXH5edYzgPzMHYGiea/EQ=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=Y3WlmRcHYnjdDCK7BVd/m/C2Ay34zOzR4D26Rb5My7vSBOUksv8WrTHkoHj4opaDH
 ISl/LH2u8Al7OvXo0NXsNvLSPBpDlP0ZpMUlJycth38l4v1NoI9NlYfwlPEnJpIyRx
 tXSML0Y/FbybtvC3J8XOfB/4y7Mv8ycpexawghymSbRkqig9oKYgDFSoK9nEym9Rml
 HFO6sQMjm+YqisE9lC5fV6S3n+OI22SqZhc9ecMAw1oobbglthbdyHvCwlfzPibU0h
 Lg6pR6Mi6qZQMfXFt5RMrzXlp88z+ZScfPrtKEsoZ5EYMm7YJKhOxZWkcxSbh1uAsW
 Yr/3ytKBrNWxw==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Rmd2n5yb4z6twj;
 Thu, 14 Sep 2023 15:09:53 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <CADwFkm=Lukk9vhxExfyx-1FTEggMXas5EmJ3t9Rp6Xr2x78M4g@HIDDEN>
 (Stefan Kangas's message of "Wed, 13 Sep 2023 07:41:16 -0700")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN> <87h6o8eec3.fsf@HIDDEN>
 <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 <87fs3mxmtp.fsf@HIDDEN> <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN>
 <8734ziv1ck.fsf@HIDDEN>
 <CADwFkm=Lukk9vhxExfyx-1FTEggMXas5EmJ3t9Rp6Xr2x78M4g@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Thu, 14 Sep 2023 13:09:53 +0000
Message-ID: <87sf7goq8u.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain

Stefan Kangas <stefankangas@HIDDEN> writes:

> Philip Kaludercic <philipk@HIDDEN> writes:
>
>>> If we really can't find a better option, we need to add a bunch of
>>> comments explaining why we ended up with such a hack.
>>
>> It seems that it is only necessary to bind `package-alist' during the
>> invocation of `package--used-elsewhere-p', so this is a more
>> conservative proposal:
>
> Any chance we could add a unit test for this?  It's been a while since I
> last looked at package-tests.el.
>
> Other than that, LGTM.

How does this look like:


--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment;
 filename=0001-package-tests.el-Add-test-Bug-65475.patch

From e865604c6a9d06cb986752e28b9ae88d7bc8011e Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <philipk@HIDDEN>
Date: Thu, 14 Sep 2023 15:09:19 +0200
Subject: [PATCH] package-tests.el: Add test Bug#65475

* test/lisp/emacs-lisp/package-tests.el (with-package-test): Bind
package-selected-packages.
(package-test-bug65475): Add test.
---
 test/lisp/emacs-lisp/package-tests.el | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/test/lisp/emacs-lisp/package-tests.el b/test/lisp/emacs-lisp/package-tests.el
index 113b4ec12a8..b55254bc036 100644
--- a/test/lisp/emacs-lisp/package-tests.el
+++ b/test/lisp/emacs-lisp/package-tests.el
@@ -125,6 +125,7 @@ with-package-test
             abbreviated-home-dir
             package--initialized
             package-alist
+            package-selected-packages
             ,@(if update-news
                   '(package-update-news-on-upload t)
                 (list (cl-gensym)))
@@ -307,6 +308,23 @@ package-test-bug58367
       (package-delete (cadr (assq 'v7-withsub package-alist))))
     ))
 
+(ert-deftest package-test-bug65475 ()
+  "Ensure deleting a package clears `package-selected-packages'."
+  (with-package-test (:basedir (ert-resource-directory))
+    (package-initialize)
+    (let* ((pkg-el "simple-single-1.3.el")
+           (source-file (expand-file-name pkg-el (ert-resource-directory))))
+      (should-not package-alist)
+      (should-not package-selected-packages)
+      (package-install-file source-file)
+      (should package-alist)
+      (should package-selected-packages)
+      (let ((desc (cadr (assq 'simple-single package-alist))))
+        (should desc)
+        (package-delete desc))
+      (should-not package-alist)
+      (should-not package-selected-packages))))
+
 (ert-deftest package-test-install-file-EOLs ()
   "Install same file multiple time with `package-install-file'
 but with a different end of line convention (bug#48137)."
-- 
2.39.2


--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 13 Sep 2023 14:41:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 13 10:41:31 2023
Received: from localhost ([127.0.0.1]:35570 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qgR3b-0001mc-8M
	for submit <at> debbugs.gnu.org; Wed, 13 Sep 2023 10:41:31 -0400
Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]:62577)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qgR3Y-0001mN-4f
 for 65475 <at> debbugs.gnu.org; Wed, 13 Sep 2023 10:41:29 -0400
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2be5e2a3c86so12866011fa.0
 for <65475 <at> debbugs.gnu.org>; Wed, 13 Sep 2023 07:41:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1694616077; x=1695220877; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=9iQTNKzKW4mwjDNPxvxxTDeJA6F+cnp8u925q8iOXaQ=;
 b=MlbrSve0d+mQAWahrlyEVJM2M8iDgdUUbTqrKRpsbnq51JwpmhXuxF797W7QnTUX3i
 a0rhrtp8anLozgAbm9A2zDEMhlrRMfTMeYw62Bf+2S6ETbkfBVHMF+wD8lbO8AthMyQ+
 mVJHC1xZ/4ul/9WpNLStEyHPMWn3QLwn9CaOnX8Up6zXFGVhc/+yFqo1dC0BN+74Fdo7
 0sVyY1pZOHHzkomEHmtKb9r94g8D6ay0gbAaJa3uHRfQtag6snQpAAMDxWyWL9QrZpv4
 SswgIgDcV3BXIG0MJNAm46xtzI6O++QZnztqQXeVQGI0jcLv+QHAQ002d9tqJ34Zl17c
 0lHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1694616077; x=1695220877;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=9iQTNKzKW4mwjDNPxvxxTDeJA6F+cnp8u925q8iOXaQ=;
 b=ZyQmchxPxBmTaitJqj87JzCVvceP80QEEMhTHTTgzfFfYbOBuUoBcBpTuJvfrOCVdx
 +mbTBD4AJ6rUTwN9bMYMUSy7wS5OP8jrGXxJO8c8CRoOs4bO5j2vVyvytsHkNxs3bS1U
 tJV47qMzgUfgvz19GbEgoD8wbzViK98FZ1XCc7rXOsdZ2tix4CYt9J7eUIqNe+s/sC8U
 a1KLCspQGJruBPvieUioyl9gmFAqYwAKSlNSu2PqbFoKCYCzB0q0UK8VfxL/5fAqhA/U
 ONd0W7X+dyNdXbqXwZBFLMMtLb0OXypjO3YFjjAR6TvWuUyn0I9SU+yR3jk5GUHeSsmQ
 14dQ==
X-Gm-Message-State: AOJu0Yxcr63xHEVJbMiPH+ut1DjcjnKTzcyI/l7OuMZdt68QqZX99RU0
 Gs9wJf+hcR7Wp74Xp6/NdFwbxMbmdn9uV3yHjT8=
X-Google-Smtp-Source: AGHT+IHkQbT2vFrJgaLrGVv5sf7AquXfu/5iDEdHgvnUoZVeozqN49qZnm8huB3oLn/GMXnkhNneHVsig985X3yFKbs=
X-Received: by 2002:a05:651c:10bb:b0:2bc:dcbe:f566 with SMTP id
 k27-20020a05651c10bb00b002bcdcbef566mr2187780ljn.11.1694616076724; Wed, 13
 Sep 2023 07:41:16 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Wed, 13 Sep 2023 07:41:16 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <8734ziv1ck.fsf@HIDDEN>
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN>
 <87h6o8eec3.fsf@HIDDEN> <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 <87fs3mxmtp.fsf@HIDDEN> <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN>
 <8734ziv1ck.fsf@HIDDEN>
MIME-Version: 1.0
Date: Wed, 13 Sep 2023 07:41:16 -0700
Message-ID: <CADwFkm=Lukk9vhxExfyx-1FTEggMXas5EmJ3t9Rp6Xr2x78M4g@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
To: Philip Kaludercic <philipk@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Philip Kaludercic <philipk@HIDDEN> writes:

>> If we really can't find a better option, we need to add a bunch of
>> comments explaining why we ended up with such a hack.
>
> It seems that it is only necessary to bind `package-alist' during the
> invocation of `package--used-elsewhere-p', so this is a more
> conservative proposal:

Any chance we could add a unit test for this?  It's been a while since I
last looked at package-tests.el.

Other than that, LGTM.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 13 Sep 2023 14:37:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 13 10:37:07 2023
Received: from localhost ([127.0.0.1]:35555 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qgQzK-0001fH-W3
	for submit <at> debbugs.gnu.org; Wed, 13 Sep 2023 10:37:07 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:64456)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qgQzJ-0001eo-GB
 for 65475 <at> debbugs.gnu.org; Wed, 13 Sep 2023 10:37:06 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8FF3A80551;
 Wed, 13 Sep 2023 10:36:54 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694615813;
 bh=jfASD0oAQjXrXwjDPKsw3/GXUlUmfXStp015j6oTdjc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=A6mWAucbY+fgamDqduyPwNXb6E8TYzcLPgucY01JEvVyyTMOynlKmG+woJU4Mj3s3
 FNikj8rKKT9hk19E2W2JWt5iRAP7da72FaFW7X03SbjkP6cwfoQOY+qiWFLmV7xj/K
 Sc1eGb/E47YzxLOgh5DdcVxGZhG+N+Cdw2Toe3pOT9OlLJunr+A/I/PIAChgvWgaG0
 obD6S6GMVM4FqjFODF6BY45Xk8eE//IxcigkXnvC6WrYdzEyBvDTBPvcFYLPaL1GuM
 e13X9lhYlAmIE3ldSKLs5i5tTk94V/86J+zjWuaw0Qmn3B3+Ld5KDCCjlUjj4ei6eh
 610Tz7BoOO3QA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5E89680270;
 Wed, 13 Sep 2023 10:36:53 -0400 (EDT)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4ACD4120262;
 Wed, 13 Sep 2023 10:36:53 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <8734ziv1ck.fsf@HIDDEN> (Philip Kaludercic's message of "Wed, 
 13 Sep 2023 10:01:15 +0000")
Message-ID: <jwvwmwujg4a.fsf-monnier+emacs@HIDDEN>
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN> <87h6o8eec3.fsf@HIDDEN>
 <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 <87fs3mxmtp.fsf@HIDDEN> <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN>
 <8734ziv1ck.fsf@HIDDEN>
Date: Wed, 13 Sep 2023 10:35:43 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.098 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> It seems that it is only necessary to bind `package-alist' during the
> invocation of `package--used-elsewhere-p', so this is a more
> conservative proposal:

*Much* better, thank you!


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 13 Sep 2023 11:50:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 13 07:50:09 2023
Received: from localhost ([127.0.0.1]:60984 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qgONl-0005eo-0p
	for submit <at> debbugs.gnu.org; Wed, 13 Sep 2023 07:50:09 -0400
Received: from mout02.posteo.de ([185.67.36.66]:57611)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qgONh-0005dy-3K
 for 65475 <at> debbugs.gnu.org; Wed, 13 Sep 2023 07:50:05 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 4076C240104
 for <65475 <at> debbugs.gnu.org>; Wed, 13 Sep 2023 13:49:54 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1694605794; bh=pN7fFkyR+4zGagBemLGUSjRthjsqWfMOwsVgd2dPZFQ=;
 h=From:To:Cc:Subject:Date:Message-ID:Autocrypt:MIME-Version:From;
 b=nzEYb0D65oQLy4Cfmn77jMVXPDIJaFYRDltyUtcvcgHKOjop92YmXIfte8Q6R9Wmx
 gZbLMRR0fQHKTuBojTiu8W4u227StUXboT0GIzrDIRI+YKXIabwHNyWBP8P66gkkhF
 vhdUH1kO1V1HJJ7+nMSjQUHEYhP7Y+i6nKBFcogogGDvw+U4E7QzimeF29M+MGINJi
 wPlb7PqZ7bW6IbCjU5A0ZFW8ads51Js2aoXSaRcopJ2xxgiwDh9M8dw44TD6UWG6u0
 +33gNEi+89BhL4RBBiZvPE+Vy8HGYJ/DIMKhWCjhg87T8sXWjEmuX1k1lrwiEH8h8S
 I1zr4lAEfwK1Q==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4RlzJx0tTrz6tvr;
 Wed, 13 Sep 2023 13:49:53 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sun, 10 Sep 2023 22:42:38 -0400")
Date: Wed, 13 Sep 2023 10:01:15 +0000
Message-ID: <8734ziv1ck.fsf@HIDDEN>
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN> <87h6o8eec3.fsf@HIDDEN>
 <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 <87fs3mxmtp.fsf@HIDDEN> <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain

Stefan Monnier <monnier@HIDDEN> writes:

>> +    (let ((package-alist                 ;see bug#65475
>>             (let ((pkgs (assq name package-alist)))
> [...]
>> +             (set-default-toplevel-value 'package-alist package-alist)
> [...]
>
> Eww!!
>
> If we really can't find a better option, we need to add a bunch of
> comments explaining why we ended up with such a hack.

It seems that it is only necessary to bind `package-alist' during the
invocation of `package--used-elsewhere-p', so this is a more
conservative proposal:


--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment;
 filename=0001-Handle-edge-case-when-deleting-the-last-package.patch

From a8959f1b245540a2d0d158621dedf244ac133849 Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <philipk@HIDDEN>
Date: Wed, 13 Sep 2023 11:58:22 +0200
Subject: [PATCH] ; Handle edge-case when deleting the last package

* lisp/emacs-lisp/package.el (package-delete): Rebind 'package-alist'
while calling 'package--used-elsewhere-p'.  (bug#65475)
---
 lisp/emacs-lisp/package.el | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 3a019905960..02691ff7aa5 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2521,8 +2521,12 @@ package-delete
                                            nil t)))
        (list (cdr (assoc package-name package-table))
              current-prefix-arg nil))))
-  (let ((dir (package-desc-dir pkg-desc))
-        (name (package-desc-name pkg-desc))
+  (let* ((dir (package-desc-dir pkg-desc))
+         (name (package-desc-name pkg-desc))
+         (new-package-alist (let ((pkgs (assq name package-alist)))
+                              (if (null (remove pkg-desc (cdr pkgs)))
+                                  (remq pkgs package-alist)
+                                package-alist)))
         pkg-used-elsewhere-by)
     ;; If the user is trying to delete this package, they definitely
     ;; don't want it marked as selected, so we remove it from
@@ -2541,7 +2545,8 @@ package-delete
                   (package-desc-full-name pkg-desc)))
           ((and (null force)
                 (setq pkg-used-elsewhere-by
-                      (package--used-elsewhere-p pkg-desc)))
+                      (let ((package-alist new-package-alist))
+                        (package--used-elsewhere-p pkg-desc)))) ;See bug#65475
            ;; Don't delete packages used as dependency elsewhere.
            (error "Package `%s' is used by `%s' as dependency, not deleting"
                   (package-desc-full-name pkg-desc)
@@ -2562,10 +2567,7 @@ package-delete
                (when (file-exists-p file)
                  (delete-file file))))
            ;; Update package-alist.
-           (let ((pkgs (assq name package-alist)))
-             (delete pkg-desc pkgs)
-             (unless (cdr pkgs)
-               (setq package-alist (delq pkgs package-alist))))
+           (setq package-alist new-package-alist)
            (package--quickstart-maybe-refresh)
            (message "Package `%s' deleted."
                     (package-desc-full-name pkg-desc))))))
-- 
2.39.2


--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 11 Sep 2023 02:42:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 10 22:42:52 2023
Received: from localhost ([127.0.0.1]:51695 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qfWt1-0002xz-Vk
	for submit <at> debbugs.gnu.org; Sun, 10 Sep 2023 22:42:52 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53814)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qfWsz-0002xl-65
 for 65475 <at> debbugs.gnu.org; Sun, 10 Sep 2023 22:42:50 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 0806D80595;
 Sun, 10 Sep 2023 22:42:40 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694400159;
 bh=aErlV+bSi3wH/HDsUtXPsGONl/6zAZWAk8kcUkWpS0E=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=WMyx74O4RoRyyhSUe5avZp63XsJ6lchypMCpQtcJ5Rsurvoti24GzLPKV+6qjxcit
 czb2L3BTejKMYKHBc5T7fhubgtuKD0FHZGhbWJj+Almg0IrShuggQmDkXFHT01YRpa
 oSn94N74eBwH4lCKU9yZIqxpHBcuL7CFgfhxXlzl97tvYitdU4Z+912MFHRxxkmpVk
 LunlngV1x6MJOqBkd652/+hN/btTuNfM9mRIX9pkhW97Q8pmqejw2XHieggbyZyEd5
 egbPLY3kbc7t4gYrkmuUNtCzhTBQ5e8lj4P8bXTxL3fiRUU7kA6GKTipWs14PEVuQE
 ZsxovlKjLPytQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 035118007C;
 Sun, 10 Sep 2023 22:42:39 -0400 (EDT)
Received: from pastel (unknown [104.247.229.91])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B9BB312013F;
 Sun, 10 Sep 2023 22:42:38 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <87fs3mxmtp.fsf@HIDDEN> (Philip Kaludercic's message of "Sun, 
 10 Sep 2023 11:57:38 +0000")
Message-ID: <jwvjzsx77ol.fsf-monnier+emacs@HIDDEN>
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN> <87h6o8eec3.fsf@HIDDEN>
 <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 <87fs3mxmtp.fsf@HIDDEN>
Date: Sun, 10 Sep 2023 22:42:38 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.091 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> +    (let ((package-alist                 ;see bug#65475
>             (let ((pkgs (assq name package-alist)))
[...]
> +             (set-default-toplevel-value 'package-alist package-alist)
[...]

Eww!!

If we really can't find a better option, we need to add a bunch of
comments explaining why we ended up with such a hack.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 10 Sep 2023 11:57:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 10 07:57:51 2023
Received: from localhost ([127.0.0.1]:49175 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qfJ4Z-0004d0-5a
	for submit <at> debbugs.gnu.org; Sun, 10 Sep 2023 07:57:51 -0400
Received: from mout02.posteo.de ([185.67.36.66]:58515)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qfJ4W-0004cn-JL
 for 65475 <at> debbugs.gnu.org; Sun, 10 Sep 2023 07:57:49 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 6DB9F240103
 for <65475 <at> debbugs.gnu.org>; Sun, 10 Sep 2023 13:57:39 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1694347059; bh=saTCl6ByC+Aia5KCRaUJ2xJxsy3aXpX7os21az4ucnM=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=EoHiwAtz6hRK21DlDw194ckRhzEIa4exIbJNOs4uPy0J3ZqP9s/7jg09VV9p2G1C9
 tYF9pn2vEo3oqYZ/y8E76EEJ+QExWMskQbcItWlnPjUeOL2N2ARdddfG5/+gWRFA3G
 hiDYX70P04Jo+zNTSQdWCR7e9YdOqxG08JwEa1pIIZOi3AY2UApuj2kXBtyOhUU+vb
 2VVPt+5GWqL7klpScsujWsISBST1nYYQlsvBGy/MG9SpbTRjRR8lyZkMGsHBrgq5Xa
 y6uIVNBFPl+F2rUQ0GLl5ZB1CKZwdDLWZxA8X4FEHqDR7JTrYTvEDm4t7nOpcBw7i7
 9w16ajK+3XC3A==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Rk7dG4XfYz6twH;
 Sun, 10 Sep 2023 13:57:38 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
 (Stefan Kangas's message of "Tue, 5 Sep 2023 15:03:23 -0700")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN> <87h6o8eec3.fsf@HIDDEN>
 <m15y4objtt.fsf@HIDDEN>
 <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Sun, 10 Sep 2023 11:57:38 +0000
Message-ID: <87fs3mxmtp.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Eshel Yaron <me@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain

Stefan Kangas <stefankangas@HIDDEN> writes:

> reopen 65475
> thanks
>
> Eshel Yaron <me@HIDDEN> writes:
>
>>>> FWIW, I get the same non-empty `package-selected-packages` with Emacs
>>>> master built from source.  Indeed it looks like this issue isn't fully
>>>> fixed yet.
>>>
>>> Even if 610105ee81bbf79f72d4efb46d0caddf8d654cf1 was applied?
>>
>> Of course.
>
> Thanks for testing.  I'm reopening the bug.

Following Eshel's diagnosis, it seems it should be possible to solve the
bug by dynamically binding package-alist without the deleted package and
then updating the top-level value if everything went right:


--=-=-=
Content-Type: text/plain
Content-Disposition: inline

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 3a019905960..ed7d666ebf4 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2533,42 +2533,44 @@ package-delete
                ;; upgraded package.
                (package--newest-p pkg-desc))
       (package--save-selected-packages (remove name package-selected-packages)))
-    (cond ((not (string-prefix-p (file-name-as-directory
-                                  (expand-file-name package-user-dir))
-                                 (expand-file-name dir)))
-           ;; Don't delete "system" packages.
-           (error "Package `%s' is a system package, not deleting"
-                  (package-desc-full-name pkg-desc)))
-          ((and (null force)
-                (setq pkg-used-elsewhere-by
-                      (package--used-elsewhere-p pkg-desc)))
-           ;; Don't delete packages used as dependency elsewhere.
-           (error "Package `%s' is used by `%s' as dependency, not deleting"
-                  (package-desc-full-name pkg-desc)
-                  (package-desc-name pkg-used-elsewhere-by)))
-          (t
-           (add-hook 'post-command-hook #'package-menu--post-refresh)
-           (package--delete-directory dir)
-           ;; Remove NAME-VERSION.signed and NAME-readme.txt files.
-           ;;
-           ;; NAME-readme.txt files are no longer created, but they
-           ;; may be left around from an earlier install.
-           (dolist (suffix '(".signed" "readme.txt"))
-             (let* ((version (package-version-join (package-desc-version pkg-desc)))
-                    (file (concat (if (string= suffix ".signed")
-                                      dir
-                                    (substring dir 0 (- (length version))))
-                                  suffix)))
-               (when (file-exists-p file)
-                 (delete-file file))))
-           ;; Update package-alist.
+    (let ((package-alist                 ;see bug#65475
            (let ((pkgs (assq name package-alist)))
-             (delete pkg-desc pkgs)
-             (unless (cdr pkgs)
-               (setq package-alist (delq pkgs package-alist))))
-           (package--quickstart-maybe-refresh)
-           (message "Package `%s' deleted."
-                    (package-desc-full-name pkg-desc))))))
+             (if (null (remove pkg-desc (cdr pkgs)))
+                 (remq pkgs package-alist)
+               package-alist))))
+      (cond ((not (string-prefix-p (file-name-as-directory
+                                    (expand-file-name package-user-dir))
+                                   (expand-file-name dir)))
+             ;; Don't delete "system" packages.
+             (error "Package `%s' is a system package, not deleting"
+                    (package-desc-full-name pkg-desc)))
+            ((and (null force)
+                  (setq pkg-used-elsewhere-by
+                        (package--used-elsewhere-p pkg-desc)))
+             ;; Don't delete packages used as dependency elsewhere.
+             (error "Package `%s' is used by `%s' as dependency, not deleting"
+                    (package-desc-full-name pkg-desc)
+                    (package-desc-name pkg-used-elsewhere-by)))
+            (t
+             (add-hook 'post-command-hook #'package-menu--post-refresh)
+             (package--delete-directory dir)
+             ;; Remove NAME-VERSION.signed and NAME-readme.txt files.
+             ;;
+             ;; NAME-readme.txt files are no longer created, but they
+             ;; may be left around from an earlier install.
+             (dolist (suffix '(".signed" "readme.txt"))
+               (let* ((version (package-version-join (package-desc-version pkg-desc)))
+                      (file (concat (if (string= suffix ".signed")
+                                        dir
+                                      (substring dir 0 (- (length version))))
+                                    suffix)))
+                 (when (file-exists-p file)
+                   (delete-file file))))
+             ;; Update package-alist.
+             (set-default-toplevel-value 'package-alist package-alist)
+             (package--quickstart-maybe-refresh)
+             (message "Package `%s' deleted."
+                      (package-desc-full-name pkg-desc)))))))
 
 ;;;###autoload
 (defun package-reinstall (pkg)

--=-=-=
Content-Type: text/plain


An alternative solution might just be to manually add a check at the end
of package-delete to handle the proper removal of the last package.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.
bug No longer marked as fixed in versions 30.1 and reopened. Request was from Debbugs Internal Request <help-debbugs@HIDDEN> to internal_control <at> debbugs.gnu.org. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 5 Sep 2023 22:03:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 05 18:03:35 2023
Received: from localhost ([127.0.0.1]:59707 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qde90-0005fm-RA
	for submit <at> debbugs.gnu.org; Tue, 05 Sep 2023 18:03:35 -0400
Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]:53488)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qde8w-0005fP-TL
 for 65475 <at> debbugs.gnu.org; Tue, 05 Sep 2023 18:03:33 -0400
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2bb9a063f26so47892261fa.2
 for <65475 <at> debbugs.gnu.org>; Tue, 05 Sep 2023 15:03:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693951404; x=1694556204; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=012knoM0FOxLZqYWGrSIrSuWOzb8To476vKXiK7YtZY=;
 b=AIqheKsnGNO3QI4Z5E1D5+eS8rjcfbW3QX2VD4Un0PCORJVgbZcHPyIqm1v62rxHMx
 Yt1fIrgqhawPp7Mv917qGAY8LuxpyYFXEWFQjQ0DSfZGK8mdZGwOXHt0/J7djGYc88L8
 wIm5X8CtGVeMk4e8lAM6sJOB3Y+luSHJSuHzefCNDWUULsqft4eV3sOz/Vzd3x9N8aCQ
 +BhIDONgaJaMyjO01mAXmHrkgasNX85MmAQC1RhVMv5if9kNCepMamlc6nPwckzqv52D
 Uygu9QFfGxwmS41Npp5+9lkRmVAgxEnybyIq5OnaeKbzzrNyRoR7uLBvoqIg6bUjTowX
 Kz5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693951404; x=1694556204;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=012knoM0FOxLZqYWGrSIrSuWOzb8To476vKXiK7YtZY=;
 b=OphQN71AcrUl7ilRjq2QjbYIBZ0vQ4tTpynMmMzDhNZwXrUoEnFrytdVg7T1WQMiU6
 6Leja1ckeYew6/tlZX/gFX3TN0POi1dCEHNl+MDFz94gJYgcTW9ctFIGOQan6APzzBM9
 d29eSSnT6hI+rrG872DCh+v8SEVirOI1UvTnARLKRLDgTOwM/wjaZOa6SP3zj9vDgKX1
 yVktPdP6aUoAu8yJH0P7j2eI+OD6RVC4rpOQ3eklNywltV3uujy/ECtZaF5zSgH9VCqs
 vYMVE/wD/qfcFSCnDseXJBEN99sOa53MrbBxILpvuOi8/y8kLy0huwCE+OK1ApmezJZL
 ND2g==
X-Gm-Message-State: AOJu0YxILknzQZV7mqcIFWUhLxImkvV1CRHTE1cj66otNsKIVlpEMSiD
 sS2I+vyA8b2TisSRv2Kqy6BeKKH4xpo3RM7N4TI=
X-Google-Smtp-Source: AGHT+IGc4cdzStA56bXmT4KjRnEReVU03lbuIwDSgjwczYFjVYVbvmx0X0nNJ3ttUl+6cIJKIf3BHPRE+2JLCfh5yMA=
X-Received: by 2002:ac2:53a7:0:b0:4f8:770f:1b01 with SMTP id
 j7-20020ac253a7000000b004f8770f1b01mr691114lfh.19.1693951404094; Tue, 05 Sep
 2023 15:03:24 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Tue, 5 Sep 2023 15:03:23 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <m15y4objtt.fsf@HIDDEN>
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN>
 <87h6o8eec3.fsf@HIDDEN> <m15y4objtt.fsf@HIDDEN>
MIME-Version: 1.0
Date: Tue, 5 Sep 2023 15:03:23 -0700
Message-ID: <CADwFkmkDMR2_BowxuWt9GpUn+L+bddTAW0qdSSq5WvpveGsNTQ@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
To: Eshel Yaron <me@HIDDEN>, Philip Kaludercic <philipk@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

reopen 65475
thanks

Eshel Yaron <me@HIDDEN> writes:

>>> FWIW, I get the same non-empty `package-selected-packages` with Emacs
>>> master built from source.  Indeed it looks like this issue isn't fully
>>> fixed yet.
>>
>> Even if 610105ee81bbf79f72d4efb46d0caddf8d654cf1 was applied?
>
> Of course.

Thanks for testing.  I'm reopening the bug.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 5 Sep 2023 17:39:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 05 13:39:50 2023
Received: from localhost ([127.0.0.1]:58919 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qda1m-0001Yb-4u
	for submit <at> debbugs.gnu.org; Tue, 05 Sep 2023 13:39:50 -0400
Received: from mail.eshelyaron.com ([107.175.124.16]:56954 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1qda1j-0001YS-7i
 for 65475 <at> debbugs.gnu.org; Tue, 05 Sep 2023 13:39:48 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1693935586;
 bh=oS9vOEa0ZmmYEe+8VQCN0FyeNP34EtaKEK/hsLVGp0g=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=AmjRL1WUntxl8ATo0tv/8lAIRfJs23tG3Z96BXPbTyQyFXWCZUsp+8Q1zAgMjqjE2
 NhL/bgSSIyRPZs3FU1pZ730ZZ+cb/K2eDMzkqmRqQeEMN0+vt4GcdcGCdIWVeM2fIU
 2y9rwGL6riM9XVYpae33EwcGIcip67BW5x9ZJKdhKrFEy/0SKojEBgQBvl8Q+JuWPu
 bBPmMOnkvX9QAHC/R6pGqg993Gz3v6XUKUFVgmIo90ER3+ALMZu/3+CcOEoTPur5h5
 Sp1AtR5vJOBCS0gQzQ6x2B8zJXcQS6KAblGIkMoZAKUQDJJB0DWJkAgAt57rxVFuJC
 +nhoVYZNBlyhQ==
From: Eshel Yaron <me@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <87h6o8eec3.fsf@HIDDEN> (Philip Kaludercic's message of "Tue, 
 05 Sep 2023 17:10:04 +0000")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN> <87h6o8eec3.fsf@HIDDEN>
Date: Tue, 05 Sep 2023 19:39:42 +0200
Message-ID: <m15y4objtt.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 65475 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Philip Kaludercic <philipk@HIDDEN> writes:

> Eshel Yaron <me@HIDDEN> writes:
>
>> FWIW, I get the same non-empty `package-selected-packages` with Emacs
>> master built from source.  Indeed it looks like this issue isn't fully
>> fixed yet.
>
> Even if 610105ee81bbf79f72d4efb46d0caddf8d654cf1 was applied?

Of course.

>
> Can you edebug the function and see if it behaves the way it should
> (evaluating the setq expression)?
>

AFAICT, `package--save-selected-packages` works fine now.  The problem
is elsewhere.

Namely, when deleting the last package with `package-delete`, what
happens is that `package--save-selected-packages` gets called twice.
The first time, it's called by `package--save-selected-packages` with a
nil argument.  This works as expected and sets
`package-selected-packages` to nil.

But then, `package--save-selected-packages` is called again by
`package--used-elsewhere-p` through `package-desc-status` and
`package--user-selected-p`, this time with a non-nil value `(chess)`
that's taken from `package-alist`, which is not yet updated at this
point in `package-delete`.  So `package-selected-packages` gets reset to
a non-nil value.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 5 Sep 2023 17:10:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 05 13:10:16 2023
Received: from localhost ([127.0.0.1]:58802 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qdZZ9-0003ve-Hv
	for submit <at> debbugs.gnu.org; Tue, 05 Sep 2023 13:10:15 -0400
Received: from mout02.posteo.de ([185.67.36.66]:51331)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qdZZ6-0003vN-RF
 for 65475 <at> debbugs.gnu.org; Tue, 05 Sep 2023 13:10:14 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id DADEE240105
 for <65475 <at> debbugs.gnu.org>; Tue,  5 Sep 2023 19:10:05 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1693933805; bh=3kXbAHc2tEoSrQbo22ob5pM1UvDf2o7JEOLk+tRSVzI=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=rkxC68UH+EXqizZmHdcdY9FM64bmo0T/kftelERV95PdxIZoT4Pk5eOhBmGKHdBz+
 ua6x6iDQo69YcAd/ZjwGp1A970Kqu3Cd8nVuFqZXoKDPOnVN7Kq08RaAThi32LZ4qD
 savH7RSeKFah6MKQuqCvn34eOGH5os7LCo096U/f2RXjG5F1P5rR82YhAioTBAAo3G
 1bjtTWXpN+6TxHHHYFSs00zVWX5B6xYXJHLUVjVu/ccrp518GSsNO6BoG/7ydUBx7e
 EBlrBQBU4QOdwG5Ly1F+3sNqhQvPrK4Qj2qOvvoTc8jCt+4E074CenX5ifjrQMRykr
 /IyBBRNXcBmYQ==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4RgBp46hGlz6twK;
 Tue,  5 Sep 2023 19:10:04 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Eshel Yaron <me@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <m1v8cqo0fw.fsf@HIDDEN> (Eshel Yaron's message of "Mon,
 04 Sep 2023 09:35:31 +0200")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
 <m1v8cqo0fw.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Tue, 05 Sep 2023 17:10:04 +0000
Message-ID: <87h6o8eec3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 65475 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Eshel Yaron <me@HIDDEN> writes:

> Andrey Samsonov <samsonov.box@HIDDEN> writes:
>
>> 02.09.2023 22:28, Stefan Kangas =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>>> Pushed to master as commit 610105ee81b. Andrey, could you please
>>> test and report back?
>>
>> Unfortunately, I am not competent enough to understand exactly what
>> steps are required to perform this. I certainly am not able to build
>> emacs from source. But I thought to do the following:
>>
>> 1. Download package.el file from here:
>> https://github.com/emacs-mirror/emacs/blob/610105ee81bbf79f72d4efb46d0ca=
ddf8d654cf1/lisp/emacs-lisp/package.el
>>
>> 2. Start 'emacs -Q --init-directory <DIR>', where <DIR> is directory
>> with only zero-sized 'init.el' file
>>
>> 3. Open that downloaded package.el file in emacs buffer and do M-x
>> eval-buffer
>>
>> 4. Do the steps from 2 to 8 in my original bug-report.
>>
>> I got the same buggy result on step 8: C-h v package-selected-packages
>> RET: Its value is (chess)
>>
>
> FWIW, I get the same non-empty `package-selected-packages` with Emacs
> master built from source.  Indeed it looks like this issue isn't fully
> fixed yet.

Even if 610105ee81bbf79f72d4efb46d0caddf8d654cf1 was applied?


--=-=-=
Content-Type: text/plain
Content-Disposition: inline

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index e1172d69bf0..43842cfea73 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1982,7 +1982,10 @@ package--find-non-dependencies
 
 (defun package--save-selected-packages (&optional value)
   "Set and save `package-selected-packages' to VALUE."
-  (when value
+  (when (or value after-init-time)
+    ;; It is valid to set it to nil, for example when the last package
+    ;; is uninstalled.  But it shouldn't be done at init time, to
+    ;; avoid overwriting configurations that haven't yet been loaded.
     (setq package-selected-packages value))
   (if after-init-time
       (customize-save-variable 'package-selected-packages package-selected-packages)

--=-=-=
Content-Type: text/plain


Can you edebug the function and see if it behaves the way it should
(evaluating the setq expression)?

>> I'm not familiar with emacs internals, so can't say where the problem
>> now: the bug is still here, or my testing strategy is wrong.
>>
>
> I think your test is alright in this case, and that a bug (maybe another
> one) remains.
>
>> P.S. (Offtopic): I'm also novice at maillists, so confused what should
>> I do now in my email client: Reply, Reply to All or Reply to
>> List. Sorry please if I did it wrong.
>
> The key is to keep commenters in the CC so they get your follow up.  How
> to do that varies between mail clients, but it sounds like Reply to All
> would be the best fit.
>
>
> Cheers,
>
> Eshel

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 4 Sep 2023 07:35:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 04 03:35:40 2023
Received: from localhost ([127.0.0.1]:48140 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qd47Y-0003iM-Hn
	for submit <at> debbugs.gnu.org; Mon, 04 Sep 2023 03:35:40 -0400
Received: from mail.eshelyaron.com ([107.175.124.16]:57442 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1qd47U-0003iB-BK
 for 65475 <at> debbugs.gnu.org; Mon, 04 Sep 2023 03:35:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1693812935;
 bh=ZTlV19Mlf96VQEyuXBcaG+MLRp907F4LcxNE1pr02x0=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=CSsPs42pLAngBcYBQDvHCrh9NndMG+NoNL2nnuICVByam9jaue/tKW2bGu/bwjpDY
 H0Ck+Ajfb161N+V+r8QsQUGl6xhtnbgmT1mSuB2DgXS4NYwYBUAKnfNo0jOWNQvz6h
 dNOD8VmJ2YoPYH2g+Foiw9ZctnH6k9oEHLMHNNplHpnXaBiwNkk1av5UwJ4YzN5uvF
 znNXoHMcNU1qzRWasDkhileB89RL4pJLftxX3b1RMuscRdI4irZJiNKiY8S5eNtuAW
 11OPRET3Mo0TV6eid1FqSWLnXRPvEpMrNYcS6hwKmqLiayUDkMUdeJm9HDjlN9I0XU
 WoBu/yrU6zEOg==
From: Eshel Yaron <me@HIDDEN>
To: Andrey Samsonov <samsonov.box@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN> (Andrey
 Samsonov's message of "Mon, 4 Sep 2023 09:24:15 +0600")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
 <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
Date: Mon, 04 Sep 2023 09:35:31 +0200
Message-ID: <m1v8cqo0fw.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Philip Kaludercic <philipk@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 65475 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Andrey Samsonov <samsonov.box@HIDDEN> writes:

> 02.09.2023 22:28, Stefan Kangas =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>> Pushed to master as commit 610105ee81b. Andrey, could you please
>> test and report back?
>
> Unfortunately, I am not competent enough to understand exactly what
> steps are required to perform this. I certainly am not able to build
> emacs from source. But I thought to do the following:
>
> 1. Download package.el file from here:
> https://github.com/emacs-mirror/emacs/blob/610105ee81bbf79f72d4efb46d0cad=
df8d654cf1/lisp/emacs-lisp/package.el
>
> 2. Start 'emacs -Q --init-directory <DIR>', where <DIR> is directory
> with only zero-sized 'init.el' file
>
> 3. Open that downloaded package.el file in emacs buffer and do M-x
> eval-buffer
>
> 4. Do the steps from 2 to 8 in my original bug-report.
>
> I got the same buggy result on step 8: C-h v package-selected-packages
> RET: Its value is (chess)
>

FWIW, I get the same non-empty `package-selected-packages` with Emacs
master built from source.  Indeed it looks like this issue isn't fully
fixed yet.

> I'm not familiar with emacs internals, so can't say where the problem
> now: the bug is still here, or my testing strategy is wrong.
>

I think your test is alright in this case, and that a bug (maybe another
one) remains.

> P.S. (Offtopic): I'm also novice at maillists, so confused what should
> I do now in my email client: Reply, Reply to All or Reply to
> List. Sorry please if I did it wrong.

The key is to keep commenters in the CC so they get your follow up.  How
to do that varies between mail clients, but it sounds like Reply to All
would be the best fit.


Cheers,

Eshel




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 4 Sep 2023 05:01:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 04 01:01:19 2023
Received: from localhost ([127.0.0.1]:48014 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qd1i8-0007WB-Mv
	for submit <at> debbugs.gnu.org; Mon, 04 Sep 2023 01:01:19 -0400
Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]:44392)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <samsonov.box@HIDDEN>) id 1qd0CT-00048W-GQ
 for 65475 <at> debbugs.gnu.org; Sun, 03 Sep 2023 23:24:32 -0400
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-99c136ee106so148761566b.1
 for <65475 <at> debbugs.gnu.org>; Sun, 03 Sep 2023 20:24:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693797863; x=1694402663; darn=debbugs.gnu.org;
 h=content-transfer-encoding:in-reply-to:to:content-language
 :references:subject:from:user-agent:mime-version:date:message-id
 :from:to:cc:subject:date:message-id:reply-to;
 bh=N9qGDY3I099fzTnsAJE+ezQJqutPSz3bCngpFG7faFU=;
 b=lcGjUYbSiO10khdDNyNUGLmp130gCz2+otm+jNIDbcEtr1gM/TBdZ2iZkNanNmCqT9
 asaah0EasFCIShaWnL8DxpQw/waa5eZ+Z+qZSYnWtkc9RFrZ2cubhnOSWAaxt5zhDH4L
 bLbn7Km2gnAQ+1/UObSioJOigxmpiMLD8a28rXG4gsNj+e0TNrzbGcCq3vnIV5E231pr
 +ZwYtnBUuvTqfQ29bIvUauxW2HlT0LNW3t5er4qSDGip9B7y1LMha/hXFgUON59I1VXj
 VkBgCGvnKsPR+NWYGHKNaqAr3Y40y7j+345zSPEdQIt6mXjI/T3TOkW3c6i4VOtG/GfN
 76gQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693797863; x=1694402663;
 h=content-transfer-encoding:in-reply-to:to:content-language
 :references:subject:from:user-agent:mime-version:date:message-id
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=N9qGDY3I099fzTnsAJE+ezQJqutPSz3bCngpFG7faFU=;
 b=dArWWgHDaBgCRaUP/2iJ/syehkd61BWpVN21xqMNW+uyJr5Db8GyoKlwMQqBx2NvDI
 MIjbSm4AXtWsEsQDbf/r55BBE6cRvVNd+21lBYjtkEQUhvBZxV+52W99ANl/wZp8A2bJ
 dovh8n+KjpocZzprUIvRrOYKx7YSQOEAxXTUr8Pwzw/XxnGUxgC1yzxw+yP9S1hVx9gr
 PtbhEvgrXxLFXR5v+gP1H1s72TVNsOHtBiGoUErR0lhvqixFJ+HgBnYhfR3yx1Dg5BvB
 RbERNLKPG+ri2Gx+Sx1ot90OP7qhIxvrgXfltgFIGANbr7MYjO8/1KNEmEmGmV8t470a
 sP0w==
X-Gm-Message-State: AOJu0YyDRnUHQPCYTur9D0pKFWIljGZHo9hMcr4By4DK27gbHfu3nm/m
 9STL1SkQk26YqeGK0HaC/6Ep+/92kWs=
X-Google-Smtp-Source: AGHT+IF+bVfKXlyBlcWM8KlHOFce/lG29KkMR7YkLMY3hS2i/knk9HLrLTSEOBivh9JUG3yNaj8htg==
X-Received: by 2002:a17:906:311a:b0:9a5:821e:1655 with SMTP id
 26-20020a170906311a00b009a5821e1655mr6068259ejx.71.1693797863307; 
 Sun, 03 Sep 2023 20:24:23 -0700 (PDT)
Received: from [192.168.81.64] ([176.64.4.126])
 by smtp.gmail.com with ESMTPSA id
 ja8-20020a170907988800b0099290e2c163sm5460089ejc.204.2023.09.03.20.24.22
 for <65475 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 03 Sep 2023 20:24:22 -0700 (PDT)
Message-ID: <4604c3e3-8a6a-41b0-bf4d-9c087f151961@HIDDEN>
Date: Mon, 4 Sep 2023 09:24:15 +0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrey Samsonov <samsonov.box@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
Content-Language: ru, en-US
To: 65475 <at> debbugs.gnu.org
In-Reply-To: <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
X-Mailman-Approved-At: Mon, 04 Sep 2023 01:01:16 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

02.09.2023 22:28, Stefan Kangas пишет:
> Pushed to master as commit 610105ee81b. Andrey, could you please test 
> and report back?

Unfortunately, I am not competent enough to understand exactly what 
steps are required to perform this. I certainly am not able to build 
emacs from source. But I thought to do the following:

1. Download package.el file from here: 
https://github.com/emacs-mirror/emacs/blob/610105ee81bbf79f72d4efb46d0caddf8d654cf1/lisp/emacs-lisp/package.el

2. Start 'emacs -Q --init-directory <DIR>', where <DIR> is directory
with only zero-sized 'init.el' file

3. Open that downloaded package.el file in emacs buffer and do M-x 
eval-buffer

4. Do the steps from 2 to 8 in my original bug-report.

I got the same buggy result on step 8: C-h v package-selected-packages 
RET: Its value is (chess)

I'm not familiar with emacs internals, so can't say where the problem 
now: the bug is still here, or my testing strategy is wrong.

P.S. (Offtopic): I'm also novice at maillists, so confused what should I 
do now in my email client: Reply, Reply to All or Reply to List. Sorry 
please if I did it wrong.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.
bug marked as fixed in version 30.1, send any further explanations to 65475 <at> debbugs.gnu.org and Andrey Samsonov <samsonov.box@HIDDEN> Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 2 Sep 2023 16:28:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 02 12:28:22 2023
Received: from localhost ([127.0.0.1]:38357 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qcTTy-00072E-KA
	for submit <at> debbugs.gnu.org; Sat, 02 Sep 2023 12:28:22 -0400
Received: from mail-lj1-x234.google.com ([2a00:1450:4864:20::234]:62589)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qcTTw-00071w-QE
 for 65475 <at> debbugs.gnu.org; Sat, 02 Sep 2023 12:28:21 -0400
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2b72161c6e9so11646461fa.0
 for <65475 <at> debbugs.gnu.org>; Sat, 02 Sep 2023 09:28:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693672085; x=1694276885; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=jGGz9LD8b2rw7/I+c5xWq8fu/sU7Ithvy70igQ3LC1w=;
 b=Mtu7fNMFDgBSpVfpICHs2lxtjIWnS9jJrckcDdqrZ799hoxaP0w55LL1wjxMLLqWCM
 v8y7jOChO08vz8BPphS/mmGZT3qp1rs3yHWa4waENOe9pAb9v+1WB6X2/sbib8zlxbSl
 TFzZkijGPbUy2a2lGf/+aETupLWh4cPY90X7DovgQWKvph0Lbm6fTHS+o0Q4lDtrh2je
 lzFXD2DV3NjU0wv4QW9y4j+AcMru+NLG7wbCBk6LQrdwaNUffcuFHq+NVXN8j0GNcnaI
 o1YgCNOZ+87C32ng8xYDBsBcP0M7MtCSl8GjfXQm3U9M6E1mSCvvq+f7iNuF5/4dPkkn
 fYMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693672085; x=1694276885;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=jGGz9LD8b2rw7/I+c5xWq8fu/sU7Ithvy70igQ3LC1w=;
 b=aWaI+77AYwdcC9ActQNYEemVfwGm5G1JdE0qYrYW9JFEPHv67dCIodpWZQf/2hL3Hk
 S9T2aVi9ECGN9dCQbxw0l+6VpeZ2XRk64S7GhSTIAldjVpvJ1NQsGOKImx4fheaG+mBQ
 S72LYkMoTRDPLEg5zFlIGoC/e9RVUo76LqmxzzodNle4poYhpSWYgrlLVsZuA1pPJXdb
 hMeObiJI6vqgk4926luuUhdwJEHlO7y1VYU3C9+7pMgEhPP9LnhQ4GmFVOJzEV+g+Sol
 JN8hDUMrYMETt31fFnZqNpJAIqjj9Yh+hYDBgwRfGOQw6C5zQpEpME/K9iVitv2S4YzX
 4mXQ==
X-Gm-Message-State: AOJu0YzhrMFNrUC5KNGuex/IRij6iT0MwLfJIFbf7v4/NL8M/x4FClh6
 uo302fRxvtoHWLTxusz0AgTOQL10l/7S3uKIWgA=
X-Google-Smtp-Source: AGHT+IFBcP9MoD2NNIXkRmU4+WtWeH5Kpm+dfM+FR4Gd1XyoIhY6S7f1gX2cNbBn5NNC6k8KU5fi+7z/MYclrHR3dpk=
X-Received: by 2002:a05:6512:33d2:b0:500:acae:30c5 with SMTP id
 d18-20020a05651233d200b00500acae30c5mr3074255lfg.15.1693672084691; Sat, 02
 Sep 2023 09:28:04 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 2 Sep 2023 09:28:04 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 (Stefan Kangas's message of "Sat, 26 Aug 2023 13:57:22 +0200")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
MIME-Version: 1.0
Date: Sat, 2 Sep 2023 09:28:04 -0700
Message-ID: <CADwFkmmgttJ6dg5e7+gD29SP127YNJOhi3h5GfuVn4xd7-RL4A@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
To: Philip Kaludercic <philipk@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

close 65475 30.1
thanks

Stefan Kangas <stefankangas@HIDDEN> writes:

>> The issue here is that `package--save-selected-packages' only updates
>> the value of `package-selected-packages', if the new value is non-nil,
>> presumably because the VALUE argument is optional,
>
> This was added in d0a5162fd825, fixing Bug#20855.  Personally, I'm not
> a huge fan of that fix, as nil is clearly a valid (if infrequent)
> value here.
>
> Could something like this work?
>
> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
> index e1172d69bf0..9f97f950e64 100644
> --- a/lisp/emacs-lisp/package.el
> +++ b/lisp/emacs-lisp/package.el
> @@ -1982,7 +1982,7 @@ package--find-non-dependencies
>
>  (defun package--save-selected-packages (&optional value)
>    "Set and save `package-selected-packages' to VALUE."
> -  (when value
> +  (when (or value after-init-time)
>      (setq package-selected-packages value))
>    (if after-init-time
>        (customize-save-variable 'package-selected-packages
> package-selected-packages)

Pushed to master as commit 610105ee81b.  Andrey, could you please test
and report back?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 26 Aug 2023 12:07:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 26 08:07:31 2023
Received: from localhost ([127.0.0.1]:41856 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qZs4g-00057P-Ru
	for submit <at> debbugs.gnu.org; Sat, 26 Aug 2023 08:07:31 -0400
Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]:60575)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qZs4e-00057C-8t
 for 65475 <at> debbugs.gnu.org; Sat, 26 Aug 2023 08:07:29 -0400
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-500a398cda5so2767153e87.0
 for <65475 <at> debbugs.gnu.org>; Sat, 26 Aug 2023 05:07:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693051637; x=1693656437;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=EOxI6okbD0rBVNgwBJLYigrQi+JHHjigMh+MhLhrovY=;
 b=QfIpkkfyA+4aVFyFqKRMVTx/HmSxYlYOsOS5/jv3YCropLNorbjfmyP4mxfgTDJrcY
 4MrD+H7cDYaAYsxUMJZ9qOGM2Y8udEXdhrFW6YgRVaKBHiVDAHDEISrOZ8LZPNb7+HbR
 IlwOCYuTIIYo8F71cmyS/+48Hh/VnJXUb/GCLeI0TkGBa6GzMs0ny2VE+duhFPndsOYZ
 4//shLHyQiJyOyhW086Jxi25pd0BxxsjnrR8jrO1z2qEZwV/3zasx/y7OXq/MhW9mo+v
 qRUhufY1h0N1I7yd2DFM9hd9TXnsIkvQc3wlKlHAigPDSlqP2vETWWTm63YopZKIs2zY
 ihbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693051637; x=1693656437;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=EOxI6okbD0rBVNgwBJLYigrQi+JHHjigMh+MhLhrovY=;
 b=ICyqKCQ6kuy53fbG9Pka4NdiMPLGqvY81W59YKmDcc50QqAwirG1It41eNdWAKOUhB
 B7EwUpUQEyPoQcAHVclFXPQRk9Qs5jRWfSZFtip/wpn6Da94VE4eMHRzufgBeXTmLoL9
 lcgBx0Gc7M839N2JPnARE9jg1iuNkiz09epJCbVcCzzrKl8ohFWdk7sSEe5qPBAFJ0g7
 ZLpG26m4Wzd42+yDpXvmc9S0orVUhCVBeNl/9F4krfCO8RyVmaRd9KvrzrZBW5Heefdk
 zUqkZxEoOwY+P+E+6GjTlHcy7zqj9OXlYd1m4P+oczqHtdQPGE/prH2nuuxxy3JdY3Ix
 mBoQ==
X-Gm-Message-State: AOJu0YyiWx08cYr4a3B0ulvTOq36TVCzvXnlEWs3/aF5lD63JXH9F26a
 vjS2W3Ryc8mml9Pqk3us9TX0+sKuvE/w9lwOOR0=
X-Google-Smtp-Source: AGHT+IEEhajeWdyI3kbvauJz2Q1h/MsOGgy/ePmIKqQRAAP+tvVzzrGmL9tdzJO3A2SA7eey+Jeq4wIOJxbtrz1abXo=
X-Received: by 2002:a05:6512:b20:b0:4fe:1681:9377 with SMTP id
 w32-20020a0565120b2000b004fe16819377mr14547366lfu.44.1693051636943; Sat, 26
 Aug 2023 05:07:16 -0700 (PDT)
MIME-Version: 1.0
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 <87fs46ovun.fsf@HIDDEN>
In-Reply-To: <87fs46ovun.fsf@HIDDEN>
From: Stefan Kangas <stefankangas@HIDDEN>
Date: Sat, 26 Aug 2023 14:07:05 +0200
Message-ID: <CADwFkmksif9L1Yx=f9duhVyF+ivePsA2S9JsjdKgk966OkggqA@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
To: Philip Kaludercic <philipk@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Philip Kaludercic <philipk@HIDDEN> writes:

> >  (defun package--save-selected-packages (&optional value)
> >    "Set and save `package-selected-packages' to VALUE."
> > -  (when value
> > +  (when (or value after-init-time)
> >      (setq package-selected-packages value))
> >    (if after-init-time
> >        (customize-save-variable 'package-selected-packages
> > package-selected-packages)
>
> It seems to be that this should also work, given that
> `package--save-selected-packages' is a package.el internal function, and
> there are no assurances that the current behaviour is to be expected in
> this edge-case.

Given the docstring "Set and save `package-selected-packages' to
VALUE.", it is my impression that the above patch would simply fix a
regression introduced in d0a5162fd825.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 26 Aug 2023 12:02:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 26 08:02:24 2023
Received: from localhost ([127.0.0.1]:41826 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qZrzk-0004xs-5o
	for submit <at> debbugs.gnu.org; Sat, 26 Aug 2023 08:02:24 -0400
Received: from mout01.posteo.de ([185.67.36.65]:60847)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qZrzh-0004xV-6x
 for 65475 <at> debbugs.gnu.org; Sat, 26 Aug 2023 08:02:23 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 06862240028
 for <65475 <at> debbugs.gnu.org>; Sat, 26 Aug 2023 14:02:10 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1693051330; bh=S/BFBXLuA2vwXnhfogVqXvUWV/UurArShxE38wM71w8=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=LXZjw7+JCg078HfC4U5g3vbRA/MDMaUIumIGli3QNAkNqL1DyxDRVp54zjDqzctfZ
 CnMmKHrKBgw4ek1NNZAE/x/oTimEnvkJIKnUzVKFTfUk1YXCkg5NdVYWs1i5V6XXBc
 lCMaThh3KX8mq6yBnUoB2mLx9pzBplfQ26XPXZWv/Ue2TUx1GXPQLJwUPEfLt53Obc
 xXgvrl8HsM2Cd39VLB6TYACQp9fbL9EYD/WOL+2FnlwyoyS4s4ynMK9Iv+iKTPw1nb
 8xufqDo85NxSL4lVMGIAGol1UGYlnadRhrdCGyC6cV6sQkclgXoCyKgtQtAY9YJv/0
 alpPcHwcGBWzQ==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4RXwRP23m5z6twx;
 Sat, 26 Aug 2023 14:02:08 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
 (Stefan Kangas's message of "Sat, 26 Aug 2023 13:57:22 +0200")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
 <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
X-Hashcash: 1:20:230826:eliz@HIDDEN::5iNrXBX7HQu6flkj:/J/
X-Hashcash: 1:20:230826:monnier@HIDDEN::7FNDV2RbPrn6g6ZP:Tjk
X-Hashcash: 1:20:230826:stefankangas@HIDDEN::HOUUMysRXyfHZo/C:14Cj
X-Hashcash: 1:20:230826:65475 <at> debbugs.gnu.org::Y7CYQO9BZUAbyAuD:3mjG
X-Hashcash: 1:20:230826:samsonov.box@HIDDEN::ZEj3SypEzCfn/KT1:6yFQ
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Sat, 26 Aug 2023 12:02:08 +0000
Message-ID: <87fs46ovun.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Stefan Kangas <stefankangas@HIDDEN> writes:

>> The issue here is that `package--save-selected-packages' only updates
>> the value of `package-selected-packages', if the new value is non-nil,
>> presumably because the VALUE argument is optional,
>
> This was added in d0a5162fd825, fixing Bug#20855.  Personally, I'm not
> a huge fan of that fix, as nil is clearly a valid (if infrequent)
> value here.
>
> Could something like this work?
>
> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
> index e1172d69bf0..9f97f950e64 100644
> --- a/lisp/emacs-lisp/package.el
> +++ b/lisp/emacs-lisp/package.el
> @@ -1982,7 +1982,7 @@ package--find-non-dependencies
>
>  (defun package--save-selected-packages (&optional value)
>    "Set and save `package-selected-packages' to VALUE."
> -  (when value
> +  (when (or value after-init-time)
>      (setq package-selected-packages value))
>    (if after-init-time
>        (customize-save-variable 'package-selected-packages
> package-selected-packages)

It seems to be that this should also work, given that
`package--save-selected-packages' is a package.el internal function, and
there are no assurances that the current behaviour is to be expected in
this edge-case.

-- 
Philip Kaludercic




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 26 Aug 2023 11:57:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 26 07:57:49 2023
Received: from localhost ([127.0.0.1]:41813 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qZrvI-0002Bu-Vn
	for submit <at> debbugs.gnu.org; Sat, 26 Aug 2023 07:57:49 -0400
Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]:62743)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qZrvF-0002Bf-9D
 for 65475 <at> debbugs.gnu.org; Sat, 26 Aug 2023 07:57:47 -0400
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-4ffa01fc987so3277116e87.1
 for <65475 <at> debbugs.gnu.org>; Sat, 26 Aug 2023 04:57:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693051054; x=1693655854;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=SeWk3FOB2YrGAsg9T5j7I+ZvSPU895sazY9Qzp9dt8o=;
 b=EdnVtnL0o8JRxBHK6x5BEcdc7mmQaT4rBlVy1saevFeHJhrNimGXpGncds/tFMi0hy
 ubzmUJfr/h7tM/bhGSecsBcD5b32wXLCzwqNLw6D01qfs1C96A06etmDuHDa43c9AgKW
 viyBMgVtuR0bjW7BPkJeQkp5zDrGAUmQ6JDv8/cYk0TOwUGXZ8kjNQvn/GvZTskKjVeh
 PTbXiTqPAMOPUrnDf4GA+gfnn1uibqqjOa2yL8SDVhamz+rCHaU9+YXROxaE6ECv/AuN
 nRt7vstBk6VNuOsq2gegjzFOh9gA3Lb8tGSj2iKIe9gDDizsATTvtb4d+IZgigE/nBFX
 C2fQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693051054; x=1693655854;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=SeWk3FOB2YrGAsg9T5j7I+ZvSPU895sazY9Qzp9dt8o=;
 b=jGxOwCYQg1rvPIdsc+0zYRLBkVUOaCrF5O34ESYdy0L5OsBMU6v/iLB+AqIeXlJZSU
 bnGUs1bQ9KegcLAu+O1l8kL1dBdv6j8Yi9RQWNgxgAco1JFkGyPEeeDxqjM/tv2wTVrK
 4q+G/uhL9+9WrZcBJlzGBhgNlj1GOxzpVq19KCGp8SEqbl/SVzG5/bUJhxs3uORpzPhn
 inL4DVJll782kD3SPDfxjNpkihqw1zn5cw77qpZ2lzj63P0zmNPjDilWeXq3MKEQoX2X
 ciGxHedwHTQE0ldWK7Fg83rcnj/yxy4e64JfITIaMaCQQR3Z3PGvBt4nwZl80tTGACbB
 hg4Q==
X-Gm-Message-State: AOJu0YxED2bu1isAoYONLbjbNly+RgbT4YYloFDHUkqunu3dR/1lTyAg
 FegRzO10u2StfQf2faJjRNQzrW6b2vnXmyRVEe8=
X-Google-Smtp-Source: AGHT+IG2AXrOQkRweE8uTlvCPwTmUS955ax6Km5Rbi015StHACoCe+Tgfkite2/Kmu6u8MEy1/zlUWj/BiYPUK2fVIY=
X-Received: by 2002:ac2:4e01:0:b0:4f9:56b8:45e5 with SMTP id
 e1-20020ac24e01000000b004f956b845e5mr8133010lfr.25.1693051053767; Sat, 26 Aug
 2023 04:57:33 -0700 (PDT)
MIME-Version: 1.0
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN> <87o7iutg4i.fsf@HIDDEN>
In-Reply-To: <87o7iutg4i.fsf@HIDDEN>
From: Stefan Kangas <stefankangas@HIDDEN>
Date: Sat, 26 Aug 2023 13:57:22 +0200
Message-ID: <CADwFkm=CcqZ4+VUVkTux_q_MzmAP5cCV83jtNd_kqH=OPqkgaw@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
To: Philip Kaludercic <philipk@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> The issue here is that `package--save-selected-packages' only updates
> the value of `package-selected-packages', if the new value is non-nil,
> presumably because the VALUE argument is optional,

This was added in d0a5162fd825, fixing Bug#20855.  Personally, I'm not
a huge fan of that fix, as nil is clearly a valid (if infrequent)
value here.

Could something like this work?

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index e1172d69bf0..9f97f950e64 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1982,7 +1982,7 @@ package--find-non-dependencies

 (defun package--save-selected-packages (&optional value)
   "Set and save `package-selected-packages' to VALUE."
-  (when value
+  (when (or value after-init-time)
     (setq package-selected-packages value))
   (if after-init-time
       (customize-save-variable 'package-selected-packages
package-selected-packages)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 26 Aug 2023 07:30:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 26 03:30:58 2023
Received: from localhost ([127.0.0.1]:41650 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qZnl3-0003CP-UU
	for submit <at> debbugs.gnu.org; Sat, 26 Aug 2023 03:30:58 -0400
Received: from mout02.posteo.de ([185.67.36.66]:43067)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qZnl0-0003C8-AO
 for 65475 <at> debbugs.gnu.org; Sat, 26 Aug 2023 03:30:56 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id A07AE240106
 for <65475 <at> debbugs.gnu.org>; Sat, 26 Aug 2023 09:30:43 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1693035043; bh=gH8GF52s4L7TDDDT23fAUZ7LLHMiW4/fwJ7uR5PsWrU=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=Vg1v7DlcJKz+oJcaMeeL9fjT2PR//NgXnreHpM42y/RI1HX4MkhtQOfCeDTYXCZYJ
 kydOphR965kkqJX57hQuXxyRQQFftc0oItQp3t49QgXnPC3wkyKDKkhtpOsXNtt2iF
 XPuUCTVvF2bFxx5DluMBudSDJbVnSNOBsEKVOR5IC2abzqa5Sxkar9/s/CnyAF37s9
 U3yHSAom8FzUJ2bikT9KwhMo5WRxZO6YHPB1X8KgS7gabG0GpOjUNqo0KeMbexWi6g
 Hh/j/BF5+C3mocjIKW86uec1RNzgr7GoY5TWITFZ6Ke0VDMGSie4NFKP9BDqo5E5PQ
 CCB8uCeifxGIA==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4RXpQ55zYCz9s4S;
 Sat, 26 Aug 2023 09:30:37 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#65475: 29.1; package-selected-packages variable is not
 updated when the last package is deleted
In-Reply-To: <83a5uemfxy.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 26 Aug
 2023 10:16:25 +0300")
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
 <83a5uemfxy.fsf@HIDDEN>
X-Hashcash: 1:20:230826:samsonov.box@HIDDEN::P4dELq0l+n/HYrzw:nK7
X-Hashcash: 1:20:230826:eliz@HIDDEN::Te5uDo2ctJk3CnRt:0tz0
X-Hashcash: 1:20:230826:monnier@HIDDEN::FMu0TSMij6aobGwh:6Vsm
X-Hashcash: 1:20:230826:65475 <at> debbugs.gnu.org::/BSsx7/TOsTlbP6g:6qpC
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Sat, 26 Aug 2023 07:30:37 +0000
Message-ID: <87o7iutg4i.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: Andrey Samsonov <samsonov.box@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain

Eli Zaretskii <eliz@HIDDEN> writes:

>> Date: Wed, 23 Aug 2023 18:02:14 +0600
>> From: Andrey Samsonov <samsonov.box@HIDDEN>
>> 
>> Steps to reproduce:
>> 
>> 1. Start 'emacs -Q --init-directory <DIR>', where <DIR> is directory
>> with only zero-sized 'init.el' file
>> 2. M-x package-install RET mines RET
>> 3. M-x package-install RET chess RET
>> 4. C-h v package-selected-packages RET: Its value is (chess mines)
>> 5. M-x package-delete RET mines RET
>> 6. C-h v package-selected-packages RET: Its value is (chess)
>> 7. M-x package-delete RET chess RET
>> 
>> Actual behavior:
>> 
>> 8. C-h v package-selected-packages RET: Its value is (chess)
>> 
>> Expected behavior:
>> 
>> 8. C-h v package-selected-packages RET: Its value is nil
>
> Philip, Stefan: any comments?

The issue here is that `package--save-selected-packages' only updates
the value of `package-selected-packages', if the new value is non-nil,
presumably because the VALUE argument is optional, and it should be
possible to invoke the function without any new value, just wishing to
save the current one to disk (in fact this behaviour is required for the
`after-init-hook'-trick to work).

But if 'chess is removed from '(chess), the value is nil, hence nothing
happens.

One could imagine allowing a special value like 'empty to resolve the
issue:


--=-=-=
Content-Type: text/plain
Content-Disposition: inline

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index e1172d69bf0..6d0ad274795 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1982,8 +1982,11 @@ package--find-non-dependencies
 
 (defun package--save-selected-packages (&optional value)
   "Set and save `package-selected-packages' to VALUE."
-  (when value
-    (setq package-selected-packages value))
+  (cond
+   ((eq value 'empty)
+    (setq package-selected-packages nil))
+   ((not (null package-selected-packages))
+    (setq package-selected-packages value)))
   (if after-init-time
       (customize-save-variable 'package-selected-packages package-selected-packages)
     (add-hook 'after-init-hook #'package--save-selected-packages)))
@@ -2527,7 +2530,7 @@ package-delete
                ;; Don't deselect if this is an older version of an
                ;; upgraded package.
                (package--newest-p pkg-desc))
-      (package--save-selected-packages (remove name package-selected-packages)))
+      (package--save-selected-packages (or (remove name package-selected-packages) 'empty)))
     (cond ((not (string-prefix-p (file-name-as-directory
                                   (expand-file-name package-user-dir))
                                  (expand-file-name dir)))

--=-=-=
Content-Type: text/plain



-- 
Philip Kaludercic

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at 65475 <at> debbugs.gnu.org:


Received: (at 65475) by debbugs.gnu.org; 26 Aug 2023 07:16:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 26 03:16:10 2023
Received: from localhost ([127.0.0.1]:41627 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qZnWj-0002nq-QT
	for submit <at> debbugs.gnu.org; Sat, 26 Aug 2023 03:16:10 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:51532)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1qZnWi-0002nX-JV
 for 65475 <at> debbugs.gnu.org; Sat, 26 Aug 2023 03:16:08 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1qZnWY-0005Ur-0T; Sat, 26 Aug 2023 03:15:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Ak+iO9iSUXpgho1Hi/2G5UvkTudLvjygr9+MygI/zpA=; b=g8FqvJ/grO1o
 /hd98p7vn60iavwU5ey4F3fAcCoAhLwyjVsSzGChzQQnxIleERGpPuW1GEquvCyIAQRpurubaq2Pc
 v1z27kSTfWY516z59OfVgTy19gZbBaiI8JRK8a5SbnAJBXKM+VbI110fL7KKcRKG66BNH7HtiLWpj
 Ex8fdiwpYgAlVTl1RC/58zz5kynw3BbjFemX9ojh6vHUqwR1YRXBBF6sw2/1nZsM1O6t/jfdJpySY
 YHKk7u5n3SYghT9u/L8twRw0NB2xBErb5W5BK/7WQwJByHbUZ2N6Abt1wI4Y86xjrpZ4rUdEN4DXd
 peE+XlyzB3rv5EN6QxvD0w==;
Date: Sat, 26 Aug 2023 10:16:25 +0300
Message-Id: <83a5uemfxy.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Andrey Samsonov <samsonov.box@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>,
 Philip Kaludercic <philipk@HIDDEN>
In-Reply-To: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN> (message from
 Andrey Samsonov on Wed, 23 Aug 2023 18:02:14 +0600)
Subject: Re: bug#65475: 29.1;
 package-selected-packages variable is not updated when the last
 package is deleted
References: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65475
Cc: 65475 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Wed, 23 Aug 2023 18:02:14 +0600
> From: Andrey Samsonov <samsonov.box@HIDDEN>
> 
> Steps to reproduce:
> 
> 1. Start 'emacs -Q --init-directory <DIR>', where <DIR> is directory
> with only zero-sized 'init.el' file
> 2. M-x package-install RET mines RET
> 3. M-x package-install RET chess RET
> 4. C-h v package-selected-packages RET: Its value is (chess mines)
> 5. M-x package-delete RET mines RET
> 6. C-h v package-selected-packages RET: Its value is (chess)
> 7. M-x package-delete RET chess RET
> 
> Actual behavior:
> 
> 8. C-h v package-selected-packages RET: Its value is (chess)
> 
> Expected behavior:
> 
> 8. C-h v package-selected-packages RET: Its value is nil

Philip, Stefan: any comments?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Aug 2023 14:25:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 23 10:25:07 2023
Received: from localhost ([127.0.0.1]:34855 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qYonA-0005Rg-WE
	for submit <at> debbugs.gnu.org; Wed, 23 Aug 2023 10:25:07 -0400
Received: from lists.gnu.org ([2001:470:142::17]:46722)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <samsonov.box@HIDDEN>) id 1qYmZQ-00018y-SU
 for submit <at> debbugs.gnu.org; Wed, 23 Aug 2023 08:02:48 -0400
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 <samsonov.box@HIDDEN>)
 id 1qYmZH-000184-I5
 for bug-gnu-emacs@HIDDEN; Wed, 23 Aug 2023 08:02:35 -0400
Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <samsonov.box@HIDDEN>)
 id 1qYmZD-0004dn-7T
 for bug-gnu-emacs@HIDDEN; Wed, 23 Aug 2023 08:02:32 -0400
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-52713d2c606so7144237a12.2
 for <bug-gnu-emacs@HIDDEN>; Wed, 23 Aug 2023 05:02:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1692792142; x=1693396942;
 h=content-transfer-encoding:from:content-language:subject:to
 :user-agent:mime-version:date:message-id:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Yyg6LNVCvGi7GY1DZmD0dU/a4ZY3q+kJghfjIH8kcas=;
 b=BZbKG1WqC9uoxln6A5sZo0PDNsv0hlJTsLJXw4Yticm00vCiXDg9JbKvznlbRix5Hg
 PCl77IqYCnSYoXrJpoQPCeoPG6Lz/kVvHvFBnP18pxywqO5kxUlasBwjmQUQ/PGhHZL9
 oogNLjf+4xqXoV0BaAymvstrIJJ90KBocNriUVsnc3xWM/DFPA53zLz3On82a7v3Avdi
 tZgmqjlJS0GQBJrw+0pg3RxMEi1YozkHZhT9laONW2I1ZrcAXcYExOe5am+A60xnp52s
 P6Ex8jl4+uriljtblymMWthR+YBrKF/oZmokKYkGhhoVtr8KJp3i+5QAQYnck/u28RIF
 blBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1692792142; x=1693396942;
 h=content-transfer-encoding:from:content-language:subject:to
 :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=Yyg6LNVCvGi7GY1DZmD0dU/a4ZY3q+kJghfjIH8kcas=;
 b=PzsjUq+MG76SkCa+XeEAzY+Zd3pPx9TNY/oFRrvjuDBZnn+i851GJfPoyFiegMNCRe
 v2cQwuWHCBSyITITCQ+5MzHRuTC8UjWrWvE0rsTEbIsi7tTlpLh8IpmU6YLzUoWEJTVt
 mO5U630ZWylHvHJhI8H7jeG2Y1KMvEpX87yEZT4uX0CGKsH4kWPliUHKS3w2WielFN66
 8WSzZsiwc8huyZeSEXsqolior1y2U6pive15xHydaeAVj5ds34fF05R1b28yvwHRecs0
 Xw0yCwRd8vm/VB2yIJd40ENmv+m7DWdIP1YVGo6AbJz+KvNBW/b5e+w5KBCQq7pglRTJ
 OFIw==
X-Gm-Message-State: AOJu0YycD6Ppf1bWLcq+b3DebaabJzyhWCSkGkNd6hAs6nPMxpQZucaW
 ao46qxQMpO1dENuVobi9F2BUpUSS5Kg=
X-Google-Smtp-Source: AGHT+IGqdd9wImz1dO5T4GadzES5v6qKl5TXH4mUGl1rI0/jV6/F3YGCnVRr8wN1pMQRRJ5M0V0Dtw==
X-Received: by 2002:aa7:ccc9:0:b0:523:1ea3:b9a6 with SMTP id
 y9-20020aa7ccc9000000b005231ea3b9a6mr9293466edt.39.1692792141984; 
 Wed, 23 Aug 2023 05:02:21 -0700 (PDT)
Received: from [192.168.216.64] ([176.64.7.137])
 by smtp.gmail.com with ESMTPSA id
 w9-20020a056402070900b00525683f9b2fsm9158881edx.5.2023.08.23.05.02.20
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 23 Aug 2023 05:02:21 -0700 (PDT)
Message-ID: <61352d45-21a6-466b-be7b-7755a6260356@HIDDEN>
Date: Wed, 23 Aug 2023 18:02:14 +0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: bug-gnu-emacs@HIDDEN
Subject: 29.1; package-selected-packages variable is not updated when the last
 package is deleted
Content-Language: ru, en-US
From: Andrey Samsonov <samsonov.box@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=2a00:1450:4864:20::52c;
 envelope-from=samsonov.box@HIDDEN; helo=mail-ed1-x52c.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Wed, 23 Aug 2023 10:25:04 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Steps to reproduce:

1. Start 'emacs -Q --init-directory <DIR>', where <DIR> is directory
with only zero-sized 'init.el' file
2. M-x package-install RET mines RET
3. M-x package-install RET chess RET
4. C-h v package-selected-packages RET: Its value is (chess mines)
5. M-x package-delete RET mines RET
6. C-h v package-selected-packages RET: Its value is (chess)
7. M-x package-delete RET chess RET

Actual behavior:

8. C-h v package-selected-packages RET: Its value is (chess)

Expected behavior:

8. C-h v package-selected-packages RET: Its value is nil



In GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-07-31 built on
  AVALON
Windowing system distributor 'Microsoft Corp.', version 10.0.19045
System Description: Microsoft Windows 10 Pro (v10.0.2009.19045.3324)

Configured using:
  'configure --with-modules --without-dbus --with-native-compilation=aot
  --without-compress-install --with-tree-sitter CFLAGS=-O2'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB

(NATIVE_COMP present but libgccjit not available)

Important settings:
   value of $LANG: RUS
   locale-coding-system: cp1251

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-mode: t
   global-eldoc-mode: t
   eldoc-mode: t
   show-paren-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   line-number-mode: t
   indent-tabs-mode: t
   transient-mark-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32
ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads
w32notify w32 lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 49952 7678)
  (symbols 48 5188 0)
  (strings 32 15211 1932)
  (string-bytes 1 421722)
  (vectors 16 11030)
  (vector-slots 8 262322 17052)
  (floats 8 41 32)
  (intervals 56 230 0)
  (buffers 984 10))





Acknowledgement sent to Andrey Samsonov <samsonov.box@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#65475; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 14 Sep 2023 14:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.