Changes since 2009-07-04 follow.

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

10-02-02 package.sh: fix write binary bug that did scp on local fs
10-02-02 package.mk: up to date binary targets must still be in PACKAGE.*.lst
10-01-01 package.sh: fix premature $INSTALLROOT/bin during cross compile check
10-01-01 make.probe: handle ['"] in CC.VERSION.STRING
09-12-04 iffe.sh: add "opt name" to check for name in $PACKAGE_OPTIONS
09-11-30 mktest.sh: change RESET to STATE.RESET to make it global
09-11-14 make.probe: use gcc { -print-multi-directory -print-search-dirs }
09-11-11 package.sh: re-order and combine cc checks
09-10-27 C+probe,make.probe,probe.win32: add CC.SUFFIX.DEBUG
09-10-21 iffe.sh,Makefile: test -e is not in ksh88!
09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi)
09-10-06 package.sh: stub in ar intercept checks -- not used yet
09-10-06 ar.ibm.risc: add ar intercept because some aix require -Xfoo first!!
09-09-24 regress.sh: fix UMASK logic to create test support files before umask
09-08-28 release.c: change docs to mention stdin if no file operands
09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space
09-08-20 make.probe: add CC.SHARED.NAME
09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO }
09-08-11 package.sh: filter lines containing : for package results
09-07-31 make.probe: add CC.AR.ARFLAGS (for aix ar -xany)
09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options

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

10-02-02  --- Release ksh93t+  ---
10-02-02  A buffer overflow in read and another in binary type base64
	  encoding were fixed.
10-01-20  A bug in the evaluation of arithmetic expression in which the
	  subscript was evaluated twice for $((foo[x++]++)) has been fixed.
10-01-19  A workaround for a double-free of a trap in both a subshell and its
	  parent has been added.
10-01-18  A bug in type handling of typeset -H has been fixed.
10-01-15  The "adding empty subscript" warning now only emitted with -x set.
10-01-01  A bug in the parser in which '$((case i in i):;esac);:))' was not
	  parsed correctly was fixed.
10-01-01  A bug in the parser in which '$(( 2 , 3.6 ))' dumped core for locales
	  with radix char , and thousands separator . has been fixed.
09-12-28  A bug in the handling of SIGCLD on systems that generated SIGCLD
	  while blocked waiting for process to complete has been fixed.
09-12-24  ast setlocale() reworked to differentiate env var changes from user
	  override.
09-12-18  A bug with the SHOPT_BGX option set which disabled traps for signals
	  < SIGCHLD when a trap for a signal > SIGCHLD was set has been fixed.
09-12-18  A bug where [[ -v var ]] was incorrect for some variables (including
	  LC_* vars) has been fixed.
09-12-15  A bug that produced a syntax error when a multibyte character
	  straddled a buffer boundary has been fixed.
09-12-11  A bug where the subscript of an unset variable was not evaluated has
	  been fixed.
09-12-09  A bug where shcomp dumped core on certain syntax errors has been fixed.
09-12-07  A bug where a parent shell environment var reset in a subshell removed
	  the value in subsequent children of the parent shell has been fixed.
09-12-04  A bug in which in some cases a trap in a function executed in
	  a subshell could trigger twice has been fixed.
09-12-03  A bug in which SHLVL exported with some attributes could cause
	  the shell to abort at startup has been fixed.
09-12-02  A bug with pipefail in which the shell could hang waiting for the
	  writer to complete before the last reader command has been fixed.
09-11-30  A bug in which a trap could be inherited by the first element of
	  a pipeline when the command had more than 63 arguments that did
	  not contain any macro expansions has been fixed.
09-11-19  When read from a terminal was called from with a while or foo loop,
	  and an edit mode was on, a backspace or erase no longer will
	  overwrite the prompt.
