This is a list of changes that have been made since the 11/16/88 version
of ksh. 

1.	New features in 11/16/88a and 11/16/88b
	a.  All characters of alias names can contain non-special
	    characters, not just the first.

2.	Bugs fixed in 11/16/88a for default OPTIONS
	a.  Files containing a \ were not matched correctly with patterns.
	b.  read without arguments no longer references location 0.
	c.  The value of integer exported variables was not inherited
	    correctly in some cases.
	d.  The characters ()|&\ in IFS did cause word splitting when ksh
	    expanded commands. 
	e.  $! expanded to 0 before any background jobs were run, rather
	    than to the null string.  The value of $! was not reset to
	    null when running a script by name.
	f.  On some machines, the shell would core dump if the variable
	    LINENO was exported.
	g.  The [[ ]] command did not handle multiple && and || without
	    parenthesis grouping.
	h.  On some BSD implementations, terminal setting were being
	    incorrectly reset when using vi-mode. 
	i.  The execution of traps that write to standard output got
	    lost when the trap occurred while executing command substitution
	    of a built-in command. 
	j.  The noclobber option now only applies to ordinary files.
	k.  The value of RANDOM changes when ksh creates a subshell.
	l.  Some syntax error messages had extra backslashes in them.
	m.  The expansion ${#name[number]} was not returning the string
	    length of array element number.
	n.  ksh did not work correctly in some cases when there was
	    no search permission in the current directory.
	o.  A pipeline would hang if the last element of the pipeline
	    was a shell construct that created a lot of child processes.
	    For example, cat file | while read line;do /bin/true;done
	p.  getopts has been fixed to agree with the description in
	    the man page.  Previous ksh initialized OPTIND to 0, not 1,
	    and did not handle the case with a leading : as described.
	q.  If the name of the directory you are in contained a :,
	    a cd command to a relative pathname did always work correctly.
	r.  read -s now saves commands in the history file even when
	    read has been redirected from a file.
	s.  Some here documents containing command substitution with
	    a command that read from standard input didn't work
	    correctly.
	t.  (exec >&-; echo $(command) >&2) no longer runs command
	    with file descriptor 1 closed.
	u.  The <ESC>* command of vi and emacs inserted an extra
	    space when exactly one file matched.
	v.  A bug in vi edit mode caused a 'p' command to fail
	    after a 'D' command on some machines.
	w.  Reseeding the random number generator now guarantees
	    the same random sequence.
	x.  The results command substitution with built-in commands
	    that produced over 1K of output was sometimes incorrect.
	y.  set -A, without an argument, now produces an error message.
	    set -A name ... no longer causes the positional parameters
	    to be reset as an unintentional side effect.
	z.  Unterminated here-documents do not generate syntax errors
	    unless the -n option is on.
	aa. Job control now works for functions as it did with ksh-i.
	bb. The exit status of a pipeline whose last element is a built-in
	    command is now correct.
	cc. ksh no longer dumps core when the last element of a pipeline
	    is a built-in command with an invalid parameter expansion.
	dd. A trap on CHLD is no longer triggered by processes in the
	    current pipeline.
	ee. One systems without readdir(), filename generation left
	    open files by mistake.
	ff. traps ignored in a shell script were sometimes reset to
	    caught when functions were invoked.
	gg. The trace (set -x ) of [[ x < y ]] and [[ x > y]] was incorrect.
	hh. foobar() ; no longer core dumps.
	ii. A trap on continue from within a select loop no correctly
	    when the trap occurs while reading from the terminal.
	jj. The r command correctly handles numerical replacements so
	    that r 3=4 now works.
	kk. Long lines (>3K) no longer causes a core dump with read.
	ll. The command substitution $(name=value) no longer causes a
	    core dump.
	mm. With the vi edit mode on some systems, extra characters were
	    left on the screen when the kill or erase characters were
	    preceded by a backslash.
	nn. After a dot script that couldn't be found, a trap command
	    in a script could cause a core dump.
	oo. Redirection with read of the form, read x <&3, was causing
	    the seek position on unit 3 to be positioned incorrectly.
	pp. When an invalid alias name is given, ksh now prints the
	    correct error message.
	qq. On systems with job control, if you escaped to a shell that
	    terminated abnormally, the calling process would hang.

3.	Bugs fixed in 11/16/88b for default OPTIONS
	a.  ${x-"{a}"b} now expands to {a}b when x is null.
	b.  ksh no longer core dumps with print -s when HISTFILE changed.
	c.  Tab stripping of numbered here-documents now works.
	d.  The deprecated, sh -t, now works the same as System V shell.
	e.  Attempting to list autoloaded functions no longer core dumps.

4.	Bug fixes for specific non-default option combinations.
	a.  VERSIONS: MULTIBYTE no longer automatically enabled.
	b.  ACCT: The accdefs.h include removed.
	c.  BRACEPAT:  No longer references location 0 and dumps core.
	d.  EMACSPLUS: Now enables additional EMACS features.
	e.  FLOAT:  arith.c now compiles.
	f.  VI off:  e_runvi is no longer unsatisfied external.
	g.  SUID_EXEC: execute only works when file descriptor 10 is open. 

5.	Other changes to 11/16/88a and 11/16/88b
	a.  sh.1 corrections.
	b.  sh.memo corrections.
	c.  ksh.mk modified to build in a cross development environment.
	d.  jobs.c modified to compile on machines that define the new
	    line discipline, NTTYDISC, but not the old, OTTYDISC.
	e.  RELEASE file corrections.
	f.  Some fixes to the stand-alone edit libraries.
	g.  VERSIONS option renamed FS_3D
	h.  POSIX option added to try out IEEE POSIX 1003.2 proposals.
	i.  VFORK bugs fixed.  I still don't recommend this option.

6.	Incompatibilities with 11/16/88 version.
	None intentional

