From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: acm@muc.de, 74382@debbugs.gnu.org
Subject: bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer`
Date: Sun, 17 Nov 2024 01:54:48 +0300 [thread overview]
Message-ID: <46a8bf630b89755bd6edc1521390352ecc176881.camel@yandex.ru> (raw)
In-Reply-To: <86y11jvthj.fsf@gnu.org>
On Sat, 2024-11-16 at 22:00 +0200, Eli Zaretskii wrote:
> > Cc: acm@muc.de, 74382@debbugs.gnu.org
> > From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
> > Date: Sat, 16 Nov 2024 21:43:41 +0300
> >
> > > I don't think this is related to what lisp/Makefile does. When
> > > macroexp.el is updated, builds are known to fail until you remove
> > > macroexp.elc (or bootstrap).
> >
> > Okay, but why you need to remove macroexp.elc
>
> Because macroexp.el contains macros, which might have been already
> expanded in the .elc file(s).
>
> > isn't it the build system job to rebuild it when it's changed?
>
> 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. So the algorithm is simple:
if `macroexpand.el` was modified, remove its elc file. You don't need
to track any dependencies.
next prev parent reply other threads:[~2024-11-16 22:54 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-16 15:11 bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer` Konstantin Kharlamov
2024-11-16 16:27 ` Eli Zaretskii
2024-11-16 16:53 ` Alan Mackenzie
2024-11-16 17:45 ` Konstantin Kharlamov
2024-11-16 18:38 ` Eli Zaretskii
2024-11-16 18:43 ` Konstantin Kharlamov
2024-11-16 20:00 ` Eli Zaretskii
2024-11-16 22:54 ` Konstantin Kharlamov [this message]
2024-11-17 6:44 ` Eli Zaretskii
2024-11-17 15:31 ` Konstantin Kharlamov
2024-11-17 7:25 ` Gerd Möllmann
2024-11-17 15:21 ` Konstantin Kharlamov
2024-11-17 15:37 ` Eli Zaretskii
2024-11-17 15:43 ` Konstantin Kharlamov
2024-11-17 15:53 ` Eli Zaretskii
2024-11-17 16:04 ` Konstantin Kharlamov
2024-11-17 16:29 ` Eli Zaretskii
2024-11-17 16:46 ` Konstantin Kharlamov
2024-11-17 17:09 ` Eli Zaretskii
2024-11-17 17:24 ` Konstantin Kharlamov
2024-11-18 4:06 ` Gerd Möllmann
2024-11-18 6:19 ` Konstantin Kharlamov
2024-11-18 10:05 ` Konstantin Kharlamov
2024-11-18 12:59 ` Eli Zaretskii
2024-11-18 13:12 ` Konstantin Kharlamov
2024-11-18 13:38 ` Eli Zaretskii
2024-11-17 15:43 ` Gerd Möllmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46a8bf630b89755bd6edc1521390352ecc176881.camel@yandex.ru \
--to=hi-angel@yandex.ru \
--cc=74382@debbugs.gnu.org \
--cc=acm@muc.de \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).