From owner-freebsd-hackers@FreeBSD.ORG Thu Nov 11 22:04:09 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E3A7B16A4CE for ; Thu, 11 Nov 2004 22:04:09 +0000 (GMT) Received: from ds.netgate.net (ds.netgate.net [205.214.170.232]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6B4043D1F for ; Thu, 11 Nov 2004 22:04:09 +0000 (GMT) (envelope-from ctodd@chrismiller.com) Received: (qmail 27505 invoked from network); 11 Nov 2004 22:04:09 -0000 Received: from vp4.netgate.net (ibrew@205.214.170.248) by ds.netgate.net with SMTP; 11 Nov 2004 22:04:09 -0000 Date: Thu, 11 Nov 2004 14:04:09 -0800 (PST) From: ctodd@chrismiller.com X-X-Sender: ibrew@vp4.netgate.net To: Kevin Lyons In-Reply-To: <200411112237.iABMb6YV001471@corserv.corserv.com> Message-ID: References: <200411112237.iABMb6YV001471@corserv.corserv.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-hackers@freebsd.org Subject: Re: tcsh is not csh X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Nov 2004 22:04:10 -0000 On Thu, 11 Nov 2004, Kevin Lyons wrote: > I have (re)discovered that tcsh is not csh although the tcsh man page > falsely asserts backward compatibility. Trying to do a simple read of > multiword variables in tcsh fails yet works find on csh. The tcsh man page > admits as much when one gets to the $< part. > > The point is, csh should be the basic backward compatibly lowest common > denominator between systems. This is a real problem. I humbly suggest that > those that want the bang of tcsh can do a pkg_add just like the morons that > want bash instead of sh. > > If you want to try an example, do the following on csh, and then on tcsh. > #!/bin/csh > echo enter some words > set line = $< > set words = ($line) > echo line is $line > echo word1 is $word[1] > echo word2 is $word[2] > echo word3 is $word[3] > > ------ > The fact that tcsh can not do this in default mode is beyond pathetic. What > is worse is that freebsd didn't notice or care. > . Normally I'd just keep my mouth shut, but... From what you've detailed, you bring up some valid points about tcsh/csh intercompatibility. I'm not sure why this is the case, but like most things a compromise is necessary from time to time and I'm sure there was a good reason. Maybe it was just an oversight when tcsh was ported to FreeBSD and it's just a low priority fire or it's not even a known problem until today. What I choose to take issue with is your assumption that this is the direct and calculated result of the actions of the FreeBSD team, and more over the arrogant nature of your post. As far as I am aware (but since I'm not going to spend any time researching this, I could be wrong), tcsh's origins are not from the FreeBSD project. If there's a FreeBSD specific implementation problem, then it should be logged as a bug, or a "why does tcsh do this?" should be posted to the appropriate list. Sending a "this is beyond pathetic" message to the hackers list is just in bad form and frankly immature. This is a place to get help from people that donate their valuable time. If you want to criticize someone, I would suggest Redmond as a starting point. I'll take this opportunity to thank all those that contribute to this list. Without your help I personally would not have been able to get past some problems I've had over the years, and with your help I've been able to do some really cool things with my BSD systems. Chris