tcsh is not csh

Richard Coleman rcoleman at criticalmagic.com
Thu Nov 11 14:13:01 PST 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.

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 at criticalmagic.com




More information about the freebsd-hackers mailing list