09-11-17  Change .paths parse to handle BUILTIN_LIB=foo BUILTIN_LIB=foo-1.2.
09-11-17  Inside a function, typeset foo.bar will bind foo to global variable
	  foo if local variable foo does not exist, instead of creating a 
	  local variable.
09-11-17  "read -n1" from the terminal has been fixed to read exactly one character.
09-11-11  Job control now works for subshell commands, (...).
09-11-11  If set -e is on for an interactive shell errors in special builtins
	  now cause the shell to exit.
09-11-11  A bug in which an interrupt handler processed during the read builtin
	  when IFS did not contain a new line has been fixed.
09-11-09  A bug in which a variable that has been unset in a subshell and then
	  exported from that subshell does not show up in the environment
	  has been fixed.
09-11-02  ``,2'' is now a valid numeric constant for locales with
	  decimal_point=','.
09-11-02  A bug where "return" in .profile did not restore the shell state
	  has been fixed.
09-10-31  A bug that corrupted saved exit status when pids wrapped around has
	  been fixed.
09-10-26  A bug in { LANG LC_ALL LC_category } ordering has been fixed in -last.
09-10-16  A bug where notification to libast that the environment has changed
          has been fixed.
09-10-12  A bug in which a function loaded in a subshell could leave side
	  effects in the parent shell has been fixed.
09-10-12  A bug in converting a printf %d operand to a number when the operand
	  contains multiple subscripts for the same variable has been fixed.
09-10-09  A bug in the handling of the escape character  in directory prefixes
	  in command completion has been fixed.
09-10-09  $PATH processing has been changed to delay dir stat() and .paths
	  lookup until the directory is needed in the path search.
09-09-28  Call the ast setlocale() intercept on unset too.
09-09-24  A bug in which LANG=foo; LC_ALL=foo; unset LC_ALL; did not revert
	  LC_CTYPE etc. to the LANG value has been fixed.
09-09-17  A bug in which unsetting SVLVL could cause a script invoked by
	  name without #! to core dump has been fixed.
09-09-16  A bug in which a pipeline in a here-document could hang when the
	  pipefail option was on has been fixed. 
09-09-09  A bug in the processing of line joining in here documents which
	  occurred when a buffer began with <escape><new-line> has been fixed.
09-09-09  A leading ; with commands in a brace group or parenthesis group
	  no longer causes an error.  It now is used for the "showme" option.
09-09-09  A bug in which a subshell containing a background process could
	  block until the background process completed has been fixed.
09-09-04  A bug in handing ${var[sub]}, where var is a nameref has been fixed.
09-09-03  A bug which caused an index array to have the wrong number of elements
	  when it was converted from a compound variable by adding an another
	  element has been fixed.
09-09-03  Specifying export for a compound variable now generates an error.
09-09-02  $"..." localizations strings are no longer recognized inside `...`.
09-09-01  A bug in the for loop optimizer in the handling of type static
	  variables has been fixed.
09-09-01  An error message is not displayed when * and @ are used as subscripts.
09-09-01  Several bugs in the processing for types that included an associative
	  array of another type has been fixed.
09-09-01  A bug in the tracing of [[ a < b ]] and [[ a > b ]] has been fixed.
09-08-26  The .sh.file variable was not being set for a script that was run
	  by name and didn't start with #! and this has been fixed.
09-08-25  A bug in which a function called to deeply from command substitution
	  did not display an error message has been fixed.
09-08-24  When processing profiles, ksh93 now violates the POSIX standard and
	  treats &> as a redirection operator similar to bash.
09-08-23  A bug in the handling of the trap on SIGPIPE that could lead to a
	  memory fault has been fixed.
09-08-21  A bug in the handling of the comma operator in arithmetic expressions
	  that could cause a core dump on some systems has been fixed.
09-08-20  A bug in which a compound variable containing an array of a type
	  that doesn't have any elements now expands correctly.
09-08-19  A bug which disabled function tracing inside a function after
	  a call to another function has been fixed.
