[SCM] GNU Autoconf source repository branch, master, updated. v2.67-66-gf6030a3

"Eric Blake" <[email protected]> Thu, 16 Sep 2010 15:37:51 +0000
Newsgroups gmane.comp.sysutils.autoconf.cvs
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".

http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=f6030a3204a9b87e9b346e6eff4ce1117382fc86

The branch, master has been updated
       via  f6030a3204a9b87e9b346e6eff4ce1117382fc86 (commit)
      from  9144856609b28e8b4f58bca4d44489ddc23170a9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f6030a3204a9b87e9b346e6eff4ce1117382fc86
Author: Eric Blake <[email protected]>
Date:   Thu Sep 16 08:43:27 2010 -0600

    m4sugar: fix regression in AC_MSG_ERROR expansion
    
    AS_ERROR Regression introduced in commit cffdc3947, but the
    underlying problem stems from the introduction of m4_defun_init
    in commit d0c5f482.
    
    * lib/m4sugar/m4sugar.m4 (m4_defun_init): Avoid macro
    concatenation on subsequent expansions
    * tests/m4sh.at (AS_WARN and AS_ERROR): New test.
    * tests/m4sugar.at (m4@&t@_require: one-shot initialization):
    Enhance test.
    * NEWS: Document the fix.
    * THANKS: Update.
    Reported by Adrian Bunk and and Nishio Futoshi.
    
    Signed-off-by: Eric Blake <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog              |   12 ++++++++
 NEWS                   |    3 ++
 THANKS                 |    1 +
 lib/m4sugar/m4sugar.m4 |    2 +-
 tests/m4sh.at          |   66 +++++++++++++++++++++++++++++++++++++++++++++++-
 tests/m4sugar.at       |   10 ++++---
 6 files changed, 88 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index be3c8a0..061c6ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-09-16  Eric Blake  <[email protected]>
+
+	m4sugar: fix regression in AC_MSG_ERROR expansion
+	* lib/m4sugar/m4sugar.m4 (m4_defun_init): Avoid macro
+	concatenation on subsequent expansions
+	* tests/m4sh.at (AS_WARN and AS_ERROR): New test.
+	* tests/m4sugar.at (m4@&t@_require: one-shot initialization):
+	Enhance test.
+	* NEWS: Document the fix.
+	* THANKS: Update.
+	Reported by Adrian Bunk and and Nishio Futoshi.
+
 2010-09-13  Stefano Lattarini  <[email protected]>
 
 	tests: simplify grepping of 'automake --version'.
