Fix parallel builds: make sure loaddefs.el is not being written
while Lisp files are compiled.
lisp/makefile.w32-in (compile): Don't depend on 'mh-autoloads'.
(compile-CMD, compile-SH): Depend on 'autoloads'.
(bootstrap): Don't depend on 'autoloads' and 'mh-autoloads'.
nt/makefile.w32-in (install-bin): Don't copy addpm.exe here. Use
$(DIRNAME)_same-dir.tst instead of same-dir.tst, to avoid stepping
on other (parallel) Make job's toes.
(install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'.
(install-shortcuts): Depend on $(INSTALL_DIR)/bin. Copy addpm.exe
here.
(maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist): Depend
on create-tmp-dist-dir.
nt/nmake.defs (DIRNAME): New variable.
(IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
same-dir.tst.
nt/gmake.defs (DIRNAME): New variable.
(IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
same-dir.tst, to avoid conflicts between several (parallel) Make
jobs.
lisp/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
of same-dir.tst, to avoid stepping on other (parallel) Make job's
toes.
leim/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
of same-dir.tst, to avoid stepping on other (parallel) Make job's
toes.
* lisp/subr.el (apply-partially): Move from subr.el; don't use lexical-let.
(eval-after-load): Obey lexical-binding.
* lisp/simple.el (apply-partially): Move to subr.el.
* lisp/makefile.w32-in: Match changes in Makefile.in.
(BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): New vars.
(.el.elc, compile-CMD, compile-SH, compile-always-CMD)
(compile-always-SH, compile-calc-CMD, compile-calc-SH): Use them.
(COMPILE_FIRST): Add pcase, macroexp, and cconv.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Silence warning about
calling CL's `compiler-macroexpand'.
* lisp/emacs-lisp/bytecomp.el (byte-compile-preprocess): New function.
(byte-compile-initial-macro-environment)
(byte-compile-toplevel-file-form, byte-compile, byte-compile-sexp): Use it.
(byte-compile-eval, byte-compile-eval-before-compile): Obey lexical-binding.
(byte-compile--for-effect): Rename from `for-effect'.
(display-call-tree): Use case.
* lisp/emacs-lisp/byte-opt.el (for-effect): Don't declare as dynamic.
(byte-optimize-form-code-walker, byte-optimize-form):
Revert to old arg name.
* lisp/Makefile.in (BYTE_COMPILE_FLAGS): New var.
(compile-onefile, .el.elc, compile-calc, recompile): Use it.
* lib-src/makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc
and vc/ediff-hook.elc.
* lisp/makefile.w32-in (WINS_BASIC): Include new directory vc.
Makefile.in (bzr-update): Renamed from cvs-update.
(cvs-update): New target for backward compatibility.
makefile.w32-in (bzr-update): Renamed from cvs-update.
(cvs-update): New target for backward compatibility.
($(lisp)/calendar/diary-loaddefs.el, $(lisp)/calendar/hol-loaddefs.el)
($(lisp)/mh-e/mh-loaddefs.el): Pass $(MAKE) as second argument to
w32-batch-update-autoloads.
cus-load.el with `echo', and include "Local Variables" section to prevent
the empty file from being compiled.
(cus-load.el-SH, cus-load.el-CMD): New SHELLTYPE-specific targets that
generate an empty cus-load.el.
Don't copy ldefs-boot.el over loaddefs.el.
(bootstrap-clean): Remove loaddefs.el and don't depend on it.
(loaddefs.el-SH, loaddefs.el-CMD): Don't add autoloads and defvars
to loaddefs.el; they are not needed now. Add coding cookie.