Hi Eric,

* Eric Blake wrote on Wed, Apr 05, 2006 at 04:56:34AM CEST:
> > also some rules are not so useful (the `space tab' combination
> > is used several times correctly in some macros).

> If space-tab is really a requirement of the macro, it must be quoted
> to be protected to the shell.  Therefore, we should always be able
> to break the quoting into two pieces, so that there is no longer a
> space-tab in the .m4 file.

It may also be in a here document; or a plain m4 regex, FWIW.  But the
latter doesn't show up in Autoconf luckily, so we can use @&t@ to break.

I have applied the two attached patches.

Does anybody care about space-tab in config.guess, config.sub?

Cheers,
Ralf

        * NEWS, TODO, bin/autoreconf.in: `filesystem' -> `file system'.

        * TODO, config/Makefile.am, lib/freeze.mk, lib/autoconf/c.m4,
        lib/autoconf/specific.m4, lib/autoconf/status.m4,
        lib/autoconf/types.m4, lib/autotest/general.m4,
        tests/mktests.sh, tests/torture.at: White space cleanup:
        remove some SPACE before TAB, or add quoting ('' or @&t@).
        * NEWS, TODO, bin/autoreconf.in: `filesystem' -> `file system'.

Index: NEWS
===================================================================
RCS file: /cvsroot/autoconf/autoconf/NEWS,v
retrieving revision 1.355
diff -u -r1.355 NEWS
--- NEWS        3 Apr 2006 03:18:39 -0000       1.355
+++ NEWS        5 Apr 2006 20:41:35 -0000
@@ -678,7 +678,7 @@
 
 - When recursing into subdirectories, try for configure.gnu before
   configure to adapt for packages not using autoconf on case-insensitive
-  filesystems.
+  file systems.
 
 - Diagnostics
   More errors are now caught (circular AC_REQUIRE dependencies,
Index: TODO
===================================================================
RCS file: /cvsroot/autoconf/autoconf/TODO,v
retrieving revision 1.129
diff -u -r1.129 TODO
--- TODO        14 May 2005 07:00:39 -0000      1.129
+++ TODO        5 Apr 2006 20:41:35 -0000
@@ -527,7 +527,7 @@
 
 ------------------------------------------------------------------------------
 
-Support different default filesystem layouts, e.g. SVR4, Linux.
+Support different default file system layouts, e.g. SVR4, Linux.
 Of course, this can be done locally with config.site.
 
 ------------------------------------------------------------------------------
Index: bin/autoreconf.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoreconf.in,v
retrieving revision 1.130
diff -u -r1.130 autoreconf.in
--- bin/autoreconf.in   1 Apr 2006 18:09:07 -0000       1.130
+++ bin/autoreconf.in   5 Apr 2006 20:41:36 -0000
@@ -413,7 +413,7 @@
     }
   else
     {
-      # Some filesystems have sub-second time stamps, and if so we may
+      # Some file systems have sub-second time stamps, and if so we may
       # run into trouble later, after we rerun autoconf and set the
       # time stamps of input files to be no greater than aclocal.m4,
       # because the time-stamp-setting operation (utime) has a
        * TODO, config/Makefile.am, lib/freeze.mk, lib/autoconf/c.m4,
        lib/autoconf/specific.m4, lib/autoconf/status.m4,
        lib/autoconf/types.m4, lib/autotest/general.m4,
        tests/mktests.sh, tests/torture.at: White space cleanup:
        remove some SPACE before TAB, or add quoting ('' or @&t@).

Index: TODO
===================================================================
RCS file: /cvsroot/autoconf/autoconf/TODO,v
retrieving revision 1.129
diff -u -r1.129 TODO
--- TODO        14 May 2005 07:00:39 -0000      1.129
+++ TODO        5 Apr 2006 20:29:51 -0000
@@ -78,11 +78,11 @@
    I'm starting to use "modules" at more places to handle software
    installation, and it would be helpful to set general things like:
 
-       prefix=/opt/pkg/@PACKAGE@/@VERSION@
+       prefix=/opt/pkg/@PACKAGE@/@VERSION@
 
    once at a global level, and then, for example, have things like:
 
-       --with-etcdir=$prefix/etc
+       --with-etcdir=$prefix/etc
 
    stuffed "above" the various versions of SSH so I wouldn't have to hunt for
    these things every time it was time to recompile a new version of a
@@ -188,9 +188,9 @@
 > documentation, the entry for AC_PATH_XTRA, in particular.
 
 > The documentation says that AC_PATH_XTRA
->      ... adds the C compiler flags that X needs to output variable
->      `X_CFLAGS', and the X linker flags to `X_LIBS'.  If X is not
->      available, adds `-DX_DISPLAY_MISSING' to `X_CFLAGS'.
+>      ... adds the C compiler flags that X needs to output variable
+>      `X_CFLAGS', and the X linker flags to `X_LIBS'.  If X is not
+>      available, adds `-DX_DISPLAY_MISSING' to `X_CFLAGS'.
 
 > It doesn't seem to add -DX_DISPLAY_MISSING to X_CFLAGS.  X_DISPLAY_MISSING
 > ends up defined in config.h, instead.
Index: config/Makefile.am
===================================================================
RCS file: /cvsroot/autoconf/autoconf/config/Makefile.am,v
retrieving revision 1.7
diff -u -r1.7 Makefile.am
--- config/Makefile.am  14 May 2005 07:00:39 -0000      1.7
+++ config/Makefile.am  5 Apr 2006 20:29:53 -0000
@@ -25,7 +25,7 @@
 SPECIFIC_MACROS =                              \
 m4.m4
 
-GENERIC_TOOLS =                                \
+GENERIC_TOOLS =                                        \
 config.guess                                   \
 config.sub                                     \
 emacs-comp                                     \
cvs diff: Diffing doc
Index: lib/freeze.mk
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/freeze.mk,v
retrieving revision 1.13
diff -u -r1.13 freeze.mk
--- lib/freeze.mk       20 Feb 2006 19:45:32 -0000      1.13
+++ lib/freeze.mk       5 Apr 2006 20:29:54 -0000
@@ -70,7 +70,7 @@
        $(m4sugar_m4f_dependencies)             \
        $(src_libdir)/m4sugar/m4sh.m4
 
-autotest_m4f_dependencies =                    \
+autotest_m4f_dependencies =                    \
        $(m4sh_m4f_dependencies)                \
        $(src_libdir)/autotest/autotest.m4      \
        $(src_libdir)/autotest/general.m4
Index: lib/autoconf/c.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/c.m4,v
retrieving revision 1.218
diff -u -r1.218 c.m4
--- lib/autoconf/c.m4   3 Apr 2006 19:09:55 -0000       1.218
+++ lib/autoconf/c.m4   5 Apr 2006 20:29:54 -0000
@@ -1018,7 +1018,7 @@
 [[return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];]],
 dnl Don't try gcc -ansi; that turns off useful extensions and
 dnl breaks some systems' header files.
-dnl AIX circa 2003     -qlanglvl=extc89
+dnl AIX circa 2003     -qlanglvl=extc89
 dnl old AIX            -qlanglvl=ansi
 dnl Ultrix, OSF/1, Tru64       -std
 dnl HP-UX 10.20 and later      -Ae
Index: lib/autoconf/specific.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/specific.m4,v
retrieving revision 1.364
diff -u -r1.364 specific.m4
--- lib/autoconf/specific.m4    3 Apr 2006 03:18:39 -0000       1.364
+++ lib/autoconf/specific.m4    5 Apr 2006 20:29:55 -0000
@@ -132,10 +132,10 @@
 [while :; do
   $3=no
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$5], [$6])],
-                   [break])
+                   [break])
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([EMAIL PROTECTED]:@define $1 $2
 $5], [$6])],
