On Wed, Jan 10, 2007 at 07:01:31PM +0200, Yossi Kreinin wrote:
> As I've said, I use tcsh cause that's what they use around here, and I have
> to source (not fork/exec) their scripts. I use Python and avoid *sh for
Ah that hate. And I thought I'd forgotten that one. I worked somewhere once
that loved tcsh and had important setup scripts written in it that needed
sourcing.
I hate the way tcsh uses ^D for filename completion.
Unless, of course, your line is empty in which case ^D means EOF.
Great. So accidentally hit "complete" at the wrong time and your shell exits.
And I remember trying to work up various substitutions in t?csh involving
$ { and }, and getting them to interpolate at the right time. In a sane
shell it's easy enough - just get the right level of backslashes, by
backslashing your backslashes for each level of interpolation you wish to
pass through before substitution. For t?csh - no, insane. There was some sort
of late interpolation and early interpolation, which led me to conclude
that there was no way to actually produce some of the substitution/delay
effects I wanted. Insane
In the end I switched my .tschrc to set things up as appropriate then exec
bash. And for the things that needed sourcing, wrote a tsch wrapper that
dumped out the environment variables that it had created or changed, munged
via a real programming language [see previous paragraph] to a format that
bash could eval.
And then I was happy*.
Nicholas Clark
* Until I concluded that I hated FORTRAN and why was I sitting in this job
when the interview had talked about C and C++. FORTRAN is software - can
we hate it here?