Changes since 2008-02-02 follow.

:::::::: INIT ::::::::

08-06-24 fix $INSTALLROOT/bin/cc intercept time stamp file typo
08-06-20 make the localyunit before *.rt => *.tst -- doh
08-06-20 prepend $PWD onto PATH for local units -- doh^2
08-06-11 fix bug that skipped the last test
08-05-20 add --local to put *.tmp dir in local fs
08-05-05 add IF command ... ELIF command ... ELSE ... FI
08-05-01 package test => ulimit -c 0
08-04-28 fix EXPORT quoting
08-04-28 fix UNIT set check args too
08-04-24 exit code > 256 => signal termination
08-04-10 C+probe: change probe_so order to check .so last (macos ld workaround)
08-04-01 handle multiple admin HOSTTYPEs per HOST
08-03-28 C+probe: add C++ #include <iostream> (no extension) dir probes
08-03-17 fix trap on EXIT, add terminated note to final tally
08-02-28 make.probe: fix probe_warn to include ld!
08-02-02 make.probe: add CC.RUNPATH to match default -L order

:::::::: ksh93 ::::::::

08-06-24  --- Release ksh93t  ---
08-06-24  KSH_VERSION added as a name reference to .sh.version.
08-06-20  type now outputs 'special builtin' for special builtins.
08-06-19  A couple of bugs in multi-dimensional arrays have been fxied.
08-06-19  A bug in which a syntax error in a dot script could generated
	  a syntax error in the next subsequent command has been fixed.
08-06-17  Reduced the maximum function call depth to 2048 to avoid exceptions
	  on some architectures.
08-06-16  A bug in which printf "%B" could generate an exception when the
	  specified variable was not set has been fixed.
08-06-16  When typeset -p is followed by variable names, it now displays
	  the attributes names and values for the specific names.
08-06-14  A bug that could effect the drawing of the screen from multiline
	  emacs or gmacs mode when walking up the history file has been fixed.
08-06-13  A bug in which a compound variable defined in a subshell could
	  have side effects into the parent shell has been fixed.
08-06-13  A number of bugs related to using .sh.level to set the stack from
	  for DEBUG traps have been fixed.
08-06-13  The .sh.lineno variable has been added.  When .sh.level is changed
	  inside a DEBUG trap, the .sh.lineno contains the calling line number
	  for the specified stack frame.
08-06-13  The .sh.level variable has been documented and now works.
08-06-11  The -C option has been added to read for reading compound command
	  definitions from a file.
08-06-11  The . command is now permitted inside a compound command definition.
	  The dot script can contain declaration commands and dot commands.
08-06-09  Add -C option to typeset so that typeset -C foo, is equivalent
	  to foo=().
08-06-09  Added -n warning message for typeset option orderings that are valid
	  with ksh88 but not valid with ksh93, for example Lx5.
08-06-09  A bug in which the return value for an assignment command containing
	  a command substitution with that failed was zero when the assignment
	  contained redirections has been fixed.
08-06-09  A bug in the quoting of $ inside a ERE pattern ~(E)(pattern)
	  has been fixed.
08-06-06  A bug when processing `` command substitution with the character
	  sequence \$' has been fixed.
08-06-02  When defining a type, the typeset -r attribute causes this field
	  to be required to be specified for each instance of the type and
	  does not allow a default value.
08-06-02  Several bugs in which compound variables were modified by
	  subshells have been fixed.
08-05-22  The ceil function has been added to the math functions.
08-05-21  A bug in which a name reference defined in a function and passed
	  as an argument to another function could cause an incorrect binding.
08-05-21  A bug in freeing compound variables that are local to functions
	  has been fixed.
08-05-19  The array expansions ${array[sub1..sub2]} and ${!array[sub1..sub2]}
	  to expand to the value (or subscripts) for array between sub1 and
	  sub2 inclusive.  For associative arrays, the range is based on
	  location in the POSIX locale.  The .. must be explicit and cannot
	  result from an expansion.
08-05-15  The trap on SIGCLD is no longer triggered by the completion of
	  the foreground job as with ksh88.
08-05-14  A bug in the implementation of the editing feature added on 
	  07-09-19 in emacs mode has been fixed.
