Subject: Re: bug#47067: 28.0.50; [feature/native-comp] Crash while scrolling through dispnew.c

From: Andrea Corallo <[email-masked]>
Date: Mon, 05 Apr 2021 19:22:19 +0000

Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Andrea Corallo <[email-masked]>
>>> Cc: [email-masked]
>>> Date: Mon, 05 Apr 2021 18:04:53 +0000
>>> 
>>> >  . If I manually recompile a preloaded .el file, like this:
>>> >
>>> >      emacs -batch -l comp -f batch-byte-native-compile-for-bootstrap ../lisp/isearch.el
>>> >
>>> >    then the produced .eln file is written not into the preloaded
>>> >    folder, but into its parent, i.e. native-lisp/28.0.50-NNNNNN/.
>>> >
>>> > And here is the possible link between these two issues: if I start
>>> > Emacs after compiling preloaded files manually as above, then Emacs
>>> > seems to load the *.eln files from native-lisp/28.0.50-NNNNNN/, not
>>> > from native-lisp/28.0.50-NNNNNN/preloaded, and the problems with the
>>> > backtraces miraculously disappear!
>>> >
>>> > Any idea what is going on here?
>>> 
>>> I think I understand the second issue (at least):
>>> 
>>> ATM which file is preloaded and which is not is suggested by the build
>>> system to Emacs (using the LISP_PRELOADED env var) so that Emacs decides
>>> where to depose the eln.  Unfortunately when the build system is by
>>> passed with a manual invocation Emacs is unaware of this information and
>>> not targeting the preloaded sub-directory.
>>> 
>>> Not sure what's the best strategy to improve this.
>>
>> How about a boolean variable comp-file-preloaded-p, which could be set
>> to signal to comp.el that the file being compiled should be preloaded?
>> Then the manual command would need to set that via -eval.
>
> Sounds good should be easy to add, doing it.

Right, 0a3e715e1f should do the job please have a try when you like.

Thanks

  Andrea