Subject: Re: bug#55492: 29.0.50; apropos-documentation with universal argument shows an error

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 18 May 2022 01:00:07 +0200

Daniel Martín via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <[email-masked]> writes:
> emacs -Q
> C-u C-h d window RET
>
> Actual result:
>
> An error is shown:
>
> apropos-documentation-check-elc-file: Opening input file: No such file
> or directory, <Path_to_emacs>/simple.elc

I see the same if I start Emacs now, and the root cause is

(apropos-safe-documentation 'kill-current-buffer)

which again is because of this

(aref (symbol-function 'kill-current-buffer) 4)
=> ("simple.elc" . 202401)

Now, in my Emacs that's been running for a few hours, I instead get:

(aref (symbol-function 'kill-current-buffer) 4)
=> ("/home/larsi/src/emacs/trunk/lisp/simple.elc" . 202401)

And everything works.

I've tried to bisect this problem, but it's odd -- I can reproduce the
problem from "emacs -Q", but then if ... some things I don't quite
understand are done, then the problem goes away.

In any case, the simple.elc file contains:

(defalias 'kill-current-buffer ... (#$ . 202401) nil])

And #$ has apparently expanded to the unqualified version usually?

I think Stefan changed the format of byte compiled functions a while
ago?  Or do I misremember?  Anyway, added to the CCs.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no