m4-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

release 1.4.10b


From: Eric Blake
Subject: release 1.4.10b
Date: Mon, 25 Feb 2008 20:53:37 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I applied this before making the beta release of 1.4.10b, along with some
followups learned during the process:

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHw41B84KuGfSFAYARApeGAJoDBpBLsUFdKn0Sgrgv3pWNuz5K9gCfZF6h
sBGf03UzXWLaEysriUOX76w=
=GO2Y
-----END PGP SIGNATURE-----
>From 2261f08799ef4cc16a868bc3492356c1edf99ca9 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Sat, 23 Feb 2008 15:07:49 -0700
Subject: [PATCH] Beta Release Version 1.4.10b.

* configure.ac (AC_INIT): Bump version.
(AM_INIT_AUTOMAKE): Increase requirement, and add dist-lzma.
* NEWS: Bump version.
* HACKING: Update for git release procedures.
* README: Update to mention this is a beta release on the stable
branch.
* bootstrap: Mention new automake dependency.
* Makefile.cfg: New file.
* GNUmakefile: Use it.
* Makefile.maint (gzip_rsyncable, GZIP_ENV, GIT, VC, VC-tag)
(VERSION_REGEXP, this-vc-tag, my_distdir, null_AM_MAKEFLAGS)
(TMPDIR, gnulib-version): New macros, borrowed from coreutils.
(makefile-check, news-date-check, changelog-check, m4-check)
(vc-diff-check, maintainer-distcheck, vc-dist, my-distcheck)
(announcement, alpha, beta, major): New rules, borrowed from
coreutils.
(TEXI2HTML, cvs-release, update-timestamps, cvs-news, cvs-commit)
(cvs-dist): Delete.
* Makefile.am (EXTRA_DIST): Distribute new file.
* m4/gnulib-cache.m4: Import announce-gen module.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog          |   28 ++-
 GNUmakefile        |    4 +-
 HACKING            |  203 ++-------------
 Makefile.am        |    6 +-
 Makefile.cfg       |   38 +++
 Makefile.maint     |  195 ++++++++++----
 NEWS               |  722 ++++++++++++++++++++++++++++++----------------------
 README             |    2 +-
 bootstrap          |    4 +-
 configure.ac       |    8 +-
 m4/gnulib-cache.m4 |    4 +-
 11 files changed, 649 insertions(+), 565 deletions(-)
 create mode 100644 Makefile.cfg

diff --git a/ChangeLog b/ChangeLog
index f867f1f..46905c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2008-02-25  Eric Blake  <address@hidden>
+
+       Beta Release Version 1.4.10b.
+       * configure.ac (AC_INIT): Bump version.
+       (AM_INIT_AUTOMAKE): Increase requirement, and add dist-lzma.
+       * NEWS: Bump version.
+       * HACKING: Update for git release procedures.
+       * README: Update to mention this is a beta release on the stable
+       branch.
+       * bootstrap: Mention new automake dependency.
+       * Makefile.cfg: New file.
+       * GNUmakefile: Use it.
+       * Makefile.maint (gzip_rsyncable, GZIP_ENV, GIT, VC, VC-tag)
+       (VERSION_REGEXP, this-vc-tag, my_distdir, null_AM_MAKEFLAGS)
+       (TMPDIR, gnulib-version): New macros, borrowed from coreutils.
+       (makefile-check, news-date-check, changelog-check, m4-check)
+       (vc-diff-check, maintainer-distcheck, vc-dist, my-distcheck)
+       (announcement, alpha, beta, major): New rules, borrowed from
+       coreutils.
+       (TEXI2HTML, cvs-release, update-timestamps, cvs-news, cvs-commit)
+       (cvs-dist): Delete.
+       * Makefile.am (EXTRA_DIST): Distribute new file.
+       * m4/gnulib-cache.m4: Import announce-gen module.
+
 2008-02-23  Eric Blake  <address@hidden>
 
        Use size_t consistently for string length truncation.
@@ -1002,7 +1026,7 @@
 
 2007-07-09  Eric Blake  <address@hidden>
 
-       Release 1.4.10:
+       Release Version 1.4.10.
        * doc/Makefile.am (m4_TEXINFOS): Distribute gpl-3.0.texi.
        * Makefile.am (EXTRA_DIST): Distribute gnulib diffs.
        * configure.ac (AC_INIT): Bump version number.
@@ -1080,7 +1104,7 @@
        * configure.ac (AC_INIT): Bump version number.
        * NEWS: Start changes since 1.4.9b, and fix typo.
 
-       Beta Release 1.4.9b:
+       Beta Release Version 1.4.9b.
        * configure.ac (AC_INIT): Bump version number.
        * NEWS: Describe changes since 1.4.9.
 
diff --git a/GNUmakefile b/GNUmakefile
index bcdcc6c..800330e 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -4,7 +4,8 @@
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006, 2007, 2008 Free Software Foundation,
+# Inc.
 #
 # This file is part of GNU M4.
 #
@@ -41,6 +42,7 @@ ifeq ($(have-Makefile),yes)
 export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
 
 include Makefile
+include $(srcdir)/Makefile.cfg
 include $(srcdir)/Makefile.maint
 
 else
diff --git a/HACKING b/HACKING
index 987d2c3..3d23044 100644
--- a/HACKING
+++ b/HACKING
@@ -41,10 +41,11 @@ and is not part of a release distribution.
 * The master M4 repository is stored in git.
 
 * Before you can build from git, you need to bootstrap.  This requires:
-  - A pre-installed version of GNU M4 built from a package
+  - A pre-installed version of GNU M4 1.4 or later, built from a package
   - Autoconf 2.60 or later
-  - Automake 1.9.6 or later
+  - Automake 1.10.1 or later
   - Help2man 1.29 or later
+  - LZMA Utils 4.32 or later (from <http://tukaani.org/lzma/>)
   - Texinfo 4.8 or later
   - Any prerequisites of the above (such as perl, tex)
   - A git checkout of gnulib.  A read-only copy of gnulib can be
@@ -198,7 +199,7 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny change)
   See http://www.gnu.org/software/libtool/contribute.html for details of
   the numbering scheme (m4 uses the same scheme as libtool).
 
-* Update NEWS, ChangeLog.
+* Update NEWS, configure.ac, README, ChangeLog.
 
 * Run ./bootstrap.
 
@@ -211,18 +212,16 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny 
change)
   be up-to-date with m4 --help output, but `make dist' intentionally
   does not depend on running a built binary.
 
-* Run `make distcheck'.  If there are any problems, fix them and start
-  again.
+* Run `make maintainer-distcheck'.  If there are any problems, fix them
+  and start again.
 
-* Run ./commit from the source tree.
+* Run `git commit' from the source tree if there are any changes from
+  the previous steps.
 
-* TODO - adjust this step to account for git:
-  Run `make cvs-dist', which will build a release tarball (with `make
-  distcheck') and tag the tree with release-$(VERSION).
-
-* Run `make deltas' (pass LASTRELEASE=maj.min[.mic[alpha]] if needed) to
-  create both diff and xdelta files between the previous release tarball
-  and the new.
+* Run `make <target> PREV_VERSION=maj.min[.mic[alpha]]', with target set
+  to `major', `alpha', or `beta' as appropriate.  This will run various
+  additional checks, tag the tree with release-$(VERSION), and create
+  diff and xdelta files from the previous version.
 
 * Run './gnupload --to [dest].gnu.org:m4 [files]' to create
   detached gpg signature and clear signed directive files, and upload
@@ -233,187 +232,25 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny 
change)
 
 * Send announcement to address@hidden, address@hidden, and
   address@hidden  If not an alpha send to address@hidden
-  as well.  Use the templates below as a starting point.  Contact a list
-  administrator for m4-announce in advance to ensure your post will
-  make it through (the list is normally set to silently discard all
-  posts, even from subscribers).
+  as well.  Use /tmp/announce-m4-<version>, created during the above
+  make run, as a starting point.  Contact a list administrator for
+  m4-announce in advance to ensure your post will make it through (the
+  list is normally set to silently discard all posts, even from
+  subscribers).
 
 * Update version number in configure.ac to next alpha number.
   See http://www.gnu.org/software/libtool/contribute.html for details of
   the numbering scheme.
 
-* Update NEWS, ChangeLog.
+* Update NEWS, configure.ac, ChangeLog.
 
