Changes since 2003-04-22 follow.

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

03-06-21 package.sh: fix INITROOT initialization bug
	 package.sh: make sure admin logs exists before tail'ing
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
	 cc.mvs.390: return code 4 yields exit code 3 but its *really* ok
	 package.sh: fix onpath function global var conflict
	 make.probe: add CC.DIALECT { GNU -dD }
	 package.mk: add Mamfile to lcl manifest
03-06-10 package.sh: fix setup action typo that only checked the INIT package
	 package.sh: *.s390x => *.s390-64
03-06-09 package.mk: add cyg :POSTINSTALL:
03-06-08 make.probe: fix CC.STDLIB logic
	 hurl.sh: add User-Agent identification
	 package.sh: tweak source and binary installation instructions
	 cc.hp.pa,ld.hp.pa: +-Wl,+cdp,${INSTALLROOT}/lib/: drops abs lib paths
	 ldd.hp.pa: add
03-06-06 package.sh: fix $INSTALLROOT/bin/ldd check
	 make.probe: add CC.STDLIB verification
03-06-04 make.probe: add +forceread +noforceread
03-05-11 hurl.sh: handle http://host:port/path
03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic
03-05-05 package.mk: fix cygwin tarball names
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
	 make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR) 
	 make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
	 probe.win32: sync with latest CC.*
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
03-04-23 package.mk: fix dup "covered by" licenses
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
	 package.sh: fix admin write binary tarball snarf

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

03-06-26  --- Release ksh93o+  ---
03-06-26  Additional fields were added to the ulimit builtin.  Fields not
	  supported by the local system are listed with reasonable sysconf(3),
	  pathconf(3), or confstr(3) counterparts. Otherwise unsupported
	  values are listed as "not supported".
03-06-26  A bug in ulimit that improperly printed long long limit values
	  has been fixed.
03-06-23  A bug in which ${@:offset:len} could core dump when there
	  were no arguments has been fixed.
03-06-23  A bug in which ${X[@]:offset:len} could core dump when X
	  was unset has been fixed.
03-06-22  The -x option was added to the command builtin.  If this
	  option is on, and the number of arguments would exceed ARG_MAX,
	  the command will be invoked multiple times with a subset of
	  the arguments.  For example, with alias grep='command -x grep,
	  any number of arguments can be specified.
03-06-14  A bug in which could cause a core dump on some systems with
	  vi and emacs editors with the MULTIBYTE option has been fixed.
03-06-06  A bug in which the shell could core dump when a script was
	  run from its directory, and the script name a symlink to a file
	  beginning with .., has been fixed.
03-06-05  A bug in which the shell could core dump when a child process
	  that it is unaware of terminates while it is calling malloc()
	  has been fixed.
03-06-02  An option named globstar (set -G) has been added.  When enabled,
	  during pathname expansion, any component that consists only of ** is
	  matches all files and any number of directory levels.
03-05-30  A bug in which the PATH search could give incorrect results when
	  run from directory foo and PATH contained .:foo:xxx has been fixed.
03-05-29  Some changes were made to the code that displays the prompt in edit 
	  mode to better handle escape sequences in the prompt.
03-05-27  I added = to the list of characters that mark the beginning of
	  a word for edit completion so that filenames in assignments
	  can be completed.
03-05-20  A bug in which read -N could hang on some systems when reading
	  from a terminal or a pipe has been fixed.
03-05-19  A bug in which the ouput of uname from a command substitution
	  would go to the standard output of the invoking command when
	  uname was invoked with a non-standard option has been fixed.
03-05-19  A job control bug which would cause the shell to exit because 
	  it hadn't take back the terminal has been fixed.  The bug
	  could occur when running a function that contained a pipeline
	  whose last element was a function.
03-05-19  A job control timing bug introduced in ksh93o on some systems
	  which could cause a pipeline to hang if the first component
	  completed quickly has been fixed.
03-05-13  The read builtin has been modified so that the builtin editors
	  will not overwrite output from a previous incomplete line. 
03-05-13  A bug in which the name of an identifier could have the string
	  .sh. prefixed to it after expanding a variable whose name begins
	  with .sh. has been fixed.
03-05-13  A bug in the expansion of $var for compound variables in which
	  some elements would not be output when the name was a prefix
	  of another name in the compound variable has been fixed.
