Eli Zaretskii writes: >> Date: Sun, 3 Apr 2016 21:11:34 +0100 >> From: "Phillip Lord" >> Cc: "Phillip Lord" , >> 23203@debbugs.gnu.org, >> stromeko@nexgo.de >> I think that the comment is wrong, as I use this function outside of the >> Emacs build process (and I am sure others do also), so I think we should >> remove that. Alternatively, if it is right, we should move it do the >> docstring. > > Fixing the doc string is always a good thing, but it's orthogonal to > the issue at hand. (I do agree that the comment is wrong.) Yes, it's orthogonal -- will fix that later. >> But, I think having a "no backup files" default is still sensible for a >> function used in batch; if it is always used this way in the Emacs build, >> then it it telling us something. So, I would change it, and update the >> docstring. We could also split the function, so that there is a version >> which does not suppress backup files. > > I don't think I agree that batch mode should behave differently wrt > backups. > > How about this alternative: only disable backing up the initial > (effectively empty) contents of the autoloads file? AFAICT, the > backup files are created during a bootstrap only because we first > write the initial "rubric" into it, using write-region, and only after > that visit it. This defeats the normal mechanism of backing up just > once per session, and leaves a backup file whose contents are not > interesting. That sounds plausible. > > So an alternative would be to modify autoload-ensure-default-file so > that it returns some indication about the fact it created the file, > and then change its caller to set buffer-backed-up after it visits the > file, thus preventing the backup _only_ when the file is first > created. > > This should at least solve Achim's problem, but without affecting > anything else. > > WDYT? Also, it sounds reasonable -- I've attached a patch with a variation on this theme. My concerns is that we will still produce backup files which may end up in a dist build. Consider these commands: make (from bootstrap) rm lisp/loaddefs.el make Removing loaddefs will result in generation of all the associated loaddef files, all of which will now be backups. So, we need to make sure that the packaging system does not copy backup files.