]> code.delx.au - gnu-emacs/blobdiff - admin/update_autogen
* lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026)
[gnu-emacs] / admin / update_autogen
index 4c4f52e2d2d82f0b8270bc970773baa28830bc1e..27d53035502e8782c9bae3215744ac6edd696bb3 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 ### update_autogen - update some auto-generated files in the Emacs tree
 
-## Copyright (C) 2011-2014 Free Software Foundation, Inc.
+## Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 ## Author: Glenn Morris <rgm@gnu.org>
 
@@ -69,6 +69,7 @@ Options:
     commit them (caution).
 -q: be quiet; only give error messages, not status messages.
 -A: only update autotools files, copying into specified dir.
+-H: also update ChangeLog.${changelog_n}
 -I: also update info/dir.
 -L: also update ldefs-boot.el.
 -C: start from a clean state.  Slower, but more correct.
@@ -87,10 +88,13 @@ autogendir=                     # was "autogen"
 ldefs_flag=1
 lboot_flag=
 info_flag=
+changelog_flag=
 
 ## Parameters.
 ldefs_in=lisp/loaddefs.el
 ldefs_out=lisp/ldefs-boot.el
+changelog_n=$(sed -n 's/CHANGELOG_HISTORY_INDEX_MAX *= *//p' Makefile.in)
+changelog_files="ChangeLog.$changelog_n build-aux/gitlog-to-emacslog"
 sources="configure.ac lib/Makefile.am"
 ## Files to copy into autogendir.
 ## Everything:
@@ -113,7 +117,7 @@ tempfile=/tmp/$PN.$$
 trap "rm -f $tempfile 2> /dev/null" EXIT
 
 
-while getopts ":hcfqA:CIL" option ; do
+while getopts ":hcfqA:HCIL" option ; do
     case $option in
         (h) usage ;;
 
@@ -129,6 +133,8 @@ while getopts ":hcfqA:CIL" option ; do
 
         (C) clean=1 ;;
 
+        (H) changelog_flag=1 ;;
+
         (I) info_flag=1 ;;
 
         (L) lboot_flag=1 ;;
@@ -228,7 +234,7 @@ commit ()
 
     echo "Committing..."
 
-    $vcs commit -m "Auto-commit of $type files." "$@" || return $?
+    $vcs commit -m "Auto-commit of $type files." "$@" || return $?
 
     [ "$vcs" = "git" ] && {
         $vcs push || return $?
@@ -305,9 +311,6 @@ EOF
 
     modified=$(status $basegen) || die
 
-    ## bzr status output is always relative to top-level, not PWD.
-    [ "$vcs" = "bzr" ] && cd $oldpwd
-
     commit "generated" $modified || die "commit error"
 
     exit 0
@@ -379,14 +382,18 @@ echo "Checking status of loaddef files..."
 ## It probably would be fine to just check+commit lisp/, since
 ## making autoloads should not effect any other files.  But better
 ## safe than sorry.
-modified=$(status $genfiles ${ldefs_out#lisp/}) || die
+modified=$(status $genfiles $ldefs_out) || die
 
 
-## bzr status output is always relative to top-level, not PWD.
-[ "$vcs" = "bzr" ] && cd ../
+commit "loaddefs" $modified || die "commit error"
 
 
-commit "loaddefs" $modified || die "commit error"
+## Less important than the other stuff, so do it last.
+[ ! "$changelog_flag" ] || {
+    make change-history-nocommit || die "make change-history error"
+    modified=$(status $changelog_files) || die
+    commit "ChangeLog" $modified || die "commit error"
+}
 
 
 exit 0