From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#48025: 28.0.50; Add an invocation option to inhibit native-compilation functionality Date: Mon, 26 Apr 2021 15:08:31 +0300 Message-ID: <83o8e1jlj4.fsf@gnu.org> References: <421d2e18-e74c-8e0c-6a49-b6e23376eb14@orcon.net.nz> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35095"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 48025@debbugs.gnu.org, akrl@sdf.org To: Phil Sainty Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Apr 26 14:10:59 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1lb04p-0008qM-BR for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 26 Apr 2021 14:10:59 +0200 Original-Received: from localhost ([::1]:54984 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lb04n-0004yn-VH for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 26 Apr 2021 08:10:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lb03v-0004yV-FQ for bug-gnu-emacs@gnu.org; Mon, 26 Apr 2021 08:10:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:33267) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lb03v-0003JR-8G for bug-gnu-emacs@gnu.org; Mon, 26 Apr 2021 08:10:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lb03v-0000ZD-3Q for bug-gnu-emacs@gnu.org; Mon, 26 Apr 2021 08:10:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 26 Apr 2021 12:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48025 X-GNU-PR-Package: emacs Original-Received: via spool by 48025-submit@debbugs.gnu.org id=B48025.16194389472081 (code B ref 48025); Mon, 26 Apr 2021 12:10:03 +0000 Original-Received: (at 48025) by debbugs.gnu.org; 26 Apr 2021 12:09:07 +0000 Original-Received: from localhost ([127.0.0.1]:44808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lb031-0000XV-7g for submit@debbugs.gnu.org; Mon, 26 Apr 2021 08:09:07 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:36144) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lb02y-0000X0-LQ for 48025@debbugs.gnu.org; Mon, 26 Apr 2021 08:09:05 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:54495) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lb02r-0002hU-5i; Mon, 26 Apr 2021 08:08:58 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3875 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lb02k-0003jO-1k; Mon, 26 Apr 2021 08:08:55 -0400 In-Reply-To: <421d2e18-e74c-8e0c-6a49-b6e23376eb14@orcon.net.nz> (message from Phil Sainty on Mon, 26 Apr 2021 17:52:52 +1200) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:204946 Archived-At: > From: Phil Sainty > Date: Mon, 26 Apr 2021 17:52:52 +1200 > Cc: Andrea Corallo > > Now that the native-compilation feature is merged, it would be very > useful to be able to build Emacs --with-native-compilation but be > able to choose to inhibit that functionality at start time via a > command-line option such as 'emacs --no-native-compilation', which > would cause Emacs to load/execute only .el and .elc files. > > This will enable users to easily compare functionality with and > without native-compilation, so that native-compilation bugs can be > more easily identified and reproduced without requiring people to > maintain more than one build of Emacs in order to test how the > traditional interpreters behave. > > I'm not sure if/how this ties in with the portable dumper. Perhaps > there are .eln files included in the dump? If so, perhaps the dump > would need to include both the .elc and the .eln code, and choose > which to use based on the new option. Andrea will correct me, but I think this is not trivial to implement, not even close. Indeed, the contents of the pdumper file is different in the two cases, and I see no easy way of having both byte-compiled and native-compiled stuff live together in the same dump (they define the same functions, remember?). We could perhaps provide a special value of --temacs= switch to temacs, so that the same temacs executable could be dumped into 2 different *.pdmp files, one with natively-compiled preloaded stuff, the other with byte-compiled stuff; then users could use the existing option --dump-file= to start Emacs with the non-standard pdumper file (they will also need to set comp-deferred-compilation to nil to prevent any run-time native-compilations once Emacs starts). But frankly, I would hesitate to complicate Emacs even for the latter possibility. What you ask for doesn't seem to be a user-level feature, it is mainly important for Emacs developers, and those can always build 2 separate binaries (e.g., I already did). Building a differently-configured Emacs, even from the same Git repository, is so easy that I don't really see a justification for a feature like you describe. (As for reproducing problems easily: it isn't hard to run the interpreted or byte-compiled Lisp, if you can identify the relevant Lisp files involved in the problem: just load them manually. Andrea, am I missing something?)