Subject: Re: bug#26459: 26.0.50; loaddefs.el is regenerated after each "git pull"

From: Glenn Morris <[email-masked]>
Date: Wed, 12 Apr 2017 12:43:01 -0400

Eli Zaretskii wrote:

>> IIUC 440bafe has made this much slower by defeating the prior "only
>> update where needed" aspect of this.
>
> 440bafe made the rule generate the loaddefs in a temporary file.
> Would it help to copy loaddefs.el into loaddefs.tmp before running
> batch-update-autoloads?

Probably, together with a move-if-change at the end.

Actually, I think it would be better to make the "write to a tempfile"
aspect internal to Emacs, the same as it is for byte-compile-file.
Then all loaddefs generation would get the benefit.

(I wonder whether it could be pushed to a lower lever still, by giving
write-region an optional "atomic" mode of operation?)

> Still, I don't see why the time stamp of loaddefs.el should be
> ignored.

The Makefile doesn't know the dependencies, so the output timestamp is
meaningless to it. It must defer to Emacs to decide whether the file is
up-to-date.