Changes since 2009-05-05 follow.

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

09-06-24 package.sh: fix admin.db output formatting
09-05-05 package.sh: export dll hackery environment vars
09-05-05 package.sh: handle non-identifier hostnames
09-05-05 mamake.c: pass undefined ${...} identifiers to the shell
09-05-05 mamake.rt: add macro expansion regression tests

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

09-07-01  --- Release ksh93t+  ---
09-06-22  The default width for typeset -X has been changed so that there
	  should be no loss of precision when converting to a string.
09-06-19  A bug in the printing of array elements for binary variables with
	  printf %B has been fixed.
09-06-19  A bug which caused a core dump with trap DEBUG set with an array
	  assignment with no elements has been fixed.
09-06-19  A bug with read with typeset -b -Z<num> has been fixed.
09-06-19  Two bugs related to read -b for array variables has been fixed.
09-06-19  A bug with typeset for compound variables containing arrays of
	  compound variables has been fixed.
09-06-18  A bug in appending a compound variable to a an indexed array of
	  compound variables has been fixed.
09-06-18  A bug which occurs when appending a compound variable to an indexed
	  array element has been fixed.
09-06-18  Setting VISUAL to a value other than one ending in vi or emacs will
	  no longer unset the edit mode.
09-06-17  A bug in typeset -m when moving a local compound variable to a
	  global compound variable via a name reference has been fixed.
09-06-17  A bug in appending to nodes of an array of compound variables when
	  addressing them via nameref has been fixed.
09-06-17  A bug in typeset -p var, when var is an array of compound variables
	  in which the output only contained on array element has been fixed.
09-06-17  The prefix expansion ${!y.@} now works when y is a name
	  reference to an element of an array.
09-06-16  Traps on signals that are ignored when the shell is invoked
	  no longer display.  Previously they were ignored as required but
	  would be listed with trap -p.
09-06-12  A bug in vi edit mode in which hitting the up arrow key at the
	  end of a line longer than 40 characters which caused a core dump
	  has been fixed. 
09-06-11  A bug in which "eval non-builtin &" would create two processes,
	  one for the & and another for non-builtin has been fixed.
09-06-08  When var is an identifier and is unset, ${var} no longer tries to
	  run command substitution on the command var.
09-06-08  Process substitution arguments of the form <(command) can now be
	  used following the < redirection operator to redirect from command.
09-05-13  A bug in which redirections of the form 2>&1 1>&5 inside command
	  substitution could cause the command substitution to hang has been
	  fixed.
09-05-12  To conform with POSIX, the -u option only checks for unset variables
	  and subscript elements rather than checking for all parameters.
09-05-12  A bug which could cause a core dump when a variable whose name
	  begins with a . was referenced as part of a name reference inside
	  a function has been fixed.

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

09-07-01 mm2html.sh: --frame=foo for man generates side content frame
09-07-01 mm2html.sh: add redirection hackery to insert html.labels
09-06-30 mm2html.sh: increase heading level for -o html.labels
09-05-08 mm2twiki.sh: add for mm => twiki markups

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

09-05-15 dll_3d.h: handle dllopen => dlopen

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

09-05-05 scan.c: reject implicit prereq names containing space

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

09-05-24 tail.tst: add r combinations

:::::::: dss ::::::::

09-07-02 dss.c: fix EXAMPLES typo

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

09-06-09 names.c,vars.c: fix alias expansion cross-dictionary bug
09-05-15 proc.c,quit.c: add buffer checks to filetemp()

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

09-07-02 ls.c: ftwflags() default only if not --recursive
09-05-15 ps.c: fix format field alias logic

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

09-07-04 vczip.c: first attempt to unify vcodex(--method) and codex(--transform)

:::::::: cia ::::::::

09-05-05 cia.sh: fix $c => $OPT typo

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

09-06-30 port/astconf.c: standard PATH_RESOLVE is "physical" (not "metaphysical")
09-06-19 vmalloc: sync with kpv
09-06-19 include/shcmd.h: add sh_context(p) cast
09-06-11 misc/magic.tab: differentiate pc 386 32/64 bit dll/exe/obj
09-06-06 port/astconf.c: fix look->name null pointer reference
09-06-05 port/astconf.c: fix 'UNIVERSE = value' synthesize logic
09-05-25 tm/tmxduration.c: add
09-05-08 comp/syslog.c: add _UWIN /var/log/syslog preference

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

09-07-02 chgrp.c,chmod.c,cksum.c: fts_flags() default only if not --recursive
09-06-19 cmd.h,cmdinit.c: add ERROR_CALLBACK for ERROR_NOTIFY main() callback
09-06-19 mktemp.c: --unsafe now checks and prints path but does create
09-06-19 tee.c: add ERROR_CALLBACK for tee_cleanup() sfio discipline pop
09-06-18 rm.c: handle interrupts during interactive query
09-06-18 cp.c: handle interrupts during interactive query
09-05-25 tail.c: fix old style option logic to handle --invalid-long-option
09-05-24 tail.c: -r == +1r

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

09-05-11 rskey.c: add collation mbxfrm() overflow panic (yes I know)
09-05-11 rskey.c: fix mbxfrm() return value logic

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

09-06-26 codex.h,codex.c: add Sfio_t* Codex_t.op for open/close/read/write apis

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

09-06-22 sync with kpv, add vcgetfname(), vcwalkfname()


July 28, 2011