Subject: bug#58314: 29.0.50; C-h k with native compilation not conclusive

From: Andrea Corallo <[email-masked]>
Date: Mon, 05 Jun 2023 18:49:34 -0400

Eli Zaretskii <[email-masked]> writes:

>> From: Lars Ingebrigtsen <[email-masked]>
>> Cc: Eli Zaretskii <[email-masked]>,  [email-masked],  Stefan Monnier
>>  <[email-masked]>, Andrea Corallo <[email-masked]>
>> Date: Thu, 06 Oct 2022 14:29:56 +0200
>> 
>> Jean Louis <[email-masked]> writes:
>> 
>> > 1. emacs -Q
>> >
>> > 2. {C-x C-f my-file.el RET}
>> >
>> > 3. write in my-file.el:
>> >
>> >   (defun my-function ()
>> >   (message "Hello"))
>> >
>> > 4. {M-x emacs-lisp-native-compile-and-load RET}
>> >
>> > 5. {C-h f my-function RET}
>> >
>> > 6. Then I see:
>> >
>> > my-function is a native-compiled Lisp function in
>> > ‘~/.emacs.d/eln-cache/29.0.50-44cd31c8/my-file-fb862712-14785989.eln’.
>> 
>> Thanks for the recipe -- I can reproduce this issue, too.
>> 
>> We could fix this in help-fns, but I wonder whether there's something
>> that should be fixed on the nativecomp side -- in this case, it appears
>> to not set up...  something...  that allows you to find my-file.el.
>> I.e., `symbol-file' isn't able to find my-file.el, and it probably
>> should be?
>
> It is also interesting that help-fns does find the .el file for the
> files that are part of Emacs.  So something works differently when the
> compiled file is not part of the Emacs build.

I think this a bug in `emacs-lisp-native-compile-and-load'.  I'll come
up with a fix.

  Andrea