X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=1.8 required=5.0 tests=AWL,BAYES_40,J_CHICKENPOX_84 X-Spam-Check-By: sourceware.org Date: Sun, 10 May 2009 20:58:34 +1200 From: Volker Kuhlmann Subject: tcsh startup script causes shell errors To: cygwin AT cygwin DOT com Message-id: <20090510085834.GD25125@paradise.net.nz> MIME-version: 1.0 Content-type: multipart/mixed; boundary=Kj7319i9nmIyA2yE Content-disposition: inline X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The file 56032 2007-06-01 07:28 etc/defaults/etc/profile.d/complete.tcsh in package release/tcsh/tcsh-6.15.00-4.tar.bz2 is missing proper quoting for shell variable expansion, resulting in errors if $HOME contains spaces in the path - sure bet for cygwin! The attached patch fixes the problem. Greets, Volker -- Volker Kuhlmann is list0570 with the domain in header http://volker.dnsalias.net/ Please do not CC list postings to me. --Kj7319i9nmIyA2yE Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="complete.tcsh.diff" 995 2008-07-09 10:17:26 complete.tcsh.diff Fix serious quoting problems in cygwin's tcsh package. These will cause shell startup errors if not fixed. Volker Kuhlmann, 9 Jul 2008 --- complete.tcsh.orig 2007-10-31 10:22:19.763889000 +1300 +++ complete.tcsh 2008-03-05 11:43:12.104681000 +1300 @@ -39,18 +39,18 @@ set noglob if ( ! $?hosts ) set hosts foreach f ("$HOME/.hosts" /usr/local/etc/csh.hosts "$HOME/.rhosts" /etc/hosts.equiv) - if ( -r $f ) then - set hosts = ($hosts `grep -v "+" $f | grep -E -v "^#" | tr -s " " " " | cut -f 1`) + if ( -r $f:q ) then + set hosts = ($hosts `grep -v "+" $f:q | grep -E -v "^#" | tr -s " " " " | cut -f 1`) endif end if ( -r "$HOME/.netrc" ) then set f=`awk '/machine/ { print $2 }' < "$HOME/.netrc"` >& /dev/null - set hosts=($hosts $f) + set hosts=($hosts:q $f:q) endif if ( -r "$HOME/.ssh/known_hosts" ) then set f=`cat "$HOME/.ssh/known_hosts" | cut -f 1 -d \ ` >& /dev/null set f=`cat "$HOME/.ssh/known_hosts" | cut -f 1 -d \ | sed -e 's/,/ /g'` >& /dev/null - set hosts=($hosts $f) + set hosts=($hosts:q $f:q) endif unset f if ( ! $?hosts ) then --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --Kj7319i9nmIyA2yE--