gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
authorBruno Haible <bruno@clisp.org>
Thu, 9 Sep 2010 09:39:51 +0000 (11:39 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 9 Sep 2010 09:41:12 +0000 (11:41 +0200)
* gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
a reliable way to determine whether the 'alias' command works.

ChangeLog
gnulib-tool

index 2ac4e00..139ceea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-09  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
+       * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
+       a reliable way to determine whether the 'alias' command works.
+
 2010-09-08  Jim Meyering  <meyering@redhat.com>
 
        init.sh: penalize a set-x-impaired shell; don't disqualify it
index e359ae6..9c1176a 100755 (executable)
@@ -836,28 +836,24 @@ fi
 # that the top-level statement containing the test starts after the 'alias'
 # command.
 if test -z "$have_echo"; then
-bsd_echo ()
+  bsd_echo ()
 {
 cat <<EOF
 $*
 EOF
 }
-exec 3>&2
-exec 2>/dev/null
-alias echo=bsd_echo
-exec 2>&3
-exec 3>&-
+  if (alias echo=bsd_echo) 2>/dev/null; then
+    alias echo=bsd_echo 2>/dev/null
+  fi
 fi
 if test -z "$have_echo" \
    && echo '\t' | grep t > /dev/null; then
   have_echo=yes
 fi
 if test -z "$have_echo"; then
-  exec 3>&2
-  exec 2>/dev/null
-  unalias echo
-  exec 2>&3
-  exec 3>&-
+  if (alias echo=bsd_echo) 2>/dev/null; then
+    unalias echo 2>/dev/null
+  fi
 fi
 # For Solaris /bin/sh and OSF/1 /bin/sh: respawn using /bin/ksh.
 if test -z "$have_echo" \