08-05-12  A bug in processing the test built-in with parenthesis has been
08-05-12  The unset built-in now returns non-zero when deleting an array
	  subscript that is not set.
08-05-08  Changing the value of HISTFILE or HISTSIZE will cause the old
	  history file to be close and reopened with the new name or size.
08-05-08  When FPATH is changed functions that were found via a path search
	  will be searched for again.
08-05-08  A parser bug in which reserved words and labels were recognized
	  inside compound indexed array assignment after a new-line has
	  been fixed.
08-05-07  A bug in getopts when handling numerical option arguments has
	  been fixed.
08-05-07  The typeset -S option was added for variables outside type
	  definitions to provide a storage class similar to C static
	  inside a function defined with function name.  When outside
	  type definitions and outside a function, the -S option cause
	  the specified variable so be unset before the assignment and
	  before the remaining attributes are supplied.
08-05-07  A bug that affected the cursor movement in multiline mode when
	  a character was deleted from near the beginning of the any
	  line other than the first.
08-05-01  In multiline edit mode, the refresh operation will now clear
	  the remaining portion of the last line.
08-05-01  A bug in computing prompt widths for the edit modes for prompts
	  with multibyte characters has been fixed.
08-05-01  A bug in the multiline edit mode which could cause the current
	  line to be displayed incorrectly when moving backwards from third
	  or higher line to the previous line has been fixed.
08-05-01  A bug in which options set in functions declared with the function
	  name syntax were carried across into functions invoked by these
	  functions has been fixed.
08-04-30  A bug which could cause a coprocess to hang when the read end
	  is a builtin command has been fixed.
08-04-30  The emacs and vi editors have been modified to handle window
	  change commands as soon as they happen rather than waiting for
	  the next command.
08-04-28  A bug in which ${!x} did not expand to x when x was unset has been
08-04-27  A bug in which the assignment x=(typeset -a foo=([0]=abc)) created as an associative array has been fixed.
08-04-25  A bug in which $# did not report correctly when there were more
	  than 32K positional parameters has been fixed.
08-04-04  Choose the name _ as the sub-variable that holds type or instance
	  specific data used by discipline functions.
08-03-27  A bug in which the terminal group was not given back to the parent
	  shell when the last part of a pipeline was handled by the parent shell
	  and the other parts of the pipeline complete has been fixed. 
	  The symtom was that the pipeline became uninterruptable.
08-03-25  A bug in restricted mode introduced in ksh93s that caused scripts
	  that did not use #! to executed in restriected mode has been fixed.
08-03-25  A bug in which the pipefail option did not work for a pipeline
	  within a pipeline has been fixed.
08-03-24  A bug in which OPTIND was not set correctly in subshells has
	  been fixed.
08-03-24  A bug which could cause a memory exception when a compound variable
	  containing an indexed array with only element 0 defined was expanded.
08-03-20  A bug in which ${!var[sub].*} was treated as an error has been fixed.
08-03-20  Associative array assignments of the form ([name]=value ...)
	  now allow ; as well as space tab and new line to separate elements.
08-03-18  A buffering problem in which standard error was sometimes
	  not flushed before sleep has been fixed.
08-03-17  A bug in which a signal sent to $$ while in a subshell would be
	  sent to the subshell rather than the parent has been fixed.
08-03-17  --default option added to set(1) to handle set +o POSIX semantics.
	  set --state added as a long name alias for set +o.
08-03-14  A bug in which using monitor mode from within a script could
	  cause the terminal group to change has been fixed.
08-03-10  The new ${...} command substitution will treat the trailing }
	  as a reserved word even if it is not at the beginning of a command,
	  for example, ${ date }.
08-03-10  If the name of the ENV begins with /./ or ././ then the
	  /etc/ksh.kshrc file will not be executed on systems that support
	  this interactive initialization file.
08-03-07  A bug in which ksh -i did not run the ENV file has been fixed.
08-03-07  A bug in which ulimit did not always produce the same output as
	  ulimit -fS has been fixed.
08-03-04  A bug in multiline mode in emacs and vi mode which could cause the
	  cursor to be on the wrong line when interrupt was hit has been fixed.
08-03-03  The change made in ksh93s+ on 07-06-18 in which braces became
	  optional for ${a[i]} inside  [[...]] was restored in the case
	  where the argument can be a pattern.
