From: Bruno Haible <bruno@clisp.org>
Date: Thu, 9 Sep 2010 09:39:51 +0000 (+0200)
Subject: gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=779b5db53e13d9371a95def7d8aeeabc62c70164;p=pspp

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.
---

diff --git a/ChangeLog b/ChangeLog
index 2ac4e00019..139ceeabfe 100644
--- 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
diff --git a/gnulib-tool b/gnulib-tool
index e359ae65e8..9c1176a2e7 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -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" \