GNU bug report logs - #62720
29.0.60; Not easy at all to upgrade :core packages like Eglot

Previous Next

Package: emacs;

Reported by: João Távora <joaotavora <at> gmail.com>

Date: Fri, 7 Apr 2023 22:11:01 UTC

Severity: normal

Found in version 29.0.60

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #467 received at 62720 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Philip Kaludercic <philipk <at> posteo.net>, João Távora
 <joaotavora <at> gmail.com>
Cc: larsi <at> gnus.org, 62720 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, monnier <at> iro.umontreal.ca
Subject: Re: bug#62720: 29.0.60; Not easy at all to upgrade :core packages
 like Eglot
Date: Sat, 15 Apr 2023 15:34:42 +0300
On 15/04/2023 13:40, Philip Kaludercic wrote:
>> Eli said something like this patch could be acceptable for master and
>> maybe 29.2.
>>
>> ----------8<----------8<----------8<----------8<----------8<----------8<
>> --- a/lisp/emacs-lisp/package.el
>> +++ b/lisp/emacs-lisp/package.el
>> @@ -652,6 +652,9 @@ package--builtins
>>   name (a symbol) and DESC is a `package--bi-desc' structure.")
>>   (put 'package--builtins 'risky-local-variable t)
>>   
>> +(defvar package--safely-upgradeable-builtins '(eglot use-package)
>> +  "See bug#62720 for longest docstring ever.")
>> +
>>   (defvar package-alist nil
>>     "Alist of all packages available for activation.
>>   Each element has the form (PKG . DESCS), where PKG is a package
>> @@ -2201,14 +2204,19 @@ package-install
>>        (package--archives-initialize)
>>        (list (intern (completing-read
>>                       "Install package: "
>> +                    (append
>>                        (delq nil
>>                              (mapcar (lambda (elt)
>>                                        (unless (package-installed-p (car elt))
>>                                          (symbol-name (car elt))))
>>                                      package-archive-contents))
>> +                     package--safely-upgradeable-builtins)
>>                       nil t))
>>              nil)))
>>     (package--archives-initialize)
>> +  (when-let ((desc (and (memq pkg package--safely-upgradeable-builtins)
>> +                        (cadr (assoc pkg package-archive-contents)))))
>> +    (setq pkg desc))
>>     (add-hook 'post-command-hook #'package-menu--post-refresh)
>>     (let ((name (if (package-desc-p pkg)
>>                     (package-desc-name pkg)
>> ---------->8---------->8---------->8---------->8---------->8---------->8
>>
>> 1. Node code complexity.  It's 6 lines of trivial code.
>> 2. Absolutely no risk of "silent installation of software that wasn't ever
>>     installed before"
>> 3. Fixes all the aforementioned issues
> Personally I think this would be a fine solution considering the
> constraints.

+1




This bug report was last modified 2 years and 17 days ago.

Previous Next


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