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#74382: `compile-first` Make rule is no longer using `load-prefer-newer` Date: Sun, 17 Nov 2024 08:44:26 +0200 Message-ID: <86jzd2we9h.fsf@gnu.org> References: <6bc3a410f0857c3e3433070ac19deaf7eae88c63.camel@yandex.ru> <86o72ff2h0.fsf@gnu.org> <2b134414542a4af7b87435099570fd88c7d25aa6.camel@yandex.ru> <86y11jvthj.fsf@gnu.org> <46a8bf630b89755bd6edc1521390352ecc176881.camel@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40576"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, 74382@debbugs.gnu.org To: Konstantin Kharlamov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 17 07:45:30 2024 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 1tCZ2I-000AQO-Ip for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 17 Nov 2024 07:45:30 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tCZ1u-00052h-J4; Sun, 17 Nov 2024 01:45:06 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCZ1s-00052U-JJ for bug-gnu-emacs@gnu.org; Sun, 17 Nov 2024 01:45:04 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tCZ1s-00034p-5D for bug-gnu-emacs@gnu.org; Sun, 17 Nov 2024 01:45:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-version:References:In-Reply-To:From:Date:To:Subject; bh=son0cakUIW9PWvhTWrlacQt3JBIz4NsCnwkIaMmbPSU=; b=K7uQ+eiU0gPTLzUXx3wWwPOzoCJ8eztEOJF2O5PdOUTtCkTggej8Wl2DLRkCJwyGvjEoFzlHKSlvD0OmZElieNqDaKk2gAil5ePhDIPIUe+f5YmNPFFwRiAettaubDexKhIVAAFtBnQvgh3vCa+mGGtzF3R+9Jef9WRTh7AoJAbgwKd5f+hSRnZDkIecCBdz+8J/LazUzAT+Kzx1ERip7S+hYWIEFoLBZMGitjDnezwEqyNARheAtCufGR36qVsjtUdzxxzCzNBpNx47zoBF3sXHkL04vqB4ylonP4odeF7wySA/tiSXGzcLdbC0mESicKWgKXyOICWwOUkNYxsQZQ==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tCZ1s-0000Fw-0h for bug-gnu-emacs@gnu.org; Sun, 17 Nov 2024 01:45:04 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 Nov 2024 06:45:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74382 X-GNU-PR-Package: emacs Original-Received: via spool by 74382-submit@debbugs.gnu.org id=B74382.1731825879892 (code B ref 74382); Sun, 17 Nov 2024 06:45:03 +0000 Original-Received: (at 74382) by debbugs.gnu.org; 17 Nov 2024 06:44:39 +0000 Original-Received: from localhost ([127.0.0.1]:55720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCZ1S-0000EF-Gk for submit@debbugs.gnu.org; Sun, 17 Nov 2024 01:44:38 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:33172) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCZ1Q-0000Dy-Ph for 74382@debbugs.gnu.org; Sun, 17 Nov 2024 01:44:38 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCZ1K-0002aL-Te; Sun, 17 Nov 2024 01:44:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=son0cakUIW9PWvhTWrlacQt3JBIz4NsCnwkIaMmbPSU=; b=rwNpWd3iqslyhWJAfAXs y8h77IDB4YsLB+PqvSsSKZ4dLx6wqq/6ZtKIt2FJKPEjYKNCN63MWu2tLwlq80TvWTFAQguv0CzlV DRXCGlk/fq3PhUQlK5HZcj18IvytcFLA64lgiqwE60BoSavUp7bX1mT4eQNm+W0FPaiecxGvjzf4s mowsUm1PHiqWznIQIdXiYHILtOl/Wq/G19fRhNeKgruPNWjlUjwsnCDnVoMF9pKAdkgvMjnpxvat2 FPJKM2nHEE/zPv6wOI8KMDDHBgwdcbbGQ32VKRwK9IK/H4er1mpPQ/tFx8qIwB8DDlEhyUdo5T9SU N07qEAaBLFAJvQ==; In-Reply-To: <46a8bf630b89755bd6edc1521390352ecc176881.camel@yandex.ru> (message from Konstantin Kharlamov on Sun, 17 Nov 2024 01:54:48 +0300) 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:295511 Archived-At: > From: Konstantin Kharlamov > Cc: acm@muc.de, 74382@debbugs.gnu.org > Date: Sun, 17 Nov 2024 01:54:48 +0300 > > > It's impractical, because we have many files with macros.  Tracking > > all of those dependencies would mean that changes in any file will > > trigger unnecessary recompilation of many other files.  If you don't > > mind spending that time waiting for the build, just "make bootstrap" > > every time you update from Git, and you will have that. > > Unless I'm missing something, the problem seems to be with one exact > file, macroexpand.elc, and not with others. No, that's not true. I had similar problems with basically all the files in COMPILE_FIRST. More importantly, what you seem to be missing is that we deliberately play with the time stamps of the *.elc files in COMPILE_FIRST (search for "UTC" in the Makefile), so we must not use load-prefer-newer in this case. That is the reason why it's removed from BYTE_COMPILE_FLAGS. > So the algorithm is simple: if `macroexpand.el` was modified, remove > its elc file. You don't need to track any dependencies. How will load-prefer-newer help if this is what you do? That's the trigger for this bug report, no? In any case, this is not the reason why load-prefer-newer is removed while we COMPILE_FIRST; see above.