Subject: Re: bug#73303: 30.0.91; Native compiler repeatedly interrupts at random moments

From: Eli Zaretskii <[email-masked]>
Date: Wed, 25 Sep 2024 14:15:41 +0300

> From: Andrea Corallo <[email-masked]>
> Cc: "N. Jackson" <[email-masked]>,  Philip Kaludercic
>  <[email-masked]>,  [email-masked]
> Date: Tue, 24 Sep 2024 15:10:10 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > If your init file arranges for many packages to load only on demand,
> > then I don't think there is a way, except summarily compile all the
> > packages under your ~/.emacs.d/ directory (assuming that's where you
> > install them).  Maybe we should have a native-compile-directory
> > function to make that easier; currently we only have
> > emacs-lisp-native-compile, which compiles a single file.  Andrea,
> > WDYT? 
> 
> Yes we could do that if we think is useful, is probably few lines like:
> 
> (defun native-compile-directory (directory)
>   (mapc (lambda (file)
> 	  (native-compile file))
> 	(directory-files-recursively directory ".+\\.el$")))
> 
> but this will recompile all files, so maybe to make it useful for .emacs
> we should have something that compiles files only when the corresponding
> eln is not already present?

Yes, that would be better.  But the test is not very trivial, because
the .eln file can be in another directory, somewhere on
native-comp-eln-load-path, and there's the issue of the right version
and hash.  Maybe we should have a find-eln-file function to do that?