09-08-19  A bug in which initializing a compound variable instance to another
	  compound variable by name has been fixed.
09-08-18  A bug in which compound variable instances could be lost after
	  an instance that invoked a type method discipline has been fixed.
09-08-18  A bug in which a discipline function for a type applied to an
	  array instance when invoked in a function ignored the subscript
	  has been fixed.
09-08-18  A scoping error with variables in arithmetic expression with
	  type variables when reference with a name reference has been fixed.
09-08-10  Several memory leaks were fixed primarily related to subshells.
09-08-06  A bug in which setting the trap on CHLD to ignore could cause
	  a script to hang has been fixed. 
09-07-08  A bug in the processing of name reference assignments when it
	  contained pattern expansions with quoting has been fixed.

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

10-01-22 pax.c: fix -rw to 1 char dir name that dropped '/' separator
09-09-09 ax-tar.c: handle gnu tar octal overflow extensions for all octal fields

:::::::: html ::::::::

10-01-31 mm2html.sh: handle bsd mandoc
10-01-25 mm2html.sh: handle optget --nroff { .H[01234] .OP }
10-01-15 mm2html.sh: handle <name>(<number><chars>) references
09-09-17 mm2bb.sh: .sn now uses expand(1) instead of cat(1)

:::::::: proto ::::::::

10-01-20 changes.sh: avoid nmake variable expansions in sh!

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

09-12-17 opt.tst: opdate for solaris short/long mix
09-11-13 vmalloc/trandom.c: fix test logic
09-07-22 ip6.rt: add trailing :0 tests

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

10-01-19 3d.h: increase some path buffer sizes -- these need to be dynamic!

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

