about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rwxr-xr-xConfig/installfns.sh9
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 0819c2fc9..53690b5e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-02  Peter Stephenson  <pws@csr.com>
+
+	* based on Andrei, 27644: Config/installfns.zsh: check for
+	#! line without a fork.
+
 2010-02-01  Peter Stephenson  <pws@csr.com>
 
 	* unposted: Etc/FAQ.yo: update with notes on
@@ -12657,5 +12662,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4877 $
+* $Revision: 1.4878 $
 *****************************************************
diff --git a/Config/installfns.sh b/Config/installfns.sh
index 677a8fbfe..cf587c438 100755
--- a/Config/installfns.sh
+++ b/Config/installfns.sh
@@ -46,8 +46,11 @@ for file in $allfuncs; do
     fi
     test -d $instdir || /bin/sh $sdir_top/mkinstalldirs $instdir || exit 1
     $INSTALL_DATA $sdir_top/$file $instdir || exit 1
-    if sed -ne '1p' $sdir_top/$file | grep '^#!' >/dev/null; then
-	chmod +x $instdir/`echo $file | sed -e 's%^.*/%%'`
-    fi
+    read line < $sdir_top/$file
+    case "$line" in
+      '#!'*)
+      chmod +x $instdir/`echo $file | sed -e 's%^.*/%%'`
+      ;;
+    esac
   fi
 done