[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Using an old loaddefs.el can break bootstrap. (was: generic-x mode does
From: |
Lute Kamstra |
Subject: |
Using an old loaddefs.el can break bootstrap. (was: generic-x mode does not load in init) |
Date: |
Tue, 07 Jun 2005 14:36:03 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Lute Kamstra <address@hidden> writes:
>>> generic-make-keywords-list should be autoloaded. Could you revert
>>> your change to lisp/generic-x.el and do another make bootstrap?
>>
>> i did, and to my surprise emacs-cvs got built fine. then i double
>> checked if i really had done "gmake clean" before that first failed
>> built, and i had done so. whatever could have triggered this
>> symptom?
>
> The "make clean", actually. That deletes the old emacs executable,
> but not the old loaddefs.el. As a result, bootstrap-emacs uses the
> old loaddefs.el (and not ldefs-boot.el) and fails to compile lisp code
> that depends on new autoloads.
I think this is a bug in the bootstrap process. The following patch
fixes it. Ok to commit?
Lute.
2005-06-07 Lute Kamstra <address@hidden>
* Makefile.in (bootstrap-prepare): Don't use an old loaddefs.el.
Index: lisp/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/Makefile.in,v
retrieving revision 1.62
diff -c -r1.62 Makefile.in
*** lisp/Makefile.in 13 Apr 2005 09:41:46 -0000 1.62
--- lisp/Makefile.in 7 Jun 2005 12:14:50 -0000
***************
*** 215,235 ****
# Prepare a bootstrap in the lisp subdirectory.
#
! # Build loaddefs.el, because it's not sure it's up-to-date, and if it's not,
! # that might lead to errors during the bootstrap because something fails to
! # autoload as expected. However, if there is no emacs binary, then we can't
! # build autoloads yet, so just make sure there's some loaddefs.el file, as
! # it's necessary for generating the binary (because loaddefs.el is an
! # automatically generated file, we don't want to store it in the source
! # repository).
bootstrap-prepare:
if test -x $(EMACS); then \
$(MAKE) $(MFLAGS) autoloads; \
else \
! if test ! -r $(lisp)/loaddefs.el; then \
! cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \
! fi \
fi
maintainer-clean: distclean
--- 215,233 ----
# Prepare a bootstrap in the lisp subdirectory.
#
! # Build loaddefs.el to make sure it's up-to-date. If it's not, that
! # might lead to errors during the bootstrap because something fails to
! # autoload as expected. If there is no emacs binary, then we can't
! # build autoloads yet. In that case we have to use ldefs-boot.el;
! # bootstrap should always work with ldefs-boot.el. (Because
! # loaddefs.el is an automatically generated file, we don't want to
! # store it in the source repository).
bootstrap-prepare:
if test -x $(EMACS); then \
$(MAKE) $(MFLAGS) autoloads; \
else \
! cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \
fi
maintainer-clean: distclean