Things that could be done to improve rc:

Currently rc does not check the magic number of a file that fails
an exec call, so on old systems which do not support "#!", rc will
not do the right thing for shell scripts. This is a minor quibble,
since this problem has been solved in most modern UNIX kernels.

Berkeley limit support in rc is currently a little sloppy---it was
added to rc in haste, and the interface is not fully csh-compatible.
Nevertheless, it gets the job done at the expense of a few extra
typed characters. I use limits infrequently enough that I am not
concerned with "fixing" this code.

The output of "whatis" is not sorted. Again, this is a question of
aesthetics. If you want whatis sorted, you can always pipe it to
sort(1). It takes about 30min of hacking to get this to work right
inside rc, but I haven't done it yet.

"Fifo" redirection does not work on systems with /dev/fd, mainly
because I have not got a login on any such system. Since this style
of redirection was originally invented to take advantage of /dev/fd,
adding this to rc should be trivial.

Globbing in rc is not optimal, algorithmically speaking: rc will
glob each pathname component with a search through the directory
even if it does not contain a metacharacter. I spend much more time
making sure that the globbing code works *right* for pathological
inputs rather than getting it to work fastest; I certainly haven't
noticed any real speed loss using rc's globbing facilities. (of
course, rc does *not* glob a particular word unless it contains at
least one metacharacter, so the globbing routines aren't pessimal.)

Also: the manual page for rc could definitely stand a rewrite. In
addition, it would be nice to bundle a standalone history interpreter
with the rc distribution.

P.S. rc's code was written using a window system with a small font;
thus the lines are often much greater than 80 columns wide. I apologize
for this to would-be rc source-hackers who don't use window systems,
and to the coding-style police.
