[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: generated-autoload-file sometimes not created
From: |
Stefan Monnier |
Subject: |
Re: generated-autoload-file sometimes not created |
Date: |
Wed, 09 Apr 2008 16:16:14 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
> I have locally added (rightly, I think) calc/calc-loaddefs.el to
> AUTOGENEL in lisp/Makefile.in. However, it is not recreated on
> bootstrapping if the timestamp of calc/*.el is older than that of
> loaddefs.el (at least, I think this is what is happening). I believe
> this indicates a bug in the code that generates autoload files.
Indeed, we have a problem: "make bootstrap" will not recreate all the
autoloads, but only those of the files that are more recent than
ldefs-boot.el.
So I suggest the patch below. Can someone test it and fix/install it?
Stefan
Index: lisp/loadup.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/loadup.el,v
retrieving revision 1.162
diff -u -r1.162 loadup.el
--- lisp/loadup.el 9 Apr 2008 03:44:26 -0000 1.162
+++ lisp/loadup.el 9 Apr 2008 20:15:12 -0000
@@ -81,7 +81,13 @@
(message "Lists of integers (garbage collection statistics) are normal output")
(message "while building Emacs; they do not indicate a problem.")
(message "%s" (garbage-collect))
-(load "loaddefs.el") ;Don't get confused if someone compiled this by mistake.
+
+(condition-case nil
+ ;; Don't get confused if someone compiled this by mistake.
+ (load "loaddefs.el")
+ ;; In case loaddefs hasn't been generated yet.
+ (file-error (load "ldefs-boot.el")))
+
(message "%s" (garbage-collect))
(load "simple")
Index: lisp/Makefile.in
===================================================================
RCS file: /sources/emacs/emacs/lisp/Makefile.in,v
retrieving revision 1.104
diff -u -r1.104 Makefile.in
--- lisp/Makefile.in 8 Apr 2008 22:12:12 -0000 1.104
+++ lisp/Makefile.in 9 Apr 2008 20:15:12 -0000
@@ -277,11 +277,8 @@
bootstrap-prepare:
if test -x $(EMACS); then \
$(MAKE) $(MFLAGS) autoloads; \
- else \
- cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \
fi
- chmod +w $(lisp)/loaddefs.el \
- $(lisp)/ps-print.el \
+ chmod +w $(lisp)/ps-print.el \
$(lisp)/emacs-lisp/cl-loaddefs.el
maintainer-clean: distclean bootstrap-clean