#sccs	"@(#)ksh/doc:README	1.1"

To generate the binary, just type make in the top level directory.
The binary is the file named sh/ksh which can be copied.  Ksh has
been sucessfully installed as /bin/sh on several machines.
The file sh.doc contains the troff (man) description of this Shell.
The file sh.memo contains an old troff (mm) memo describing ksh.  The
file RELEASE contains the changes made in this release since the previous one.
The module sh/msg.c has a list of about twenty-five default aliases compiled in.
The number of builtin aliases is in sh/builtins.h.
Alias names starting with / become tracked aliases.

The file sh/timeout.h contains a parameter TIMEOUT which can be set to
the number of seconds that the shell will wait for input before it
warns you and exits.  The default is 0 which never times out.  You can
set TIMEOUT to shorten the timeout interval but not to increase it.

This version contains one line edit modes for vi and/or emacs.
The emacs version was given to me by Mike Veach at IH.
The vi version was given to me by Pat Sullivan at CB.
If the EDITOR or VISUAL variable ends in macs or vi, the corresponding
Edit mode is selected.  The set -o(+o) can be used to turn editing
modes on(off).  A library of the code for the editing and history features
can be generated with the file sh/makelib.  This library can be added to
programs to enable emacs or vi mode input.  The library generated with
makelib is called libedit.a.

This version removes the archaic definition of ^ as a synonym for pipe.
If it is essential to preserve the old meaning then see the file
sh/ctype.c for instructions. The scripts /usr/src/:mkcmd and /etc/shutdown
use the ^ as a synonym for | and must be changed if you install this
shell as /bin/sh.

It is advisable that you put the line PWD=$HOME;export PWD into the
/etc/profile file to reduce initialization time for ksh.  If you
install this shell as /bin/sh you may have to make /bin/pwd a setuid
program to handle cases where setuid programs started by /etc/cron
change directories and then invoke shell procedures.

The makefiles should automatically configure themselves for System V,
System III, BSD 4.1, BSD 4.1c,  and BSD 4.2.  The makefiles currently know
about the 3B's, IBM maxi-UNIX, uts, and pdp11 class machines including PC/IX.
Compilation under XENIX may require that typecasts of void be removed because
of a bug in the C compiler.

Please report any problems or suggestions to:

David Korn
ulysses!dgk

Good luck!!
