Consider the following situation. Add a definition to lisp file A and make it available to other lisp files by adding an autoload cookie. Commit the change. Then add some code to lisp file B that depends on the presence of this definition to compile. Commit this change as well.
As I found out the hard way, this leads to problems in two cases: 1. Someone does a fresh checkout from CVS and does a make bootstrap. This fails because bootstrap-emacs that tries to compile file B uses the autoloads in ldefs-boot.el which wasn't updated and thus doesn't contain an autoload of the required definition in file A. This can, of course, be solved by regenerating ldefs-boot.el and committing it. It's probably a good idea to mention this explicitly somewhere. 2. Someone has a CVS tree and did the last update before the change in file A. Then that person does per next update after the change to file B and then does a make bootstrap. bootstrap-emacs uses the old loaddefs.el that does not contain an autoload of the required definition in file A and fails to compile file B. A second make bootstrap would work fine as this would use the new loaddefs.el that was created during the first make bootstrap that failed. Can't the bootstrap process be changed so that bootstrap-emacs uses loaddefs.el with autoloads that are up to date? This would make ldefs-boot.el obsolete and one wouldn't have to think about regenerating it under some circumstances. It would also solve the second problem. Lute. _______________________________________________ Emacs-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-devel
