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