08-03-03  A bug in which creating a name reference to an associative array
	  instance would fail when the subscript contained characters [ or
	  ] has been fixed.
08-02-29  The redirection operator >; has been added which for non-special
	  files, generates the output in a temporary file and writes the
	  specified file only of the command has completed successfully.
08-02-15  A bug in ${var/pattern/string} for patterns of the form ?(*) and +(*)
	  has bee fixed.
08-02-07  A bug in which test \( ! -e \) produced an error has been fixed.
08-02-14  The typeset -a option can now optionally be followed by the name
	  of an enumerication type which allows subscripts to be enumerations.
08-02-14  The enum builtin which creates enumeration types has been added.
08-02-12  The backoff logic when there are no more processes has been fixed.
08-02-07  The -X option has been added to typeset.  The -X option creates
	  a double precision number that gets displayed using the C99 %a
	  format.  It can be used along with -l for long double.

:::::::: pax ::::::::

08-05-08 pax.tst: handle systems with privileged chmod +t / mkfifo
08-05-01 pax-tar.c: handle sfsprintf() ' '

:::::::: tests ::::::::

08-06-24 date.dat: update for tmxfmt() %z fix
08-05-22 add date.dat supplement test case generator
08-05-20 strtof*.rt: reorganize strtof tests for easy(ier) change
08-02-11 date.dat: add more ISO 8601:2000 tests

:::::::: 3d ::::::::

08-06-20 ast_3d.h,ast.c: add libast/misc/setenviron.c

:::::::: coshell ::::::::

08-04-08 event.c: use dbmlib.iffe

:::::::: nmake ::::::::

08-06-06 drop -G from _BLD_DEBUG trigger -- doh
08-05-22 $(CC.ARFLAGS) also needs $(CCLDFLAGS)
08-05-20 tests/test.def: add SET local -- nfs can't keep up
08-04-28 make.c: fix .ACCEPT to propagate state event time
08-04-28 option.c: split --regress into --regress={message|sync}
08-04-28 tests: --regress for all tests, --regress=sync for timing only
08-04-01 .SCAN.c <nosuffix> => nosuffix : .TERMINAL
08-03-27 add --ignorecase option to .INCLUDE.SUFFIX.
08-03-27 scan.c: fix buffer boundary slide bug
08-02-29 --- release 5.3 ---
08-02-29 option.c,variable.c: $(-+name) => option value
08-02-29 expand.c: add :H=O: to reverse token list
08-02-09 fix .SHARED.LIST. to allow multiple explicit lib prereqs
08-02-02 add LDRUNPATH init from $(CC.RUNPATH)

:::::::: builtin ::::::::

08-02-14 look.c: fix operand parse / diagnostic bugs

:::::::: codex ::::::::

08-05-08 codex.c: Codexdisc_t can't be on main()'s stack due to SF_ATEXIT

:::::::: bgp ::::::::

08-06-24 bgp-mrt.c: handle ipv6 extensions

:::::::: ip_t ::::::::

08-06-11 add { fv ptv } for ipv6

:::::::: lsa ::::::::

08-06-11 ospf_lsa.c: handle generic ip address type binding

:::::::: mailx ::::::::

08-02-12 local.c: favor fcntl() lock over flock() for N(otan)FS

:::::::: re ::::::::

08-05-14 *.dat: update tests for UTF-8 vs. ISO-8859-1
08-03-05 testregex.dat: add K {,*}(...) tests
08-02-14 sed.tst: sync with regsubexec() fixes
08-02-02 sed: add -m, --multi-digit-reference

:::::::: sort ::::::::

08-04-24 main.c: add optget() 'n' option for -1 => -K1

:::::::: vczip ::::::::

08-06-06 sync with kpv; add ast plugins and optget() usage

:::::::: libast ::::::::

