Advanced copy of ksh for XFree86 beta version for os2.

This is a slightly modified version of pdksh-5.2.7 for os2.  It is
designed to offer a Unix shell for XFree86.  Note that the zip file
only includes this readme and the exectuable.  For the complete release
please obtain the regular ksh527rt.zip file available from hobbes, wcarchive,
etc.  In the future I will be merging these files but for now I have
released them separately so that XFree folks can get an advanced copy.

Note that this shell can be used to replace the standard ksh shell as it
will work in both pm and XFree environments.  Compared to 5.2.7 the
following changes are present:

1. c=_read_kbd (0,1,0) has been replaced with read(0,&c,1).  XFree doesn't
    understand _read_kbd which is too bad since many utilties use it.

2. As a fallout of 1 the pure shell mode no longer supports F1, F2, F3
    and the cursor keys for previous command editing.  Emacs and Vi edit
    modes are not effected.

3. As a fallout of 1 the interrupts are not process immediately by the
    keyboard routine.  A kill may need you to hit a carriage return on the
    keyboard in the window to get the kill to take.  In an XFree xterm
    window it works ok but not in a pm window.

4. I have made some changes in interrupt trap handling to improve SIGTERM
    and SIGBREAK responses.  SIGBREAK is now trapped so that you can use
    it (CTRL-BRK) to kill wayward commands without killing the shell.
    Unfortunately this doesn't work well in XFree since TWM often sees the
    SIGBREAK and crashes.

Specific XFree items.  Some of these are XFree bugs, some are ksh bugs,
some are just observations.  I am not sure which is which at this point.

5. XTERM keyboard bindings have been added for the cursor keys in emacs mode.

6. placing a command in background (&) works ok in an xterm however
   once background tasks are begun there are several limitations as
   described below.  I don't know how many of these are Xfree bugs and
   howmany are ksh bugs.

7. exiting a shell with background tasks hangs the xterm window.  Use
    twm kill to kill it.

8. jobs will list background jobs.  jobs -l will list the process id.
   However, even when the jobs are exited they are not removed from the
    list.  Sometime later they may disappear, reason unknown.  ksh doesn't
    seem to be notified.

9. A command: "xterm -sl 200 -sb -e ksh &" works fine with the new ksh and
   is a good way to start up an xterm.  An alias here can save some work.

10. You cannot set SHELL to ksh.  X hangs starting up but you can start ksh
    in an xterm window after it is going or with the -e option (see 9).

11. There is no job control so you must background your job before it
    is started.

12. killing and xterm using the built in kill command can work but not
    using the process id that jobs told you about.  For example if you
    start an xterm using the command in 9 above and then echo $$ in the
    new window you will notice that the new ksh has a different id than
    the one xterm reported in the old window when it began.  If you send
    a kill to ksh then everything will die but if you send it to the
    xterm process id it will hang.  Use twm kill to get rid of it.

13. I haven't yet found a good more (less) command that will work in XFree.
    Item 1 above might let you modify and recompile less to work.  Many
    utility commands like procs hang for the same reason.  

14. Accessing a floppy disk without a disk installed will hang XFree.

15. ksh in an xterm window can lauch a pm app but, of course it will
    appear back in the pm window.

16. When X dies many copies of ksh, cmd and other thing may be left
    in the task list.  Use killem to get the cmd's so that you can
    get them all with one name and use death to get the wayward ksh's.
    Some will respond to kill and some won't.  Use procs to see them.

Thanks to Ilya Zakharevich for prodding me to get this done and supplying
some of the changes.  Note this is a home brew project and not related
to my employment.

    _      _     Dale DePriest  		San Jose, California
   /`) _  //     daled@Cadence.COM		voice: (408) 428-5249
 o/_/ (_(_X_(`	 
