Subject: bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer`

From: Gerd Möllmann <[email-masked]>
Date: Sun, 17 Nov 2024 08:25:12 +0100

Konstantin Kharlamov <[email-masked]> writes:

> Sure, I just reproduced it after removing all `.elc` files in the repo,
> here how:
>
> 1. `git checkout f2f13fa630b` (a commit from April)
> 2. `make -j$(nproc)` to compile. Note: you don't need to wait for build
> to finish, I just waited for all files under `lisp/emacs-lisp`
> directory to finish compilation, and then ^C'ed it.
> 3. `git checkout 29098a291f5` (a November commit).
> 4. `make -j$(nproc)`

This would always work if lisp/Makefile would rm the .elc files from
COMPILE_FIRST, right? I suspect this isn't done to speed up the build in
the usual case, and because it's a bit difficult to automatically
determine if it has to done or not.

Does a "make clean" after the checkout in (3) make it work?