[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Enabling native compilation by default when libgccjit is present

From: Eli Zaretskii
Subject: Re: Enabling native compilation by default when libgccjit is present
Date: Wed, 08 Dec 2021 14:51:33 +0200

> From: Michael Heerdegen <michael_heerdegen@web.de>
> Cc: emacs-devel@gnu.org
> Date: Wed, 08 Dec 2021 03:25:03 +0100
> Eli Zaretskii <eliz@gnu.org> writes:
> > But once we agree to have it compile automatically, it should be clear
> > that messages related to compilation will be produced, and ignoring
> > those messages might not necessarily be a good idea.
> Once this gets the default, the following will happen: regular users
> that are not programmers will install packages and libraries, and then
> they will get the popup warning windows.  For Elisp developers this is
> good and useful, but for regular users this will cause confusion and
> annoy for no gain.  That's my concern.  Maybe the popup of the window
> should be opt-in - unless it's due to my config that the window
> containing the warnings pops up and even raises its frame.

The JIT compilation doesn't just happen randomly because Emacs decides
it's an opportune moment for it.  It happens because the session loads
some Lisp file.  A live Emacs session used for real-life work will
always load Lisp files, as needed.  Loading a Lisp file (via 'load' or
'require' or any similar API) could potentially pop up warnings and
errors without any relation to native compilation, because something
went wrong while loading.  I presume you won't argue for shutting up
such messages caused by some problems in the load process or in the
interaction of the loaded code with what you already have in the
session, would you?  Then how are the warnings triggered by JIT
compilation different, in principle?  They are the same phenomenon:
Emacs loaded some Lisp package because some command needed it, and
loading it caused warnings due to issues with the loaded code.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]