This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ANNOUNCEMENT] Updated: m4-1.4.8-1

Hash: SHA1

A new release of m4, 1.4.8-1, is available, replacing 1.4.7-1 as current.

This is a new upstream release.  From the NEWS file, the changes since
1.4.7 are listed below.  See also /usr/share/doc/m4-1.4.8/.

You must rebuild from source if you want the experimental changeword
feature enabled, as using it can slow down normal operation, and since it
will disappear from the eventual m4 2.0.

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). GNU m4 also has
built-in functions for including files, running shell commands, doing
arithmetic, etc.

To update your installation, click on the "Install Cygwin now" link on the web page.  This downloads setup.exe to your system.
Save it and run setup, answer the questions and pick up 'm4' from the
'Interpreters' category.

Note that downloads from (aka aren't
allowed due to bandwidth limitations.  This means that you will need to
find a mirror which has this update, please choose the one nearest to you:

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

- --
Eric Blake
volunteer cygwin m4 maintainer

To unsubscribe to the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message.  Send email
to the address specified there.  It will be in the format:

If you need more information on unsubscribing, start reading here:

Please read *all* of the information on unsubscribing that is available
starting at this URL.
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at
Comment: Using GnuPG with Mozilla -

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

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]