[comp.unix.internals] T, csh bugs

subbarao@phoenix.Princeton.EDU (Kartik Subbarao) (10/24/90)

This was going to be a reply to an earlier article saying that you couldn't have multiline
aliases. My response was going to be sure you can, if you \ a ^J. For example, what I was
trying to do was:

tcsh % alias foo 'foreach i (*) \^J echo $i \^J end'

The command works fine if not "aliased" -- that is, if I just type

tcsh % foreach i (*) \^J echo $i \^J end 

on one line, tcsh will nicely do the foreach loop for me. If, however, I put it into an alias,
tcsh decides to log me out.

If I do this aliasing in csh, csh simply will segmentation fault. Why is this the case?

Also, this bug reminded me of some earlier bugs which I had discovered with csh and tcsh.

Bug 1:

Have you ever tried typing:

tcsh % ``

Notice it will tell you "Segmentation Fault" in tcsh - but this is not the segmentation fault of
tcsh -- it's that of the child process that tcsh forks due to this.


Bug 2:

I also wanted to alias "which" as follows:

% alias which "/bin/file `/usr/ucb/which \!*`"

But did csh or tcsh let me? Of course not. csh decided to Abort and dump 8 megs of core, and
tcsh simply decided to fork tons of processes to fill up my process table when the command
as not &'ed. If I did '&' it, it would simply hang.


And that's where it stands. But I'll tell you something though. I'll never convert to sh** or
something like that.

Oh and by the way, bug fixes are appreciated anyone !


				-Kartik









(I need a new .signature -- any suggestions?)
subbarao@{phoenix or gauguin}.Princeton.EDU -|Internet
kartik@silvertone.Princeton.EDU (NeXT mail)       -|	
SUBBARAO@PUCC.BITNET			          - Bitnet