(update-elclist): New target, to update ELCFILES.
authorGlenn Morris <rgm@gnu.org>
Sat, 24 May 2008 02:27:02 +0000 (02:27 +0000)
committerGlenn Morris <rgm@gnu.org>
Sat, 24 May 2008 02:27:02 +0000 (02:27 +0000)
(bootstrap-after): Run update-elclist.

lisp/ChangeLog
lisp/Makefile.in

index 1cc72d5..a00d326 100644 (file)
@@ -1,3 +1,19 @@
+2008-05-24  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (update-elclist): New target, to update ELCFILES.
+       (bootstrap-after): Run update-elclist.
+
+2008-05-24  Ulf Jasper  <ulf.jasper@web.de>
+
+       * icalendar.el (icalendar-version): Increase to "0.19".
+       (icalendar--date-style): New function.
+       (icalendar--datetime-to-diary-date): Doc fix.
+       Use icalendar--date-style.
+       (icalendar--datestring-to-isodate): Doc fix.  Handle iso date style.
+       (icalendar--convert-yearly-to-ical):
+       (icalendar--convert-recurring-to-diary): Handle iso date style,
+       use icalendar-date-style.
+
 2008-05-23  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * vc.el (vc-delete-file): Make sure the buffer is deleted and
index 20de2e7..3bec864 100644 (file)
@@ -149,15 +149,31 @@ TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
        els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \
        ${ETAGS} -o $@ $$els
 
+.PHONY: update-elclist
+
+## Construct a sed command file that operates on lines between
+## ^ELCFILES and the next blank line.  Convert spaces between members
+## of COMPILE_FIRST to "\|", and escape directory "/".  List the .elc
+## files, exclude the members of COMPILE_FIRST, convert ^$(lisp) to a
+## literal " $(lisp)", add trailing " \\\" to the end of every line
+## (the last \ continues the line in sed, the other \\ result in a
+## single \ at the end of the replacement text).  For the last line,
+## just use a single "\", for sed.  Finally, run sed using the command
+## so constructed and update Makefile.in.  chmod +w is for CVSREAD=1.
+update-elclist:
+       echo "/^ELCFILES/,/^$$/c\\" > temp.sed
+       echo "ELCFILES = \\\\\\" >> temp.sed
+       exclude=`echo $(COMPILE_FIRST) | sed -e 's, ,\\\\|,g' -e 's,\/,\\\\/,g'`; \
+       ls $(lisp)/*.elc $(lisp)/*/*.elc | sed -e "/$$exclude/d" -e "s|^$(lisp)|        \$$(lisp)|" -e 's/$$/ \\\\\\/' -e '$$ s/ \\\\//' >> temp.sed
+       echo "" >> temp.sed
+       sed -f temp.sed $(lisp)/Makefile.in > temp-elcfiles || { rm temp-elcfiles temp.sed; exit 1 ; }
+       rm temp.sed
+       chmod +w $(lisp)/Makefile.in
+       mv -f temp-elcfiles $(lisp)/Makefile.in
 
 ## Explicitly list the .elc files, for the sake of parallel builds.
 ## http://lists.gnu.org/archive/html/bug-gnu-emacs/2008-05/msg00016.html
-## This can be done more elegantly, but needs to be portable.
-## This list generated by (after bootstrapping):
-## ls $lisp/*.elc $lisp/*/*.elc | sed -e "s|^$lisp|   \$(lisp)|" -e 's/$/ \\/'
-## and then excluding the members of COMPILE_FIRST.
-## FIXME find a way to automatically update this list in Makefile.in
-## after bootstrap.
+## This can probably be done more elegantly, but needs to be portable.
 ELCFILES = \
        $(lisp)/abbrev.elc \
        $(lisp)/abbrevlist.elc \
@@ -1397,7 +1413,7 @@ bootstrap: update-subdirs autoloads compile
 # Generate/update files after the bootstrap process.
 # custom-deps needs `preloaded-file-list'.
 
-bootstrap-after: finder-data custom-deps
+bootstrap-after: finder-data custom-deps update-elclist
 
 distclean:
        -rm -f ./Makefile