03-05-08  The last item in the ksh93o release on 03-01-02 has been
	  altered sligthly to preserve the leading 0's when the
	  preceding character is a digit.  Thus, with typeset -LZ3 x=10,
	  $(( 1$x)) will be 1010 whereas $(( $x) will be 10.
03-04-25  A bug in which if x is a name reference, then nameref y=x.foo
	  did not follow x has been fixed.


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

03-06-21 format.c: add ccode conversion check to putheader()
03-05-28 file.c: fix -vrw directory double list
	 update to new <ccode.h> interface

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

03-06-21 proto.tst: add T_INVALID ? splice bug test

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

03-05-25 opt.tst: add optstr() ???* internal option tests
03-05-11 strtoi.tst: add malformation tests
03-05-06 opt.tst: add getopt_long() compatibility tests
03-04-22 date.dat: add last, this, next tests

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

03-06-11 ast.c: add _map_malloc checks for _ast_malloc => malloc
03-06-05 pathreal.c: fix ancient multiple relative|.. symlink bug
03-06-04 3d.sh: change `shift $OPTIND-1' to `set x "@"; shift $OPTIND'

:::::::: cpp ::::::::

03-06-21 cpp.tst: add T_INVALID ? splice bug test
03-05-19 cpp.tst: add stray SKIPMACRO test
03-05-18 cpp.tst: add SYS_FUNCTION ungetchr() bug fix test
03-04-30 cpp.tst: add pp:mapinclude tests

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

03-06-21 parse.c: fix expr() quote recursion bug
	 Makerules.mk: fix .DLL.INSTALL logic
	 object.c: add initcode() to initialize the ccode maps early enough
	 main.c: add initcode() startup call
03-06-11 Makerules.mk: reinstate install .a on .dll+.lib systems
	 rules-win32.mk: inhibit libast.a install since cc does implicit ast.lib
	 Makerules.mk: drop DIALECT==CLOSURE check for new -l* binding 
	 Makerules.mk: add --mam ${mam_cc_FLAGS} to handle user CCFLAGS override
	 Makerules.mk: fix :DLL: to honor CCFLAGS
	 Makerules.mk: add -D_BLD_DEBUG to mam CCFLAGS
03-06-10 debug.mk: add libpp(3) -D-d to %.i rules
03-06-09 main.c: wait for jobs to finish before making .DONE
	 expand.c: change `V edit op value' error to be a warning
	 Makerules.mk: fall back to flex if lex not found
03-06-06 expand.c: add :VFU: to expand unbound internal var names
	 Makerules.mk: use .SHARED.LIST. to generate -l* +l* list
03-06-02 ppcc.sh: -o C++ implies -o PPLD for link time instantiation
03-05-21 Makerules.mk: fix %.sh=>% :T=E: echo quote bug
03-05-19 Makerules.mk: runtime check for flex -[oP] and bison -[op]
	 Makerules.mk: add strip=1 ala debug=1
03-05-11 rule.c: fix MAKEPATH=$PWD:$PWD loop
03-05-09 command.c: add "init TARGET CURTIME" dynamic mam
	 command.c: add CURTIME to mam "code TARGET STATETIME CURTIME ..."
03-05-07 Makerules.mk: add COBOL COBOLFLAGS COBOLMAIN COBOLLIBRARIES .SUFFIX.cob
	 Scanrules.mk: add .SCAN.cob, `*( MAIN )*' for main source
	 scan.c: add \D (0 or more digits), \V (0 or more variable chars)
03-04-27 Makerules.mk: don't build dlls in subdir for CC.SUFFIX.SHARED==".x"
03-04-22 rules-win32.mk: drop :PACKAGE: Xm override -- handled by uwin

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

03-06-10 who.c: ctime() arg must be time_t* (linux.s390-64)
03-05-21 asa.c,asa.tst: add
03-05-15 join.tst: add -v2 tests

:::::::: pack ::::::::

2003-05-21 pack.tst: add
2003-04-28 pack,unpack: handle file size > 2Gb (and > 4Gb)

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

03-06-09 minimal.dat: add tests

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

03-05-27 main.c: add -C, --codeset={a,e,i,o,n}
03-05-23 main.c: add -R, --reclen=reclen

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

03-06-21 pss-procfs.c: fix PR_TIME(),PR_CTIME() normalization
03-06-11 mount.c: reorder includes for mvs.390
03-05-26 dd.tst: add
03-04-28 sum.tst: add sha1 tests

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

03-06-21 misc/sigcrit.c: block SIGCHLD if _lib_sigprocmask || _lib_sigsetmask
	 comp/spawnveg.c,sfio/sfmode.c: use sigcritical() SIG_REG_* macros
	 comp/spawnveg.c: drop ENOEXEC logic
	 vmalloc/*: snarf kpv KPVCOMPACT() fix
	 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT (just in case)
	 string/strdup.c: drop __strdup() etc. intercepts -- malloc gets it
	 features/mem: define _mem_method and _mem_* possible values
	 vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method
	 sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get?
	 path/pathshell.c: verify abs path and access(path,X_OK) -- duh
	 vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT() 
	 port/astconf.c: fix bug that always returned the minmax value
03-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h> 
	 features/vmalloc: add _lib_brk and _lib_sbrk verification
	 include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc
	 comp/conf.sh: fix SI_* and *_SI_* macro redefs
	 ast.h: VMDEBUG or _BLD_DEBUG enable <vmalloc.h> and VMFL tracing
	 vmalloc/vmtrace.c: _PACKAGE_ast __FUNCTION__ is a string
	 vmalloc/vmtrace.c: set trace file fd FD_CLOEXEC
	 vmalloc/vmbest.c: set /dev/zero mmap fd FD_CLOEXEC
	 features/mmap: fix ancient read() vs. mmap() time arithmetic typo
	 vmalloc/malloc.c: _AST_std_malloc==1 to force standard malloc
03-06-09 comp/omitted.c: add _imp__FUNCTION sybols for __CYGWIN__ static link
	 vmalloc/vmbest.c: handle systems with sbrk() but no brk()
03-06-04 port/astconf.c: drop non-standard diagnostics
03-06-03 comp/conf.sh: rework symbol collision logic
03-05-30 conf.tab,conf.sh,astconf.c: add <sys/systeminfo.h> sysinfo() SI_*
03-05-29 ccode.h: rework for extensibility, drop obsolete mematoe(), memetoa()
03-05-28 regex/*: recode to use isw*() directly when needed, is*() otherwise
03-05-27 features/vmalloc: fix _std_malloc test
03-05-25 misc/optget.c: fix optstr() ???* internal options
03-05-24 misc/optget.c: fix (ancient) argv null dereference
03-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino
03-05-22 sfio/sfsprintf.c: n<0 => don't append ' '
03-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times 
	 misc/fts.c: add FTSENT.stack to eliminate getlist() recursion
	 regex/ucs_names.h: use "..." catenation to placate some cc's
03-05-11 string/strtoi.h: handle "-" "+" "0x" "11#"
03-05-09 vmalloc/vmbest.c: large memory allocation tweaks
03-05-06 misc/optget.c: fix getopt_long() prefix==1 bug that missed short flags
03-04-27 comp/system.c: handle <ast_map.h>
03-04-24 vmalloc/vmmopen.c: drop dup <unistd.h>

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

03-06-20 uname.c: fix -p constant string overwrite
03-06-04 stty.c: add undef to control assignment docs
03-05-31 uname.c: add -f and sysinfo()/confstr() compatibility via astconf()
03-05-27 rm.c: fix inappropriate "/.." append path overflow
	 cut.c: snarf from dgk
03-05-18 rm.c: check st_nlink to verify progress w.r.t. ftwalk/fts
03-05-15 join.c: fix stealth -v2 bug (thanks ahs)
03-05-04 wc.c: drop trailing space for `wc -l < file'

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

03-05-27 rskey.c: add Ci[o] code set [conversion]
03-05-26 rskey.c: add 'p' packed decimal (bcd)
03-05-23 recsort.h: add Rskey_t.code for global ccode index
03-05-22 rskey.c: handle -k.reclen -k.position.length
03-05-21 recsort.h: add events mask to Rsdisc_t, change Rskey_t disc to pointer
	 rsnotify.c: add

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

03-04-28 sumlib.c: drop md5 `zeroize' for performance
	 sumlib.c: add FIPS 180-1 SHA-1

:::::::: libbz ::::::::

03-05-13 sfdcbzip.c: add SF_DBUFFER exception, SF_SHARE before sfreserve()

:::::::: libz ::::::::

03-05-13 sfdcgzip.c,sfdclzw.c: add SF_DBUFFER exception, SF_SHARE+sfreserve()

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

03-06-21 ppproto.c: fix T_INVALID ? splice bug that did 0?val => 0?vaL
03-06-10 ppargs.c: add -D-d and -D-m
	 ppargs.c: add gnu options { -dD -dM -imacros -include -lang-* -lint }
03-05-19 pplex.c: fix stray SKIPMACRO bug
03-05-18 ppcall.c: add SYM_FUNCTION '(' peek to avoid inappropriate ungetchr()
03-04-30 pp:mapinclude hosted <std.h>="." will search only hosted dirs
	 pp.probe: add pp:mapinclude probe for namespace incursions
03-04-29 ignore()=>ppmapinclude(), add pp:mapinclude

:::::::: libpz ::::::::

03-05-13 sfdcpzip.c: add SF_DBUFFER exception, SF_SHARE before sfreserve()
03-05-05 sfdcpzip.c,sfdczip.c: add bzip support

:::::::: libtksh ::::::::

03-06-13  include/tclInt.h: disable #undef sprintf that masked its prototype


July 28, 2011