From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20244 invoked by alias); 29 Jan 2010 21:54:46 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 27641 Received: (qmail 23242 invoked from network); 29 Jan 2010 21:54:43 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received-SPF: pass (ns1.primenet.com.au: SPF record at ntlworld.com designates 81.103.221.49 as permitted sender) From: Peter Stephenson To: zsh-workers@zsh.org (Zsh hackers list) Subject: PATCH: installing executable functions X-Mailer: MH-E 8.2; nmh 1.3; GNU Emacs 23.1.1 Date: Fri, 29 Jan 2010 21:54:36 +0000 Message-ID: <25809.1264802076@pws-pc> X-Cloudmark-Analysis: v=1.1 cv=W3tOLUehizD4qj6VhtReFuw5MKb8d+XqjIxlDsIazEA= c=1 sm=0 a=NLZqzBF-AAAA:8 a=a_Gu5ETO_05g9PuKrdUA:9 a=N11njdP9RcJwHaZRMtAA:7 a=Thdiyfg3UA3-gIncdf46eLy3VDIA:4 a=_dQi-Dcv4p4A:10 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 On the subject of "#!" lines, and given the general flakiness of using the executable bit on files from CVS, wouldn't it be better and generally more consistent to make installed functions executable if and only if they have a #! line? If this is doing the wrong thing with a function, then presumably the #! line is misplaced anyway. ("sed -ne '1p'" is in case there's some ghastliness where "head -1" is broken as has occasionally been observed with "tail -1".) The biggest disadvantage here is this could make function installation on some systems, notably Cygwin, even more interminable. Unfortunately we're relying on sh at this point. Index: Config/installfns.sh =================================================================== RCS file: /cvsroot/zsh/zsh/Config/installfns.sh,v retrieving revision 1.14 diff -u -r1.14 installfns.sh --- Config/installfns.sh 26 Jul 2007 08:58:08 -0000 1.14 +++ Config/installfns.sh 29 Jan 2010 21:49:56 -0000 @@ -46,7 +46,7 @@ fi test -d $instdir || /bin/sh $sdir_top/mkinstalldirs $instdir || exit 1 $INSTALL_DATA $sdir_top/$file $instdir || exit 1 - if test -x $sdir_top/$file; then + if sed -ne '1p' $sdir_top/$file | grep '^#!' >/dev/null; then chmod +x $instdir/`echo $file | sed -e 's%^.*/%%'` fi fi -- Peter Stephenson Web page now at http://homepage.ntlworld.com/p.w.stephenson/