Subject: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Date: Mon, 02 Feb 2009 01:03:52 -0500

Building the pretest recompiles many Lisp files, which it shouldn't IMO.

Looking at the Makefile's, I think the problem is in this snippet from
src/Makefile.in (near the end):

  /* Since the .el.elc rule cannot specify an extra dependency, we do it here.  */
  ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS)

  ${lispsource}loaddefs.el: $(BOOTSTRAPEMACS)
	  cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=../src/bootstrap-emacs${EXEEXT}

  /* Dump an Emacs executable named bootstrap-emacs containing the
     files from loadup.el in source form.  */

  bootstrap-emacs${EXEEXT}: temacs${EXEEXT}
	  cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs
  #ifdef CANNOT_DUMP
	  ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT}
  #else
	  $(RUN_TEMACS) --batch --load loadup bootstrap
	  mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}
  #endif /* ! defined (CANNOT_DUMP) */
	  @: Compile some files earlier to speed up further compilation.
	  cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=../src/bootstrap-emacs${EXEEXT}

It goes like this: since temacs is built, the last rule says to
produce bootstrap-emacs${EXEEXT}.  The new bootstrap-emacs then
triggers the 2 rules before it, which rebuild loaddefs.el and
recompile the Lisp files in ${lisp} and ${SOME_MACHINE_LISP}.

In GNU Emacs 23.0.90.1 (x86_64-unknown-linux-gnu)
 of 2009-02-02 on fencepost
configured using `configure  '--without-x''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
ESC O D ESC O D ESC O D DEL ESC O B ESC O D a t SPC 
s t a r t u p SPC w h e n SPC y o u r SPC ~ / . e m 
a c s SPC s e t s SPC t h a t SPC v a r i a b ESC DEL 
o p t i o n s DEL . ESC b ESC b ESC b ESC d c u s t 
o m i z e s ESC b ESC b ESC b ESC b ESC b ESC f ESC 
d SPC i f ESC q ESC O B ESC O B ESC O B ESC O A ESC 
O B ESC O B DEL ESC O A ESC O A ESC O B ESC O B ESC 
O A ESC M-q M-k ESC O A ESC O B ESC O B C-x M-m C-x 
o C-x o ESC x f i n d - f i l e - l i t TAB RET m a 
i l . n e w RET C-s c y d ESC [ 6 ~ ESC [ 6 ~ ESC O 
A ESC O B ESC O B ESC O C ESC O C ESC O C ESC O C ESC 
O C ESC O C ESC O C ESC O D C-@ C-e ESC w ESC [ 6 ~ 
C-x b RET C-x b RET C-x b RET C-c C-c y e s RET C-x 
4 f e m a c s . c v TAB e m a TAB ESC DEL p r e TAB 
e m a TAB 3 TAB / t y TAB RET C-x o ESC x ESC O A ESC 
O A RET

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark saved where search started
Quit
Making completion list... [3 times]
Mark saved where search started
Auto-saving...done
Auto-saving...done
Mark saved where search started
Mark set
Sending...done