From owner-freebsd-hackers@FreeBSD.ORG Thu Nov 11 22:13:01 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 9F70D16A4CE for ; Thu, 11 Nov 2004 22:13:01 +0000 (GMT) Received: from saturn.criticalmagic.com (saturn.criticalmagic.com [64.74.124.105]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30BCE43D2D for ; Thu, 11 Nov 2004 22:13:01 +0000 (GMT) (envelope-from rcoleman@criticalmagic.com) Received: from [10.40.30.144] (borg.ciphertrust.com [64.238.118.66]) by saturn.criticalmagic.com (Postfix) with ESMTP id DC4213BD10; Thu, 11 Nov 2004 17:12:59 -0500 (EST) Message-ID: <4193E3EF.3030506@criticalmagic.com> Date: Thu, 11 Nov 2004 17:13:03 -0500 From: Richard Coleman Organization: Critical Magic User-Agent: Mozilla Thunderbird 0.9 (X11/20041111) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Kevin Lyons References: <200411112237.iABMb6YV001471@corserv.corserv.com> In-Reply-To: <200411112237.iABMb6YV001471@corserv.corserv.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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:13:01 -0000 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. I think the reality is that most people here would rather deal with a few csh incompatibilities in order to have a much more featureful shell, rather than use an ancient shell in order to get bug for bug compatibility. Writing a shell is hard work (I was involved in zsh development many years ago). Since there are plenty of good third party shells, there are many other tasks for which FreeBSD developers can better spend their time. Richard Coleman rcoleman@criticalmagic.com