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: Dmitry Gutov
Subject: bug#62720: 29.0.60; Not easy at all to upgrade :core packages like Eglot
Date: Sat, 22 Apr 2023 14:24:47 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0

On 22/04/2023 14:11, Eli Zaretskii wrote:
Date: Sat, 22 Apr 2023 13:30:41 +0300
Cc: jporterbugs@gmail.com, philipk@posteo.net, 62720@debbugs.gnu.org,
  joaotavora@gmail.com, larsi@gnus.org, monnier@iro.umontreal.ca
From: Dmitry Gutov <dmitry@gutov.dev>

Thanks, but this is not what was being discussed, AFAIU.  What I said
I'd agree to is to have package-update accept a prefix argument and
heed package-install-upgrade-built-in (perhaps renamed),

I think I explained in the previous email why reusing
package-install-upgrade-built-in doesn't seem like a good idea.

And I thought I've explained why I didn't see a need for another
option.

I also don't see the point of using an option here.

Also think forward to Emacs 30: I think the most reasonable choice would be to have package-update upgrade builtins by default, whereas package-update-all and package-menu-mark-for-upgrades probably still need to be preffed off (not sure, but we won't be able to make the choice until later, I think).

But if to make package-update behave properly we need to flip the default of the said option, it will flip the behavior of package-update-all and package-menu-mark-for-upgrades as well.

and only then
update built-in packages.

I asked what plausible scenario you think might be broken by having
package-update upgrade builtin package by default.

That's obvious: this is how package-update behaved until now.

That's not an answer to the question.

I also don't think I like the significant changes in package-update,
nor understand why they are needed.

Like I said: the changes are to avoid relying on package-install being
able to install a package that's already installed. Which currently
works only for builtins and when only a user option is set. It's a mess.

And to "avoid interdependency".

Why does this have to be in Emacs 29?  It's a cleanup, right?

Not a cleanup, no. If I just keep the previous version of the code, I get "package xxx is already installed". Because when upgrading a builtin package, the "current" version is not deleted.

So we need to compute the exact version to install (then package-install does not say "it's already installed" because the installed version is different). The use of package-install-from-archive might have been a mistake, though, (in case dependencies need to be updated too) I'm looking into that now.

Alternatively, we could add an optional argument to package-install which would mean "install the latest version anyway".

Just to be clear, we are talking about the 4 lines at the end, right?

Yes, and also the (somewhat mysterious) additions of tests for
pkg-desc.

pkg-desc is nil for builtin packages in this case (they are not in package-alist, so (assq package package-alist) returns nil).





reply via email to

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