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.

For more information see the project home pages:

        https://www.gnu.org/software/m4/
        https://sv.gnu.org/projects/m4/

The following packages have been upgraded in the Cygwin distribution:

- m4    1.4.20

For changes since the previous Cygwin release, see below or read
/usr/share/doc/m4/NEWS after installation; for complete details see:

        /usr/share/doc/m4/ChangeLog
        https://git.sv.gnu.org/gitweb/?p=m4.git;a=log;h=v1.4.20

2025-05-10      1.4.20

- Fix a bug in the `eval' builtin where it does not suppress warnings
  about division by zero that occurs within a more complex expression on
  the right hand side of || or && (present since short-circuiting was
  introduced in 1.4.8b).

- The `syscmd' and `esyscmd' builtins no longer mishandle a command line
  starting with `-' or `+' (present since "the beginning").

- Fix regression introduced in 1.4.19 where trace output (such as with
  `debugmode(t)') could read invalid memory when tracing a series of
  pushed macros that are popped during argument collection.

- Fix regression introduced in 1.4.19 where the `format' builtin
  inadvertently took on locale-dependent parsing and output of floating
  point numbers as a side-effect of introducing message translations.
  While it would be nice for m4 to be fully locale-aware, such a
  behavior change belongs in a major version release such as 1.6, and
  not a minor release.

- Fix regression introduced in 1.4.11 where the experimental
  `changeword' builtin could cause a crash if given a regex that does
  not match all one-byte prefixes of valid longer matches.  As a
  reminder, `changeword' is not recommended for production use, and will
  likely not be present in the next major version release.

- On non-Unix platforms where binary files differ from text, loading a
  frozen file (which should be cross-platform compatible) now correctly
  uses binary mode.

- Several documentation improvements to the manual.

- Update to comply with newer C standards, and inherit portability
  improvements from gnulib.

-- 
              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

The easiest way to unsubscribe is to visit 
<https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.

If you need more information on unsubscribing, start reading here: 
<https://sourceware.org/lists.html#unsubscribe>.

Reply via email to