bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS autoconf testsuite failure on Tru64 unix


From: Noah Misch
Subject: Re: CVS autoconf testsuite failure on Tru64 unix
Date: Sat, 11 Dec 2004 16:11:58 -0800
User-agent: Mutt/1.5.6i

On Sat, Dec 11, 2004 at 11:07:41PM +0100, Nicolas Joly wrote:
> address@hidden [temp/autoconf]> /bin/sh -n ./tests/testsuite
> ./tests/testsuite: syntax error at line 1241: `^' unexpected
> 
>         *[^\\]"$at_lf"*) at_reason='an embedded newline' ;;
> 
> As specified in autoconf info, many shells does not support `^' to
> negate character classes (such as Tru64 /bin/sh).

Thanks.  This was probably the root cause of tests 27, 28, and 32 failing on
your Tru64 system.

2004-12-11  Noah Misch  <address@hidden>

        * lib/autotest/general.m4 (_AT_CHECK) [--trace]: Rework a shell pattern
        to avoid using a negated character class.  Reported by Nicolas Joly.
        * tests/local.at (AT_CHECK_SHELL_SYNTAX): Check for similar constructs.

diff -urp -X dontdiff ac-clean/lib/autotest/general.m4 
ac-char_class/lib/autotest/general.m4
--- ac-clean/lib/autotest/general.m4    2004-12-10 13:10:36.862911098 -0500
+++ ac-char_class/lib/autotest/general.m4       2004-12-11 18:36:45.510177061 
-0500
@@ -1234,7 +1234,8 @@ if test -n "$at_traceon"; then
     case "$at_cmd_expanded" in
         *\$\(*\)*)         at_reason='a $(...) command substitution' ;;
         *\`*\`*)           at_reason='a `...` command substitution' ;;
-        *[[^\\]]"$at_lf"*) at_reason='an embedded newline' ;;
+        *\\"$at_lf"*)      at_reason= ;;
+        *"$at_lf"*)        at_reason='an embedded newline' ;;
         *)                 at_reason= ;;
     esac
     if test -n "$at_reason"; then
diff -urp -X dontdiff ac-clean/tests/local.at ac-char_class/tests/local.at
--- ac-clean/tests/local.at     2004-08-20 15:58:08.000000000 -0400
+++ ac-char_class/tests/local.at        2004-12-11 18:39:14.733667447 -0500
@@ -30,9 +30,15 @@ AT_TESTED([autom4te autoconf autoheader 
 ## Testing syntax.  ##
 ## ---------------- ##
 
+# AT_CHECK_SHELL_SYNTAX(PROGRAM, ALT-COMMAND)
+# -------------------------------------------
+# If the shell handles `-n' well, use it to check the syntax of PROGRAM;
+# otherwise, run ALT-COMMAND.  Grep for [^...] negated character classes in
+# shell patterns, an extension to POSIX that many shells do not support.
 m4_define([AT_CHECK_SHELL_SYNTAX],
 [AS_IF([test x"$ac_cv_sh_n_works" != xno],
-  [AT_CHECK([/bin/sh -n $1], 0)], [$2])])
+  [AT_CHECK([/bin/sh -n $1], 0)], [$2])
+AT_CHECK([grep '\@<:@\^.*).*;;' $1], 1)])
 
 m4_define([AT_CHECK_PERL_SYNTAX],
 [AT_CHECK([autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c 
$abs_top_builddir/bin/$1],




reply via email to

[Prev in Thread] Current Thread [Next in Thread]