08-06-24 tm/tmxfmt.c: fix %z to handle tm_isdst -- doh
08-06-24 misc/astintercept.c,misc/getenv.c: split from misc/setenviron.c
08-06-17 misc/setenviron.c: add { astintercept() getenv() }
08-06-09 tm/tmlocale.c: use _DATE_FMT if defined for TM_DEFAULT
08-06-06 misc/optget.c: handle sub-component about details
08-06-04 misc/optget.c: fix [-n?..#0093; version parse
08-06-04 include/debug.h,misc/debug.c: merge with kpvdebug.h
08-06-02 features/ndbm: add to tame dbmlib.iffe replication
08-06-01 comp/resolvepath.c,realpath.c: fix resolvepath() return value type
08-05-22 tm/tmxdate.c: fix a few ordinal/last/this/next bugs
08-05-18 string/fmtre.c: fix omitted stack var initialization bug
08-05-14 regex/regcomp.c,regcoll.c: fix UTF-8 collation sequence logic
08-05-11 tm/tmxfmt.c: :NOOPTIMIZE:, otherwise %Q/../../ fails
08-05-01 tm/tmxdate.c: mon 1..12 => mon[13] -- doh
08-04-30 misc/glob.c,reegex/regcomp.c: ~(R) => ~(O) to avoid pcre clash
08-04-24 port/astconf.c: 'name = value' does assignment without system init
08-04-15 port/astconf.c: SC#N treated like 'SC(N)'
08-04-14 misc/optget.c: clean up nroff output
08-04-01 port/astconf.c: add RELEASE => /proc/version fallback
08-03-30 misc/optget.c: [-n]... to enable -number & +number options
08-03-06 misc/optget.c: ---* and +++* are now operands
08-03-06 misc/errorx.c: fix old error_info.translate workaround
08-02-05 regex/regcomp.c: allow REG_SHELL {,n}... => {0,n}...
08-02-27 misc/stk.c: top element during allocation relocated to top 
08-02-18 include/ip6.h,string/strtoip6.c,fmtip6.c: add ipv6 addr support
08-02-14 regex/regsubexec.c: fix null match (tricky)
08-02-14 regex/regsubcomp.c: fix SRE to match ksh
08-02-11 comp/spawnveg.c: return proper errno on [v]fork() failure
08-02-11 tm/tmxdate.c,tmdata.c: handle more ISO 8601:2000 forms
08-02-02 regex/reglib.h: add REGMULTIREF to REG_COMP
08-02-02 string/strmatch.c: fix str="" pat="" sub values

:::::::: libcmd ::::::::

08-06-17 shcmd.h: move to libast
08-04-24 uniq.c: add optget() 'n' option for -1 => -f1
08-04-24 getconf.c: clarify diffs between "name - value" and "name = value"
08-04-01 cut.c: add write error check
08-04-01 paste.c: fix --noserial stream vector access bug
08-04-01 pids.c: add ls/ps style --format=format
08-04-01 stty.c: fix off2 unitialized reference
08-03-28 chgrp.c: add --before=file
08-03-14 pids.c: add
08-03-11 chgrp.c: fix -m to use uid:gid as lookup key
08-02-11 Makefile: add -lmd possibly required by sumlib.o -- hack alert

:::::::: libdll ::::::::

08-05-12 dllscan.c: LIBSUFFIX==.dylib => default plugin version match 0.0

:::::::: libsum ::::::::

08-06-05 sum-lmd.c: align context to largest int
08-05-01 sumlib.c: add some -lmd verification checks
08-02-11 sum-lmd.c,features/sum: add wrapper for solaris -lmd

:::::::: libcoshell ::::::::

08-04-28 coexec.c: check for fd 1,2 equivalence before CO_SERIALIZE 2>&1

:::::::: libcs ::::::::

08-04-09 csopen.c: fix mkmount() path cleanup
08-04-09 csopen.c: add debug=-1 mkmount() error message

:::::::: libpp ::::::::

08-05-11 ppproto.c: fix proto test 10 regression

:::::::: libcodex ::::::::

08-05-23 code-qp.c: avoid isprint()/iscntrl() for CC_NATIVE==CC_ASCII

:::::::: libdss ::::::::

08-06-24 dss.h: add per-Dssfile_t vm
08-06-17 cx.h: add Cxtype_t* arg to Cxmatchexec_f for delayed eval
08-05-08 cxopen.c: fix number_external() width logic

:::::::: libvcodex ::::::::

08-06-04 sync with kpv

:::::::: libgraph ::::::::

08-05-21 first release for -lvcodex

July 28, 2011