From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#58509: 29.0.50; Synchronous nativecomp Date: Fri, 14 Oct 2022 15:15:31 +0200 Message-ID: <875ygm8s24.fsf@gnus.org> References: <87a65yd715.fsf@gnus.org> <83mt9y8ynk.fsf@gnu.org> <87zgdybrnc.fsf@gnus.org> <83lepi8y4l.fsf@gnu.org> <87ilkmbqu3.fsf@gnus.org> <83k0528w1w.fsf@gnu.org> <87pmeuaaio.fsf@gnus.org> <83ilkm8vv7.fsf@gnu.org> <87lepiaa4s.fsf@gnus.org> <83edva8v1j.fsf@gnu.org> <874jw6a96f.fsf@gnus.org> <83bkqe8t0i.fsf@gnu.org> <87mt9y8ssr.fsf@gnus.org> <838rli8siw.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="13974"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 58509@debbugs.gnu.org, akrl@sdf.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Oct 14 15:16:29 2022 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 1ojKY9-0003SB-69 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 14 Oct 2022 15:16:29 +0200 Original-Received: from localhost ([::1]:46510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ojKY8-0002VU-0d for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 14 Oct 2022 09:16:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53778) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojKXi-0002Or-Ji for bug-gnu-emacs@gnu.org; Fri, 14 Oct 2022 09:16:12 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:37147) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ojKXi-0004uw-3v for bug-gnu-emacs@gnu.org; Fri, 14 Oct 2022 09:16:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ojKXh-0002qp-I0 for bug-gnu-emacs@gnu.org; Fri, 14 Oct 2022 09:16:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Oct 2022 13:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58509 X-GNU-PR-Package: emacs Original-Received: via spool by 58509-submit@debbugs.gnu.org id=B58509.166575334310930 (code B ref 58509); Fri, 14 Oct 2022 13:16:01 +0000 Original-Received: (at 58509) by debbugs.gnu.org; 14 Oct 2022 13:15:43 +0000 Original-Received: from localhost ([127.0.0.1]:36225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojKXP-0002qD-5M for submit@debbugs.gnu.org; Fri, 14 Oct 2022 09:15:43 -0400 Original-Received: from quimby.gnus.org ([95.216.78.240]:46610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojKXN-0002pz-JW for 58509@debbugs.gnu.org; Fri, 14 Oct 2022 09:15:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=4ihL8BASe57Rja5SP98mqZCjNeIqhTlfYXLddT6EZbY=; b=pSinYnHjcye246OeVwwYCGba7G dSeNhaWHuhGF4VjDhrV9/XiqGxKEp83ofUfeqVtYWXR+ei1A3YuyRzuggqgErjc2Qh2QHsgaph+vp +kAzJs/z8ZIc+Jhvm9GLCvnOJ6k8XC4oAZqC9ifDibd0n/7ZX4HuiDD/lAKOvLKkSE0g=; Original-Received: from [84.212.220.105] (helo=downe) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ojKXD-0006F7-L8; Fri, 14 Oct 2022 15:15:33 +0200 In-Reply-To: <838rli8siw.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 14 Oct 2022 16:05:27 +0300") Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEWHX0hULyM/KiX/ //9fL2cNAAAAAWJLR0QDEQxM8gAAAAd0SU1FB+YKDgsSKZC1OvMAAAHESURBVCjPRZFNi5MxEMen sivsbYU+4vbuwX6KIj4Fe9otm2DmpmyCM59CRBfsaZ/SBJNbpRM28ylND+LcfmTm/0IA/s8MzONm nM1nZ7iAITlrvM0PNwPCUMg8+Rgnf8uwcGQmN6Xt7Z3C8I5k8my3Zl3gta1fxePaxssN3CSKzafk 4p2FNyEcZDABx3kCw07MwihfzRFqRrd0vtDVYIHEOjbE7t5byPRwcsao+yQdrDSDVVO87JDijZ7n 0G9aOQwrMNpyf2kmv1wB6KnYDm9zWcEL1Zgs1LCPH/BYxEeEFEP8qR3QFhDTbNKqz2osPPv25aws 3BNEz6EQa0XCbkoa6VWpFBCapSptpjqGLsCjNr1m3mq/kaTarlGOaLtPZG23qNLjiFJRPW7USYBW nQh3eKQEUjf5sDyOumva11B+L08jIyNEJfq1fPKMFkEKmh8A5zwLUKz4DYbu5RYwZSLu4oq8hgmR XGu12B6nN9Srmu9abAtoEgUrOefdFvQjH4P6EvJ9gobGf871e2oX56CJQ+Y9y/o9TFR53cpeZAwQ T5HSWPY72fRfyNnI2iZWDJAbpt42yAEZel2XQkB3jwh/dKf/5i+i6AE30+DuCQAAACV0RVh0ZGF0 ZTpjcmVhdGUAMjAyMi0xMC0xNFQxMToxODo0MSswMDowMKTBsXkAAAAldEVYdGRhdGU6bW9kaWZ5 ADIwMjItMTAtMTRUMTE6MTg6NDErMDA6MDDVnAnFAAAAAElFTkSuQmCC X-Now-Playing: Badsista's _L'Esprit de Nyege 2020_: "Nile River Dancing" 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:245444 Archived-At: Eli Zaretskii writes: >> That doesn't sound like a good interface, and fortunately that's not >> how Emacs works interactively. > > Interactively, async compilation is triggered by actually _loading_ > stuff. You cannot have Emacs load everything that is need for some > function call, unless you let the code of that function actually run, > because only running it will reveal all that's needed to be loaded. > Think about autoloads, eval-after-load, etc. How can Emacs know what > files to compile ahead of running the code you are asking it to run? > Or what am I missing? It really sounds like you're not familiar with how the nativecomp machinery works? When Emacs is asked to load a file, no matter how it is asked to do so, it (eventually) looks at the .elc file (if any). This makes the native-comp machinery kick in, and at present (like I said in the original description here) it adds the .el file to a list of files that will be native-compiled in the background, and then loads the .eln file later. And like I said, at that point, we could instead just go ahead and native-compile the .el file, and then load the .eln file instead of loading the .elc file, synchronously. Nothing needs to be known in advance, because the nativecomp machinery already has all this under control. And, yes, this thread has been really annoying, because I explained all this in the first message already.