-                   [$3=$2; break])
+                   [$3=$2; break])
   break
 done])
 if test "$$3" != no; then
@@ -162,12 +162,12 @@
      if test "$GCC" != yes; then
        ac_save_CC=$CC
        while :; do
-        # IRIX 6.2 and later do not support large files by default,
-        # so use the C compiler's -n32 option if that helps.
+        # IRIX 6.2 and later do not support large files by default,
+        # so use the C compiler's -n32 option if that helps.
         AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
-        AC_COMPILE_IFELSE([], [break])
-        CC="$CC -n32"
-        AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
+        AC_COMPILE_IFELSE([], [break])
+        CC="$CC -n32"
+        AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
         break
        done
        CC=$ac_save_CC
Index: lib/autoconf/status.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/status.m4,v
retrieving revision 1.90
diff -u -r1.90 status.m4
--- lib/autoconf/status.m4      5 Apr 2006 14:20:37 -0000       1.90
+++ lib/autoconf/status.m4      5 Apr 2006 20:29:56 -0000
@@ -363,7 +363,7 @@
 m4_define([_AC_SED_CMD_NUM], m4_eval(_AC_SED_CMD_NUM + 3))dnl
 m4_define([_AC_SED_FRAG],
 m4_defn([_AC_SED_FRAG])dnl
-[/^[   [EMAIL PROTECTED]@[     ]*$/{
+[/^[ @&t@      [EMAIL PROTECTED]@[ @&t@        ]*$/{
 r $]_AC_Var[
 d
 }
@@ -574,7 +574,7 @@
   #
 dnl Quote, for the `[ ]' and `define'.
 [  ac_dA='s,^\([        ]*#[    ]*\)[^  ]*\([   ][      ]*'
-  ac_dB='\)[   (].*$,\1define\2'
+  ac_dB='\)[ ''        (].*$,\1define\2'
   ac_dC=' '
   ac_dD=' ,']
 dnl ac_dD used to contain `;t' at the end, but that was both slow and 
incorrect.
@@ -606,14 +606,14 @@
   sed -n '
        t rset
        :rset
-       s/^[    ]*#[    ]*define[       ][       ]*//
+       s/^[ '' ]*#[ '' ]*define[ ''    ][       ]*//
        t ok
        d
        :ok
        s/[\\&,]/\\&/g
        s/[\\$`]/\\&/g
-       s/^\('"$ac_word_re"'\)\(([^()]*)\)[     
]*\(.*\)/${ac_dA}\1$ac_dB\2${ac_dC}\3$ac_dD/p
-       s/^\('"$ac_word_re"'\)[         
]*\(.*\)/${ac_dA}\1$ac_dB${ac_dC}\2$ac_dD/p
+       s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ''  
]*\(.*\)/${ac_dA}\1$ac_dB\2${ac_dC}\3$ac_dD/p
+       s/^\('"$ac_word_re"'\)[ ''      
]*\(.*\)/${ac_dA}\1$ac_dB${ac_dC}\2$ac_dD/p
   ' >>conftest.defines
 ]
 # Remove the space that was appended to ease matching.
@@ -641,8 +641,8 @@
   dnl Quote, for the `[ ]' and `define'.
   echo ['    # First, check the format of the line:
     cat >"$tmp/defines.sed" <<CEOF
-/^[     ]*#[    ]*undef[        ][      ]*$ac_word_regexp[     ]*$/b def
-/^[     ]*#[    ]*define[       ][      ]*$ac_word_regexp[(    ]/b def
+/^[     ]*#[    ]*undef[        ][      ]*$ac_word_regexp[ @&t@        ]*$/b 
def
+/^[     ]*#[    ]*define[       ][      ]*$ac_word_regexp[( @&t@       ]/b def
 b
 :def'] >>$CONFIG_STATUS
   sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
Index: lib/autoconf/types.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/types.m4,v
retrieving revision 1.35
diff -u -r1.35 types.m4
--- lib/autoconf/types.m4       3 Apr 2006 03:18:39 -0000       1.35
+++ lib/autoconf/types.m4       5 Apr 2006 20:29:56 -0000
@@ -89,33 +89,33 @@
 # The most obvious way to check for a TYPE is just to compile a variable
 # definition:
 #
-#        TYPE my_var;
+#        TYPE my_var;
 #
 # Unfortunately this does not work for const qualified types in C++,
 # where you need an initializer.  So you think of
 #
-#        TYPE my_var = (TYPE) 0;
+#        TYPE my_var = (TYPE) 0;
 #
 # Unfortunately, again, this is not valid for some C++ classes.
 #
 # Then you look for another scheme.  For instance you think of declaring
 # a function which uses a parameter of type TYPE:
 #
-#        int foo (TYPE param);
+#        int foo (TYPE param);
 #
 # but of course you soon realize this does not make it with K&R
 # compilers.  And by no ways you want to
 #
-#        int foo (param)
-#          TYPE param
-#        { ; }
+#        int foo (param)
+#          TYPE param
+#        { ; }
 #
 # since this time it's C++ who is not happy.
 #
 # Don't even think of the return type of a function, since K&R cries
 # there too.  So you start thinking of declaring a *pointer* to this TYPE:
 #
-#        TYPE *p;
+#        TYPE *p;
 #
 # but you know fairly well that this is legal in C for aggregates which
 # are unknown (TYPE = struct does-not-exist).
@@ -123,7 +123,7 @@
 # Then you think of using sizeof to make sure the TYPE is really
 # defined:
 #
-#        sizeof (TYPE);
+#        sizeof (TYPE);
 #
 # But this succeeds if TYPE is a variable: you get the size of the
 # variable's type!!!
@@ -133,7 +133,7 @@
 #
 # Also note that we use
 #
-#        if (sizeof (TYPE))
+#        if (sizeof (TYPE))
 #
 # to `read' sizeof (to avoid warnings), while not depending on its type
 # (not necessarily size_t etc.).  Equally, instead of defining an unused
cvs diff: Diffing lib/autoscan
cvs diff: Diffing lib/autotest
Index: lib/autotest/general.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autotest/general.m4,v
retrieving revision 1.203
diff -u -r1.203 general.m4
--- lib/autotest/general.m4     5 Apr 2006 16:04:22 -0000       1.203
+++ lib/autotest/general.m4     5 Apr 2006 20:29:57 -0000
@@ -390,16 +390,16 @@
 m4_divert_push([PARSE_ARGS_END])dnl
 
     *=*)
-       at_envvar=`expr "x$at_option" : 'x\([[^=]]*\)='`
-       # Reject names that are not valid shell variable names.
-       expr "x$at_envvar" : "[.*[^_$as_cr_alnum]]" >/dev/null &&
-         AS_ERROR([invalid variable name: $at_envvar])
-       at_value=`echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
-       eval "$at_envvar='$at_value'"
-       export $at_envvar
+       at_envvar=`expr "x$at_option" : 'x\([[^=]]*\)='`
+       # Reject names that are not valid shell variable names.
+       expr "x$at_envvar" : "[.*[^_$as_cr_alnum]]" >/dev/null &&
+         AS_ERROR([invalid variable name: $at_envvar])
+       at_value=`echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
+       eval "$at_envvar='$at_value'"
+       export $at_envvar
        # Propagate to debug scripts.
-       at_debug_args="$at_debug_args $at_option"
-       ;;
+       at_debug_args="$at_debug_args $at_option"
+       ;;
 
      *) echo "$as_me: invalid option: $at_option" >&2
        echo "Try \`$[0] --help' for more information." >&2
@@ -745,7 +745,7 @@
        run. This means that test suite is improperly designed.  Please
        report this failure to <AT_PACKAGE_BUGREPORT>.
 _ATEOF
-       echo "$at_setup_line" >"$at_check_line_file"
+       echo "$at_setup_line" >"$at_check_line_file"
       fi
       at_group_count=`expr 1 + $at_group_count`
       $at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C"
cvs diff: Diffing lib/emacs
cvs diff: Diffing lib/m4sugar
cvs diff: Diffing man
cvs diff: Diffing tests
Index: tests/mktests.sh
===================================================================
RCS file: /cvsroot/autoconf/autoconf/tests/mktests.sh,v
retrieving revision 1.49
diff -u -r1.49 mktests.sh
--- tests/mktests.sh    4 Apr 2006 23:36:20 -0000       1.49
+++ tests/mktests.sh    5 Apr 2006 20:29:57 -0000
@@ -190,7 +190,7 @@
   # Get the list of macros which are defined in Autoconf level.
   # Get rid of the macros we are not interested in.
   sed -n -e 's/^AC_DEFUN(\[*\([a-zA-Z0-9_]*\).*$/\1/p' \
-        -e 's/^AC_DEFUN_ONCE(\[*\([a-zA-Z0-9_]*\).*$/\1/p' $file |
+        -e 's/^AC_DEFUN_ONCE(\[*\([a-zA-Z0-9_]*\).*$/\1/p' $file |
     awk "$ac_exclude_script" |
     sort -u >acdefuns
 
Index: tests/torture.at
===================================================================
RCS file: /cvsroot/autoconf/autoconf/tests/torture.at,v
retrieving revision 1.56
diff -u -r1.56 torture.at
--- tests/torture.at    5 Apr 2006 14:20:38 -0000       1.56
+++ tests/torture.at    5 Apr 2006 20:29:57 -0000
@@ -338,7 +338,7 @@
 [[#define foo   0
 #  define bar bar
 #  define baz   "Archimedes was sinking in his baz"
-#  define fubar                                tutu
+#  define fubar                                tutu
 #define a B
 #define aa BB
 #define aaa BBB

Reply via email to