10-02-02 Makerules.mk: fix LICENSEINFO search to check $(.PACKAGE.)-foo.lic
10-01-19 Makerules.mk: fix .RECURSE to handle install or .INSTALL
10-01-01 --- release 5.4 ---
10-01-01 parse.c: ['"] following # always ignored
09-12-09 Makerules.mk: .EXPORT => .SCRIPT, internal.exported => internal.script
09-12-09 Makerules.mk: .EXPORT now adds vars to coshell coexport(3) list
09-12-04 Makerules.mk: rename PACKAGE_OPTIMIZE=foo to PACKAGE_OPTIONS=optimize-foo
09-11-13 Makerules.mk: fix .req logic for virtual -lfoo
09-10-28 command.c: disable *** error status message for .FAILURE targets
09-10-27 parse.c,make.c: a - b : .JOINT => b:.DONTCARE (b optionally generated)
09-10-27 Makerules.mk: install .pdb if it exists in .lib dir
09-10-09 --- release 5.4 ---
09-10-07 bind.c: makerule(path) == makerule(base) && !alias && terminal => drop path
09-10-06 Makerules.mk: add '-' prefix to ARFLAGS for posix portability
09-10-05 Makerules.mk: consult REQUIRE libs for CC.DLL targets
09-09-28 Makerules.mk: retract: if -lfoo binds to CC.STDLIB dir then bind to -lfoo
	 (it makes a difference for some cc!)
09-09-22 Makerules.mk: CC='' or --cctype=- or --cctype=0 => no C probe
09-09-22 Makerules.mk: if -lfoo binds to CC.STDLIB dir then bind to -lfoo
09-09-22 main.c: missing default makefile diagnostic is warning if --errorid
09-09-09 Makerules.mk: fix CC.AR.ARFLAGS logic
09-09-01 Makerules.mk: handle { libfoo.a foolib.a foo.a } prereqs
09-08-20 Makerules.mk: add :LIBRARY: name=soname and CC.SHARED.NAME logic
09-08-20 Makerules.mk: add :PACKAGE: --soname[=-n], -n to drop n suffixes in soname
09-07-31 Makerules.mk: add CC.AR.ARFLAGS

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

09-09-24 uuencode,uudecode: use uumeth(0) to generate usage method list
09-08-18 testtail.sh: add fifo tests
09-08-01 join.tst: TEST 19 for empty field defref bug

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

10-02-02 bgp.c,bgp-mrt.c: handle rfc3107
09-09-28 dss.tst: adjust for ip_t/fv.c fix

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

10-02-02 bgp.h: add rfc3107 BGP_labels
10-02-02 ip_t.c: add labels_t -- pairs of 32 bit integers
09-09-28 fv.c: fix off-by-one bug in fvplo() and fvphi()
09-09-28 ptfmin.c,ptvmax.c: call fvplo() and fpvhi()
09-07-28 fv.h,fv.c: add fvplo(), fvphi()

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

10-01-01 testfnmatch.c,testmatch.c: ignore 'v' test option
09-12-11 grep.tst: add more -x + -e combos for regcomb() fix
09-12-11 testregex.dat,regex++.dat: posix semantics for [z-a]
09-11-20 sed: handle mb chars in y/from/to/
09-10-31 sed: add a few gnu compatibility options

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

09-12-09 main.c: add -h, --scaled|--human-readable

:::::::: std ::::::::

10-01-01 ps.c: fix { -T -C -P } child detection logic
09-12-09 du.c: add -h, --binary-scale|human-readable; -K, --decimal-scale
09-11-11 features/procfs: handle linux /proc pr_tgrp == pr_tpgid
09-10-21 locale.c: use fmtquote() to print key values

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

09-10-01 vczip.c: make discipline data static -- it may be accessed after main() returns
09-07-04 vczip.c: first attempt to unify vcodex(--method) and codex(--transform)

:::::::: cql ::::::::

10-01-01 cql.h: fix MATCHPATTERN [] inside [...]

:::::::: jmake ::::::::

10-01-22 initial release

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

10-02-02 string/base64.c: fix corner case output buffer overflow
10-02-02 features/fs: sys/mnttab.h requires stdio.h on some systems!!
10-02-01 misc/optget.c: uppercase --html heading -- doh
10-01-29 misc/optget.c: [+NAME?...] overrides error_info.id for >= STYLE_man
10-01-25 vmalloc/vmprivate.c: fix seg ptr initialization bug (24 years old!!)
10-01-20 misc/optget.c: handle nested {...} rendering
10-01-20 misc/state.c: add ast.version for runtime api version
10-01-20 port/astconf.c: "_AST_VERSION" now returns ast.version
10-01-20 include/ast_std.h: add ast.version for runtime api version
10-01-19 astlicense.c: add epl
10-01-01 vmalloc: VMALLOC_OPTIONS env var for all runtime options
10-01-01 include: change some <ast.h> refs to less intrusive <ast_*.h>
10-01-01 setlocale.c,translate.c,fmterror.c: AST_LC_internal retains prev state
10-01-01 comp/setlocale.c: AST_LC_setenv defers to LC_ALL (for sh)
10-01-01 ast_std.h: add { AST_LC_internal AST_LC_setenv }
09-12-24 comp/setlocale.c: fix setlocale(LC_ALL,"") when already initialized
09-12-17 misc/optget.c: handle mixed solaris usage="x:f:(in)yo:(out)"
09-12-11 regex/regcomp.c: posix semantics for [z-a]
09-12-11 regex/regcomp.c: fix BRE/ERE ^^ logic
09-12-11 regex/regcomp.c: fix regcomb() for REG_LEFT|REG_RIGHT
09-12-11 regex/regcomp.c: bm complete=0 if REX_END
09-12-11 comp/sigflag.c: add with npt check in features/sig.sh
09-12-11 tm/tminit.c: fix _tzset_environ logic
09-12-09 tm/tmlocale.c: include "ast_nl_types.h" to pull nl_langinfo in!
09-12-04 features/options: add "opt map-libc" check
09-12-03 tm/tmxdate.c: fix 'next month final day' for dec -> jan
09-11-21 misc/magic.tab: add gimp XCF
09-11-20 vmalloc/vmtrace.c: add pid to assertion disgnostics
09-11-11 regex.h,regcomp.c: add REG_CLASS_ESCAPE,  inside [...] literal by default
09-11-03 regex/regcache.c: change to variable length pattern strings
09-10-28 include/error.h: fix ERROR_translate() arg parens
09-10-26 port/lcgen.c,comp/setlocale.c: handle LANG init after LC_* already defined
09-10-05 _sfopen.c: add but ignore 'F' flags for stdio compatibility
09-09-28 fts.h,ftwalk.h,fts.c: promote { namelen pathlen level } to (s)size_t
09-09-28 locales: add AST_LC_LANG for $LANG
09-09-28 setlocale.c: fix logic for dynamic { LANG LC_ALL LC_* } changes
09-09-17 include/sfio.h,sfio/sfwalk.c: add sfwalk()
09-09-09 sfio/sfputr.c: add SIGPIPE hang fix
09-08-24 sfio/sfreserve.c: fix SF_UNBOUND logic with pushed streams
09-08-18 include/ast_std.h,ast.h: add ast.mb_sync to sync mbchar() after error
09-08-17 comp/setlocale.c: add AST_LC_utf8 and { utf8_mbtowc() utf8_mblen() }
09-08-11 comp/setlocale.c: treat "en"/"en_US" AST_LC_MESSAGES as "C"/"POSIX"
09-08-10 vmalloc/vmhdr.h: add user-defined _AST_PAGESIZE and computed VMHEAPINCR
09-08-09 comp/conf.tab: add NPROCESSORS_MAX
09-07-29 astlicense.c: fix first name=value logic error
09-07-22 string/fmtip6.c: don't drop trailing 0 in 44::1:0:0

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

10-01-26 tail.c: -f sleep(1) only if no progress from last round of checks
10-01-20 fts_fix.[ch]: use <fts_fix.h> instead of <fts.h> (see fts_fix.c)
10-01-20 cp.c: free(state) if called from old shell
09-12-10 join.c: <wctype.h> for iswspace()!
09-12-04 cmd.h: fix CMD_DYNAMIC logic
09-12-04 cut.c: handle -d mb
09-12-03 mkdir.c: add --verbose
09-11-30 cat.c,date.c,cksum.c: drop setlocale() call already done by optget()
09-11-30 join.c: handle -t mb
09-11-28 wclib.c: { -w -L } mb independent of -m
09-11-28 paste.c: handle -d mb
09-11-28 uniq.c: handle -s mb
09-11-28 cksum.c: FTS_SEEDOTDIR by default
09-09-09 fds.c: add --unit=fd
09-08-25 tail.c: initialize Tail_t.fifo=0 !!
09-08-15 tail.c: fix fifo logic
09-08-11 wc.c: add setlocale(LC_CTYPE,"C") cleanup, add utf8 optimzations
09-08-10 uniq.c: replace -c 1..9999 sfsprintf() with inline conversion
09-08-01 join.c: fix empty field null pointer deref
09-07-23 pathchk.c: add -P,--path and -a,--all

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

09-11-17 dllscan.c: handle name[-.]version in dlsopen()

:::::::: librecsort ::::::::

09-12-09 rskey.c: add h option for key_n_code (IEEE 1541-2002 scales)

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

09-09-28 sumlib.c: use simple (faster) method name match function

:::::::: libuu ::::::::

09-09-24 uulib: add cat method for mail sevenbit|7bit encoding

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

09-12-09 coexport.c: add runtime CO_ENV_EXPORT hook that avoids changing environ

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

10-01-15 code-uu.c: add uu-base64-string to encode with no newline separators

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

09-08-19 vchufgroup.c: sync with kpv (new alg)


July 28, 2011