Up Next Previous

## BUGS

When a suspended command is restarted, the shell prints the directory it started in if this is different from the current directory. This can be misleading (i.e., wrong) as the job may have changed directories internally.

Shell builtin functions are not stoppable/restartable. Command sequences of the form `a ; b ; c' are also not handled gracefully when stopping is attempted. If you suspend `b', the shell will then immediately execute `c'. This is especially noticeable if this expansion results from an alias. It suffices to place the sequence of commands in ()'s to force it to a subshell, i.e., `( a ; b ; c )'.

Control over tty output after processes are started is primitive; perhaps this will inspire someone to work on a good virtual terminal interface. In a virtual terminal interface much more interesting things could be done with output control.

Alias substitution is most often used to clumsily simulate shell procedures; shell procedures should be provided rather than aliases.

Control structures should be parsed rather than being recognized as built-in commands. This would allow control commands to be placed anywhere, to be combined with `|', and to be used with `&' and `;' metasyntax.

foreach doesn't ignore here documents when looking for its end.

It should be possible to use the `:' modifiers on the output of command substitutions.

The screen update for lines longer than the screen width is very poor if the terminal cannot move the cursor up (i.e., terminal type `dumb').

HPATH and NOREBIND don't need to be environment variables.

Glob-patterns which do not use `?', `*' or `[]' or which use `{}' or `~' are not negated correctly.

The single-command form of if does output redirection even if the expression is false and the command is not executed.

ls-F includes file identification characters when sorting filenames and does not handle control characters in filenames well. It cannot be interrupted.

Command substitution supports multiple commands and conditions, but not cycles or backward gotos.

Report bugs at https://bugs.astron.com/, preferably with fixes. If you want to help maintain and test tcsh, add yourself to the mailing list in https://mailman.astron.com/.

Up Next Previous