-* Run ./commit.
+* Run `git commit' and `git push <version>' to push the release tag.
 
 * For non-alpha releases, update the webpages.  Replace manual.html with
   the new one (generate with `make web-manual').
 
-
-7. Alpha release note template
-==============================
-
-To: address@hidden, address@hidden, address@hidden
-Subject: GNU M4 @VERSION@ released (alpha release).
-
-The GNU M4 Team is pleased to announce alpha release @VERSION@ of GNU
-M4.
-
-GNU `m4' is an implementation of the traditional Unix macro processor.
-It is mostly SVR4 compatible, although it has some extensions (for
-example, handling more than 9 positional parameters to macros).  `m4'
-also has built-in functions for including files, running shell commands,
-doing arithmetic, etc.  Autoconf needs GNU `m4' for generating
-`configure' scripts, but not for running them.
-
-Here are the compressed sources:
-
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@.tar.gz    address@hidden@]
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@.tar.bz2   address@hidden@]
-
-Here are the xdeltas and diffs against address@hidden@:
-
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@address@hidden@.diff.gz   
address@hidden@]
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@address@hidden@.xdelta    
address@hidden@]
-
-Here are the gpg detached signatures:
-
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@.tar.gz.sig
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@.tar.bz2.sig
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@address@hidden@.diff.gz.sig
-  ftp://alpha.gnu.org/gnu/m4/address@hidden@address@hidden@.xdelta.sig
-
-You should download the signature named after any tarball you download,
-and then verify its integrity with, for example:
-
-  gpg --verify address@hidden@.tar.gz.sig
-
-If that command fails because you don't have the required public key,
-then run this command to import it:
-
-  gpg --keyserver wwwkeys.pgp.net --recv-keys @KEY@
-
-Here are the MD5 and SHA1 checksums:
-
-  @MD5SUM@ address@hidden@.tar.gz
-  @MD5SUM@ address@hidden@.tar.bz2
-  @MD5SUM@ address@hidden@address@hidden@.diff.gz
-  @MD5SUM@ address@hidden@address@hidden@.xdelta
-  @SHA1SUM@ address@hidden@.tar.gz
-  @SHA1SUM@ address@hidden@.tar.bz2
-  @SHA1SUM@ address@hidden@address@hidden@.diff.gz
-  @SHA1SUM@ address@hidden@address@hidden@.xdelta
-
-This release has @address@hidden
-
-This release was bootstrapped with @address@hidden
-
-Alternatively, you can fetch the unbootstrapped sourcecode from git by
-using the following commands:
-
-  $ git clone git://git.sv.gnu.org/m4
-  $ git checkout -b branch @GIT_RELEASE_TAG@
-
-You will then need to have recent versions of Automake and Autoconf
-installed, and a recent checkout of gnulib, in order to bootstrap the
-checked out sources yourself.
-
-New in @VERSION@: @RELEASE_DATE@
-
-  @EXCERPT_FROM_NEWS_FILE@
-
-Please report bugs to <address@hidden>, along with the output of 'make
-check' and any other information that might be useful in resolving the
-issue.
-
-
-8. Full release note template
-=============================
-
-To: address@hidden
-To: address@hidden, address@hidden, address@hidden
-Subject: GNU M4 @VERSION@ released.
-
-The GNU M4 Team is pleased to announce the release of GNU M4 @address@hidden
-
-GNU `m4' is an implementation of the traditional Unix macro processor.
-It is mostly SVR4 compatible, although it has some extensions (for
-example, handling more than 9 positional parameters to macros).  `m4'
-also has built-in functions for including files, running shell commands,
-doing arithmetic, etc.  Autoconf needs GNU `m4' for generating
-`configure' scripts, but not for running them.
-
-This release has @address@hidden
-
-New in @VERSION@: @RELEASE_DATE@
-
-  @EXCERPT_FROM_NEWS_FILE@
-
address@hidden@ is available now from ftp.gnu.org, along with diffs and
-xdeltas against address@hidden@ that are also
-available from ftp.gnu.org.  Please use a mirror to reduce stress on the
-main gnu machine:
-
-  http://www.gnu.org/order/ftp.html
-
-Here are the compressed sources:
-
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@.tar.gz    address@hidden@]
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@.tar.bz2   address@hidden@]
-
-Here are the xdeltas and diffs against address@hidden@:
-
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@address@hidden@.diff.gz   
address@hidden@]
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@address@hidden@.xdelta    
address@hidden@]
-
-Here are the gpg detached signatures:
-
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@.tar.gz.sig
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@.tar.bz2.sig
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@address@hidden@.diff.gz.sig
-  ftp://ftp.gnu.org/gnu/m4/address@hidden@address@hidden@.xdelta.sig
-
-You should download the signature named after any tarball you download,
-and then verify its integrity with, for example:
-
-  gpg --verify address@hidden@.tar.gz.sig
-
-If that command fails because you don't have the required public key,
-then run this command to import it:
-
-  gpg --keyserver wwwkeys.pgp.net --recv-keys @KEY@
-
-Here are the MD5 and SHA1 checksums:
-
-  @MD5SUM@ address@hidden@.tar.gz
-  @MD5SUM@ address@hidden@.tar.bz2
-  @MD5SUM@ address@hidden@address@hidden@.diff.gz
-  @MD5SUM@ address@hidden@address@hidden@.xdelta
-  @SHA1SUM@ address@hidden@.tar.gz
-  @SHA1SUM@ address@hidden@.tar.bz2
-  @SHA1SUM@ address@hidden@address@hidden@.diff.gz
-  @SHA1SUM@ address@hidden@address@hidden@.xdelta
-
-This release was bootstrapped with @address@hidden
-
-Alternatively, you can fetch the unbootstrapped sourcecode from git by
-using the following commands:
-
-  $ git clone git://git.sv.gnu.org/m4
-  $ git checkout -b branch @GIT_RELEASE_TAG@
-
-You will then need to have the latest release versions of Automake
-(@AUTOMAKE_VERSION@) and Autoconf (@AUTOCONF_VERSION@) installed, as
-well as a git checkout of gnulib, in order to bootstrap the checked out
-sources yourself.
-
-Please report bugs to <address@hidden>, along with the output of 'make
-check' and any other information that might be useful in resolving the
-issue.
-
-
 -- 
-Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 The canonical source of this file is maintained with the
 GNU M4 package.  Report bugs to address@hidden
diff --git a/Makefile.am b/Makefile.am
index f679949..4c1ff26 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
 ## Makefile.am - template for generating Makefile via Automake
 ##
-## Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software
-## Foundation, Inc.
+## Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008 Free
+## Software Foundation, Inc.
 ##
 ## This file is part of GNU M4.
 ##
@@ -21,7 +21,7 @@
 ## Written by Gary V. Vaughan <address@hidden>
 
 SUBDIRS = . examples lib src doc tests checks
-EXTRA_DIST = bootstrap c-boxes.el GNUmakefile Makefile.maint \
+EXTRA_DIST = bootstrap c-boxes.el GNUmakefile Makefile.cfg Makefile.maint \
        m4/gnulib-cache.m4
 DISTCLEANFILES = stamp-h
 ## maintainer-clean should remove as much as possible that ./bootstrap can
diff --git a/Makefile.cfg b/Makefile.cfg
new file mode 100644
index 0000000..1e4b827
--- /dev/null
+++ b/Makefile.cfg
@@ -0,0 +1,38 @@
+# Customize Makefile.maint.                           -*- makefile -*-
+# Copyright (C) 2003-2008 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Use alpha.gnu.org for alpha and beta releases.
+# Use ftp.gnu.org for major releases.
+gnu_ftp_host-alpha = alpha.gnu.org
+gnu_ftp_host-beta = alpha.gnu.org
+gnu_ftp_host-major = ftp.gnu.org
+gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
+
+url_dir_list = \
+  ftp://$(gnu_rel_host)/gnu/coreutils
+
+# The GnuPG ID of the key used to sign the tarballs.
+gpg_key_ID = F4850180
+
+# Tests not to run as part of "make distcheck".
+# Exclude changelog-check here so that there's less churn in ChangeLog
+# files -- otherwise, you'd need to have the upcoming version number
+# at the top of the file for each `make distcheck' run.
+local-checks-to-skip = changelog-check
+
+# The local directory containing the checked-out copy of gnulib used in this
+# release.  Used solely to get gnulib's SHA1 for the "announcement" target.
+gnulib_dir = ../gnulib
diff --git a/Makefile.maint b/Makefile.maint
index c07aee1..e47aec2 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -1,6 +1,6 @@
 ## Makefile.maint -- Makefile rules for m4 maintainers -*-Makefile-*-
 ##
-## Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
+## Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
 ##
 ## This file is part of GNU M4.
 ##
@@ -17,19 +17,137 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TEXI2HTML = texi2html
+# Do not save the original name or timestamp in the .tar.gz file.
+# Use --rsyncable if available.
+gzip_rsyncable := \
+  $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo 
--rsyncable)
+GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
+
+CVS = cvs
+GIT = git
+VC = $(GIT)
+VC-tag = git-tag -s -m '$(VERSION)'
+
+VERSION_REGEXP = $(subst .,\.,$(VERSION))
+ifeq ($(VC),$(GIT))
+this-vc-tag = v$(VERSION)
+else
+tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
+tag-this-version = $(subst .,_,$(VERSION))
+this-vc-tag = $(tag-package)-$(tag-this-version)
+endif
+my_distdir = $(PACKAGE)-$(VERSION)
+
+# Ensure that we use only the standard $(VAR) notation,
+# not @...@ in Makefile.am, now that we can rely on automake
+# to emit a definition for each substituted variable.
+makefile-check:
+       grep -nE '@[A-Z_0-9]+@' `find . -name Makefile.am` \
+         && { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || 
:
+
+news-date-check: NEWS version-check
+       today=`date +%Y-%m-%d`;                                         \
+       if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')'       \
+           >/dev/null; then                                            \
+         :;                                                            \
+       else                                                            \
+         echo "version or today's date is not in NEWS" 1>&2;           \
+         exit 1;                                                       \
+       fi
+
+changelog-check:
+       if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$'        \
+           >/dev/null; then                                            \
+         :;                                                            \
+       else                                                            \
+         echo "$(VERSION) not in ChangeLog" 1>&2;                      \
+         exit 1;                                                       \
+       fi
+
+m4-check:
+       @grep -n 'AC_DEFUN([^[]' m4/*.m4 \
+         && { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
+              exit 1; } || :
+
+vc-diff-check:
+       $(VC) diff > vc-diffs || :
+       if test -s vc-diffs; then                               \
+         cat vc-diffs;                                         \
+         echo "Some files are locally modified:" 1>&2;         \
+         exit 1;                                               \
+       else                                                    \
+         rm vc-diffs;                                          \
+       fi
 
-.PHONY: cvs-release
-cvs-release: version-check prev-tarball cvs-news cvs-commit cvs-dist deltas 
web-manual
-       @tarname="$(PACKAGE)-$(VERSION).tar.gz"; \
-       diffname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
-       xdeltaname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
-       echo " *** Upload $$tarname, $$tarname.sig,";\
-       echo " *** $$tarname.directive.asc, $$diffname,"; \
-       echo " *** $$diffname.sig, $$diffname.directive.asc,"; \
-       echo " *** $$xdeltaname, $$xdeltaname.sig and";\
-       echo " *** $$xdeltaname.directive.asc to either"
-       echo " *** /incoming/alpha or /incoming/ftp on ftp-upload.gnu.org."
+maintainer-distcheck:
+       $(MAKE) distcheck
+       $(MAKE) my-distcheck
+
+# Don't make a distribution if checks fail.
+# Also, make sure the NEWS file is up-to-date.
+vc-dist: $(local-check) vc-diff-check maintainer-distcheck
+       $(MAKE) dist
+
+# Use this to make sure we don't run these programs when building
+# from a virgin tgz file, below.
+null_AM_MAKEFLAGS = \
+  ACLOCAL=false \
+  AUTOCONF=false \
+  AUTOMAKE=false \
+  AUTOHEADER=false \
+  MAKEINFO=false
+
+# Use -Wformat -Werror to detect format-string/arg-list mismatches.
+# Also, check for shadowing problems with -Wshadow, and for pointer
+# arithmetic problems with -Wpointer-arith.
+# These CFLAGS are pretty strict.  If you build this target, you probably
+# have to have a recent version of gcc and glibc headers.
+TMPDIR ?= /tmp
+t=$(TMPDIR)/$(PACKAGE)/test
+my-distcheck: $(local-check) check
+       -rm -rf $(t)
+       mkdir -p $(t)
+       GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
+       cd $(t)/$(distdir)                              \
+         && ./configure                                \
+         && $(MAKE) CFLAGS='$(warn_cflags)'            \
+             AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)'       \
+         && $(MAKE) dvi                                \
+         && $(MAKE) check                              \
+         && $(MAKE) distclean
+       (cd $(t) && mv $(distdir) $(distdir).old        \
+         && $(AMTAR) -zxf - ) < $(distdir).tar.gz
+       diff -ur $(t)/$(distdir).old $(t)/$(distdir)
+       -rm -rf $(t)
+       @echo "========================"; \
+       echo "$(distdir).tar.gz is ready for distribution"; \
+       echo "========================"
+
+gnulib-version = $$(cd $(gnulib_dir) && git describe)
+
+announcement: NEWS ChangeLog $(rel-files)
+       @./build-aux/announce-gen                                       \
+           --release-type=$(RELEASE_TYPE)                              \
+           --package=$(PACKAGE)                                        \
+           --prev=$(PREV_VERSION)                                      \
+           --curr=$(VERSION)                                           \
+           --gpg-key-id=$(gpg_key_ID)                                  \
+           --news=NEWS                                                 \
+           --bootstrap-tools=autoconf,automake,gnulib                  \
+           --gnulib-version=$(gnulib-version)                          \
+           $(addprefix --url-dir=, $(url_dir_list))
+
+.PHONY: alpha beta major
+alpha beta major: $(local-check)
+       test $@ = major                                         \
+         && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
+              || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
+         || :
+       $(MAKE) vc-dist
+       $(MAKE) news-date-check changelog-check
+       $(MAKE) deltas
+       $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
+       $(VC-tag) $(this-vc-tag)
 
 .PHONY: version-check
 version-check:
@@ -44,47 +162,12 @@ version-check:
 .PHONY: prev-tarball
 prev-tarball:
 ## Make sure we have the previous release tarball in the tree.
-       @if test -z "$(LASTRELEASE)"; \
-               then echo "LASTRELEASE is not set"; exit 1; fi
-       @ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
+       @if test -z "$(PREV_VERSION)"; \
+               then echo "PREV_VERSION is not set"; exit 1; fi
+       @ofile="$(PACKAGE)-$(PREV_VERSION).tar.gz"; \
        if test -f $$ofile; then :; \
        else echo "Cannot make deltas without $$ofile"; exit 1; fi
 
-# TSDEPS will be defined to TSDEPS_DIST at `make dist' time
-TSDEPS =
-TSDEPS_DIST = ChangeLog
-CVS = cvs # set it to `:' to avoid CVS operations
-
-.PHONY: timestamps update-timestamps
-timestamps: update-timestamps
-update-timestamps:
-       @if (cd $(srcdir) && test -d CVS && \
-           $(CVS) -n update $(TSDEPS_DIST) | grep '^M'); then \
-               echo "Cannot make cvs-dist before commit"; exit 1; else :; fi
-
-
-.PHONY: cvs-news
-cvs-news:
-## Make sure the NEWS file is up-to-date:
-       @if sed '1,4d;5q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
-       then :; \
-       else \
-         echo "NEWS not updated; not releasing" 1>&2; \
-         exit 1; \
-       fi
-
-.PHONY: cvs-commit
-cvs-commit: cvs-news
-       cd $(srcdir) && $(SHELL) ./commit
-
-.PHONY: cvs-dist
-cvs-dist: cvs-news timestamps
-## Build the distribution:
-       $(MAKE) dist
-## Finally, if everything was successful, tag the release
-       cd $(srcdir) \
-         && $(CVS) -q tag `echo "release-$(VERSION)" | sed 's/\./_/g'`
-
 .PHONY: new-tarball
 new-tarball:
 ## Make sure we have the new release tarball in the tree.
@@ -114,12 +197,12 @@ delta-diff: prev-tarball new-tarball
        rm -rf delta-diff
        mkdir delta-diff
 
-       ofile="../$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
+       ofile="../$(PACKAGE)-$(PREV_VERSION)-$(VERSION).diff.gz"; \
        cd delta-diff \
-       && tar xzf "../$(PACKAGE)-$(LASTRELEASE).tar.gz" \
+       && tar xzf "../$(PACKAGE)-$(PREV_VERSION).tar.gz" \
        && tar xzf "../$(PACKAGE)-$(VERSION).tar.gz" \
        && $(DIFF) $(DIFF_OPTIONS) \
-               $(PACKAGE)-$(LASTRELEASE) $(PACKAGE)-$(VERSION) \
+               $(PACKAGE)-$(PREV_VERSION) $(PACKAGE)-$(VERSION) \
                | GZIP=$(GZIP_ENV) gzip -c > $$ofile
 
        rm -rf delta-diff
@@ -132,9 +215,9 @@ delta-xdelta: prev-tarball new-tarball got-xdelta
 ## Generate the delta file (xdelta has weird exit statuses, so we need to
 ## add some shell code to keep make happy), and then generate the signatures
 ## for FSF ftp-upload:
-       ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
+       ofile="$(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta"; \
        ( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
-           $(PACKAGE)-$(LASTRELEASE).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
+           $(PACKAGE)-$(PREV_VERSION).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
            $$ofile 2>&1` \
          && : )
 
diff --git a/NEWS b/NEWS
index 8faafcf..284b49d 100644
--- a/NEWS
+++ b/NEWS
@@ -2,317 +2,417 @@ GNU M4 NEWS - User visible changes.
 Copyright (C) 1992, 1993, 1994, 2004, 2005, 2006, 2007, 2008 Free Software
 Foundation, Inc.
 
-Version 1.4.11 - ?? ??? 2008, by ????  (git version 1.4.10a-*)
-
-* Security fixes for the -F option, for bugs present since -F was
-  introduced in 1.3: Avoid core dump with 'm4 -F file -t undefined', and
-  avoid arbitrary code execution with certain file names.
-* Fix regression introduced in 1.4.9b in the `divert' builtin when more
-  than 512 kibibytes are saved in diversions on platforms like NetBSD where
-  fopen(name,"a+") seeks to the end of the file.
-* The output of the `maketemp' and `mkstemp' builtins is now quoted if a
-  file was created.  This is a minor security fix, because it was possible
-  (although rather unlikely) that an unquoted string could match an
-  existing macro name, such that use of the `mkstemp' output would trigger
-  inadvertent macro expansion and operate on the wrong file name.
-* Enhance the `defn' builtin to support concatenation of multiple text
-  arguments, as required by POSIX.  However, at this time, it is not
-  possible to concatenate a builtin macro with anything else; a warning is
-  now issued if this is attempted, although a future version of M4 may lift
-  this restriction to match other implementations.
-* Enhance the `index' builtin to guarantee linear behavior and often
-  acheive sublinear results, in spite of the surprisingly large number of
-  systems with a brain-dead quadratic strstr(3).
-* Enhance the `regexp' and `patsubst' builtins to cache frequently used
-  regular expressions, which speeds up typical Autoconf usage.
-* Enhance the `format' builtin to warn for more suspicious usages, such as
-  missing arguments or problems parsing according to the format string.
-* Enhance the `ifelse' and `shift' builtins so that tail-recursive
-  algorithms based on `$@' operate in linear, rather than quadratic, time
-  and memory.
-* A number of portability improvements inherited from gnulib.
-
-Version 1.4.10 - 09 Jul 2007, by Eric Blake  (CVS version 1.4.9c)
-
-* Upgrade from GPL version 2 to GPL version 3 or later.
-* A number of portability improvements inherited from gnulib.
-* Avoid undefined behavior introduced in 1.4.9b in the `format' builtin
-  when handling %c.  However, this area of code has never been documented,
-  and currently does not match the POSIX behavior of printf(1), so it may
-  have further changes in the next version.
-
-Version 1.4.9b - 29 May 2007, by Eric Blake  (CVS version 1.4.9a)
-
-* Fix regression introduced in 1.4.9 in the `eval' builtin when performing
-  division.
-* Fix regression introduced in 1.4.8 in the `-F' option that made it
-  impossible to freeze more than 512 kibibytes of diverted text.
-* The synclines option `-s' no longer generates sync lines in the middle of
-  multiline comments or quoted strings.
-* Work around a number of corner-case POSIX compliance bugs in various
-  broken stdio libraries.  In particular, the `syscmd' builtin behaves
-  more predictably when stdin is seekable.
-* The `format' builtin now understands formats such as %a, %A, and %'hhd,
-  and works around a number of platform printf bugs.  Furthermore, the
-  sequence format(%*.*d,-1,-1,1) no longer outputs random data.  However,
-  some non-compliant platforms such as mingw still have known bugs in
-  strtod that may cause testsuite failures.
-* The testsuite is improved to also run gnulib portability tests for the
-  features that M4 imports from gnulib.
-
-Version 1.4.9 - 23 Mar 2007, by Eric Blake  (CVS version 1.4.8c)
-
-* Minor documentation and portability cleanups.
-
-Version 1.4.8b - 24 Feb 2007, by Eric Blake  (CVS version 1.4.8a)
-
-* Fix a regression introduced in 1.4.8 that made m4 unable to process
-  files larger than 2GiB on some platforms.
-* Fix a regression introduced in 1.4.8 that made m4 dump core when
-  invoked as 'm4 -- file'.
-* The `eval' builtin now follows C precedence rules.  Additionally, the
-  short-circuit operators correctly short-circuit division by zero.  The
-  previously undocumented alias of '=' meaning '==' in eval now triggers a
-  deprecation warning, so that a future version of M4 can implement a form
-  of variable assignment as an extension.
-* The `include' builtin now affects exit status on failure, as required by
-  POSIX.  Use `sinclude' if you need a successful exit status.
-* The `-E'/`--fatal-warnings' command-line option now has two levels.  When
-  specified only once, warnings affect exit status, but execution
-  continues, so that you can see all warnings instead of fixing them one
-  at a time.  To acheive 1.4.8 behavior, where the first warning
-  immediately exits, specify -E twice on the command line.
-* A new `--warn-macro-sequence' command-line option allows detection of
-  sequences in `define' and `pushdef' definitions that match an optional
-  regular expression.  The default regular expression is
-  `\$\({[^}]*}\|[0-9][0-9]+\)', corresponding to the sequences that might
-  not behave correctly when upgrading to the eventual M4 2.0.  By default,
-  M4 2.0 will follow the POSIX requirement that a macro definition
-  containing `$11' must expand to the first argument concatenated with 1,
-  rather than the eleventh argument; and will take advantage of the POSIX
-  wording that allows implementations to treat `${11}' as the eleventh
-  argument instead of literal text.  Be aware that Autoconf 2.61 will not
-  work with this option enabled with the default regular expression; but
-  Autoconf 2.62 will be compatible with this option.
-* Improved portability to platforms such as BSD/OS and AIX.
-
-Version 1.4.8 - 20 November 2006, by Eric Blake  (CVS version 1.4.7a)
-
-* The `divert' macro and `-H'/`--hashsize' command line option no longer
-  cause a core dump when handed extra large values.  Also, `divert' now
-  uses memory proportional to the number of diversions in use, rather than
-  to the maximum diversion number encountered, so that large diversion
-  numbers are less likely to exhaust system memory; and is no longer
-  limited by the maximum number of file descriptors.
-* The `--help' and `--version' command line options now consistently
-  override all earlier options.  For example, `m4 --debugfile=trace
-  --help' now no longer accidentally creates an empty file `trace'.
-* The `-L'/`--nesting-limit' command line option can now be set to 0
-  to remove the default limit of 1024.  However, it is still possible that
-  heavily nested input can cause abrupt program termination due to stack
-  overflow.
-* Problems encountered when writing to standard error, such as with the
-  `errprint' macro, now always cause a non-zero exit status.
-* Warnings and errors issued during macro expansion are now consistently
-  reported at the line where the macro name was detected, rather than
-  where the close parenthesis resides.  Text wrapped by `m4wrap' now
-  remembers the location that was in effect when m4wrap was invoked,
-  rather than changing to line 0 and the empty string for a file.  The
-  macros `__line__' and `__file__' now work correctly even as the last
-  token in an included file.
-* The `builtin' and `indir' macros now transparently handle builtin
-  tokens generated by `defn'.
-* When diversions created by the `divert' macro collect enough text that
-  M4 must use temporary files, the environment variable $TMPDIR is now
-  consulted, and a better effort is made to clean up those files in the
-  event of a fatal signal.
-* The `mkstemp' builtin is added with the same GNU semantics as `maketemp',
-  based on the recommendation of POSIX to deprecate the POSIX semantics of
-  `maketemp' as inherently insecure.  In GNU mode (no -G supplied on the
-  command line), `maketemp' silently retains the secure GNU semantics, but
-  a future release of M4 will change this to emit a warning.  In
-  traditional mode (m4 -G), `maketemp' now uses the POSIX-mandated insecure
-  semantics, and issues a warning that you should convert your script to
-  use `mkstemp' instead.  Additionally, `mkstemp' and `maketemp' are now
-  well-defined even if the template argument does not end in six `X'
-  characters.
-* The manual has been improved, including a new section on a composite
-  macro `foreach'.
-* The `changecom' and `changequote' macros now treat an empty second
-  argument the same as if it were missing, rather than using the empty
-  string and making it impossible to end a comment or quote.
-* The `translit' macro now operates in linear instead of quadratic time,
-  and is now eight-bit clean.
-* The `-D', `-U', `-s', and `-t' command line options now take effect
-  after any files encountered earlier on the command line, rather than up
-  front, as is done in traditional implementations and required by POSIX.
-
-Version 1.4.7 - 25 September 2006, by Eric Blake  (CVS version 1.4.6a)
-
-* Fix regression from 1.4.5 in handling a file that ends in a macro
-  expansion without arguments instead of a newline.
-* The define and pushdef macros now warn when the first argument is not
-  a string, rather than silently doing nothing.
-* Standard input can now be read more than once, as in 'm4 - file -', and
-  is not closed until all wrapped text is handled.  This makes a
-  difference when stdin is not a regular file, and also fixes bugs when
-  using the syscmd or esyscmd macros from wrapped text.
-* When standard input is a seekable file, the m4exit, syscmd, and esyscmd
-  macros now restore the current position to the next unread byte rather
-  than discarding an arbitrary amount of buffered data.
-* SysV command-line compatibility is no longer a goal of GNU M4; the
-  focus will be instead on POSIX compatibility.  This release continues to
-  support previous usage, but adds warnings in areas which will allow a
-  future version of GNU M4 to use its own extensions without being tied to
-  the SysV command line interface.
-* The no-op compatibility command line options -B, -N, -S, -T, and
-  --diversions may be withdrawn or assigned new meanings in future
-  releases, so they now issue a warning if used.
-* A new command line option -i replaces the compatibility -e as the
-  short spelling of --interactive, for consistency with other GNU tools; a
-  warning is issued if the old spelling is used, and it may be assigned new
-  meaning in future releases.
-* A new command line option --debugfile replaces the options -o and
-  --error-output as the preferred spelling.  The old options were
-  misleading in their names and inconsistent with other GNU tools; they are
-  still silently accepted, but no longer documented in --help, and may be
-  assigned new meanings in future releases.
-
-Version 1.4.6 - 25 August 2006, by Eric Blake  (CVS version 1.4.5a)
-
-* Fix buffer overruns in regexp and patsubst macros when handed a trailing
-  backslash in the replacement text, or when handling \n substitutions
-  beyond the number of \(\) groups.
-* Fix memory leak in regexp, patsubst, and changeword macros.
-* The format macro now understands %F, %g, and %G.
-* When loading frozen files, m4 now exits with status 63 if version
-  mismatch is detected.
-* Fix bugs that occurred when invoked with stdout or stderr closed,
-  and detect write failures to stdout or to the target of the
-  debugfile macro.  In particular, the syscmd and esyscmd macros can
-  no longer interfere with the debug stream or diversions.
-* The m4exit macro now converts values outside the range 0-255 to 1.
-* It is now an error if a command-line input file ends in the middle of a
-  comment, matching the behavior of mid-string and mid-argument
-  collection.
-* The dnl macro now warns if end of file is encountered instead of a
-  newline.
-* The error message when end of file is encountered now uses the file and
-  line where the dangling construct started, rather than `NONE:0:'.
-* The debugmode and __file__ macros, and the -s/--synclines option, now
-  show what directory a file was found in when the -I/--include option or
-  M4PATH variable had an effect.
-* The changequote and changecom macros now work with 8-bit characters, and
-  quotes and comments that begin with `(' are properly recognized
-  following a word.
-* The new macro __program__ is added, which allows the input file to issue
-  an error message that resembles messages from m4.  Warning and error
-  messages have been reformatted to comply with GNU Coding Standards.
-* The errprint, m4wrap, and shift macros are now recognized only with
-  arguments.
-* The index, substr, translit, regexp, and patsubst macros now produce
-  output when given only one argument, but still warn about a missing
-  second argument.
-* The patsubst macro now reliably finds zero-length matches at the end
-  of a string.
-
-Version 1.4.5 - 15 July 2006, by Eric Blake  (CVS version 1.4.4c)
-
-* Fix sysval on BeOS, OS/2, and other systems that store exit status
-  in the low-order byte.  Additionally, on Unix platforms, if syscmd was
-  terminated by a signal, sysval now displays the signal number shifted
-  left by eight bits, to match traditional m4 implementations.
-* The maketemp macro is no longer subject to platform limitations (such as
-  26 or 32 max files from a given template).
-* Frozen files now require that the first directive be V (version), to
-  better diagnose version mismatch.  Additionally, if the F directive
-  (builtin function) names an unknown builtin that existed in the m4 that
-  froze the file but not in the current m4 (for example, changeword), the
-  warning is deferred until an attempt is made to actually use the
-  builtin.  This allows downgrading from beta m4-1.4o to stable m4-1.4.5
-  without breaking autoconf.
-* The format and indir macros are now recognized only with arguments.
-* The eval macro no longer crashes on x86 architectures when dividing the
-  minimum integer by -1.
-* On systems with ecvt and fcvt, format no longer truncates trailing
-  zeroes on integers printed with %.0f.  On systems without these
-  functions, format is no longer subject to a buffer overflow that
-  permitted arbitrary code execution.
-* On native Windows builds, the macro __windows__ is provided instead of
-  __unix__.  Likewise, on OS/2 builds, the macro __os2__ is provided.  This
-  allows input files to determine when syscmd might behave differently.
-* Fix bug in 1.4.3 patch to use \n line-endings that did not work for
-  cygwin.
-* When given the empty string or 0, undivert is now documented as a no-op
-  rather than closing stdout, warning about a non-existent file, or trying
-  to read a directory as a file.
-* Many documentation improvements.  Also, the manual is now distributed
-  under FDL 1.2, rather than a stricter verbatim-only license.
-* Raise the -L (--nesting-limit) command line option limit from 250 to
-  1024.
-* The decr, incr, divert, m4exit, and substr macros treat an empty number
-  as 0, issue a warning, and expand as normal; rather than issuing an error
-  and expanding to the empty string.
-* The eval macro now treats an empty radix argument as 10, handles radix 1,
-  and treats the width argument as number of digits excluding the sign,
-  for compatibility with other m4 implementations.
-* The ifdef, divert, m4exit, substr, and translit macros now correctly
-  ignore extra arguments.
-* The popdef and undefine macros now correctly accept multiple arguments.
-* Although changeword is on its last leg, if enabled, it now reverts to the
-  default (faster) regexp when passed the empty string.
-* The regexp and substr macros now warn and ignore a trailing backslash in
-  the replacement, and warn on \n for n larger than the number of
-  sub-expressions in the regexp.
-
-Version 1.4.4b - 17 June 2006, by Eric Blake  (CVS version 1.4.4a)
-
-* Fix a recursive push_string crashing bug, which affected changequote of
-  three or more characters on some compilers.
-* Use automake to fix build portability issues.
-* Fix a recursive m4wrap crashing bug.
-* Fix a 1 in 2**32 hash crashing bug.
-* Tracing a macro by name is now persistent, even if the macro is
-  subsequently undefined or redefined.  The traceon and traceoff macros no
-  longer warn about undefined symbols.  This solves a crash when using
-  indir on an undefined macro traced with the -t option, as well as an
-  incorrect result of ifdef.  Furthermore, tracing is no longer transferred
-  with builtins, solving the bug of "m4 -tm4_eval" failing to give trace
-  output on the input "define(`m4_eval',defn(`eval'))m4_eval(1)".
-* Fix a crash when a macro is undefined while collecting its arguments, by
-  always using the definition that was in effect before argument
-  collection.  This behavior matches the C pre-processor, and means that
-  the sequence "define(`f',`1')f(define(`f',`2'))f" is now documented to
-  result in "12", rather than the previously undocumented "22".
-* Update the regex engine to fix several bugs.
-* Fix a potential crash on machines where char is signed.
-
-Version 1.4.4 - October 2005, by Gary V. Vaughan
-
-* ./configure --infodir=/usr/share/info now works correctly.
-* When any file named on the command line is missing exit with status 1.
-
-Version 1.4.3 - March 2005, by Gary V. Vaughan
-
-* DESTDIR installs now work correctly.
-* Don't segfault with uncompilable regexps to changeword().
-* Always use \n line-endings for frozen files (fixes a Windows bug).
-* Portability fix for systems lacking mkstemp(3).
-* Approximately 20% speed up in the common case of usage with autoconf.
-* Supported on QNX 6.3.
-
-Version 1.4.2 - August 2004, by Paul Eggert
-
-* No user visible changes; portability bug fixes only.
-
-Version 1.4.1 - June 2004, by Paul Eggert
-
-* maketemp now creates an empty file with the given name, instead of merely
-  returning the name of a nonexistent file.  This closes a security hole.
-
-Version 1.4 - October 1994, by Franc,ois Pinard
-
-(No user visible changes)
+* Noteworthy changes in Version 1.4.10b (2008-02-25) [beta]
+  Released by Eric Blake, based on git version 1.4.10a
+
+** Security fixes for the -F option, for bugs present since -F was
+   introduced in 1.3: Avoid core dump with 'm4 -F file -t undefined', and
+   avoid arbitrary code execution with certain file names.
+
+** Fix regression introduced in 1.4.9b in the `divert' builtin when more
+   than 512 kibibytes are saved in diversions on platforms like NetBSD
+   where fopen(name,"a+") seeks to the end of the file.
+
+** The output of the `maketemp' and `mkstemp' builtins is now quoted if a
+   file was created.  This is a minor security fix, because it was possible
+   (although rather unlikely) that an unquoted string could match an
+   existing macro name, such that use of the `mkstemp' output would trigger
+   inadvertent macro expansion and operate on the wrong file name.
+
+** Enhance the `defn' builtin to support concatenation of multiple text
+   arguments, as required by POSIX.  However, at this time, it is not
+   possible to concatenate a builtin macro with anything else; a warning is
+   now issued if this is attempted, although a future version of M4 may
+   lift this restriction to match other implementations.
+
+** Enhance the `index' builtin to guarantee linear behavior and often
+   acheive sublinear results, in spite of the surprisingly large number of
+   systems with a brain-dead quadratic strstr(3).
+
+** Enhance the `regexp' and `patsubst' builtins to cache frequently used
+   regular expressions, which speeds up typical Autoconf usage.
+
+** Enhance the `format' builtin to warn for more suspicious usages, such as
+   missing arguments or problems parsing according to the format string.
+
+** Enhance the `ifelse' and `shift' builtins so that tail-recursive
+   algorithms based on `$@' operate in linear, rather than quadratic, time
+   and memory.
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.10 (2007-07-09) [stable]
+  Released by Eric Blake, based on CVS version 1.4.9c
+
+** Upgrade from GPL version 2 to GPL version 3 or later.
+
+** A number of portability improvements inherited from gnulib.
+
+** Avoid undefined behavior introduced in 1.4.9b in the `format' builtin
+   when handling %c.  However, this area of code has never been documented,
+   and currently does not match the POSIX behavior of printf(1), so it may
+   have further changes in the next version.
+
+* Noteworthy changes in Version 1.4.9b (2007-05-29) [beta]
+  Released by Eric Blake, based on CVS version 1.4.9a
+
+** Fix regression introduced in 1.4.9 in the `eval' builtin when performing
+   division.
+
+** Fix regression introduced in 1.4.8 in the `-F' option that made it
+   impossible to freeze more than 512 kibibytes of diverted text.
+
+** The synclines option `-s' no longer generates sync lines in the middle of
+   multiline comments or quoted strings.
+
+** Work around a number of corner-case POSIX compliance bugs in various
+   broken stdio libraries.  In particular, the `syscmd' builtin behaves
+   more predictably when stdin is seekable.
+
+** The `format' builtin now understands formats such as %a, %A, and %'hhd,
+   and works around a number of platform printf bugs.  Furthermore, the
+   sequence format(%*.*d,-1,-1,1) no longer outputs random data.  However,
+   some non-compliant platforms such as mingw still have known bugs in
+   strtod that may cause testsuite failures.
+
+** The testsuite is improved to also run gnulib portability tests for the
+   features that M4 imports from gnulib.
+
+* Noteworthy changes in Version 1.4.9 (2007-03-23) [stable]
+  Released by Eric Blake, based on CVS version 1.4.8c
+
+** Minor documentation and portability cleanups.
+
+* Noteworthy changes in Version 1.4.8b (2007-02-24) [beta]
+  Released by Eric Blake, based on CVS version 1.4.8a
+
+** Fix a regression introduced in 1.4.8 that made m4 unable to process
+   files larger than 2GiB on some platforms.
+
+** Fix a regression introduced in 1.4.8 that made m4 dump core when
+   invoked as 'm4 -- file'.
+
+** The `eval' builtin now follows C precedence rules.  Additionally, the
+   short-circuit operators correctly short-circuit division by zero.  The
+   previously undocumented alias of '=' meaning '==' in eval now triggers a
+   deprecation warning, so that a future version of M4 can implement a form
+   of variable assignment as an extension.
+
+** The `include' builtin now affects exit status on failure, as required by
+   POSIX.  Use `sinclude' if you need a successful exit status.
+
+** The `-E'/`--fatal-warnings' command-line option now has two levels.  When
+   specified only once, warnings affect exit status, but execution
+   continues, so that you can see all warnings instead of fixing them one
+   at a time.  To acheive 1.4.8 behavior, where the first warning
+   immediately exits, specify -E twice on the command line.
+
+** A new `--warn-macro-sequence' command-line option allows detection of
+   sequences in `define' and `pushdef' definitions that match an optional
+   regular expression.  The default regular expression is
+   `\$\({[^}]*}\|[0-9][0-9]+\)', corresponding to the sequences that might
+   not behave correctly when upgrading to the eventual M4 2.0.  By default,
+   M4 2.0 will follow the POSIX requirement that a macro definition
+   containing `$11' must expand to the first argument concatenated with 1,
+   rather than the eleventh argument; and will take advantage of the POSIX
+   wording that allows implementations to treat `${11}' as the eleventh
+   argument instead of literal text.  Be aware that Autoconf 2.61 will not
+   work with this option enabled with the default regular expression; but
+   Autoconf 2.62 will be compatible with this option.
+
+** Improved portability to platforms such as BSD/OS and AIX.
+
+* Noteworthy changes in Version 1.4.8 (2006-11-20) [stable]
+  Released by Eric Blake, based on CVS version 1.4.7a
+
+** The `divert' macro and `-H'/`--hashsize' command line option no longer
+   cause a core dump when handed extra large values.  Also, `divert' now
+   uses memory proportional to the number of diversions in use, rather than
+   to the maximum diversion number encountered, so that large diversion
+   numbers are less likely to exhaust system memory; and is no longer
+   limited by the maximum number of file descriptors.
+
+** The `--help' and `--version' command line options now consistently
+   override all earlier options.  For example, `m4 --debugfile=trace
+   --help' now no longer accidentally creates an empty file `trace'.
+
+** The `-L'/`--nesting-limit' command line option can now be set to 0
+   to remove the default limit of 1024.  However, it is still possible that
+   heavily nested input can cause abrupt program termination due to stack
+   overflow.
+
+** Problems encountered when writing to standard error, such as with the
+   `errprint' macro, now always cause a non-zero exit status.
+
+** Warnings and errors issued during macro expansion are now consistently
+   reported at the line where the macro name was detected, rather than
+   where the close parenthesis resides.  Text wrapped by `m4wrap' now
+   remembers the location that was in effect when m4wrap was invoked,
+   rather than changing to line 0 and the empty string for a file.  The
+   macros `__line__' and `__file__' now work correctly even as the last
+   token in an included file.
+
+** The `builtin' and `indir' macros now transparently handle builtin
+   tokens generated by `defn'.
+
+** When diversions created by the `divert' macro collect enough text that
+   M4 must use temporary files, the environment variable $TMPDIR is now
+   consulted, and a better effort is made to clean up those files in the
+   event of a fatal signal.
+
+** The `mkstemp' builtin is added with the same GNU semantics as `maketemp',
+   based on the recommendation of POSIX to deprecate the POSIX semantics of
+   `maketemp' as inherently insecure.  In GNU mode (no -G supplied on the
+   command line), `maketemp' silently retains the secure GNU semantics, but
+   a future release of M4 will change this to emit a warning.  In
+   traditional mode (m4 -G), `maketemp' now uses the POSIX-mandated
+   insecure semantics, and issues a warning that you should convert your
+   script to use `mkstemp' instead.  Additionally, `mkstemp' and `maketemp'
+   are now well-defined even if the template argument does not end in six
+   `X' characters.
+
+** The manual has been improved, including a new section on a composite
+   macro `foreach'.
+
+** The `changecom' and `changequote' macros now treat an empty second
+   argument the same as if it were missing, rather than using the empty
+   string and making it impossible to end a comment or quote.
+
+** The `translit' macro now operates in linear instead of quadratic time,
+   and is now eight-bit clean.
+
+** The `-D', `-U', `-s', and `-t' command line options now take effect
+   after any files encountered earlier on the command line, rather than up
+   front, as is done in traditional implementations and required by POSIX.
+
+* Noteworthy changes in Version 1.4.7 (2006-09-25) [stable]
+  Released by Eric Blake, based on CVS version 1.4.6a
+
+** Fix regression from 1.4.5 in handling a file that ends in a macro
+   expansion without arguments instead of a newline.
+
+** The define and pushdef macros now warn when the first argument is not
+   a string, rather than silently doing nothing.
+
+** Standard input can now be read more than once, as in 'm4 - file -', and
+   is not closed until all wrapped text is handled.  This makes a
+   difference when stdin is not a regular file, and also fixes bugs when
+   using the syscmd or esyscmd macros from wrapped text.
+
+** When standard input is a seekable file, the m4exit, syscmd, and esyscmd
+   macros now restore the current position to the next unread byte rather
+   than discarding an arbitrary amount of buffered data.
+
+** SysV command-line compatibility is no longer a goal of GNU M4; the
+   focus will be instead on POSIX compatibility.  This release continues to
+   support previous usage, but adds warnings in areas which will allow a
+   future version of GNU M4 to use its own extensions without being tied to
+   the SysV command line interface.
+
+** The no-op compatibility command line options -B, -N, -S, -T, and
+   --diversions may be withdrawn or assigned new meanings in future
+   releases, so they now issue a warning if used.
+
+** A new command line option -i replaces the compatibility -e as the
+   short spelling of --interactive, for consistency with other GNU tools; a
+   warning is issued if the old spelling is used, and it may be assigned
+   new meaning in future releases.
+
+** A new command line option --debugfile replaces the options -o and
+   --error-output as the preferred spelling.  The old options were
+   misleading in their names and inconsistent with other GNU tools; they
+   are still silently accepted, but no longer documented in --help, and may
+   be assigned new meanings in future releases.
+
+* Noteworthy changes in Version 1.4.6 (2006-08-25) [stable]
+  Released by Eric Blake, based on CVS version 1.4.5a
+
+** Fix buffer overruns in regexp and patsubst macros when handed a trailing
+   backslash in the replacement text, or when handling \n substitutions
+   beyond the number of \(\) groups.
+
+** Fix memory leak in regexp, patsubst, and changeword macros.
+
+** The format macro now understands %F, %g, and %G.
+
+** When loading frozen files, m4 now exits with status 63 if version
+   mismatch is detected.
+
+** Fix bugs that occurred when invoked with stdout or stderr closed,
+   and detect write failures to stdout or to the target of the debugfile
+   macro.  In particular, the syscmd and esyscmd macros can no longer
+   interfere with the debug stream or diversions.
+
+** The m4exit macro now converts values outside the range 0-255 to 1.
+
+** It is now an error if a command-line input file ends in the middle of a
+   comment, matching the behavior of mid-string and mid-argument
+   collection.
+
+** The dnl macro now warns if end of file is encountered instead of a
+   newline.
+
+** The error message when end of file is encountered now uses the file and
+   line where the dangling construct started, rather than `NONE:0:'.
+
+** The debugmode and __file__ macros, and the -s/--synclines option, now
+   show what directory a file was found in when the -I/--include option or
+   M4PATH variable had an effect.
+
+** The changequote and changecom macros now work with 8-bit characters, and
+   quotes and comments that begin with `(' are properly recognized
+   following a word.
+
+** The new macro __program__ is added, which allows the input file to issue
+   an error message that resembles messages from m4.  Warning and error
+   messages have been reformatted to comply with GNU Coding Standards.
+
+** The errprint, m4wrap, and shift macros are now recognized only with
+   arguments.
+
+** The index, substr, translit, regexp, and patsubst macros now produce
+   output when given only one argument, but still warn about a missing
+   second argument.
+
+** The patsubst macro now reliably finds zero-length matches at the end
+   of a string.
+
+* Noteworthy changes in Version 1.4.5 (2006-07-15) [stable]
+  Released by Eric Blake, based on CVS version 1.4.4c
+
+** Fix sysval on BeOS, OS/2, and other systems that store exit status
+   in the low-order byte.  Additionally, on Unix platforms, if syscmd was
+   terminated by a signal, sysval now displays the signal number shifted
+   left by eight bits, to match traditional m4 implementations.
+
+** The maketemp macro is no longer subject to platform limitations (such as
+   26 or 32 max files from a given template).
+
+** Frozen files now require that the first directive be V (version), to
+   better diagnose version mismatch.  Additionally, if the F directive
+   (builtin function) names an unknown builtin that existed in the m4 that
+   froze the file but not in the current m4 (for example, changeword), the
+   warning is deferred until an attempt is made to actually use the
+   builtin.  This allows downgrading from beta m4-1.4o to stable m4-1.4.5
+   without breaking autoconf.
+
+** The format and indir macros are now recognized only with arguments.
+
+** The eval macro no longer crashes on x86 architectures when dividing the
+   minimum integer by -1.
+
+** On systems with ecvt and fcvt, format no longer truncates trailing
+   zeroes on integers printed with %.0f.  On systems without these
+   functions, format is no longer subject to a buffer overflow that
+   permitted arbitrary code execution.
+
+** On native Windows builds, the macro __windows__ is provided instead of
+   __unix__.  Likewise, on OS/2 builds, the macro __os2__ is provided.
+   This allows input files to determine when syscmd might behave
+   differently.
+
+** Fix bug in 1.4.3 patch to use \n line-endings that did not work for
+   cygwin.
+
+** When given the empty string or 0, undivert is now documented as a no-op
+   rather than closing stdout, warning about a non-existent file, or trying
+   to read a directory as a file.
+
+** Many documentation improvements.  Also, the manual is now distributed
+   under FDL 1.2, rather than a stricter verbatim-only license.
+
+** Raise the -L (--nesting-limit) command line option limit from 250 to
+   1024.
+
+** The decr, incr, divert, m4exit, and substr macros treat an empty number
+   as 0, issue a warning, and expand as normal; rather than issuing an
+   error and expanding to the empty string.
+
+** The eval macro now treats an empty radix argument as 10, handles radix 1,
+   and treats the width argument as number of digits excluding the sign,
+   for compatibility with other m4 implementations.
+
+** The ifdef, divert, m4exit, substr, and translit macros now correctly
+   ignore extra arguments.
+
+** The popdef and undefine macros now correctly accept multiple arguments.
+
+** Although changeword is on its last leg, if enabled, it now reverts to the
+   default (faster) regexp when passed the empty string.
+
+** The regexp and substr macros now warn and ignore a trailing backslash in
+   the replacement, and warn on \n for n larger than the number of
+   sub-expressions in the regexp.
+
+* Noteworthy changes in Version 1.4.4b (2006-06-17) [beta]
+  Released by Eric Blake, based on CVS version 1.4.4a
+
+** Fix a recursive push_string crashing bug, which affected changequote of
+   three or more characters on some compilers.
+
+** Use automake to fix build portability issues.
+
+** Fix a recursive m4wrap crashing bug.
+
+** Fix a 1 in 2**32 hash crashing bug.
+
+** Tracing a macro by name is now persistent, even if the macro is
+   subsequently undefined or redefined.  The traceon and traceoff macros no
+   longer warn about undefined symbols.  This solves a crash when using
+   indir on an undefined macro traced with the -t option, as well as an
+   incorrect result of ifdef.  Furthermore, tracing is no longer
+   transferred with builtins, solving the bug of "m4 -tm4_eval" failing to
+   give trace output on the input
+   "define(`m4_eval',defn(`eval'))m4_eval(1)".
+
+** Fix a crash when a macro is undefined while collecting its arguments, by
+   always using the definition that was in effect before argument
+   collection.  This behavior matches the C pre-processor, and means that
+   the sequence "define(`f',`1')f(define(`f',`2'))f" is now documented to
+   result in "12", rather than the previously undocumented "22".
+
+** Update the regex engine to fix several bugs.
+
+** Fix a potential crash on machines where char is signed.
+
+* Noteworthy changes in Version 1.4.4 (Oct 2005) [stable]
+  Released by Gary V. Vaughan
+
+** ./configure --infodir=/usr/share/info now works correctly.
+
+** When any file named on the command line is missing exit with status 1.
+
+* Noteworthy changes in Version 1.4.3 (Mar 2005) [stable]
+  Released by Gary V. Vaughan
+
+** DESTDIR installs now work correctly.
+
+** Don't segfault with uncompilable regexps to changeword().
+
+** Always use \n line-endings for frozen files (fixes a Windows bug).
+
+** Portability fix for systems lacking mkstemp(3).
+
+** Approximately 20% speed up in the common case of usage with autoconf.
+
+** Supported on QNX 6.3.
+
+* Noteworthy changes in Version 1.4.2 (Aug 2004) [stable]
+  Released by Paul Eggert
+
+** No user visible changes; portability bug fixes only.
+
+* Noteworthy changes in Version 1.4.1 (Jun 2004) [stable]
+  Released by Paul Eggert
+
+** maketemp now creates an empty file with the given name, instead of merely
+   returning the name of a nonexistent file.  This closes a security hole.
+
+* Noteworthy changes in Version 1.4 (Oct 1994) [stable]
+  Released by Franc,ois Pinard
+
+** (No user visible changes)
+
 
 Version 1.3 - September 1994, by Franc,ois Pinard
 
diff --git a/README b/README
index 92a5e54..548ffb9 100644
--- a/README
+++ b/README
@@ -6,7 +6,7 @@ running shell commands, doing arithmetic, etc.  Autoconf needs 
GNU
 `m4' for generating `configure' scripts, but not for running them.
 
 GNU `m4' was originally written by Rene' Seindal, from Denmark.
-This release is considered stable.
+This is a beta release on the stable branch.
 
 If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
 should be fully installed *prior to* configuring `autoconf' itself.
diff --git a/bootstrap b/bootstrap
index dec9499..6a4fb3d 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# bootstrap (GNU M4) version 2008-02-11
+# bootstrap (GNU M4) version 2008-02-23
 # Written by Gary V. Vaughan  <address@hidden>
 
 # Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -32,7 +32,7 @@
 
 # This script bootstraps a git or CVS checkout of GNU M4 by correctly
 # calling out to parts of the GNU Build Platform.  Currently this
-# requires GNU Autoconf 2.60, GNU Automake 1.9.6, and bleeding edge
+# requires GNU Autoconf 2.60, GNU Automake 1.10.1, and bleeding edge
 # git or CVS snapshots of GNU Gnulib.
 
 # Report bugs to <address@hidden>
diff --git a/configure.ac b/configure.ac
index 630c40b..90518a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 # Configure template for GNU M4.                       -*-Autoconf-*-
-# Copyright (C) 1991, 1993, 1994, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
+# Copyright (C) 1991, 1993, 1994, 2004, 2005, 2006, 2007, 2008 Free
+# Software Foundation, Inc.
 #
 # This file is part of GNU M4.
 #
@@ -18,10 +18,10 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ([2.60])
-AC_INIT([GNU M4], [1.4.10a], address@hidden)
+AC_INIT([GNU M4], [1.4.10b], address@hidden)
 AC_CONFIG_AUX_DIR([build-aux])
 
-AM_INIT_AUTOMAKE([1.9.6 dist-bzip2 gnu])
+AM_INIT_AUTOMAKE([1.10.1 dist-bzip2 dist-lzma gnu])
 
 m4_pattern_forbid([^M4_[A-Z]])
 
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index be1c121..d41f158 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -15,11 +15,11 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=local --lib=libm4 
--source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=build-aux --with-tests 
--no-libtool --macro-prefix=M4 assert avltree-oset binary-io clean-temp cloexec 
close-stream closein config-h error fdl fflush flexmember fopen-safer free 
fseeko gendocs getopt gnupload gpl-3.0 intprops memmem mkstemp obstack quote 
regex stdbool stdint stdlib-safer strtod strtol unlocked-io vasnprintf-posix 
verror version-etc version-etc-fsf xalloc xprintf xvasprintf-posix
+#   gnulib-tool --import --dir=. --local-dir=local --lib=libm4 
--source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=build-aux --with-tests 
--no-libtool --macro-prefix=M4 announce-gen assert avltree-oset binary-io 
clean-temp cloexec close-stream closein config-h error fdl fflush flexmember 
fopen-safer free fseeko gendocs getopt gnupload gpl-3.0 intprops memmem mkstemp 
obstack quote regex stdbool stdint stdlib-safer strtod strtol unlocked-io 
vasnprintf-posix verror version-etc version-etc-fsf xalloc xprintf 
xvasprintf-posix
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([local])
-gl_MODULES([assert avltree-oset binary-io clean-temp cloexec close-stream 
closein config-h error fdl fflush flexmember fopen-safer free fseeko gendocs 
getopt gnupload gpl-3.0 intprops memmem mkstemp obstack quote regex stdbool 
stdint stdlib-safer strtod strtol unlocked-io vasnprintf-posix verror 
version-etc version-etc-fsf xalloc xprintf xvasprintf-posix])
+gl_MODULES([announce-gen assert avltree-oset binary-io clean-temp cloexec 
close-stream closein config-h error fdl fflush flexmember fopen-safer free 
fseeko gendocs getopt gnupload gpl-3.0 intprops memmem mkstemp obstack quote 
regex stdbool stdint stdlib-safer strtod strtol unlocked-io vasnprintf-posix 
verror version-etc version-etc-fsf xalloc xprintf xvasprintf-posix])
 gl_AVOID([])
 gl_SOURCE_BASE([lib])
 gl_M4_BASE([m4])
-- 
1.5.4


>From 210746ff583a56c1027463dc07e8a11d4e6dd545 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Mon, 25 Feb 2008 20:35:22 -0700
Subject: [PATCH] Minor tweaks, learned from the release.

* Makefile.maint (VC-tag): Avoid dashed git commands, and use
signing key from Makefile.cfg.
(delta-diff): Avoid blank lines mid-macro.
* HACKING: Tweak instructions.
* NEWS: Bump version.
* configure.ac (AC_INIT): Likewise.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog      |    8 ++++++++
 HACKING        |    5 +++--
 Makefile.maint |    4 +---
 NEWS           |    5 +++++
 configure.ac   |    2 +-
 5 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 46905c5..5d5f76f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2008-02-25  Eric Blake  <address@hidden>
 
+       Minor tweaks, learned from the release.
+       * Makefile.maint (VC-tag): Avoid dashed git commands, and use
+       signing key from Makefile.cfg.
+       (delta-diff): Avoid blank lines mid-macro.
+       * HACKING: Tweak instructions.
+       * NEWS: Bump version.
+       * configure.ac (AC_INIT): Likewise.
+
        Beta Release Version 1.4.10b.
        * configure.ac (AC_INIT): Bump version.
        (AM_INIT_AUTOMAKE): Increase requirement, and add dist-lzma.
diff --git a/HACKING b/HACKING
index 3d23044..f42ffb4 100644
--- a/HACKING
+++ b/HACKING
@@ -223,7 +223,7 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny change)
   additional checks, tag the tree with release-$(VERSION), and create
   diff and xdelta files from the previous version.
 
-* Run './gnupload --to [dest].gnu.org:m4 [files]' to create
+* Run './build-aux/gnupload --to [dest].gnu.org:m4 [files]' to create
   detached gpg signature and clear signed directive files, and upload
   the combination to the correct location.  For an alpha release,
   gnupload will place files in alpha.gnu.org, in /incoming/alpha, and
@@ -244,7 +244,8 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny change)
 
 * Update NEWS, configure.ac, ChangeLog.
 
-* Run `git commit' and `git push <version>' to push the release tag.
+* Run `git commit' and `git push origin refs/tags<version>' to push the
+  release tag.
 
 * For non-alpha releases, update the webpages.  Replace manual.html with
   the new one (generate with `make web-manual').
diff --git a/Makefile.maint b/Makefile.maint
index e47aec2..9256c6d 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -26,7 +26,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 CVS = cvs
 GIT = git
 VC = $(GIT)
-VC-tag = git-tag -s -m '$(VERSION)'
+VC-tag = git tag -s -m '$(VERSION)' -u $(gpg_key_ID)
 
 VERSION_REGEXP = $(subst .,\.,$(VERSION))
 ifeq ($(VC),$(GIT))
@@ -196,7 +196,6 @@ delta-diff: prev-tarball new-tarball
 ## Unpack the tarballs somewhere to diff them
        rm -rf delta-diff
        mkdir delta-diff
-
        ofile="../$(PACKAGE)-$(PREV_VERSION)-$(VERSION).diff.gz"; \
        cd delta-diff \
        && tar xzf "../$(PACKAGE)-$(PREV_VERSION).tar.gz" \
@@ -204,7 +203,6 @@ delta-diff: prev-tarball new-tarball
        && $(DIFF) $(DIFF_OPTIONS) \
                $(PACKAGE)-$(PREV_VERSION) $(PACKAGE)-$(VERSION) \
                | GZIP=$(GZIP_ENV) gzip -c > $$ofile
-
        rm -rf delta-diff
 
 XDELTA = xdelta
diff --git a/NEWS b/NEWS
index 284b49d..500aac1 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,11 @@ GNU M4 NEWS - User visible changes.
 Copyright (C) 1992, 1993, 1994, 2004, 2005, 2006, 2007, 2008 Free Software
 Foundation, Inc.
 
+* Noteworthy changes in Version 1.4.11 (????-??-??) [stable]
+  Released by ????, based on git version 1.4.10c-*
+
+** No user visible changes, yet.
+
 * Noteworthy changes in Version 1.4.10b (2008-02-25) [beta]
   Released by Eric Blake, based on git version 1.4.10a
 
diff --git a/configure.ac b/configure.ac
index 90518a2..e7d6a07 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ([2.60])
-AC_INIT([GNU M4], [1.4.10b], address@hidden)
+AC_INIT([GNU M4], [1.4.10c], address@hidden)
 AC_CONFIG_AUX_DIR([build-aux])
 
 AM_INIT_AUTOMAKE([1.10.1 dist-bzip2 dist-lzma gnu])
-- 
1.5.4


>From 3ab044dd95cc146ae5383829de9836b6239b5a13 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Mon, 25 Feb 2008 20:49:59 -0700
Subject: [PATCH] * Makefile.cfg (url_dir_list): Fix location.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog    |    2 ++
 Makefile.cfg |    3 +--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5d5f76f..a9af282 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2008-02-25  Eric Blake  <address@hidden>
 
+       * Makefile.cfg (url_dir_list): Fix location.
+
        Minor tweaks, learned from the release.
        * Makefile.maint (VC-tag): Avoid dashed git commands, and use
        signing key from Makefile.cfg.
diff --git a/Makefile.cfg b/Makefile.cfg
index 1e4b827..77680c9 100644
--- a/Makefile.cfg
+++ b/Makefile.cfg
@@ -21,8 +21,7 @@ gnu_ftp_host-beta = alpha.gnu.org
 gnu_ftp_host-major = ftp.gnu.org
 gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
 
-url_dir_list = \
-  ftp://$(gnu_rel_host)/gnu/coreutils
+url_dir_list = ftp://$(gnu_rel_host)/gnu/m4
 
 # The GnuPG ID of the key used to sign the tarballs.
 gpg_key_ID = F4850180
-- 
1.5.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]