Re: Deferring native compilation finalization until idle

Perry Fraser <[email protected]> Fri, 24 Jul 2026 21:51:47 -0400
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
Eli Zaretskii <[email protected]> writes:

> It's too specific to a single platform and a specific system, IMO.
> That doesn't clear the threshold for being the default, or even an
> opt-in feature.  So no, not worth the trouble, IMO.

I've used Emacs on macOS with native compilation for years and I always assumed that hanging during native compilation was the norm. I suspect many people are in the same boat here, and I have a feeling this affects just about everyone on macOS, which I would hope is enough to justify a patch.

For my configuration, I found the easiest way to reproduce was to have
,----
| (startup-redirect-eln-cache "/tmp/some-empty-dir")
`----
in my `early-init.el' with an empty `init.el' file. (I had some issues (probably user error) clearing it in its usual location.) Then, launching emacs and doing doing `C-h r' once it's launched, and repeatedly `C-n'-ing, I get a visible half-second hiccup. A more visible hiccup can be seen by doing `M-x gnus' and attempting to compose a message.

When using my normal config and attempting to edit my init file with a clear cache I get about a ten second hang. Using the patch added to etc/PROBLEMS completely alleviates the problem and is a /massive/ improvement.

I compile emacs from source, am currently on commit 0f086c3, and use the following relevant configure flags (some omitted):
,----
| ./configure --with-native-compilation=aot --with-ns --disable-ns-self-contained
`----

Thanks,

― Perry