Subject: Re: bug#39682: 26.3; Help window for list-packages disabled

From: Noam Postavsky <[email-masked]>
Date: Thu, 20 Feb 2020 20:25:13 -0500

retitle 39682 describe-package disabled by help-fns+.elc compiled in older Emacs
tags 39682 = notabug
close 39682
quit

Drew Adams <[email-masked]> writes:

>> Possible solution!
>> 
>> I loaded emacs -q, ran list-packages, look at the info for help-fns+.el
>> and understood that it would need to be re-compiled with a newer version
>> of emacs.
>> 
>> I just re-compiled help-fns+.el as per instructions in the info file and
>> the problem is solved.
>
> I'm glad you seem to have solved the problem.
>
> But I don't understand how you got help-fns+.el[c] loaded if you
> started Emacs using `emacs -q', which doesn't load your init file.
>
> The original problem really needs to have been narrowed down to only
> the library (or libraries) really necessary to repro the problem.

Yeah, help-fns+ wasn't even mentioned until now, so this was all a bit
surprising.  However, looking at its code I think it's clear what the
problem was: help-fns+ has a copy of the describe-package function,
which it overrides the builtin one with.  The describe-package code
contains a call to package-desc-p which is an inline function.  So a
help-fns+.elc produced by an older version of Emacs uses an older
version of package-desc-p that gives the wrong answer when handed a
new-style struct (i.e., a record rather than a vector).  That's why it
decides that it's been handed something that doesn't specify a package
and complains.

Anyway, I don't think there's anything to fix here, so I'm closing the
report.