Subject: bug#65455: 30.0.50; Disassemble: error with "free-standing" native compiled function

From: Eli Zaretskii <[email-masked]>
Date: Fri, 25 Aug 2023 17:56:59 +0300

> From: Andrea Corallo <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 25 Aug 2023 10:11:58 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > I think we are mis-communicating.  What I meant is something like this:
> >
> >   . add a new optional argument to native-compile that would prevent
> >     it from deleting the .eln file
> >   . add a new function disassemble-native, which will call
> >     native-compile with this new argument, perform disassembly, and
> >     then delete the file
> 
> I see thanks for clarifying.
> 
> I'm not sure I like this option, reason is that I typically want to see
> the disassembly of the already installed function rather than triggering
> a new compilation.  Any change in the environment can lead to a
> different output so I think is important to inspect what was produced
> when it was commanded, no?

If we want to support changes in the environment, I think it would be
an impossibly high bar for such a minor feature.

So perhaps the following would be enough:

  . find the source .el file of the compiled function
  . compile it into a temporary file and disassemble the result
  . delete the compiled temporary file

Out of the alternatives you proposed only #3 is to some extent
acceptable, but it is too complicated, IMO.