[Top][All Lists]

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

[M4-announce] M4 1.4.10b [beta] released

From: Eric Blake
Subject: [M4-announce] M4 1.4.10b [beta] released
Date: Mon, 25 Feb 2008 20:38:31 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20071031 Thunderbird/ Mnenhy/

Hash: SHA1

The GNU M4 team is pleased to announce the beta release of M4 1.4.10b.
This release features a rewrite of the parsing engine, such that recursive
macro expansions that used to scale quadratically in both memory in time
are now linear in memory and time.  As a result, programs such as GNU
Autoconf that make heavy use of m4 will be noticeably faster.

It is possible that the rewrite may have caused unintended regressions.
Also, several more patches are planned before the next stable release of
1.4.11, for more uniform handling of builtin tokens generated by the defn
macro, as well as transparent handling of embedded NUL bytes.
Additionally, there is a known testsuite failure on platforms with a
strtod implementation that is not C99 compliant.  Therefore, this is a
beta release in order to achieve wider test exposure; please report any
problems to address@hidden  When reporting, please include information
about your platform, along with the results of 'make -k check'.

Here are the compressed sources:
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10b.tar.gz   (1.1MB)
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10b.tar.bz2   (824KB)
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10b.tar.lzma   (696KB)

Here are the xdelta diffs (useful? if so, please tell address@hidden):
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10-1.4.10b.diff.gz   (913KB)
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10-1.4.10b.xdelta   (280KB)

Here are the GPG detached signatures[*]:
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10b.tar.gz.sig
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10b.tar.bz2.sig
~  ftp://alpha.gnu.org/gnu/m4/m4-1.4.10b.tar.lzma.sig

Here are the MD5 and SHA1 checksums:

a30d3c0d84d755f67d603e832a26742b  m4-1.4.10b.tar.gz
b429ef646e506bcaf4d2b7ab753d5481  m4-1.4.10b.tar.bz2
d9c4b61492347de08202e4d3ad977cc4  m4-1.4.10b.tar.lzma
34050c60f1d0abb10e94a56c0aa52679  m4-1.4.10-1.4.10b.diff.gz
c80396d87630d927534f7d35c3575fc1  m4-1.4.10-1.4.10b.xdelta
a0aa3a88bcb690d7c31d17920e42f85f33265851  m4-1.4.10b.tar.gz
55e74cff7e5cdec2af00305140c00b0d3fd7c935  m4-1.4.10b.tar.bz2
85512735d291101a3300f4ac57dff6ea3d8a349d  m4-1.4.10b.tar.lzma
d41ba5d7b9c78b5b3279496796b5481976442a52  m4-1.4.10-1.4.10b.diff.gz
0aadf036767f67bb4eaa5b118fafffc80ca120cb  m4-1.4.10-1.4.10b.xdelta

[*] You can use either of the above signature files to verify that
the corresponding file (without the .sig suffix) is intact.  First,
be sure to download both the .sig file and the corresponding tarball.
Then, run a command like this:

~  gpg --verify m4-1.4.10b.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

and rerun the `gpg --verify' command.

This release was bootstrapped with the following tools:
~  Autoconf 2.61a.360-45ab
~  Automake 1.10a
~  Gnulib v0.0-295-g511e2bf


* 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.

- --
Eric Blake, on behalf of
The GNU M4 team
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


reply via email to

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