GNU bug report logs - #42316
28.0.50; package.el has trouble reloading and activating GNU ELPA :core packages

Previous Next

Package: emacs;

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

Date: Fri, 10 Jul 2020 21:51:02 UTC

Severity: normal

Found in version 28.0.50

To reply to this bug, email your comments to 42316 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#42316; Package emacs. (Fri, 10 Jul 2020 21:51:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to João Távora <joaotavora <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 10 Jul 2020 21:51:02 GMT) Full text and rfc822 format available.

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

From: João Távora <joaotavora <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50; package.el has trouble reloading and activating GNU ELPA
 :core packages
Date: Fri, 10 Jul 2020 22:50:26 +0100
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> 1. when you `package-install` the new eldoc 1.2.0 package in Emacs 26.3
>>    for the first time, it just compiles it, it doesn't load it.  We had
>>    witnessed this with Flymake too, remember?
>
> `package-install` is not supposed to "load" the package (it installs
> it, activates it, and compiles it).  But yes, it is also supposed to
> *reload* already loaded files (right before compiling), so it looks like
> there might be a bug somewhere.
>
> You might want to trace through `package--load-files-for-activation` to
> see why eldoc.el is not reloaded even though it should be in
> `load-history`.
>
>> 2. When you shut down that Emacs session, start it again, run
>>    package-initialize, you _still_ don't have the new eldoc.el file
>>    (1.2.0) loaded.  This is only for eldoc.el, flymake.el works
>>    correctly in this use case.
>
> Yes, this is because it's preloaded in Emacs, so when package.el comes
> to activate the package, the autoloads in `eldoc-autoloads.el` won't have any
> effect because all its functions are already defined (since `eldoc.el`
> is already loaded).
>
> This is not a really bug in package.el but arguably a missing feature,
> indeed.  When `package-activate-all` is called, it should probably
> reload all packages that were already loaded before (when the version
> already loaded is different from the one that's just been activated).

Sounds reasonable.  But can these changes ever reach Emacs 26.3?  How?
Only by updating package.el itself, right?  Is that possible?

I'm afraid I don't have time to do either of those things, right now, so
I'm just going to hack it in Eglot, for now.  But I'm also reporting
this as a bug, so we can track it.

João




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42316; Package emacs. (Wed, 25 Nov 2020 09:44:01 GMT) Full text and rfc822 format available.

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

From: Stefan Kangas <stefan <at> marxist.se>
To: João Távora <joaotavora <at> gmail.com>
Cc: 42316 <at> debbugs.gnu.org
Subject: Re: bug#42316: 28.0.50; package.el has trouble reloading and
 activating GNU ELPA :core packages
Date: Wed, 25 Nov 2020 01:42:59 -0800
João Távora <joaotavora <at> gmail.com> writes:

> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>
>>> 2. When you shut down that Emacs session, start it again, run
>>>    package-initialize, you _still_ don't have the new eldoc.el file
>>>    (1.2.0) loaded.  This is only for eldoc.el, flymake.el works
>>>    correctly in this use case.
>>
>> Yes, this is because it's preloaded in Emacs, so when package.el comes
>> to activate the package, the autoloads in `eldoc-autoloads.el` won't have any
>> effect because all its functions are already defined (since `eldoc.el`
>> is already loaded).
>>
>> This is not a really bug in package.el but arguably a missing feature,
>> indeed.  When `package-activate-all` is called, it should probably
>> reload all packages that were already loaded before (when the version
>> already loaded is different from the one that's just been activated).

Is this the same as Bug#40971?

> Sounds reasonable.  But can these changes ever reach Emacs 26.3?  How?
> Only by updating package.el itself, right?  Is that possible?

I guess if we make package.el into a :core package.  But then again we
will have the same bug on Emacs 26.3, so it will never be loaded...




This bug report was last modified 3 years and 158 days ago.

Previous Next


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