bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: João Távora
Subject: bug#62720: 29.0.60; Not easy at all to upgrade :core packages like Eglot
Date: Sat, 15 Apr 2023 11:44:08 +0100

On Sat, Apr 15, 2023 at 11:40 AM Philip Kaludercic <philipk@posteo.net> 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.

Me too, of course.  Good luck :-)

João





reply via email to

[Prev in Thread] Current Thread [Next in Thread]