Subject: Re: bug#13199: Cleanly rebuild once != cleanly rebuild twice

From: Glenn Morris <[email-masked]>
Date: Sun, 16 Dec 2012 15:04:59 -0500

Kelly Dean wrote:

> With the Emacs 24.2 source code and GNU Make 3.81, "make clean; make"
> does not give the same result as "make clean; make; make clean; make".
> This failure is user unfriendly; it leads to confusion when you're
> trying to debug, if you only do "make clean; make" after editing the
> source code.
>
> Steps to reproduce the bug/feature:
>
> tar Jxf emacs-24.2.tar.xz
> cd emacs-24.2
> ./configure  --with-jpeg=no --with-png=no --with-gif=no --with-tiff=no
> mv lisp/help-macro.el lisp/help-macro.el.old
> sed -e "s/\*Help\*/\*Foo\*/g" < lisp/help-macro.el.old > lisp/help-macro.el
> make clean; make; make clean; make

Because the .el files are pre-compiled in a normal Emacs release, make
clean does not (and should not) delete .elc files. If you want to patch
lisp files, I advise you to use a more thorough `make maintainer-clean'
first. This is unnecessary for the vast majority of people building a
release. (I haven't actually tested your example.)