diff --git a/NEWS b/NEWS
index 43e3621..78851b9 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,9 @@ GNU Autoconf NEWS - User visible changes.
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+** AC_MSG_ERROR (and AS_ERROR) can once again be followed immediately by
+   `dnl'.  Regression introduced in 2.66.
+
 ** AT_BANNER() with empty argument will cause visual separation from previous
    test category.
 
diff --git a/THANKS b/THANKS
index 06448bd..cb1589b 100644
--- a/THANKS
+++ b/THANKS
@@ -11,6 +11,7 @@ Aaron Crane                 [email protected]
 Aaron M. Ucko               [email protected]
 Aaron W. LaFramboise        [email protected]
 Adam J. Richter             [email protected]
+Adrian Bunk                 [email protected]
 Aharon Robbins              [email protected]
 Akim Demaille               [email protected]
 Akinori Musha               [email protected]
diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4
index 95b7bcf..d440127 100644
--- a/lib/m4sugar/m4sugar.m4
+++ b/lib/m4sugar/m4sugar.m4
@@ -1973,7 +1973,7 @@ m4_define([m4_defun],
 # m4_defun'd, we can add a parameter, similar to the third parameter
 # to m4_defun.
 m4_define([m4_defun_init],
-[m4_define([$1], [$3])m4_defun([$1],
+[m4_define([$1], [$3[]])m4_defun([$1],
    [$2[]_m4_popdef(]m4_dquote($[0])[)m4_indir(]m4_dquote($[0])dnl
 [m4_if(]m4_dquote($[#])[, [0], [], ]m4_dquote([,$]@)[))], [m4_pushdef])])
 
diff --git a/tests/m4sh.at b/tests/m4sh.at
index e73c971..08680c3 100644
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -18,6 +18,71 @@ AT_BANNER([M4sh.])
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+## ------------------- ##
+## AS_WARN, AS_ERROR.  ##
+## ------------------- ##
+
+AT_SETUP([AS@&t@_WARN and AS@&t@_ERROR])
+AT_KEYWORDS([m4sh])
+
+dnl without logging
+AT_DATA_M4SH([script.as],
+[[AS_INIT
+AS_WARN([*watch out*])dnl
+
+if test x"$die" != x; then
+  AS_ERROR([you're dead])dnl
+
+  AS_ERROR([really])dnl
+
+fi
+echo got here
+]])
+
+AT_CHECK_M4SH
+AT_CHECK([$CONFIG_SHELL ./script], [],
+[[got here
+]], [[script: WARNING: *watch out*
+]])
+AT_CHECK([die=: $CONFIG_SHELL ./script], [1],
+[], [[script: WARNING: *watch out*
+script: error: you're dead
+]])
+
+dnl with logging
+rm script
+AT_DATA_M4SH([script.as],
+[[AS_INIT
+m4_define([gone], [AS_ERROR([really])])
+m4_define([AS_MESSAGE_LOG_FD], [5])
+exec AS_MESSAGE_LOG_FD>log.txt
+AS_WARN([*watch out*])dnl
+
+if test x"$die" != x; then
+  AS_ERROR([you're dead])dnl
+
+  AS_ERROR([really])dnl
+
+fi
+echo got here
+exec AS_MESSAGE_LOG_FD>&-
+]])
+
+AT_CHECK_M4SH
+AT_CHECK([$CONFIG_SHELL ./script], [],
+[[got here
+]], [[script: WARNING: *watch out*
+]])
+AT_CHECK([[grep 'script:[0-9]*: WARNING: \*watch out\*' log.txt]], [], [ignore])
+AT_CHECK([die=: $CONFIG_SHELL ./script], [1],
+[], [[script: WARNING: *watch out*
+script: error: you're dead
+]])
+AT_CHECK([[grep 'script:[0-9]*: WARNING: \*watch out\*' log.txt]], [], [ignore])
+AT_CHECK([[grep 'script:[0-9]*: error: you'\''re dead' log.txt]], [], [ignore])
+
+AT_CLEANUP
+
 ## ---------------- ##
 ## LINENO support.  ##
 ## ---------------- ##
@@ -95,7 +160,6 @@ AT_CHECK([sh ./test/test-2],                       0, [expout])
 AT_CLEANUP
 
 
-
 ## ---------------------- ##
 ## LINENO stack support.  ##
 ## ---------------------- ##
diff --git a/tests/m4sugar.at b/tests/m4sugar.at
index 50a7b00..900bc3b 100644
--- a/tests/m4sugar.at
+++ b/tests/m4sugar.at
@@ -460,13 +460,15 @@ AT_KEYWORDS([m4@&t@_defun_init m4@&t@_copy m4@&t@_defun_once])
 
 dnl check out m4_defun_init, m4_copy, and odd macro names
 AT_CHECK_M4SUGAR_TEXT([[
+m4_define([t], [text])dnl
 m4_defun_init([a], [[init a
-]], [[common a]])dnl
+]], [[common a] t])dnl
 m4_defun([b], [[b]m4_require([a])])dnl
 m4_defun([c], [[c]m4_require([a])])dnl
 b
 c
-a
+a()dnl
+
 m4_defun_init([-], [hello, ], [m4_if([$#], [0], [world], [[$1]])])dnl
 m4_copy([-], [.])dnl
 m4_indir([.])
@@ -474,10 +476,10 @@ m4_indir([.], [goodbye])
 m4_indir([-], [again])
 ]], [[
 init a
-common a
+common a text
 b
 c
-common a
+common a text
 hello, world
 goodbye
 hello, again


hooks/post-receive
-- 
GNU Autoconf source repository