Updated tcsh617 package that fixes three bugs is now available for Red Hat Enterprise Linux 5.
The tcsh617 package is a mutually-exclusive replacement for the tcsh package. Tcsh is a command language interpreter compatible with the C shell (csh), which can be used as an interactive login shell, as well as a shell script command processor.
Prior to this update, the tcsh617 processes were not handling the ".history" file exclusively. Consequently, when running several tcsh617 processes simultaneously, the .history file got malformed. This behavior, apart from corrupting .history content, slowed down the startup of the tcsh617 scripts. With this update, the .history file locking mechanism has been introduced. As a result, the file is merged correctly after modification by several processes.
The tcsh617 package introduced a change in the default value of the $status variable for lists and pipelines. This change was made to provide compatibility with POSIX-compliant shells, like bash, ksh, resh, etc. However, the modification affected existing applications, which relied on previous csh behavior, present for many years. With this update, the $status value has been reverted to the csh default. In addition, the $tcsh_posix_status variable has been added to opt-in the POSIX-like behavior. As a result, compliance with both csh and POSIX is made possible within tcsh617.
Due to a syntax error in the tcsh617 package, the source command failed to function correctly when a single-line if-statement was used. This bug has been fixed and the source command now works properly in the described scenario.
All users of tcsh617 are advised to upgrade to this updated package, which fixes these bugs.