./devel/m4, GNU version of UNIX m4 macro language processor

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ] [ Image Add to tracker ]


Branch: CURRENT, Version: 1.4.21, Package name: m4-1.4.21, Maintainer: pkgsrc-users

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 builtin functions for including files, running
shell commands, doing arithmetic, etc. Autoconf needs GNU `m4' for
generating `configure' scripts, but not for running them.

GNU `m4' was originally written by Rene Seindal, with subsequent
changes by Franc,ois Pinard and other volunteers on the Internet. All
names and email addresses can be found in the file `THANKS' from the
GNU `m4' distribution.

This is release 1.4. It is now to be considered stable, future
releases are only meant to fix bugs, increase speed, or improve
documentation. However...

An experimental feature, which would improve `m4' usefulness, allows
for changing the syntax for what is a "word" in `m4'. You should use:
./configure --enable-changeword

if you want this feature compiled in. The current implementation slows
down `m4' considerably and is hardly acceptable. So, it might go away,
do not count on it yet.


Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

Filesize: 3474.806 KB

Version history: (Expand)


CVS history: (Expand)


   2026-04-09 22:26:18 by Thomas Klausner | Files touched by this commit (2)
Log message:
m4: remove unneeded patch

Fixed differently upstream

https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=676177182056adb6424757ae8fd4d099d394795b
   2026-04-09 22:25:06 by Thomas Klausner | Files touched by this commit (2)
Log message:
m4: remove unneeded patch

fixed differently upstream

https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=676177182056adb6424757ae8fd4d099d394795b
   2026-04-07 14:23:36 by Thomas Klausner | Files touched by this commit (9) | Package updated
Log message:
m4: update to 1.4.21.

* Noteworthy changes in release 1.4.21 (2026-02-06) [stable]

** Fix the `eval' builtin to reject input like `0x' that C does not
   accept as an integer literal, rather than silently treating it as zero
   (present since "the beginning").

** Fix the `define' and `pushdef' builtins to always warn when attempting
   to concatenate the result of using the `defn' macro on a builtin macro
   with anything else.  This is a counterpart to the change in m4 1.4.11
   that issues a warning when `defn' with multiple arguments attempts to
   perform concatenation.  Attempting to use the output of `defn' anywhere
   other than a lone argument during macro definition has never been
   portable, but now the outcome is always the remaining text, rather
   than being dependent on whether `defn' was used before or after the
   other text (present since "the beginning").

** Port to glibc 2.43, which implements functions like strchr as macros
   when compiled with a C23 compiler.

* Noteworthy changes in release 1.4.20 (2025-05-10) [stable]

** 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.
   2025-04-28 19:24:43 by Tobias Nygren | Files touched by this commit (3)
Log message:
m4: fix build w/ GCC 15
   2025-04-07 17:25:50 by Nia Alarie | Files touched by this commit (1)
Log message:
m4: Fix build on UnixWare 7.
   2025-02-18 16:07:14 by Thomas Klausner | Files touched by this commit (2)
Log message:
m4: Improve macOS patch compatibility.

This should now work across all versions, and fix the build problem
raised in NetBSD/pkgsrc#158.  Tested locally against the 10.4 SDK.

From Jonathan Perkin <jperkin@smartos.org>
via drecklypkg commit 05d082ecd383bb9abfeebc219de0ff7ee50645c8
   2024-03-29 01:37:19 by Jonathan Schleifer | Files touched by this commit (1)
Log message:
devel/m4: Fix build on QNX
   2022-05-24 16:43:04 by Hauke Fath | Files touched by this commit (3)
Log message:
Use older register names on MacOS X 10.4 "Tiger", taken from MacPorts