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

From: Andrea Corallo <[email-masked]>
Date: Mon, 05 Apr 2021 18:47:16 +0000

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.

  Andrea