-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The GNU M4 Team is pleased to announce the release of GNU M4 1.4.5.
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 memory corruption patches, closer compliance with POSIX in some cases, and much improved documentation. It is recommended that all users of a previous 1.4.x version upgrade, particularly if your platform does not provide fcvt(3). New in version 1.4.5: 15 July 2006 * 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. m4-1.4.5 is available now from ftp.gnu.org, along with diffs and xdeltas against m4-1.4.4 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/m4-1.4.5.tar.gz [582k] ftp://ftp.gnu.org/gnu/m4/m4-1.4.5.tar.bz2 [479k] Here are the xdeltas and diffs against m4-1.4.4: ftp://ftp.gnu.org/gnu/m4/m4-1.4.4-1.4.5.diff.gz [564k] ftp://ftp.gnu.org/gnu/m4/m4-1.4.4-1.4.5.xdelta [378k] Here are the gpg detached signatures: ftp://ftp.gnu.org/gnu/m4/m4-1.4.5.tar.gz.sig ftp://ftp.gnu.org/gnu/m4/m4-1.4.5.tar.bz2.sig ftp://ftp.gnu.org/gnu/m4/m4-1.4.4-1.4.5.diff.gz.sig ftp://ftp.gnu.org/gnu/m4/m4-1.4.4-1.4.5.xdelta.sig You should download the signature named after any tarball you download, and then verify its integrity with, for example: gpg --verify m4-1.4.5.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: 682021a577e8890181f82786583324c9 m4-1.4.5.tar.gz 8bcd8244d5bed9f8e2d5f05ad693b8b4 m4-1.4.5.tar.bz2 16194098bbd45030c994dc6c288b83e m4-1.4.4-1.4.5.diff.gz 904a343d61c245e6e989afcd66689a50 m4-1.4.4-1.4.5.xdelta 3af7394e8e464dd851319417d16096d1832a7bfa m4-1.4.5.tar.gz 1fcfda9b6d7901a92b796c1c77d50bff480610d7 m4-1.4.5.tar.bz2 075778eaedfb70eef2762e5fcdbace58a578a6c0 m4-1.4.4-1.4.5.diff.gz a899a4f6a71dc7650d3ef5ee1864cf731a326cc9 m4-1.4.4-1.4.5.xdelta This release was bootstrapped with Autoconf 2.60, Automake 1.9.6, and CVS Gnulib. Alternatively, you can fetch the unbootstrapped sourcecode from anonymous cvs by using the following commands: $ export CVS_RSH=ssh $ cvs -z3 -d :pserver:[EMAIL PROTECTED]:/sources/m4 \ co -r release-1_4_5 m4 You will then need to have the latest release versions of Automake (1.9.6) and Autoconf (2.60) installed, along with a CVS checkout of Gnulib available, to bootstrap the checked out sources yourself. Please report bugs to <bug-m4@gnu.org>, along with the output of 'make check' and any other information that might be useful in resolving the issue. - -- Eric Blake -----BEGIN PGP SIGNATURE----- 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 iD8DBQFEuj4384KuGfSFAYARAg5HAJ4vc5K0sipz9EmW1e+rR/rKoZNtiwCfWf9w HNY1q2B5YLTOCMHwlVV9Xzg= =d7Yg -----END PGP SIGNATURE----- _______________________________________________ GNU Announcement mailing list <info-gnu@gnu.org> http://lists.gnu.org/mailman/listinfo/info-gnu