]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* NEWS: Document that m4wrap/m4_wrap might not be LIFO.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 19 Jun 2006 23:12:16 +0000 (23:12 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 19 Jun 2006 23:12:16 +0000 (23:12 +0000)
* doc/autoconf.texi (): Likewise.
Rework example of m4wrap token-pasting trouble so that it doesn't
care whether it's LIFO or FIFO.
Fix some "contrary to"s that are awkward in English.

ChangeLog
NEWS
doc/autoconf.texi

index bcecf4089ad5b924467018b2a006ee5013e4186d..777ef8bfb146dcd82af2754e98991a58c5d15fa0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+       and Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * NEWS: Document that m4wrap/m4_wrap might not be LIFO.
+       * doc/autoconf.texi (): Likewise.
+       Rework example of m4wrap token-pasting trouble so that it doesn't
+       care whether it's LIFO or FIFO.
+       Fix some "contrary to"s that are awkward in English.
+
 2006-06-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * lib/autoconf/types.m4 (_AC_TYPE_INT): Set `$ac_cv_c_int$1_t'
diff --git a/NEWS b/NEWS
index 12579e55caeb889b848e9c4701b1a236eece7c71..9d09c2dd1b39623fc5c4f1118bc4a076d44226be 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,9 @@
 * Major changes in Autoconf 2.59e
 
+** Autoconf no longer depends on whether m4wrap is FIFO (as Posix requires)
+  or LIFO (as in GNU m4 1.4.x).  GNU m4 2.0 is expected to conform to Posix
+  here, so m4wrap/m4_wrap users should no longer depend on LIFO behavior.
+
 * Major changes in Autoconf 2.59d
 
   Released 2006-06-05, by Ralf Wildenhues.
index 348ab5f0435db6d24ab26ea3524dbc956092a951..c0bea941c141cc70b1187a1207f2ec00b411f6d2 100644 (file)
@@ -4300,9 +4300,10 @@ If the @code{fnmatch} function conforms to Posix, define
 @code{HAVE_FNMATCH}.  Detect common implementation bugs, for example,
 the bugs in Solaris 2.4.
 
-Note that for historical reasons, contrary to the other specific
+Unlike the other specific
 @code{AC_FUNC} macros, @code{AC_FUNC_FNMATCH} does not replace a
-broken/missing @code{fnmatch}.  See @code{AC_REPLACE_FNMATCH} below.
+broken/missing @code{fnmatch}.  This is for historical reasons.
+See @code{AC_REPLACE_FNMATCH} below.
 @end defmac
 
 @defmac AC_FUNC_FNMATCH_GNU
@@ -9316,8 +9317,8 @@ m4 --reload-state=4.m4f input.m4
 Produce a frozen state file.  @command{autom4te} freezing is stricter
 than M4's: it must produce no warnings, and no output other than empty
 lines (a line with white space is @emph{not} empty) and comments
-(starting with @samp{#}).  Please, note that contrary to @command{m4},
-this options takes no argument:
+(starting with @samp{#}).  Unlike @command{m4}'s similarly-named option,
+this option takes no argument:
 
 @example
 autom4te 1.m4 2.m4 3.m4 --freeze --output=3.m4f
@@ -9592,7 +9593,7 @@ This macro kept its original name: no @code{m4_dnl} is defined.
 
 @defmac m4_defn (@var{macro})
 @msindex{defn}
-Contrary to the M4 builtin, this macro fails if @var{macro} is not
+Unlike the M4 builtin, this macro fails if @var{macro} is not
 defined.  See @code{m4_undefine}.
 @end defmac
 
@@ -9624,7 +9625,7 @@ provide extended regular expression syntax via @code{epatsubst}.
 
 @defmac m4_popdef (@var{macro})
 @msindex{popdef}
-Contrary to the M4 builtin, this macro fails if @var{macro} is not
+Unlike the M4 builtin, this macro fails if @var{macro} is not
 defined.  See @code{m4_undefine}.
 @end defmac
 
@@ -9639,23 +9640,26 @@ provide extended regular expression syntax via @code{eregexp}.
 @msindex{wrap}
 This macro corresponds to @code{m4wrap}.
 
-You are encouraged to end @var{text} with @samp{[]}, so that there are
-no risks that two consecutive invocations of @code{m4_wrap} result in an
-unexpected pasting of tokens, as in
+Posix requires arguments of multiple @code{m4wrap} calls to be
+reprocessed at @acronym{EOF} in the same order as the original calls.
+@acronym{GNU} M4 versions through 1.4.x, however, reprocess them in
+reverse order.  Your code should not depend on the order.
+
+You are encouraged to end @var{text} with @samp{[]}, to avoid unexpected
+token pasting between consecutive invocations of @code{m4_wrap}, as in:
 
 @example
-m4_define([foo], [Foo])
-m4_define([bar], [Bar])
-m4_define([foobar], [FOOBAR])
-m4_wrap([bar])
+m4_define([foo], [bar])
+m4_define([foofoo], [OUCH])
+m4_wrap([foo])
 m4_wrap([foo])
-@result{}FOOBAR
+@result{}OUCH
 @end example
 @end defmac
 
 @defmac m4_undefine (@var{macro})
 @msindex{undefine}
-Contrary to the M4 builtin, this macro fails if @var{macro} is not
+Unlike the M4 builtin, this macro fails if @var{macro} is not
 defined.  Use
 
 @example