From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Enabling native compilation by default when libgccjit is present Date: Thu, 09 Dec 2021 08:19:05 +0100 Message-ID: <87mtla8cuu.fsf@telefonica.net> References: <87czmdqpv9.fsf@web.de> <83h7bo7rvz.fsf@gnu.org> <87bl1tjage.fsf@web.de> <83fsr4zfl2.fsf@gnu.org> <87y24vvnnk.fsf@web.de> <875yrzg6o4.fsf@yahoo.com> <83ee6nw4lt.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29360"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:4yULED8Ia2phvhmkl+ovdl4TXFU= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 09 08:20:28 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mvDjA-0007S6-8E for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Dec 2021 08:20:28 +0100 Original-Received: from localhost ([::1]:50400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mvDj8-0003Oa-Sf for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Dec 2021 02:20:26 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:52186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvDi8-0002Ti-GL for emacs-devel@gnu.org; Thu, 09 Dec 2021 02:19:24 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:51754) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvDi1-00070A-76 for emacs-devel@gnu.org; Thu, 09 Dec 2021 02:19:24 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mvDhw-0005hY-Vh for emacs-devel@gnu.org; Thu, 09 Dec 2021 08:19:12 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:281448 Archived-At: Eli Zaretskii writes: >> From: Stefan Monnier >> Cc: Michael Heerdegen , Eli Zaretskii >> , emacs-devel@gnu.org >> Date: Wed, 08 Dec 2021 08:52:01 -0500 >> >> > But how are those warnings different from what the user will get if he >> > runs `package-install' on a package that causes warnings from the >> > byte-compiler? >> >> - By default, package-install compiles all the new files, one after the >> other, in the current Emacs session. So it tends to emit fewer >> warnings than the native compilation (which compiles each file in >> a fresh new process) because many more packages have already been >> loaded. This same difference can cause the native-compiled files to >> be miscompiled (because of a lack of `require`s) while the .elc files >> generated during `package-install` work properly. >> >> - Native compilation of a package kicks in when a package that has been >> byte-compiled gets loaded in an Emacs session. >> So the warnings emitted by native-compilation are always *in addition* >> to the warnings that were emitted during `package-install`. >> >> - `.eln` files are specific to a particular Emacs executable, so all the >> `.elc` files you use will be *re*compiled to `.eln` every time you >> start using a new Emacs executable. For "normal" users this means >> every time they upgrade to a new release. For people who track >> `master` it can mean "every other day". > > There's no argument that there are more warnings with > native-compilation. The argument is whether these warnings should > surprise people as something that "never happens otherwise". What is surprising about the warnings emitted by native-compilation is that you are doing your work and suddenly a window appears from nowhere breaking your window layout, distracting you, spilling text you don't understand and, in any case, are uninsterested on because you have other work to do. So you bury or kill the buffer, fix your window layout, go back to work and a while later the damn thing pops up again. That is incredibly user-hostile. Now I have (setq native-comp-async-report-warnings-errors nil) So much for causing pain to users as a means for improving things.