[Top][All Lists]

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

GNU M4 1.4.6 released

From: Eric Blake
Subject: GNU M4 1.4.6 released
Date: Fri, 25 Aug 2006 08:36:33 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20060719 Thunderbird/ Mnenhy/

Hash: SHA1

The GNU M4 Team is pleased to announce the release of GNU M4 1.4.6.

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 several fixes for regular expression handling that fix a
memory leak and testsuite failures in 1.4.5.  It improves file descriptor
handling, to detect errors that were previously ignored. It adds a new
macro, __program__, and better complies with GNU Coding Standards in its
error messages.  It is recommended that users of all previous versions of
m4 upgrade to this stable version.

New in 1.4.6: 25 August 2006

* 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
* The dnl macro now warns if end of file is encountered instead of a
* 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
* 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.

m4-1.4.6 is available now from ftp.gnu.org, along with diffs and xdeltas
against m4-1.4.5 that are also available from ftp.gnu.org. Please use a
mirror to reduce stress on the main gnu machine:


Here are the compressed sources:

  ftp://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz    [621 KB]
  ftp://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.bz2   [496 KB]

Here are the xdeltas and diffs against m4-1.4.5:

  ftp://ftp.gnu.org/gnu/m4/m4-1.4.5-1.4.6.diff.gz   [146 KB]
  ftp://ftp.gnu.org/gnu/m4/m4-1.4.5-1.4.6.xdelta    [64 KB]

Here are the gpg detached signatures:


You should download the signature named after any tarball you download,
and then verify its integrity with, for example:

  gpg --verify m4-1.4.6.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 F4850180

Here are the MD5 and SHA1 checksums:

  37680c0515ded417ad91b7a30d33e9b0  m4-1.4.6.tar.gz
  f5babaaa1e337f0aee3bdee55c758d79  m4-1.4.6.tar.bz2
  2e9e534f7ffd733739aec0d0e82942c9  m4-1.4.5-1.4.6.diff.gz
  f7cd5fffb127f721fdde4186955fb071  m4-1.4.5-1.4.6.xdelta
  03401d700558aa13b7929eee12d7227e67e3b781  m4-1.4.6.tar.gz
  a29c051e967f2d11ad7e4bb41121f68321a15832  m4-1.4.6.tar.bz2
  458f4dfb9d2bb059ff2721401f71e69f04736910  m4-1.4.5-1.4.6.diff.gz
  48a66adbc6bd9bee7d78a0dcba913f75ee6e5db6  m4-1.4.5-1.4.6.xdelta

This release was bootstrapped with Autoconf 2.60, Automake 1.9.6, and CVS

Alternatively, you can fetch the unbootstrapped sourcecode from anonymous
cvs by using the following commands:

  $ export CVS_RSH=ssh
  $ cvs -z3 -d :pserver:address@hidden:/sources/m4 \
  co -r release-1_4_6 m4

You will then need to have the latest release versions of Automake (1.9.6)
and Autoconf (2.60) installed 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.

- --
Eric Blake
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


reply via email to

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