From 8c4223e2f1a3180d0836e29e136b41ce0e7afe72 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 12 Jan 2016 15:20:39 -0800
Subject: [PATCH] Port "$@" to OpenIndiana ksh93

In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
(derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
bug long-dead shells, so remove the workaround.
* build-aux/announce-gen, build-aux/do-release-commit-and-tag:
* build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
* build-aux/prefix-gnulib-mk, build-aux/update-copyright:
* build-aux/useless-if-before-free, tests/test-update-copyright.sh:
Use "$@" instead of ${1+"$@"}.
---
 ChangeLog                           | 11 +++++++++++
 build-aux/announce-gen              |  4 ++--
 build-aux/do-release-commit-and-tag |  4 ++--
 build-aux/gitlog-to-changelog       |  4 ++--
 build-aux/gnu-web-doc-update        |  4 ++--
 build-aux/prefix-gnulib-mk          |  2 +-
 build-aux/update-copyright          |  4 ++--
 build-aux/useless-if-before-free    |  4 ++--
 tests/test-update-copyright.sh      |  2 +-
 9 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7b18ce5646..c93e8a9b0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Port "$@" to OpenIndiana ksh93
+	In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
+	Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
+	(derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
+	bug long-dead shells, so remove the workaround.
+	* build-aux/announce-gen, build-aux/do-release-commit-and-tag:
+	* build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
+	* build-aux/prefix-gnulib-mk, build-aux/update-copyright:
+	* build-aux/useless-if-before-free, tests/test-update-copyright.sh:
+	Use "$@" instead of ${1+"$@"}.
+
 	Port Universal Time settings to strict POSIX
 	* build-aux/announce-gen, build-aux/bootstrap:
 	* build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
diff --git a/build-aux/announce-gen b/build-aux/announce-gen
index 9bd56e6376..b461174598 100755
--- a/build-aux/announce-gen
+++ b/build-aux/announce-gen
@@ -1,9 +1,9 @@
-eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
   & eval 'exec perl -wS "$0" $argv:q'
     if 0;
 # Generate a release announcement message.
 
-my $VERSION = '2016-01-11 22:03'; # UTC
+my $VERSION = '2016-01-12 23:09'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
diff --git a/build-aux/do-release-commit-and-tag b/build-aux/do-release-commit-and-tag
index 7441dbdb7c..b4f3251f8c 100755
--- a/build-aux/do-release-commit-and-tag
+++ b/build-aux/do-release-commit-and-tag
@@ -3,7 +3,7 @@
 # controlled .prev-version file, automate the procedure by which we record
 # the date, release-type and version string in the NEWS file.  That commit
 # will serve to identify the release, so apply a signed tag to it as well.
-VERSION=2016-01-11.22 # UTC
+VERSION=2016-01-12.23 # UTC
 
 # Note: this is a bash script (could be zsh or dash)
 
@@ -94,7 +94,7 @@ do
       opt=$(echo "$1" | sed -e 's/=.*//')
       val=$(echo "$1" | sed -e 's/[^=]*=//')
       shift
-      set dummy "$opt" "$val" ${1+"$@"}; shift
+      set dummy "$opt" "$val" "$@"; shift
       ;;
   esac
 
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index a42650478a..a2513d0efc 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -1,9 +1,9 @@
-eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
   & eval 'exec perl -wS "$0" $argv:q'
     if 0;
 # Convert git log output to ChangeLog format.
 
-my $VERSION = '2016-01-11 22:04'; # UTC
+my $VERSION = '2016-01-12 23:09'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update
index 1684f5e5b5..ec2116852c 100755
--- a/build-aux/gnu-web-doc-update
+++ b/build-aux/gnu-web-doc-update
@@ -2,7 +2,7 @@
 # Run this after each non-alpha release, to update the web documentation at
 # http://www.gnu.org/software/$pkg/manual/
 
-VERSION=2016-01-11.22; # UTC
+VERSION=2016-01-12.23; # UTC
 
 # Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
@@ -117,7 +117,7 @@ do
       opt=$(echo "$1" | sed -e 's/=.*//')
       val=$(echo "$1" | sed -e 's/[^=]*=//')
       shift
-      set dummy "$opt" "$val" ${1+"$@"}; shift
+      set dummy "$opt" "$val" "$@"; shift
       ;;
   esac
 
diff --git a/build-aux/prefix-gnulib-mk b/build-aux/prefix-gnulib-mk
index e6b91bf5fd..62caca8d74 100755
--- a/build-aux/prefix-gnulib-mk
+++ b/build-aux/prefix-gnulib-mk
@@ -1,4 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
   & eval 'exec perl -wS "$0" $argv:q'
     if 0;
 
diff --git a/build-aux/update-copyright b/build-aux/update-copyright
index 8c6ee1fdd3..17ee6b14d1 100755
--- a/build-aux/update-copyright
+++ b/build-aux/update-copyright
@@ -1,9 +1,9 @@
-eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"'
   & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
     if 0;
 # Update an FSF copyright year list to include the current year.
 
-my $VERSION = '2016-01-11.22:04'; # UTC
+my $VERSION = '2016-01-12.23:13'; # UTC
 
 # Copyright (C) 2009-2016 Free Software Foundation, Inc.
 #
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index 80412c5b5b..1899b1ffd8 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -1,10 +1,10 @@
-eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wST "$0" "$@"'
   & eval 'exec perl -wST "$0" $argv:q'
     if 0;
 # Detect instances of "if (p) free (p);".
 # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
 
-my $VERSION = '2016-01-11 22:04'; # UTC
+my $VERSION = '2016-01-12 23:13'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
diff --git a/tests/test-update-copyright.sh b/tests/test-update-copyright.sh
index faa3c87e9a..cd4886abcc 100755
--- a/tests/test-update-copyright.sh
+++ b/tests/test-update-copyright.sh
@@ -37,7 +37,7 @@ trap 'rm -f $TMP_BASE*' 0 1 2 3 15
 TMP=$TMP_BASE
 s=$TMP-script
 cat <<\EOF > $s
-eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"'
   & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
     if 0;
 s/a/b/
-- 
2.39.5