The problem is described below:
On this system, there is a simple C shell script named "test.csh".
xwu@debian:~$ cat test.csh
#!/bin/csh
set FC=ifort
switch ($FC)
case ifort:
# This is the expected case, which displays "ifort" on stdout.
echo $FC
breaksw
default:
echo "a bug here?"
exit 4
endsw
xwu@debian:~$ chmod 755 test.csh
xwu@debian:~$ ./test.csh
a bug here?
On some other *NIX systems, the expected string "ifort" can be shown.
Best regards,
Xin Wu
I had a quick look at this RC bug: The token 'ifort:' after the 'case' keyword starts with 'if'. Because of this, the getword() function in func.c stops scanning premature. The same would happen if the token starts with 'while' or 'switch'. The comment at the top of the keyword() function may help to solve the problem. If the string is quoted, everything works, e.g.: case "ifort": Best wishes Johann Felix Soden