2006-04-06 Stepan Kasal
* lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Do not set DUALCASE.
(AS_BOURNE_COMPATIBLE): Set it here, and set BIN_SH=xpg4, factor out
the rest...
(_AS_BOURNE_COMPATIBLE): ... to this new macro.
(_AS_RUN): Call _AS_BOURNE_COMPATIBLE instead of AS_BOURNE_COMPATIBLE.
* doc/autoconf.texi (Special Shell Variables) : Document that
we set it again.
Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.985
diff -u -r1.985 autoconf.texi
--- doc/autoconf.texi 6 Apr 2006 07:58:20 -0000 1.985
+++ doc/autoconf.texi 6 Apr 2006 13:02:49 -0000
@@ -11197,6 +11197,7 @@
@evindex BIN_SH
In Tru64, if @env{BIN_SH} is set to @code{xpg4}, subsidiary invocations of
the standard shell conform to Posix.
+Autoconf-generated scripts export this variable when they start up.
@item CDPATH
@evindex CDPATH
Index: lib/m4sugar/m4sh.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/m4sugar/m4sh.m4,v
retrieving revision 1.175
diff -u -r1.175 m4sh.m4
--- lib/m4sugar/m4sh.m4 5 Apr 2006 08:01:05 -0000 1.175
+++ lib/m4sugar/m4sh.m4 6 Apr 2006 13:02:50 -0000
@@ -161,17 +161,26 @@
# --------------------
# Try to be as Bourne and/or POSIX as possible.
m4_define([AS_BOURNE_COMPATIBLE],
-[# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
+[# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+# BIN_SH doesn't affect this shell, but the user may call `/bin/sh'.
+BIN_SH=xpg4; export BIN_SH # for Tru64
+_$0
+])
+
+# _AS_BOURNE_COMPATIBLE
+# ---------------------
+# This is the part of AS_BOURNE_COMPATIBLE which has to be repeated inside
+# each instance.
+m4_define([_AS_BOURNE_COMPATIBLE],
+[AS_IF([test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1],
+ [emulate sh
NULLCMD=:
[#] Zsh 3.x and 4.x performs word splitting on ${1+"address@hidden"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"address@hidden"}'='"address@hidden"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
+ setopt NO_GLOB_SUBST],
+ [AS_CASE([`(set -o) 2>/dev/null`], [*posix*], [set -o posix])])
])
@@ -182,7 +191,7 @@
m4_define([_AS_RUN],
[m4_ifval([$2],
[{ $2 <<\_ASEOF
-AS_BOURNE_COMPATIBLE
+_AS_BOURNE_COMPATIBLE
$1
_ASEOF
}],
@@ -322,7 +331,6 @@
## --------------------- ##
AS_BOURNE_COMPATIBLE
-DUALCASE=1; export DUALCASE # for MKS sh
# PATH needs CR
_AS_CR_PREPARE