1.1.8 bug with TCSH 6.10 ( using shell built-in commands )
Mad Dave
dave@ook.demon.co.uk
Tue Feb 13 18:24:00 GMT 2001
I am having a problem when I source a shell script which sources another
shell script which contains a foreach loop which contains a big switch
statement. I think this effects other tcsh versions as well ( such as
6.08 ).
I have attached 2 files which should reproduce the problem. Type: source
file1.tcsh to reproduce it. All the first file does is source the second
file, and it causes a problem, but if you source the second file directly it
works fine. Also if you remove any of the echo statements from the second
file it will work fine, which tends to surgest its the size of the foreach +
switch statement.
If I run with the tcsh -x option it produces the following output.
> source file1.tcsh
source file1.tcsh
source file2.tcsh
set vqaargs = ( 8_0 9_0 10_0 )
foreach vqaarg ( 8_0 9_0 10_0 )
switch ( 8_0 )
echo 8
8
breaksw
end
Too many )'s.
I have reproduced this on two NT4 SP6a machines and two Win2k ( one with
SP1 ) machines.
-------------- next part --------------
source file2.tcsh
-------------- next part --------------
set vqaargs = ( "8_0" "9_0" "10_0" )
foreach vqaarg ( ${vqaargs} )
switch ( "${vqaarg}" )
case "help":
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
echo "ook"
breaksw
case "8_0":
echo "8"
breaksw
default:
endsw
end
echo "exited ok"
More information about the Cygwin
mailing list