xref: /titanic_50/usr/src/lib/libast/common/RELEASE (revision 8cdd6a74847b5ae6ed26727528bdf6b139cf7552)
109-10-05 _sfopen.c: add but ignore 'F' flags for stdio compatibility
209-09-28 fts.h,ftwalk.h,fts.c: promote { namelen pathlen level } to (s)size_t
309-09-28 locales: add AST_LC_LANG for $LANG
409-09-28 setlocale.c: fix logic for dynamic { LANG LC_ALL LC_* } changes
509-09-17 include/sfio.h,sfio/sfwalk.c: add sfwalk()
609-09-09 sfio/sfputr.c: add SIGPIPE hang fix
709-08-24 sfio/sfreserve.c: fix SF_UNBOUND logic with pushed streams
809-08-18 include/ast_std.h,ast.h: add ast.mb_sync to sync mbchar() after error
909-08-17 comp/setlocale.c: add AST_LC_utf8 and { utf8_mbtowc() utf8_mblen() }
1009-08-11 comp/setlocale.c: treat "en"/"en_US" AST_LC_MESSAGES as "C"/"POSIX"
1109-08-10 vmalloc/vmhdr.h: add user-defined _AST_PAGESIZE and computed VMHEAPINCR
1209-08-09 comp/conf.tab: add NPROCESSORS_MAX
1309-07-29 astlicense.c: fix first name=value logic error
1409-07-22 string/fmtip6.c: don't drop trailing 0 in 44::1:0:0
1509-06-30 port/astconf.c: standard PATH_RESOLVE is "physical" (not "metaphysical")
1609-06-19 vmalloc: sync with kpv
1709-06-19 include/shcmd.h: add sh_context(p) cast
1809-06-11 misc/magic.tab: differentiate pc 386 32/64 bit dll/exe/obj
1909-06-06 port/astconf.c: fix look->name null pointer reference
2009-06-05 port/astconf.c: fix 'UNIVERSE = value' synthesize logic
2109-05-25 tm/tmxduration.c: add
2209-05-08 comp/syslog.c: add _UWIN /var/log/syslog preference
2309-05-01 comp/setlocale.c: fix _UWIN intercepts to return NiL on unknown locales
2409-04-27 sfio/sfpool.c: fix bug that did not return pool on delete
2509-04-22 include/regex.h,regex/regcomp.c: add REG_REGEXP <regexp.h> compatibility
2609-04-15 tm/tmxdate.c: handle "4th thursday in november"
2709-03-31 string/strvcmp.c,string/strnvcmp.c: add version strcmp(3)
2809-03-31 string/strpcmp.c,string/strnpcmp.c: add path prefix strcmp(3)
2909-03-29 misc/optget.c: clean up num = number casts
3009-03-04 tm/tmxmake.c: add tmxtm() with zone override
3109-03-03 tm/tmxfmt.c: add %(...)<c>, specifically %(...)z for output zone
3209-02-22 tm/tmxdate.c: add iso P... durations
3309-02-02 path/pathprog.c: add
3409-02-02 misc/opthdr.h,optget.c: fix flags mixup, handle old '-' as option
3509-02-02 sfio/sfprints.c: fix sfvaprints() return value to not count trailing '\0'
3609-02-02 misc/cmdarg.c: handle !defined(ARG_MAX)
3709-02-02 port/astconf.c: fix UNIVERSE overwrite of null[] value!
3809-01-31 features/sys: drop header sys/localedef.h
3909-01-28 include/fs3d.h,misc/fs3d.c: mount() => fs3d_mount() for diff std prototypes
4009-01-14 misc/fts_open.c: delay top list reorder until first fts_read()
4109-01-14 include/ls.h: LS_W_INUMBER => 9 to accomodate large st_ino
4209-01-14 misc/optget.c: expand STYLE_usage input text
4309-01-09 features/uwin,stdio/_stdfun.c: iffe for _p__iob and __p__iob
4409-01-09 misc/magic.tab: add ISO filesystem image entries
4509-01-07 string/strtoi.c: strtol() etc. do not consume [lLuU] suffix -- thanks jkf
4609-01-07 sfio/sfstrtof.h: strtod() etc. do not consume [fFlL] suffix -- thanks jkf
4709-01-05 string/strlcat.c: fix logic to match docs (not that easy)
4808-12-30 tm/tmxdate.c,include/tm.h: add TM_WORK { "workday" "working" "work" }
4908-12-28 sfio/sfcvt.c: fix 'a' format rounding
5008-12-21 tm/tmdata.c: add 2008-12-31+23:59:60-0000 leap second event
5108-12-19 tm/tmxdate.c: check for dates near the epoch rolling back to the future
5208-12-19 tm/tmxfmt.c: change %s for now==0 to be the epoch
5308-12-07 include/ast_std.h,misc/getenv.c: no _ast_getenv for uwin ast54 compatibility
5408-12-07 tm/tmxfmt.c: add %[_][EO]K for [space pad] [full|long] iso
5508-12-07 sfio/sfvscanf.c: fix ok[] short by one allocation
5608-12-07 comp/setlocale.c: fix off by one composite initialition loop test
5708-12-07 path/pathkey.c: fix off by one loop test
5808-12-04 vmalloc/vmbest.c: catch sbrk() wraparound
5908-12-04 comp/spawnveg.c: clean up attrs on failure too
6008-11-04 regex/regcomp.c: fix locale [!-...] and [^-...] re-initialization
6108-11-04 stdio: add flockfile.c ftrylockfile.c funlockfile.c
6208-10-24 port/astconf.c: handle multiple/trailing '/' in universe initialization
6308-09-10 misc/magic.c: handle old vcodex() indices
6408-09-10 sfio/sfvprintf.c: drop SF_WCWIDTH, use %Lc or %Ls instead
6508-09-05 Makefile: ibm.risc joins the :NOOPTIMIZE: crowd
6608-09-04 regex/regnexec.c: fix nested delimiter match beyond end of subject
6708-08-20 misc/fts.c: fix st_nlink stat() optimization logic
6808-08-19 sfio/sfpkrd.c: workaround macosx recv(PEEK) data consumption on non-socket
6908-08-19 strn?tol?d: handle long double with smaller exponent range than double
7008-08-18 sfio/sfcvt.c: eliminate excessive multiplies and integral overprecision
7108-08-11 tm/tmxfmt.c: handle %10N and %010N
7208-08-06 include/shcmd.h: add 'int invariant;' for builtin invarinat arg count
7308-08-05 features/ndbm: favor sleepycat ndbm compatibility
7408-07-21 include/glob.h,misc/glob.c: GLOB_STARSTAR only forces lstat on chdir
7508-07-17 sfio: sync with kpv
7608-07-17 misc/optget.c: call astwinsize() each time terminal width required
7708-07-16 sfio/sfvscanf.c: fix %% to skip leading space per posix
7808-07-16 vmalloc/vmbest.c: add VMCHECK=m, VM_mmap to favor mmap() alloc
7908-07-16 features/stdio,stdio/f(read|write).c: size_t return value!! ouch
8008-06-24 tm/tmxfmt.c: fix %z to handle tm_isdst -- doh
8108-06-24 misc/astintercept.c,misc/getenv.c: split from misc/setenviron.c
8208-06-17 misc/setenviron.c: add { astintercept() getenv() }
8308-06-09 tm/tmlocale.c: use _DATE_FMT if defined for TM_DEFAULT
8408-06-06 misc/optget.c: handle sub-component about details
8508-06-04 misc/optget.c: fix [-n?\n...\n] version parse
8608-06-04 include/debug.h,misc/debug.c: merge with kpvdebug.h
8708-06-02 features/ndbm: add to tame dbmlib.iffe replication
8808-06-01 comp/resolvepath.c,realpath.c: fix resolvepath() return value type
8908-05-22 tm/tmxdate.c: fix a few ordinal/last/this/next bugs
9008-05-18 string/fmtre.c: fix omitted stack var initialization bug
9108-05-14 regex/regcomp.c,regcoll.c: fix UTF-8 collation sequence logic
9208-05-11 tm/tmxfmt.c: :NOOPTIMIZE:, otherwise %Q/../../ fails
9308-05-01 tm/tmxdate.c: mon 1..12 => mon[13] -- doh
9408-04-30 misc/glob.c,reegex/regcomp.c: ~(R) => ~(O) to avoid pcre clash
9508-04-24 port/astconf.c: 'name = value' does assignment without system init
9608-04-15 port/astconf.c: SC#N treated like 'SC(N)'
9708-04-14 misc/optget.c: clean up nroff output
9808-04-01 port/astconf.c: add RELEASE => /proc/version fallback
9908-03-30 misc/optget.c: [-n]... to enable -number & +number options
10008-03-06 misc/optget.c: ---* and +++* are now operands
10108-03-06 misc/errorx.c: fix old error_info.translate workaround
10208-02-05 regex/regcomp.c: allow REG_SHELL {,n}... => {0,n}...
10308-02-27 misc/stk.c: top element during allocation relocated to top
10408-02-18 include/ip6.h,string/strtoip6.c,fmtip6.c: add ipv6 addr support
10508-02-14 regex/regsubexec.c: fix null match (tricky)
10608-02-14 regex/regsubcomp.c: fix SRE to match ksh
10708-02-11 comp/spawnveg.c: return proper errno on [v]fork() failure
10808-02-11 tm/tmxdate.c,tmdata.c: handle more ISO 8601:2000 forms
10908-02-02 regex/reglib.h: add REGMULTIREF to REG_COMP
11008-02-02 string/strmatch.c: fix str="" pat="" sub values
11108-01-31 comp/conf.sh,conf.tab: handle /bin/sh \ in read data, redir subshell
11208-01-18 misc/magic.tab: amd-x68, 64-bit => x86-64
11308-01-18 string/strnton.c,strntonll.c: add
11407-12-10 string/strelapsed.c: "0" is a valid elapsed time!
11507-12-02 sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0)
11607-11-21 comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation
11707-11-15 features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1
11807-11-14 features/float: favor sscanf() due to gnu strto[l]d() nan bugs
11907-10-31 regex/regcomp.c: fix REX_COLL_CLASS node allocation size
12007-10-31 sfio/sfcvt.c: use signbit() if available
12107-10-31 features/isoc99: _ISOC99_SOURCE tests
12207-10-31 port/astmath.c: add -DN=8 for signbit()
12307-10-31 sfio/sfstrtod.h: don't forget about -0.0
12407-10-26 features/map.c: add { optopt optarg optind opterr }
12507-10-26 features/stdio: add _filbuf => _ast__filbuf
12607-10-26 comp/getsubopt.c: fix #undef that interfered with <ast_map.h>
12707-10-26 regex/regcomp.c: fix bug that missed ')' in ~(F)...
12807-10-12 port/astconf.c: fix CONF_ALLOC 16 bit overflow
12907-10-12 misc/fts.c: fix fts_close() to free the handle -- doh
13007-10-11 comp/setlocale.c: second and subsequent setlocale(*,"") reverts to previous
13107-10-11 path/pathprobe.c: add vfs ST_NOSUID check
13207-10-10 comp/conf.tab: add a few more xpg6 deferrals
13307-09-28 astsa: update to share with mainline src via _PACKAGE_astsa
13407-09-25 sfio/sfgetr.c: no limit on string stream line size
13507-09-25 sfio/sfextern.c: increase _Sfmaxr to 256*1024
13607-09-18 misc/procopen.c: tighten up SIGCHLD logic between parent/child
13707-09-18 misc/signal.c: unblock SIG_DFL after setting handler, sig<0 => don't unblock
13807-09-13 misc/fs3d.c: no $LD_PRELOAD => no 3d and avoids invalid mount(2) call
13907-09-11 vmalloc: vmstat(0,0)==1 => region in use, drop VM_primary|VM_secondary
14007-09-05 misc/recstr.c: handle [lL] gobbled by strtol() -- ouch
14107-08-17 path/pathprobe.c: handle '\r' in VERSION string
14207-07-17 regex/regcache.c: regcache(0,n,0) extends cache to size n (no shrinking)
14307-07-16 tm/tmdata.c: add 2005-12-31, drop 1999-12-31 (where did that come from?)
14407-05-21 tm/tmxfmt.c,tmxscan.c: %F => %L (TM_DEFAULT); %F => %Y-%m-%d
14507-05-15 sfio/sfvprintf.c: %h? and SFFMT_SHORT => raw bytes
14607-05-09 features/signal.c,features/siglist: use kill -l & strsignal()
14707-04-25 misc/optctx.c: add for opt_info switching
14807-04-24 misc/cmdarg.c,include/cmdarg.h: add CMD_CHECKED, CMD_SILENT
14907-04-24 misc/procopen.c,include/proc.h: add PROC_CHECK
15007-04-24 misc/procrun.c: add flags arg (current use PROC_ARGMOD)
15107-04-24 misc/cmdarg.c,include/cmdarg.h: move from src/cmd/tw
15207-04-20 port/(lclang.h|lc.c|mc.c|lclib.h|lcgen.c): separate lctab.c
15307-04-20 comp/conf.sh: defer to systems without 'grep -q' -- sigh
15407-04-20 comp/conf.sh: probe for LL integer constant initializer suffix
15507-04-20 include/syslog.h: <namval.h> => <ast_namval.h> for win32
15607-04-20 ast_namval.h: add as copy of include/namval.h for win32
15707-04-19 comp/conf.tab: fix SVID SI entries to probe SI_* (not _SI_*)
15807-04-13 tm/tmxdate.c,tm/tmzone.c: handle [-+]0000 UTC zone offset
15907-04-11 sfio/sfvprintf.c: add %F, propagate SFFMT_UPPER
16007-04-11 sfio/sfcvt.c: handle SFFMT_UPPER => nan/inf vs. NAN/INF
16107-04-02 comp/conf.tab,comp/conf.sh: add C/POSIX <stdint.h> symbols
16207-03-28 misc/optget.c: fix l10n --?-
16307-03-25 features/common: fix { ast_std.h ast_map.h stdint.h } logic
16407-03-21 error.h: move from error_info to (*_error_data_)
16507-03-21 misc/error.c: add errorctx() for error_info switching
16607-03-21 option.h: move from opt_info to (*_opt_data_)
16707-03-19 regex/regdecomp.c: fix REX_ONECHAR escapes and add REX_KMP
16807-03-11 tm/tmxscan.c,regex/regnexec.c: fix strict-alias transgressions
16907-02-27 comp/conf.sh: handle native getconf invalid numeric values
17007-02-21 comp/conf.sh,comp/conf.tab: handle SSIZE_MAX vs _POSIX_SSIZE_MAX
17107-02-20 sfio/sfvprintf.c: handle SF_WCWIDTH justification
17207-02-14 features/common: cover <stdint.h>, move to int_(bits)_t
17307-02-14 include/int.h: drop
17407-02-14 include/sfio.h: add SF_WCWIDTH
17507-02-12 comp/conf.sh: fix CONF_LIMIT bug that missed ULONG_MAX etc.
17607-02-12 comp/conf.tab: *LONGLONG* => *LLONG* to match posix
17707-02-12 features/float: *LONGLONG* => *LLONG* to match posix
17807-02-12 port/astconf.c: handle CONF_LIMITS_DEF with no deferral
17907-02-12 stdio/vasprintf.c: add trailing '\0' -- doh
18007-02-04 string/fmtelapsed.c: fix naive multi month/year logic
18107-02-02 misc/optget.c: add --??posix for getopts(1)/getopt(3)
18207-01-26 string/chresc.c: use mbchar()
18307-01-26 misc/optget.c: handle "o:-:" usage for old-style long options
18407-01-22 sfio/sfdisc.c,sfpool.c: handle push on streams with pending peek
18507-01-22 include/sfio.h: mv Sfieee_t to sfio/sfhdr.h
18607-01-17 tm/tmxfmt.c: fix terminating nil logic which clobbered size-1
18707-01-11 misc/stk.c: a 2 day marathon bug fix (can we release now dr ek?)
18807-01-05 comp/spawnveg.c: posix_spawnattr_setflags(POSIX_SPAWN_SETPGROUP)
18907-01-05 misc/error.c: fix multibyte vs. printable logic
19007-01-01 comp/conf.sh: LC_ALL=C
19106-12-26 tm/tmxdate.c: handle nn*.nnnn* == sec.ns
19206-12-20 features/libpath.sh: generalize sol.* LIBPATH patterns
19306-12-18 comp/setlocale.c: include ast_standards.h and ast_wchar.h !
19406-12-12 string/strperm.c: octal modes are absolute!
19506-12-11 comp/conf.tab: always defer ARG_MAX
19606-12-07 Makefile: fix conftab.c generation CCFLAGS to match build - doh
19706-12-04 sfio/sfcvt.c: fix (int) vs. (long) cast mismatches
19806-12-01 comp/conf.tab: add changes to cover solaris { bin xpg4 xpg6 }
19906-12-01 regex/reginit.c: adjust { SRE KRE } escaped (){}*? inside [...]
20006-12-01 sfio/sfcvt.c: add signbit/copysign tests
20106-11-22 comp/spawnveg.c: fix _real_vfork logic to work with 3d
20206-11-20 features/common: bias _ast_int8_t "long long" before "__int64"
20306-11-20 string/strperm.c: fix X to work with all ops (not just +)
20406-11-15 astconf.c,conf.tab: add CONF_DEFER_* for variable constants
20506-11-11 port/astconf.c: validate path arg w.r.t. underlying calls
20606-11-11 comp/conf.sh: fix S CONF_STANDARD bug, add D to defer to native
20706-11-11 comp/conf.tab: add D to defer to native
20806-11-01 include/vmalloc.h: avoid VM_FLAGS sys/v*.h clash
20906-11-01 include/ast.h: add FMT_PARAM for fmtquote()
21006-10-31 disc/sfdcseekable.c: add SFSK_DISCARD for seekable window control
21106-10-31 comp/spawnveg.c,features/lib: handle posix_spawn exit status 127
21206-10-30 features/lib: fix posix_spawn() fork() prototype conflicts
21306-10-30 string/fmtscale.c: fix 1024 rounding bugs
21406-10-27 disc/sfkeyprintf.c: handle 'i' (=='d') -- oops
21506-10-26 sfio/sfvprintf.c: %#d => fmtscale(1000), %#i => fmtscale(1024)
21606-10-26 features/map.c: _map_libc cleanup
21706-10-26 features/fcntl: add to the circle of trust
21806-10-26 features/sys: add <sys/socket.h> socklen_t
21906-10-26 include/regex.h: handle include before <ast_map.h>
22006-10-25 astconf "SHELL" => "SH" to avoid _POSIX_SHELL conflict
22106-10-25 comp/conf.*: drop no-op duplicate conftab.c entries
22206-10-18 string/fmtscale.c: 1000: n[.]n[n](kMGTPE), 1024: n[.]n[n](KMGTPE)i
22306-10-11 ast_std.h: now implies <sys/stat.h> (did on most before anyway)
22406-10-11 strtoi.h: ignore sign for 0, validate scale shift
22506-10-11 strdup.c,vmstrdup.c: handle 0 arg
22606-10-11 add sfstruse()/sfstropen() error checks
22706-10-10 misc/procopen.c: envv==environ => don't modify environ
22806-10-10 misc/procclose.c: return valid exit(1) status
22906-10-06 port/astconf.c,comp/conf.sh,comp/conf.tab: play nice with getconf(1)
23006-10-01 comp/conf.tab: SHELL default checks { _CS_PATH } X { ksh ksh93 sh }
23106-10-01 comp/conf.sh: export CONF_getconf to shell actions
23206-10-01 comp/putenv.c: always enable setenv() for procopen()
23306-10-01 misc/procopen.c: use pathshell() or astconf("SHELL",0,0) if PARANOID
23406-10-01 path/pathshell.c: localize the shell path patterns and accept ksh93
23506-09-28 Makefile: avoid ast <stdio.h> vix iffe -X ast -- doh
23606-09-27 regex/regdecomp.c: add
23706-09-26 regex/regcomp.c: handle KRE ~(...)<invalid-kre>
23806-09-25 reorganize to avoid native header intercepts
23906-09-15 uwin/crypt.c: _UWIN only!
24006-09-14 Makefile: tweak the ast_common.h bootstrap again (finally?)
24106-09-14 misc/optget.c: noncommercial => OPT_proprietary
24206-09-12 string/strelapsed.c: fix multi-char qualifier parse
24306-09-12 string/strtoi.h: drop [cClLqQwW] multipliers
24406-09-11 misc/optget.c: add numeric arg validity check
24506-09-07 misc/optget.c,tm/tmfix.c: fix uninitialzed var refs
24606-09-05 path/pathprobe.c: add version header verification
24706-08-01 Makefile: handle iffe vs FEATURE/common vs ast_common.h
24806-08-31 Makefile: add ast_map.h to the bootstrap list
24906-08-30 misc/glob.c: fix ~(E)re bug that stripped ~(E) before regcomp
25006-08-30 include/ast.h: add { integralof(x) pointerof(x) }
25106-08-27 string/strelapsed.c: fix off-by-one (too little) parse bug
25206-08-25 misc/optget.c: 0*<n>.* numeric option args => <n>.*
25306-08-22 misc/glob.c: handle ~(...) pattern options
25406-08-16 string/strelapsed.c: fix off-by-one (too far) parse bug
25506-08-16 regex/regcomp.c: accept but ignore ~(N)
25606-08-14 features/libpath.sh: add solaris LD_LIBRARY_PATH_64 check
25706-08-05 sfio/sfpool.c: pool SF_READ|SF_WRITE loop fix
25806-08-02 misc/fts.c: fix FTS_NOSTAT optimization to check for ..
25906-07-28 include/glob.h: add gl_extra for user globlist_t expansion
26006-07-27 features/common: #include "ast_map.h"
26106-07-26 comp/fnmatch.[ch]: allow <ast_map.h> to map fnmatch()
26206-07-22 cdt: snarf from kpv
26306-07-17 string/strperm.c: perm==-1 skips umask(1)
26406-07-17 sfio/sfvprintf.c: handle format invalid mb seq
26506-07-17 regex/regcomp.c: inline REG_SHELL => anchored, otherwise not
26606-07-17 regex/regcomp.c: inline B|G:basic E:REG_EXTENDED F|L:REG_LITERAL
26706-07-17 regex/regcomp.c: inline l:REG_LEFT r:REG_RIGHT
26806-07-17 regex/regcomp.c: inline a:REG_LEFT|REG_RIGHT p:~REG_LENIENT
26906-07-17 string/chresc.c: add \Uxxxxxxxx
27006-07-17 sfio/sfstrtof.h: ignore thousands sep after decimal
27106-07-17 string/tokline.c: splice() => spliceline() for bsd
27206-06-27 features/float,sfio/sfcvt.c: fix Nan logic
27306-06-27 port/astmath.c: fix long double isnan() test
27406-06-27 features/map.c: _map_libc for std => _ast_std
27506-06-25 string/strperm.c: handle posix = w.r.t. umask
27606-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change
27706-06-18 regex/regstat.c: add REG_LITERAL check
27806-06-11 cdt/dtview.c: update from kpv
27906-05-31 sfio/sfhdr.h: fix _SFOPEN() typo
28006-05-09 comp/conf.sh: add native getconf -a names to the mix
28106-04-28 misc/optget.c: add solaris long option name compatibility
28206-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags
28306-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator
28406-02-10 port/astconf.c: relax standard prefix filter
28506-02-08 sfrd.c,sfsync.c: lock logic bug fix
28606-02-01 port/astlicense.c: add { parent incorporation }
28706-01-26 port/astconf.c: fix { LIBPREFIX LIBSUFFIX } length
28806-01-06 features/lib: change _UNIV_DEFAULT probe to use cross{...}
28906-01-04 misc/stk.c: fix n**2 realloc behavior
29006-01-01 include/sfio.h: export { _Sfi _Sfmaxr }
29105-12-13 string/chresc.c: handle \C-X => control-X, \M- => ESC
29205-11-22 regex/regcache.c: add, convert string/strmatch.c to regcache()
29305-10-06 string/ccmap.c: update ebcdic-u to be idempotent
29405-09-28 vmalloc: snarf from kpv; fixes large block brk() thrashing
29505-09-26 misc/magic.c,misc/magic.tab: handle latest vcodex header
29605-09-12 misc/optget.c: reset opt_info.offset on error
297	 string/strtoi.h: strton() '.' multiplier only if m>1
298	 string/fmtesc.c: add unadvertized FMT_PARM for FMT_SHELL
29905-09-09 string/fmtesc.c: fix FMT_SHELL logic w.r.t. [$`]
30005-08-11 string/strerror.c: fix { sys_errlist sys_nerr } prototypes
30105-08-03 sfio: snarf sfvaprints sfaprints
30205-07-21 port/astconf.c: retain most recent synthesized lookup
30305-07-20 sfio/sfsetbuf.c: default file io size now 64K on all systems
30405-07-17 ccmap*: add microfocus cobol EBCDIC_U
30505-06-29 regex/regcomp.c: fix the A & B inline flag logic
30605-06-15 include/recfmt.h: add fs format flag to fmtrec()
30705-06-14 error.c: add ERROR_OPTIONS { break count match }
30805-06-07 features/stdio: drop FEATURE/limits to fix bootstrap circular dep
30905-06-02 features/*,Makefile: drop vestigel iffeio.h bootstrap workaround
31005-05-31 string/fmtbuf.c: unlock (spin) before each return -- doh
31105-05-30 sfio/sfpkrd.c: work around macos 10.4 recv(MSG_PEEK) bug
31205-05-27 regex: add REX_NEST (?%[S.][T.][OT])
313	 magic.tab: ammend bsd db magic
31405-05-23 regex: REX_NEST (?%[D.][E.][L.][Q.][oc]...)
31505-05-21 regex: state.fold[] is now locale specific -- doh
31605-05-19 regex: add REX_NEST (?%\\()<>[]""...) %(...) nested match
31705-05-15 recfmt.h: add recstr() reclen() fmtrec()
31805-05-13 optget.c: allow boolean options to take numeric values
31905-05-12 recfmt.c: add to recfmt.h, adjust Recfmt_t encodings
32005-04-30 sfio: add sfmaxr(), default 64K
32105-04-22 comp/omitted.c: fix magic() logic for files < 512 bytes
32205-04-20 cdt: snarf update from kpv; void* Dt_t.user added
323	 misc/error.c: library => ERROR_LIBRARY
32405-04-19 regex/regcomp.c: handle REG_SHELL [^...] == [!...]
32505-04-11 tm/tmxscan.c: handle yyy.mm.dd[-+.]hh.mm.ss.nnnnnn
32605-04-07 regex/regnexec.c: fix out of bounds boundary check -- ouch
327	 features/align.c: add jmp_buf to the alignment mix (ia64)
328	 vmalloc/vmhdr.h: add jmp_buf to the alignment mix (ia64)
32905-03-31 misc/optget.c: fix option { - _ } separator matching
33005-03-30 misc/glob.c: eliminate superfluous GLOB_NOMATCH stat() calls
33105-03-24 port/astwinsize.c: include <sys/ioctl.h> if possible
33205-03-23 string/ccmap.c: add ebcdic-m mvs cobol table
33305-03-11 comp/omitted.c: handle utime[s](const,const)
334	 comp/conf.tab: fix linux PID_MAX probe
33505-03-10 comp/setlocale.c: LC_* value "" => unset -- doh
336	 misc/optget.c: reorder _PACKAGE_astsa code for msgcc
33705-03-08 misc/optget.c: delete leading space in STYLE_nroff output
33805-03-07 sfio/sfhdr.h: drop extern _sfdscan -- clashes with sfvscanf.c static
33905-03-01 tm/tminit.c: add tmlocaltime() for tzset() getenv() override workaround
34005-02-20 features/tvlib: tmsettimeofday only for systems that have settimeofday
341	 features/float: fix mvs.s390 NaN tests
34205-02-18 tm/tmxmake.c: fix <0 west of GMT bug that warped to 1800's -- wow
34305-02-11 port/mnt.c: handle lynxos MOUNTED=/etc/fstab
34405-02-08 features/float,sfio.h,sfcvt.c,sftable.c: add INF and fix NAN
34505-02-04 features/lib: add _std_strtol (for lynxos)
346	 include/ast_std.h: add _std_strtol tests
347	 comp/strtod.c: #define S2F_function strtod
348	 misc/signal.c: fix ancient bsd SV_INTERRUPT vs. SV_ABORT clash
34905-01-11 sfio/sfmove.c: try to seek(fr) when fw==0
350	 comp/omitted.c: intercept utimes() too
351	 comp/omitted.c: add DOSPATHVARS env var path value conversions
352	 features/tvlib,tm/tvtouch.c: check for utimets()
353	 misc/optget.c: handle '-' or '_' option word separators
354	 sfio/_sfopen.c: allow stream mode changes after initialization
355	 sfio: sync with kpv: SF_SYNCED fix for ksh input loss bug
35605-01-09 tm/tmxfmt.c: fix %6N for n<100000000
35705-01-08 regex/regcomp.c: conj() => con() to avoid C99 clash
35805-01-05 tm/*: fix { %U %V %W } logic -- my head hurts
35904-12-30 tm/tmxtime.c: fix tm_isdst<0 loop
36004-12-23 vmalloc/vmbest.c: fix vmresize bug that didn't 0 new data
36104-12-19 misc/optget.c: broaden - long option match
36204-12-09 string/strtoi.h: fix terabyte 't' suffix math
363	 string/strmatch.c: flush cache on locale change
36404-12-01 tm/tmsleep.c: add
365	 tv.h,tv*.c,tv.3: move from pax
366	 tmx.h,tmx*.c,tmx.3: add high resolution tm(3) counterparts
367	 features/lib: add *another* sgi linux.ia64 memccpy bug check
36804-10-31 Makefile: __OBSOLETE__ now computed <6 months ago year>0101
369	 ccode.h,ccmapid.c: add ccmaplist(Ccmap_t*) iterator
370	 option.h,optesc.c: add 3rd arg, 1 => quote '?' too
371	 misc/magic.c: fix bug that terminated `string \0a' at \0
372	 misc/magic.c: handle vcodex() via decompose()
373	 misc/magic.tab: add vcodex magic
374	 features/stdio: handle _LARGEFILE64_SOURCE -- oops
375	 stdio/(fseek|ftell|fseeko|fsetpos|fgetpos|ftello).c: oops^2
37604-10-28 string/swapop.c: size==-4 => size=4 and extend op=3 to op=7
377	 tm/tmfix.c: fix tm_mon<0 logic
37804-10-22 tm/tmdate.c: handle 'final day feb 2004'
379	 port/astlicense.c: add query=all|id|${...}${...}
380	 port/astlicense.c: "free" => "mit"
381	 comp/omitted.c: revert to the open source license
382	 string/stropt.c: drop siz==0 => tab is hash table
383	 include/sfio.h: incorporate <sfstr.h>
384	 include/sfstr.h: drop
385	 disc/sfstrtmp.c: drop -- use sfstrbuf()
38604-10-20 misc/magic.tab: update tar magic
38704-10-18 ufc-crypt.h,crypt_util.c: drop GPL code
388	 crypt.c: add BSD code
389	 pathpath.c: disable { $0 $_ $PWD } related root search
39004-10-01 normalize ident stamps
391	 port/astlicense.c: add type=cpl -- yeah
39204-09-25 string/swapop.c: return op < size -- duh
39304-09-23 comp/spawnveg.c: :NOOPTIMIZE: -- volatile sometimes ignored
39404-09-21 comp/spawnveg.c: exec_errno_ptr is volatile -- duh
39504-09-14 tm/tmscan.c: add %| alternation and %& => tmdate()
39604-09-08 misc/optget.c: add :!value: omitted optional arg value
397	 misc/optget.c: fix --noNAME ambiguous option logic
39804-08-26 string/strperm.c: add who^mode to propagate least restrictive up
399	 astmath.c: add { frexpl ldexpl } checks for ast.req
400	 port/astlicense.c: ignore first option if non-assignment
401	 include/ast_dir.h: move d_fileno map before struct defs -- duh
40204-08-24 vmalloc/vmbest.c: add {VM_region} VMCHECK=+r for region segment checks
403	 misc/recfmt.c,include/recfmt.h: add
40404-08-23 vmalloc/vmbest.c: add {VM_primary VM_secondary} VMCHECK=-s for primary
405	 features/common: punt to <stdarg.h> for unknown va_list
40604-08-11 vmalloc: sync _UWIN libposix hooks
40704-07-27 features/common,features/limits.c: ULL suffix for unsigned _ast_int8_t
40804-07-22 include/ast.h,comp/eaccess.c: add eaccess() for effective access()
40904-07-19 comp/open.c,sfio/_sfopen.c: { O_RDONLY O_WRONLY O_RDWR } are values
41004-06-28 misc/error.c: check level after error_info.auxilliary
41104-06-24 string/strmatch.c: strgrpmatch() match[] now variable size array
41204-06-17 features/common: change _DLL null define to (the standard ast) 1
41304-06-11 misc/optget.c: allow optional [-|+|--|++] optstr() option prefix
414	 misc/optget.c: reset optstr() state on 0 return
415	 misc/optget.c: text()=>textout() linux.ppc symbol hijack workaround
41604-05-31 sfio/sfreserve.c: no side buffer if user buffer is large enough
41704-05-27 string/fmtbuf.c: handle one concurrent buf > sizeof(buf)
41804-05-24 regcomp.c: fix no-advance initialization
41904-05-05 conf.tab,conf.sh: update to align with standards
420	 magic.tab: ms suffix update
42104-05-04 port/lcgen.c: fix territory initialization
42204-04-15 tm/tmdate.c,include/tm.h: fix specific and ordinal days
42304-04-08 astconf: retain { HOSTTYPE LIBPATH LIBPREFIX LIBSUFFIX } strict vals
42404-04-07 vmalloc/vmbest.c: fix alpha tiny block bug
425	 vmalloc/malloc.c: re-enable on alpha
42604-03-30 tm/tminit.c: GMT => UCT only if tz.daylight not defined
42704-03-25 vmalloc/malloc.c: _AST_std_malloc=1 for __alpha
428	 path/pathprobe.c: per-user probe dir => $HOME/.probe/$HOSTTYPE
42904-03-23 regex/reglib.h: fix isw*() redefines
43004-03-17 features/stdio: no __FILE override for __CYGWIN_ (sys/reent.h clash)
431	 sfio/sfhdr.h,sfio/sfsetbuf.c: lower sfmove() default buf size 4x
43204-02-29 comp/omitted.c: move env trace after PATH fixup
433	 comp/omitted.c: cygwin spawn _P_DETACH => _P_NOWAIT+setpgid(pid,0)
434	 misc/optget.c: fix html mailto: match
435	 port/astlicense.c: add type=test for fixed 2001 date
436	 features/float: check local NaNQ first
437	 vmalloc/vmhdr.h: fix _vmextern_ vm_truncate return type
438	 misc/magic.tab: add elf s390 index=22
43904-02-26 vmalloc: VMCHECK a:assertions c:arena-check w:warn-instead-of-abort
440	 sfio/sfvscanf.c: fix extf arg selection
44104-02-24 features/dirent: set nodefine to avoid ast_std.h _typ_off64_t undef
442	 disc/sfkeyprintf.c: only case pattern must be ()[] balanced
44304-02-14 include/sfio_t.h: add SF_DCDOWN, SFDCNEXT(), SFDCPREV()
44404-02-13 string/strmatch.c: fix bug that didn't save one-time sub[] size
445	 vmalloc: -g: export VMCHECK=1 enable malloc/free checks
446	 vmalloc: -g: free(0) to check and disable malloc/free checks
447	 vmalloc: -g: free(1) to check and enable malloc/free checks
44804-02-11 Makefile: add :P=A: to conf and lcgen exec for cross-compile
449	 regex: use MBSIZE() instead of mbsize() to grab 1 char on err
450	 vmalloc/vmbest.c: updated to do more comprehensive DEBUG tests
45104-02-04 sfio/sfraise.c: add sfraise(0,a,b) to iterate over all streams
45204-02-01 vmalloc/vmbest.c: _BLD_DEBUG free(0) checks the arena
45304-01-31 features/vmalloc: fix typo that missed _mmap_zero
45404-01-23 string/strerror.c: handle real strerror() return value overwrite
45504-01-11 path/pathpath.c: fix size vs. sizeof(buf) typo
45603-12-22 misc/magic.tab: dos EXE tweaks
45703-12-05 vmalloc: sync with kpv, adding exceptf announcements
45803-12-04 port/astlicense.c: fix expand() loop sentinel bug
45903-12-02 include/ast.h: mbchar() advances by 1 on mbtowc() error
460	 misc/fts.c: increase MINNAME to 32
46103-11-21 vmalloc/vmbest.c: export VMCHECK=1 to enable $(CC.DEBUG) vmcheck()
462         vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT
463	 misc/magic.c: add { cobol copybook pl1 } and suffix preference
46403-11-12 features/stdio: drop cuserid,getopt for SUSV3
46503-11-11 vmalloc/*: merge kpv update -- this should stomp the compaction bug
46603-10-23 comp/iconv.c: fix sfreserve lock fallback
46703-10-20 sfio/_sfopen.c: add to allow user sfopen() intercept
46803-10-17 regnexec.c: fix exec time REG_LEFT, \x.... => wctomb()
46903-10-12 string/strtoi.h: fix strton '.' overconsumption
47003-10-12 comp/iconv.c: identity is always (iconv_t)0
47103-10-09 string/fmtesc.c: fix FMT_SHELL to check for all shell magic chars
47203-10-01 port/astlicense.c: unknown authors copied verbatim (instead of ignored)
47303-09-30 string/chresc.c: handle \u..., \x... consumes all trailing hex digits
474	 string/stresc.c: \u... and \x... > UCHAR_MAX => wctomb()
47503-09-29 fnv.h: add
47603-09-23 modedata.c: table is for external modes, so no arch specific hacks
477	 optget.c: fix option prefix match translation bug
478	 optget.c: add `<length> <name>=<value>\n' to optstr()
479	 features/lib: add memcmp() test for sgi optimzation bug
48003-09-22 regex.h,regcomp.c: add regncomp()
481	 regclass.c: fix for loop dangling ; in regaddclass()
48203-09-20 sftable.c,sfvprintf.c: fix SFFMT_CHAR handling to match extf api
48303-09-19 sfmode.c: update release to kpv's
48403-09-17 regcomp.c: add pedantic backref error checks
48503-09-16 regnexec.c: exec time REG_LEFT => don't advance past initial position
486	 regclass.c: add regaddclass() for user defined [:class:]
487	 regexec.h: REG_VERSION_N2X, add redisc_t {re_map} ccode map
488	 regstat.c: add regstat_t
48903-09-11 optget.c: --n:=v sets opt_info.assign=':', opt_info.number enabled
49003-09-09 disc/sfkeyprintf.c: *pn on lookup is arg separator; lookup "" arg too
49103-09-05 optget.c: [f:l*?] preserves user long name past '*' in opt_info.name[]
49203-09-03 sfstr.h: add sfstrpend() for #pending bytes in read buffer
49303-08-25 regex: add REG_FIRST, optimize bm
494	 features/lib: _AST_no_spawnveg==1 falls back to fork/exec
49503-08-22 features/stdio,stdio/asprintf.c,stdio/vasprintf.c: add
49603-08-21 path/pathnative.c,path/pathposix.c: interix updates
497	 features/botched: add cygwin _stat => _stat64
49803-08-15 include/ast.h: map out bsd strmode()
499	 features/common: add interix _ast_intmax_t workarounds
500	 misc/fs3d.c: 3d mount test now uses "" instead of NiL (or cygwin dumps)
50103-08-11 string/fmtesc.c: fix optional quoting checks
502	 tm/tmdate.c: fix > 1 year of seconds arithmetic
503	 tm/tmfix.c: fix leap year adjustments
50403-08-01 features/lib: beef up sock_peek test for interix
50503-07-29 features/float: add -lm to frexp... test
506	 Makefile: fix -lm astmath test sense
50703-07-26 features/mem.c: favor _mem_sbrk over _mem_mmap_*
50803-07-22 vmalloc/vmbest.c: fall back to sbrk() if mmap() fails
509	 features/mem.c: _mem_sbrk means sbrk() and brk() work
51003-07-17 regex/regcomp.c: fix bug that treated KRE X{n,m} like {n,m}(X)
511	 misc/magic.c: check MAGIC_VERBOSE for all load() messages
51203-07-14 misc/optget.c: handle [...]{[...]\f...\f...}
51303-06-21 misc/sigcrit.c: block SIGCHLD if _lib_sigprocmask || _lib_sigsetmask
514	 comp/spawnveg.c,sfio/sfmode.c: use sigcritical() SIG_REG_* macros
515	 comp/spawnveg.c: drop ENOEXEC logic
516	 vmalloc/*: snarf kpv KPVCOMPACT() fix
517	 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT (just in case)
518	 string/strdup.c: drop __strdup() etc. intercepts -- malloc gets it
519	 features/mem: define _mem_method and _mem_* possible values
520	 vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method
521	 sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get?
522	 path/pathshell.c: verify abs path and access(path,X_OK) -- duh
523	 vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT()
524	 port/astconf.c: fix bug that always returned the minmax value
52503-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h>
526	 features/vmalloc: add _lib_brk and _lib_sbrk verification
527	 include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc
528	 comp/conf.sh: fix SI_* and *_SI_* macro redefs
529	 ast.h: VMDEBUG or _BLD_DEBUG enable <vmalloc.h> and VMFL tracing
530	 vmalloc/vmtrace.c: _PACKAGE_ast __FUNCTION__ is a string
531	 vmalloc/vmtrace.c: set trace file fd FD_CLOEXEC
532	 vmalloc/vmbest.c: set /dev/zero mmap fd FD_CLOEXEC
533	 features/mmap: fix ancient read() vs. mmap() time arithmetic typo
534	 vmalloc/malloc.c: _AST_std_malloc==1 to force standard malloc
53503-06-09 comp/omitted.c: add _imp__FUNCTION sybols for __CYGWIN__ static link
536	 vmalloc/vmbest.c: handle systems with sbrk() but no brk()
53703-06-04 port/astconf.c: drop non-standard diagnostics
53803-06-03 comp/conf.sh: rework symbol collision logic
53903-05-30 conf.tab,conf.sh,astconf.c: add <sys/systeminfo.h> sysinfo() SI_*
54003-05-29 ccode.h: rework for extensibility, drop obsolete mematoe(), memetoa()
54103-05-28 regex/*: recode to use isw*() directly when needed, is*() otherwise
54203-05-27 features/vmalloc: fix _std_malloc test
54303-05-25 misc/optget.c: fix optstr() ???* internal options
54403-05-24 misc/optget.c: fix (ancient) argv null dereference
54503-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino
54603-05-22 sfio/sfsprintf.c: n<0 => don't append '\0'
54703-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times
548	 misc/fts.c: add FTSENT.stack to eliminate getlist() recursion
549	 regex/ucs_names.h: use "..." catenation to placate some cc's
55003-05-11 string/strtoi.h: handle "-" "+" "0x" "11#"
55103-05-09 vmalloc/vmbest.c: large memory allocation tweaks
55203-05-06 misc/optget.c: fix getopt_long() prefix==1 bug that missed short flags
55303-04-27 comp/system.c: handle <ast_map.h>
55403-04-24 vmalloc/vmmopen.c: drop dup <unistd.h>
55503-04-21 tm/tmdate.c: fix next hour/min logic
55603-04-15 vmalloc/malloc.c: intercept __malloc() along with __libc_malloc()
557	 string/strdup.c: intercept __strdup() along with __libc_strdup()
558	 features/mmap: consolidate from features/(lib|sfio|vmalloc)
559	 add _NO_MMAP==1 to disable all mmap()/munmap() calls
560	 path/pathposix.c: add
56103-04-14 comp/setlocale.c: fix debug_mbtowc() return value for *s==0 || n < 1
562	 comp/iconv.c: fix error return errno values
56303-04-11 misc/stk.c: fix stkgrow() realloc bug
56403-04-05 string/tok.c: support readonly single token input strings
565	 disc/sfdcdio.c: fix F_DIOINFO and FDIRECT #ifdef's
566	 include/ast_std.h: allow _LARGEFILE64_SOURCE on __hppa
567	 features/common: fix `tst _foo_' => `tst foo_' typo
568	 features/float: fix `tst _foo_' => `tst foo_' typo
569	 features/float: add FLTMAX_(UINTMAX_MAX,INTMAX_MAX,INTMAX_MIN)
570	 comp/omitted.c: fix pathconf => _pathconf => _ast_pathconf loop
57103-04-03 features/float: add _ast_no_um2fm: no usinged intmax => floatmax cast
572	 vmalloc/vmbest.c: add getenv("VMCHECK") to initialize Vmcheck
57303-03-28 include/ast_dir.h: add D_TYPE; { D_FILENO D_TYPE } must be #ifdef'd
574	 misc/fts.c|getcwd.c|glob.c,preroot/getpreroot.c: add D_FILENO #ifdef's
575	 Makefile: make sure _BLD_ast is defined for all compiles
57603-03-27 ast_vfork.h: generate from features/vfork to pick up headers/pragmas
57703-03-25 comp/omitted.c: drop free() of live environ
578	 path/pathshell.c: allow trailing .exe -- pox on that
579	 string/strtoi.h: fix bug leading 3 digits before thousands sep bug
580	 string/(fmt|str)[gu]id.c: we know root when we see it
58103-03-24 misc/optget.c: handle : and ? in := default value
58203-03-21 ast_std.h: drop all spawn*() but spawnveg()
583	 obsolete/spawn.c: add for dropped spawn*()
584	 features/lib: _use_spawnveg if spawnveg() is a win over fork()/exec()
585	 features/lib: drop NutForkExecve() and _map_spawnve
586	 features/lib: fix memccpy test to clean up /tmp droppings
587	 comp/spawnveg.c: call posix_spawn() if implemented
588	 comp/omitted.c: add spawnve() intercept
589	 comp/getoptl.c: set getopt_long() optind even if no options
590	 tm/tmfmt.c: add %Q<delim>recent<delim>distant<delim>
591	 misc/optget.c: fix trailing '*' for option and option args
592	 sfio/sfmode.c: getenv("_AST_SFIO_OPTIONS") [,]SF_LINE[,] for fd {0,1,2}
593	 vmalloc/*: kpv sync for uwin build independent of libast
59403-03-18 port/astconf.c: switch to dynamic string values (saves 7K data/bss)
595	 string/strmatch.c: switch to dynamic regex cache (saves 3K data/bss)
596	 regex/regcoll.c,ucs_names.h: initialize rw tables from smaller ro data
597	 features/lib: add vfork test for passing SIG_IGN across exec
598	 features/lib: add spawn test for passing SIG_IGN across spawn
59903-03-17 comp/omitted.c: unlink() renames to .deleted dir in case file open
600	 sfio/sfpopen.c: handle mode "" for spawn with no pipe
601	 features/float,comp/frexp.c,comp/frexpl.c: add pow2() table alternative
60203-03-12 features/lib: fix linux.ia64 memccpy() tests -- now its their turn
603	 features/vmalloc: fix /dev/zero test
604	 features/align: _ast_intmax_t and _ast_fltmax_t join the union
605	 misc/stk.c: fix struct frame size to align data
606	 disc/sfdcdos.c: change sfslen() => sfvalue(f)
60703-03-10 misc/optget.c: handle [f\f:x:lll\f?ddd]
60803-03-07 port/astconf.c: uninitialized CONFORMANCE + POSIXLY_CORRECT => standard
60903-03-05 comp/omitted.c: make sure at least /bin is in PATH to find cygwin dlls
61003-03-02 path/pathshell.c: write access to /bin is effectively root
61103-02-28 features/float: add (FLT|DBL|LDBL)_U?(LONG|LONGLONG|INTMAX)_(MIN|MAX)
61203-02-25 features/lib: change vfork() test to use _exit() instead of exit()
61303-02-23 include/error.h: update ERROR_VERSION for error_info.number space
61403-02-22 comp/conf.sh: wrap ksh check in eval to avoid premature exit
61503-02-21 misc/fts.c: verify chdir(..) to avoid malicious dir rename()
61603-02-19 string/strtoip4.c: isspace() instead of ' '||'\t'
61703-02-17 regex/regcomp.c: fix stats.l REX_REP logic that botched REX_BM
61803-02-13 string/base64.c: handle catenated encodings
61903-02-11 features/libpath.sh: change LIBPATH to <dir>[:<env>[:<pat>]][,...]
62003-02-07 path/pathfind.c: allow "/dev/null" to be PATH_REGULAR
62103-02-06 include/ast.h,fmtquote.c: add FMT_ALWAYS|FMT_ESCAPED|FMT_SHELL|FMT_WIDE
62203-02-05 tm/tmdate.c,tm/tmword.c,string/strelapsed.c: '_' treated like ' '
62303-02-01 string/strelapsed.c: handle ps style [day-][hour:]min:sec
62403-01-31 port/astlicense.c: fix author=* match
62503-01-30 include/tm.h: add tmisleapyear() macro
62603-01-29 comp/getopt.h,comp/getoptl.c: add gnu getopt_long(), getopt_long_only()
627	 include/ast_getopt.h: for non-gnu part of comp/getopt.h
628	 include/ast_std.h: include <ast_getopt.h> instead of <getopt.h>
62903-01-28 ast.h,string/base64.c: add base64encode() and base64decode()
630	 path/pathfind.c: verify S_ISREG()
63103-01-24 path/pathexists.c: fix abs dir bug and deal with case ignorance
63203-01-23 path/pathpath.c: honor PATH_ABSOLUTE for the easy case too
63303-01-22 path/pathprobe.c: fix search to find both the probe script and command
63403-01-17 misc/magic.tab: application/zip => appplication/(gzip|pzip|zip)
63503-01-14 misc/optget.c: change href="" to href="."
63603-01-10 include/ast_std.h: strtold() import hackery for static __CYGWIN__
63703-01-03 include/regex.h,regex/regcomp.h: add REG_SHELL_GROUP
638	 include/ast.h,string/strmatch.c: add STR_GROUP for REG_SHELL_GROUP
63902-12-15 include/error.h: errorcontext => Error_context_s (compatible til 2004)
64002-12-06 misc/sigdata.c: add NoF(sigdadata) -- why nmake was uninterruptable!
64102-12-03 comp/omitted.c,features/omitted: handle cygwin alarm() return botch
64202-11-27 misc/swapop.c: op=3,size=4 => op=7
643	 string/strlcat.c,strlcpy.c: fix uwin decl clash
64402-11-26 sfio/sfvprintf.c: fix sfsprintf() '\0' termination bug
64502-11-22 misc/glob.c: move static struniq() to libast extern
646	 string/fmtversion.c,include/ast.h: add fmtversion
64702-11-18 string/strncopy.c: add
648	 misc/magic.tab: list size for magicid.h magic
64902-11-14 sfio/sfvprintf.c: add %#c for C escapes
650	 include/error.h: add ERROR_NOTIFY context flag for builtin commands
65102-11-11 string/strtoi.h: add S2I_size for strnto*() size_t 2nd arg
652	 sfio/sfstrtof.h: add S2I_size for strnto*() size_t 2nd arg
653	 comp/putenv.c: add setenv() and unsetenv() wrappers for setenviron()
65402-10-31 path/pathfind.c: add dir of including file to the pathinclude() list
655	 misc/optesc.c: add
65602-10-30 string/strtoip4.c: set next char pointer even on error
65702-10-29 comp/resolvepath.c: add (size_t version of realpath())
658	 misc/mime.c: fix mimehead() to ignore null content values
65902-10-28 misc/glob.c: add GLOB_STARSTAR for /**/ and GLOB_NOTDIR optimization
66002-10-27 string/struniq.c: add
66102-10-23 features/common: fix off-by-one loop check
66202-10-18 include/ast_std.h: avoid off_t,ftruncate,lseek,truncate redefinitions
66302-10-17 misc/mime.c: handle type/* match, fix bogus header parse
66402-10-04 sfio/sfstrtof.h: S2F_static <0:export =0:private >0:static
66502-10-02 features/common: don't define _WIN32; define _WINIX => unix on windows
666	 features/tty: finally stomp the bsd _POSIX_VDISABLE redefinition
667	 misc/fastfind.c: add more specific findwrite() error messages
668	 comp/omitted.c: fix cygwin utime() to update st_ctime
669	 comp/strtol.c,strtoul.c: __CYGWIN__ static link workaround XXX
670	 string/fmtls.c,fmttime.c: tmform() => tmfmt()
67102-09-22 port/astconf.c: return values in fmtbuf() buffer instead of stack
672	 port/mnt.c: don't set MNT_REMOTE for win32 ?:\* paths
673	 sfio/sfvscanf.c: _sfdscan() is library global (not static)
67402-09-21 path/pathkey.c: add tool arg for mamake compatible hash
675	 features/fcntl.c: handle iffe _hdr_lcl_* => _lcl_* change
67602-09-15 comp/conf.sh: fix enum vs. macro test
677	 cdt: kpv sync
67802-09-11 ast.h,features/common: move _WIN32 macro init to features/common
679	 features/common: enable __EXTERN__ and __DEFINE__ for _WIN32&!_UWIN
680	 features/float: add -lm to _ast_*_nan_init tests
681	 vmalloc: kpv sync with vmresizef => vmgetmem
682	 features/iconv: must have both <iconv.h> and iconv_open()!
683	 features/vmalloc: alloca test must compile *and* link
684	 sfio/sfvscanf.c,sfstrtof.h: add flag arg to char get, fix NaN loop
68502-09-10 vmalloc/vmhdr.h: enable getpagesize() and sbrk() prototypes
686	 features/fcntl.c: enable mmap64() prototype
687	 include/ast_windows.h: windows.h wrapper with ast namespace workarounds
68802-09-07 misc/mime.c: fix quoted value parse bug that ate the whole line
68902-09-05 features/vmalloc: add free() to _std_malloc test
690	 include/ast.h: NoF(x) now defines _DATA_x for !_BLD_DLL too
691	 tm/tmlocale.c: { C POSIX en } == unix dadgummit
69202-08-29 path/pathfind.c: initialize Dir_t.next=0
69302-08-28 uwin/rint.c: update
694	 features/libpath.sh: "bin" is now the default value
69502-08-22 vmtrace.h: add for debugging
69602-08-20 misc/magic.c: convert to use <cdt.h>
697	 vmalloc/vmresizef.c: add for generic discipline resizef default
698	 string/strelapsed.c: allow long time component names
69902-08-19 misc/optget.c: add `.fp 5 CW' to --nroff output
700	 string/(fmtfs|fmtuid|fmtgid|strgid|struid).c: convert to use <cdt.h>
701	 include/dt.h,cdt/dtnew.c: add for dtopen() in specific vm region
70202-08-13 comp/omitted.c: fix bzero logic for e.g. unixware.i386
703	 include/ast.h: add fmtbase->fmtbasell; swap in 2003-09-01
70402-08-12 regex/regnexec.c: fix REG_MINIMAL REX_DOT mb bug
70502-08-08 features/iconv: <ast_common.h> instead of <sys/types.h> <ast_common.h>
70602-08-07 regex/regcomp.c: recognize anchors in BRE subexpressions
70702-08-06 comp/iconv.c: handle win32 cpNNNN == windows-NNNN aliases
70802-08-05 cdt/*: sync with kpv src
70902-08-02 features/iconv: include sys/types.h for ast_types.h
71002-08-01 misc/magic.c: magic file "." names the default
711	 misc/magic.c: handle addr type (from irix string)
712	 features/lib: move malloc tests to features/vmalloc
713	 features/vmalloc: snarf tests from features/lib
714	 vmalloc/*: sync with kpv src
715	 comp/libc.c: dropped -- __libc_* intercepts moved to vmalloc/malloc.c
71602-07-30 features/lib: handle __libc_malloc() in _std_malloc test
717	 vmalloc/malloc.c: add gnu pvalloc()
718	 features/vmalloc: fix alloca check
71902-07-29 features/limits.c: handle netbsd guards
72002-07-27 sfio/sfpoll.c: handle rw pipes
72102-07-25 features/iconv: include ast_types.h for size_t in ast_iconv.h
72202-07-18 apply LARGEFILE64 header prototype clash patches
723	 misc/optget.c: __EXTERN__ _opt_info_ instead of opt_info
72402-07-17 ast_std.h: memzero() now defaults to memset() instead of bzero()
72502-07-16 ast_std.h: add ast.env_serial
726	 misc/setenviron.c: increment ast.env_serial
727	 include/tm.h: tmset() now calls tminit() directly
728	 tm/tminit.c: check ast.env_serial for env change
729	 tm/tmfix.c: speed up for large values of tm_mday
73002-07-15 comp/fnmatch.c: fix memory leak caused by missing regfree()
731	 comp/strstr.c: fix broken interpretation and implementation
732	 comp/iconv.c: intercept (but no-op) null to and from buffer pointers
73302-06-27 ast_std.h: map _sysconf => _ast_sysconf for sun
73402-06-26 cdt,sfio,vmalloc: kpv sync -- is this ever easy?
73502-06-24 sfio: kpv sync, vfwscanf(),fputw() fix (wcslen(x)*sizeof(wchar_t)!!)
736	 misc/fts.c: fix symlink chdir() optimzation bug
73702-06-11 sfio/sfwrite.c: string to file fix
738	 Makefile: __OBSOLETE__==20020101
73902-06-01 regex/regcomp.c: REG_DELIMITED now consumes the delimiter
74002-05-31 regex/reglib.h,regcomp.c,regnexec.c: null subexpression fixes
74102-05-24 misc/fts.c: disable dir link counts in 3d
742	 misc/magic.c: fix "*(mkfile)" sh pattern to "*@(mkfile)"
74302-05-20 regex.h,regex/regsubcomp.c,regex/regsubexec.c: add
744	 regex/regsub.c: deprecate
74502-05-16 tm/tmfix.c: fix '60+n min/sec ago' bug for n min/sec after the hour
74602-05-14 regex/regsub.c: fix (^|x) null match early termination bug
74702-05-13 dir/dirlib.h: drop errant extern==__EXPORT__
748	 features/uwin: add uwin lib tests
749	 uwin/*.c: check features/uwin for stubs
750	 features/float: add nan representation generation
751	 sfio/sftable.h: used _ast_*_nan_init for huge values
75202-05-09 misc/fts.c: fix virtual top to force ``child'' stat()
753	 features/common: define va_copy() only if not in <stdarg.h>
75402-05-01 string/strtoip4.c: cisco inverted quad mask must have 4 parts
75502-04-30 misc/magic.tab: fix pzip version check
75602-04-19 string/strtoip4.c: handle cisco inverted quad mask n.n.n.n/i.i.i.i
75702-04-18 misc/fts.c: add chdir() verification stat() optimizations
758	 path/pathkey.c: check PROBE_ATTRIBUTES for list of vars
75902-04-12 port/astlicense.c: type=open tweak, fix author list spacing
76002-04-11 regex/regcomp.c: check for pattern number overflow
76102-04-05 tm/tmfmt.c: add %u
76202-04-04 sfkeyprintf.c: fix %c numeric value
763	 path/pathpath.c: check plain path first -- duh
76402-04-03 misc/fts.c: fix (FTS_PHYSICAL|FTS_NOSTAT) stat optimizations
765	 ftwalk.c: only clear FTW_DELAY if FTW_CHILDREN
766	 ftwalk.h: add FTW_NSOK for FTW_DELAY
76702-03-29 ast.h: drop strerror() prototype -- already in <ast_std.h>
768	 features/stdio: check for _SFIO_H redundant _Sfstd* declarations
76902-03-26 misc/glob.c: fix GLOB_LIST gl_flags values
77002-03-24 port/mnt.c: update bsd fstype name and mount option logic
77102-03-23 Makefile: add ast_wchar.h to the .check.hdr list (for mamake)
77202-03-17 features/stdio: hack around g++ 3.* clashes
773	 Makefile: add ast_nl_types.h to the .check.hdr list (for mamake)
774	 string/strtoip4.c: fix validity check bug that only checked last part
77502-03-14 misc/optget.c: fix --keys to not expand inline \f...\f
77602-03-12 port/astlicense.c: add type=free
777	 path/pathaccess.c: sibling ".." search ignores relative dirs
778	 sfio/sfvscanf.c: sfstrtof get() must return 0 on eof
77902-03-11 path/pathexists.c: check path by pairs checking {ENOTDIR,ENOENT}
78002-02-14 features/float: copy local min/max macros to avoid printf roundoff
781	 features/wchar: include <ast_common.h>, not <ast_std.h>
782	 misc/magic.c: match[]=>matches[] to fix K&R match() macro conflict
783	 include/vmalloc.h: include <stdlib.h> for !_PACKAGE_ast
784	 uwin/mini.sym: add sprintf (now required by features/common)
785	 regex/regnexec.c: truncate wide chars for <ctype.h> functions
786	 Makefile: fix MAM ast_common.h sequencing bug by making it first
787	 cdt/dthash.c: fix DT_DELETE memory leak (DT_DETACH typo)
788	 cdt/dthash.c: fix DT_DELETE double free (dt->data->here typo)
789	 regex/regcomp.c: fix recomb() to reject RE with backref
790	 features/iffeio: explicitly generate stdio.lcl
791	 stdio: add {fcloseall,f(get|put)s_unlocked,fmemopen,getdelim,getline}
792	 tmmake,tmtime: allow negative time_t if native localtime/gmtime do
793	 tmdate: allow years before 1969
794	 fmtfmt: add
795	 include/ast.h: add { PATH_TOUCH_CREATE PATH_TOUCH_VERBATIM }
796	 Makefile: add std/*.h for std header iffe overrides
797	 comp/iconv.c: fix non-C win32 sfreserve() loop
79802-02-11 features/common: separate long long / long double tests
799	 features/common: verify printf handles long long / long double
80002-02-02 include/ast_std.h,sfio/sfhdr.h: drop _hdr_locale tests -- always on now
801	 include/ast_std.h: trust _UWIN <unistd.h>
80202-01-31 port/mnt.c: add aix options field
80302-01-30 comp/strstr.c: add for ancient s5
804	 stdio/_flsbuf.c: only on systems that transfer to native (e.g., uwin)
805	 string/strtoi.h: cat min/max error return values
80602-01-28 features/tty: add cf[gs]et[io]speed macros for <termio.h>
807	 comp/rename.c: punt to (ancient) /usr/lib/mv_dir on EISDIR
80802-01-24 sigcrit.c: fix SIGCLD!=SIGCHLD interrupt loop
809	 sfvprintf.c: convert fast io macros to functions for uts.390 cc
810	 string/strtoi.h: drop #pragma prototyped for standalone sfio
811	 sfdcsubstr.c: rename from sfdcsubstream.c for 14 char fs
81202-01-22 execlp,execvp,execvpe,spawnlp,spawnvp,spawnvpe: fix __EXPORT__
813	 spawnlp,spawnve,spawnvp,spawnvpe: handle ms mode arg -- barf
814	 sftable.c: ifdef hacks for _WIN32&_ALPHA_ fp exception
815	 _stdfun.c: add _UWIN&_ALPHA_ iob map
81602-01-18 sfio/sfstrtof.h: drop #pragma prototyped for standalone sfio
81702-01-17 features/hdr: don't include <stddef.h> after it doesn't check out!
81802-01-16 misc/magic.c: add version type for YYYYMMDD or [a.][b.]c.d
819	 misc/magic.c: recode mime %s parse -- sensible and no buffer overflow
82002-01-15 misc/magic.tab,magicid.h: add generic binary magic number and header
82102-01-12 tm/tmlocale.c: override win32 default date for {C,POSIX,en} locales
822	 comp/omitted.c: fix cygwin workaround logic bugs
82302-01-09 stdio/fseeko.c,ftello.c: add from UNIX98
82402-01-08 comp/conf.sh: use $cc instead of cc
82502-01-07 string/strlcat.c,string/strlcpy.c: add bsd api
82601-12-18 comp/conf.tab: fix LFS_CFLAGS default for sun _CS_LFS_CFLAGS botch
827	 features/common: add hdr stdarg test
828	 tm/tmdate.c: handle YYYY/MM/DD
82901-12-10 misc/magic.tab: add generic 0x00010203 binary magic
83001-12-03 path/pathprobe.c: return HOME relative path if readonly/non-suid fs
83101-11-30 misc/optget.c: add simple cache for repeat offenders (like ksh read)
832	 sfio/sfhdr.h: preserve errno across SFMMSEQON-SFMMSEQOFF
83301-11-29 magic.tab: fix GIF version number listing
83401-11-28 string/fmtbase.c: p!=0 => base always included in output
83501-11-26 misc/fts.c: empty path is an error
83601-11-14 misc/optget.c: fix --?+SECTION queries to include paragraphs
83701-11-20 regex/regnexec.c: fix REG_MINIMAL character class match bug
83801-11-19 features/lib: retain _lib_confstr for all solaris releases
83901-11-16 comp/setlocale.c: fix !_lib_setlocale typo
84001-10-31 regex/ucs_names.h: add string catenation to keep line length low
841	 misc/fastfind.c: handle gnu slocate db read
842	 misc/optget.c: add --?+SECTION queries
843	 comp/fnmatch.h: add FNM_NOSYS
84401-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified
84501-10-20 misc/glob.c: fix bug that called \ trim() twice on same path
846	 misc/glob.c: fix \ trim() bug that restored / to wrong position
847	 string/fmtre.c: fix { ^ . $ } translations
848	 misc/optget.c: use original string if translation fails -- duh
849	 sfio/sfhdr.h: assume <errno.h> assigns proper atttibutes to errno
850	 comp/regcmp.c: __ia64 workaround fixed by proper CC.DLL probe
851	 comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe
852	 features/lib: add lib getdate
85301-10-18 features/lib: check for strtod static link collision
854	 features/float: add another signed cast for old bsd cc
855	 features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old bsd
85601-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG }
857	 sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1.
858	 sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args
859	 sfio/sfvscanf.c: handle %C %lc %S %ls for wchar_t args
860	 string/fmtmode.c: fix bug that omitted trailing '\0'
86101-10-12 misc/optget.c: . => \&. for --??nroff
862	 comp/wc.c: fix mbstate_t initialization typo
863	 features/float: fix max integer / float loop termiation
864	 features/float: fix LDBL_UINTMAX_MAX typo that did DBL_UINTMAX_MAX
86501-10-11 include/sfio.h: fix _Sfstd* import/export
866	 features/common: fix _UWIN __DYNAMIC__() definition
86701-10-06 features/fcntl.c: { O_BINARY O_TEXT } default to 0
868	 features/omitted: add for comp/omitted.c
869	 sfio/sfopen.c: O_BINARY default for _WIN32&&!_UWIN
87001-10-05 misc/glob.c: fix `\(x/*' GLOB_NOMATCH bug that returned `(x'
871	 misc/optget.c: fix localization lookup that didn't drop doubled : ? ]
87201-10-04 comp/setlocale.c: handle sizeof(wchar_t)!=4 in debug locale
873	 comp/conf.sh: handle sytems where _SC_* is both an enum and a macro
87401-09-25 astconf: add LIBPREFIX
87501-09-20 features/common: add __DYNAMIC__() for dll externs
87601-09-19 cdt: kpv update
877	 mb*() macros: update for ksh conversion, extend debug locale
87801-09-16 tm/tmlocale.c: add compiled in defaults for C locale
879	 misc/glob.c: add gl_nextdir callback for GLOB_COMPLETE
88001-08-14 clarify _WIN32 vs. _UWIN vs. __CYGWIN__
881	 tminit: fix standard & daylight initialization
88201-09-11 pathnative.c: add for native fs representation
883	 regex.h: fix regerror_t prototype
88401-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements
885	 tm/tmlocale.c: fix old ascii LC_TIME load
886	 locale*: add new LC_* categories
887	 comp/omitted.c: add CYGWIN workarounds
888	 features/lib: add CYGWIN workarounds
88901-08-11 features/common: some compilers have long long but no LL constants!
890	 features/lib: add mmap64 implementation test (for linux.s390)
891	 regex/regcomp.c: fix \ in [...] parse
892	 setlocale: retain user locale spelling in setlocale() return value
893	 features/limits.c: don't include ./limits.h -- duh
894	 fmtesc: don't escape multibyte chars
895	 tm/tmlocale.c: fix native C locale default
89601-08-08 features/float: some compilers (msdev) forget long long vs. double
89701-07-31 misc/optget.c: handle suboptions
89801-07-27 cdt.h: add DTDISC()
89901-07-17 iffeio.h: move to include for stdio bootstrap iffe workarounds
90001-06-25 regex: perl extensions added and tested
90101-06-21 misc/error: add ERROR_OPTIONS=prefix=string for message processing
90201-06-15 string/chresc: only 2 hex digits max for \xxx
903	 regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs
90401-06-11 regex: handle embedded \0 in pattern and subject string
905	 regex: add (?nnn) for backrefs > 9
906	 comp/fnmatch: add FNM_LEADING_DIR for gnu compatibility
907	 features/float: _ast_flt_unsigned_max_t for bsd.i386 omission
90801-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading -
909	 regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline>
910	 regex/regcomp.c: REG_LENIENT \000 => NUL
91101-06-04 features/dirent: replace Makefile hack with iffe semi-hack
912	 regex/regnexec.c: negation must also check REG_SHELL_DOT
91301-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX
91401-05-31 glob: fix gl_fignore to ignore leading . by default
915	 features/lib: add botch_d_ino_dirent64 for linux botch
91601-05-25 port/lc.tab: add a few missing language_territory's
91701-05-23 string/chresc: \C[.collation-element.]
918	 fmtmatch,fmtre: update for <regex.h> syntax extensions
91901-05-21 regex: add perl extensions, unicode names for collation elements
92001-05-11 string/chresc: \e == \E == escape, \cX == control X, \x{..} == \x..
92101-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR
922	 port/touch.c: handle utime(2) EPERM to fix bug that truncated
923	 regex: change REG_MINIMAL to avoid negation -- much faster now
92401-05-08 *.h: add some off_t macro guards for suse linux
92501-05-03 regcomp.c: optimize ((x)!)* to ((x)!)
926	 wchar: add <wchar.h> and stdio wchar routines
92701-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions
92801-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants
92901-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s
930	 tm/tmlocale.c: check for UTF-8 encoded LC_TIME files
931	 misc/magic.tab: add utf-8 and utf-16 U+FEFF magic
93201-04-26 features/common: some cc's have _ast_int8_t but not LL constants
93301-04-24 features/lib: add _std_strtod for mac os X
93401-04-23 ccode: add CC_sub for ms embedded EOF char on ebcdic -- no joke
93501-04-20 iconv: handle ebcdic<=>utf
936	 mc.h,mc.c: add mcindex()
937	 ast_std.h: add AST_MESSAGE_SET
93801-04-18 features/libpath.sh: fix mvs probe
939	 *: sundry mvs fixes
940	 glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns
94101-04-01 strtod,strtold: add
942	 strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE
943	 sfvprintf,sfvscanf: handle locale decimal_point,thousands_sep
944	 sfvprintf,sfvscanf: handle %a,%A
945	 setlocale: add LC_NUMERIC decimal_point,thousands_sep init
946	 ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines
947	 pathexists: path cache to cut down pathpath() access(2) calls
948	 features/stdio: __FILE_TAG == _sfio_s for solaris
94901-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block
95001-03-19 glob: add GLOB_AUGMENTED
951	 regex: REG_SHELL syntax error implies REG_LITERAL match
952	 strto[ln][ll]: add overflow checks
95301-03-17 locale: reimplemented to provide canonical locale namespace
954	 locale: add LC_ALL=local for local system user default
955	 tm.h: TM_*_3 => TM_*_ABBREV
956	 tmfmt: handle standard E and O format modifiers
957	 tmlocale: consult nl_langinfo() if defined
958	 fmtquote("\"",1) => shell quote
95901-03-08 regex: handle multibyte chars and collation classes
960	 strmatch,strgrpmatch: now a wrapper on regex
961	 ast_std.h: add mb*() multibyte and collation support
962	 sfvscanf: handle locale decimal and thousand
963	 proc*,system: handle ignored SIGCHLD
964	 sfkeyprintf: handle %*C
96501-03-06 locale: add locale data cache for efficient multiple locale switching
966	 optget: fix LC_MESSAGES!=C --man bug
96701-03-01 Makefile: HEADEROPT is not optional for win32.*
968	 comp/syslog.h: comply with the de factos
969	 optget(): fix \f...\f stack bug that referenced data after pop
97001-02-27 *locale*: a batch of fixes for native LC_MESSAGE&LC_TIME hooks
97101-02-22 pathprobe: reprobe test now checks probe.ini too
972	 sfio_s.h: advertize public Sfio_t members with _ prefix
973	 sfio.h,features/stdio: add <sfio_s.h> reference
974	 sfhdr.h: map <sfio_s.h> _foo to foo
975	 sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING
97601-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols
977	 stdio/*: update for uwin stdio.dll binary compatibility
978	 sfread: finally fixed premature pipe read EOF bug
979	 fmtscale: format tenths for number > 0 && number < 10
98001-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports
98101-02-08 sfgetm,sfputm,_sfputm: fix max clash with k&r max() macro
982	 setlocale: undef valid for sun4 k&r valid() macro
98301-02-07 catopen.c: don't do native catopen for the debug locale
98401-02-06 sfraise.c: add SF_FINAL check to avoid (posibly) freed disciplines
98501-01-01 features/common: fix uwin __DEFINE__
986	 sftable: initialize decimal and thousand
987	 magic.tab: add corel wordperfect document
988	 syslog: add LOG_LEVEL, add '\n' only if needed
989	 include/tm.h: #undef daylight for _WIN32
990	 sfio.h: add _SF_APPEND and _SF_CLOSE for native namespace incursion
991	 ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1
992	 setlocale: set AST_LC_multibyte
993	 strmatch: check AST_LC_multibyte
994	 features/limits.c: add _BITS_POSIX1_LIM_H guard for linux
995	 features/libpath.sh: fix for aix LIBPATH
996	 procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3))
997	 optget.c: add enumerated option argument values
998	 optget.c: add <!--INTERNAL--> for private --html
999	 optget.c: fix memory leak that hit shell builtins hard
1000	 sfio: drop sfread small chunk logic
100100-12-25 mnt.c: handle " and ' quoting for fstab
1002	 sftmp.c: let pathtemp() open the fd O_EXCL
100300-12-15 conf.sh: add -v for verbose trace
1004	 features/(limits|unistd).c: no FEATURE/types because of _POSIX_SOURCE
1005	 features/time: add default for CLOCKS_PER_SEC
1006	 features/lib: std_malloc now handles NeXT
100700-12-13 strton: recognize qualifier only if preceded by a digit
1008	 features/lib: change return in vfork() test to exit() for linux sparc
1009	 fmtquote: fix $'...' quote logic
101000-12-11 tmdate: fix cron format bug that mishandled months
101100-12-01 optget: handle $Id: ... $ in --?-version
1012	 features/fcntl.c: fix _STDPP_ mmap munmap
101300-11-27 magic: drop dup sfclose() in load()
1014	 optget: handle error_info.id==0
101500-11-22 features/stdio: add _FILEDEFED for sol9.sun4
1016	 strton,stronll: handle [u|U][l|L][ll|LL] qualifiers
101700-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy
1018	 astlicense.c: #include <hashkey.h> MAM workaround
1019	 astlicense.c: check for non-empty CONTRIBUTORS
102000-10-26 features/stdio: add _FILE and __FILE for gnu
1021	 misc/stk.c: fix stack pointer check off-by-one (dgk does it too!)
102200-10-23 syslog.h: sync with bsd values
102300-10-18 _STUB_* now functions instead of common symbols
1024	 all extern data declared with definition to eliminate common symbols
1025	 fastfind: add mac/bsd /var/db/locate.database
102600-10-17 features/lib: add apple osX (darwin.ppc) workarounds
102700-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4()
1028	 fmt*() now use fmtbuf() for tmp fmt buf allocation
102900-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc
103000-09-29 features/lib: pipe_rw==0 for sgi: boot rw == bin incompatibility
103100-09-21 astlicense: handle \' and \" in license values
103200-09-20 sfwrite: fix write() error in sfprintf() loop
103300-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes
1034	 astlicense: add noncommercial
103500-07-31 fflush: don't seek on pipes
1036	 sfresize: add
1037	 setlocale: fix bad newof() call
103800-06-01 strmatch: initialize match.current.beg[0] to avoid dump at line 670
1039	 sfio/stdio: a few more errno tweaks
1040	 astquery: sfstdin/sfstderr by default
104100-05-26 sfmode: errno=EBADF for invalid stream use
104200-05-22 rewind: fix for xopen test
104300-05-18 mcfind: returns absolute path
104400-05-16 optget: --keys must catch \f...\f too
1045	 translate,mc: errno cleanup
104600-05-09 magic: add netbsd binary magic
1047	 fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR
1048	 ftwflags: call fts_flags()
1049	 astconf: astconf(0,0,0) re-syncs with _AST_FEATURES
105000-05-08 optget: --usage & --keys for last -catalog group only
105100-05-02 iconv.c: add; use codes[] in ccmapid() and ccmapname(); "" for native
105200-05-01 pathtmp: copy env values (libshell or putenv may change)
105300-04-01 optget: drop bar from [-foo?bar] for --??keys
1054	 sfvscanf: add %X -- duh
1055	 features/common: fix va_listval() for power pc
1056	 findopen: fix FIND_GENERATE codes file search
1057	 magic: add ERROR_translate() and msgcat.key
1058	 tmlocale: add for LC_TIME locale info
1059	 tmlex: check tm_info.format and tm_data.format
1060	 tmfix: fix for tm_wday special case (via nl_langinfo on LC_TIME fields)
1061	 strftime: fix for nl_langinfo special case
1062	 ast_std.h: provide LC_* defauls if not defined
1063	 sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv
1064	 catopen,nl_types.h: add intercept to mc* routines
1065	 magic.tab: add ast message catalog
1066	 strerror: add _ast_strerror intercept with ERROR_translate("errno")
1067	 fmtquote: escapes >0177 only if (flags&2)
106800-03-17 feof: stdio macro functions only for _UWIN
1069	 optget: proper ERROR_translate() calls
1070	 astgetconf: add for thread safe error message control
1071	 astlicense: fix type=special but with non-null notice
1072	 errorx: add for ERROR_translate() support
1073	 ERROR_translate: add locale id args for alternate dictionary
1074	 option.h: move _OPT_PRIVATE_ to pointer to avoid dll size mismatch
1075	 ftwalk: fix FTW_CHILDREN bug that hit top level non-dirs twice
1076	 translate.c: default error_info.translate
1077	 astconf: fix dup loop thrash that never returns, add _AST_VERSION
107800-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers
1079	 fmtquote: handle $'...' quotes
108000-03-07 optget: fix numeric option support test
1081	 sfkeyprintf: add %q for '...' quoting with ansi escapes
108200-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net)
108300-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts
1084	 optget: "..." attribute quote
1085	 pathfind: eliminate *: prefix in lib, not type
1086	 proc: PROC_FOREGROUND for system(3) semantics (wait status return)
1087	 pathtmp: fix mktemp() logic
1088	 fts: fix FTS_NOSEEDOTDIR bug that botched ./* in top list
1089	 include/ast/prototyped.h includes include/prototyped.h
1090	 pathpath: fix strdup(0) bug
1091	 optget: --html <foo@bar> => ...mailto:foo@bar...
1092	 sscanf: fix sfsscanf => sfvsscanf typo
1093	 magic.tab: strengthen tar recognition
109400-02-08 conf.sh: fix ifdef for systems that think sysconf(FOO) is const
109500-02-04 glob: fix globlist_t.gl_flags
109600-02-02 vm*: add NoF() for data only files
109700-01-27 fts: fix top level .==.. statp bug (thanks to dr. ek)
109800-01-25 conf.tab: fix LFS*_*LAGS typo
109900-01-24 astlicense: handle type=verbose, license.notice, author=*
110000-01-11 pathprobe: generate info for first probe script on PATH - duh
1101	 ast.h: add NoF(x) for files that define no functions
1102	 tmpfile: fix implementation
1103	 global change for string ERROR_translate() dictionary names
1104	 optget: fix new way but no long names off by one
1105	 optget: handle [--dictionary?name]
110699-11-19 comp/conf.sh: `expr length XXX` is not universal
1107	 drop sfstdio; stdio via functions everywhere
1108	 drop Makefile conditionals (and follow our own advice for once)
1109	 sfio: new stream after atexit() bug fix
1110	 tm: Tm_zone_t.daylight=0 for standard time within zone
1111	 stdio: fopen => _ast_fopen: only way short of binary compatibility
1112	 Makefile: atmain.C falls back to atmain.c
1113	 optget: add --keys, s<section> option
1114	 stdio: _UWIN check for foreign stdio
111599-11-11 astlicense: add
111699-10-31 glob: fix regexec pattern; add PATH_ATTRIBUTES case check
1117	 pathpath: path==0 means malloc space
111899-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century
111999-10-18 fastfind: expanded default db lookup
112099-08-11 magic: fix off by one registry malloc
1121	 features/fs: add __RENAME checks for stat familiy (netbsd)
1122	 features/fs: major()/minor() fixes for s5
1123	 features/libpath.sh: netbsd fix -- ld.so not in std places
1124	 misc/fastfind: fix codes path generation bug
1125	 optget: beef up --?* description, fix <TR>...</TR> nesting
1126	 pathprobe: check for override (writable key file) first
1127	 features/time: int tmtimeofday(struct timeval*);
1128	 optget: fix opt_info.num, even if opt_info.arg!=0
1129	 fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP
1130	 fastfind: init dir tab with logical and physical name
1131	 glob: add gnu GLOB_ALTDIRFUNC
113299-07-17 sfio: kpv update and sfhdr.h sync!
113399-06-24 stdio: fix fflush() to ignore sfseek(0) return value
113499-06-23 magic: '\r' is text not control to placate m$
113599-06-08 stdio: fix fseek,ftell semantics
1136	 uwin stdio: fflush() => _doflsh() to avoid __cplusplus clash
1137	 getopt: call liberror() to avoid error() conflict
1138	 tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset
1139	 tmfmt: - no pad _ space pad 0 leading 0 pad
114099-05-28 magic: fix 'x' == '*' for any number, magic.tab tweaks
1141	 features/lib: verify that stat64 really works
114299-05-21 tm*: add TM_WINDOW==69 for consistent century windowing guard year
114399-05-18 tmtime: add century leap year calc anticipating unsigned time_t
114499-05-17 sfkeyprintf: handle %o and %x!!
114599-05-09 pathprobe: $HOME/.probe if not suid and st_uid!=geteuid()
114699-04-28 magic,magic.tab: add registry()
114799-04-24 regcomp: fix ksh pattern +! parse
1148	 regfatalpat: add
1149	 optget: make : ? ] double escape consistent in all contexts
115099-04-01 features: drop iffeio.h and stdio.h when only printf() used
1151	 regex: fix stats() .l and .k count
1152	 fmtquote: added; most general fmtesc() form
115399-03-22 fmtesc.c,ast.h: add fmtnesq()
1154	 optget: --?x works for -x option flag
115599-03-17 features/limits.c: workaround solaris __EXTENSIONS__ _timespec bug
1156	 workaround limits.h circular prereq with ignore stdio.h
1157	 sfvprintf: %04e left-pad zero fixed
115899-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./
1159	 regex: REG_MULTIPLE, BM for fixed string alternation
1160	 optget: embedded `-' optional in long options, prefix={0,1,2}
116199-02-14 fastfind: fix dir format bug that emitted wrong paths
1162	 astconf: fix redef off by one bug
116399-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL)
116499-01-23 optget: move <old_opt.h> back into <option.h>, no open-close
1165	 optget: add "[index:long-name:description]" for --long-name
1166	 comp/gross: add weak __libc_attr for irix < 6.5 compatibility
1167	 features/limits.c: tweak the guards again
116899-01-11 fastfind: handle old format count byte order
1169	 magic.tab: fix elf to use real phdr offset
1170	 magic.c,magic.tab: fix | to act like switch/case
1171	 comp/fross.c,features/hack: for gross hacks
1172	 features/stdio: avoid sfio namespace pollution
117398-12-25 tmdate: yyyy.mm.dd
1174	 pathprobe: fix procrun() cmd path bug
1175	 fmtesq: add
1176	 features/common: win32.alpha va_list
1177	 magic: add pc alpha object
117898-11-11 strmatch: add STR_ICASE
1179	 pathprobe: punt to $HOME/.probe/<key+HOSTTYPE> if not S_ISUID
1180	 tmzone,tmdate: handle +-minutes, nn/MMM/yyyy
1181	 stropt: fix nested quote pop
1182	 tmfmt: add %K => %Y-%m-%d/%H:%M:%S
1183	 sfio/stdio: fix fseek() SF_PUBLIC omissions
1184	 fmtesc: catch '\\' (duh)
1185	 vmalloc: vmbest round bug fix
118698-11-01 fts.c: no pathcanon() if (fts_flags & FTS_PHYSICAL)
118798-10-01 features/stdio prototype fixes
1188	 optget: strton() instead of strtol() for #
118998-09-22 regcomp: add REG_DELIMITED and REG_ESCAPE delimited re support
119098-09-15 fix _LARGEFILE64_SOURCE stuff
1191	 ast_std.h: provide mmap() prototype
119298-08-11 fix sfpopen() to ignore SIGPIPE by ignoresig() for sfio but not stdio
1193	 fix procopen() to ignore SIGPIPE by ignoresig() for PROC_IGNORE
1194	 sfio sfpopen/popen update
1195	 magic.src: fix ustar entry
119698-07-17 fix ftwalk() short by one malloc()
1197	 add fts_notify()
119898-06-25 sfdcmore,sfdcprefix: add
119998-06-19 tokscan: add %f %g
120098-06-01 disc/sf*.c: memset(0) after disc malloc()
120198-05-11 strelapsed: y==Y
1202	 fts: pathcanon() top list
120398-04-01 error: error_info.time for all msgs, just after cmd id
1204	 error: no sfsync(sfstdin)
1205	 sfio: sfpool, Sffmt_t update
1206	 magic.tab: sgi core dumps -- why aren't these elf?
1207	 stropt: (v+n) for unknown option is option value if n!=0
1208	 procopen: fix setsid() for spawnveg() only
120998-03-19 malloc: add realloc foreign region check
1210	 sfdisc.h: rename to match kpv disciplines
1211	 fastfind: fix strcasecmp/strcmp directory prefix mixup
121298-03-17 features/fcntl.c,pathtmp,sftmp: add O_TEMPORARY
121398-03-01 pathcanon: fix PATH_LEADING_SLASHES to stat() both slashes
1214	 pathcanon: add PATH_VERIFIED
1215	 tmdate: add skip[] to expand separator char set
1216	 fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db
1217	 fastfind: default generates gnu LOCATE02 8 bit db
1218	 magic: handle %s in mime description
1219	 cdt: kpv update
1220	 sfio: kpv update
1221	 stdio: fpos64_t fseek64(), ftell64(), fgetpos64(), fsetpos64()
1222	 stdio: fseek() => sfseek(SF_PUBLIC) to avoid locking
1223	 fts: initialize parent stat[bp] from top level *after* statf done
1224	 astmath: add -lm requirement test
1225	 *: Astlong_t => _ast_*_t
1226	 regex: simplify regcollate() (from doug)
1227	 tmtime: preserve Tm_t*tm when calling tminit()
1228	 astconf: add readonly PATH_ATTRIBUTES=[cirw]
122998-02-14 fastfind: add FIND_ICASE to ignore case
1230	 tmdate,tmgoff: handle (+|-)hh[[:]mm[[:]ss]] absolute timezone
1231	 tmdate: `<n> <part>' now assumes `next <n> <part>' instead of `this'
1232	 tmfix: fix leap year bug that forgot to add 1900
1233	 proc: add PROC_ZOMBIE
123498-02-06 strmatch() char class range bug fix
1235	 regex char class range bug fix
123698-01-23 _WIN32: changed the #if logic again to accomodate _GNUC_
1237	 mnt: grab the mount options too
1238	 ast_std.h: hide getopt,getsubopt from stdlib.h
1239	 features/limits.c: add gnu guard macros to avoid limits.h recursion
1240	 features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl"
124198-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h
1242	 sfhdr.h: #undef SETLOCAL for hpux
1243	 sfvprintf,sfvscanf: %I*x for sizeof(int_arg)
1244	 handle ftruncate64 and truncate64
1245	 dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here
124697-12-18 fmtnum: add
124797-12-11 magic: handle sgi 64 bit core dumps
124897-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling
124997-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t)
1250	 features/stdio: fix fflush() macro to do physical sync
125197-10-31 astconf PATH_RESOLVE is logical if 3d&&!std, metaphysical otherwise
1252	 magic: fix #! mime bug
1253	 tm: tmtime() now calls tmfix() and adjusts tm_isdst too=>mtime() works
125497-10-11 dllfind,dlfcn: move to separate -ldll so -last can link static, duh
1255	 Makefile,state.c: move forced header generation state.c => Makefile
1256	 sfio: update including SF_WHOLE
125797-10-01 sfdostext: add \r\n => \n sfio discipline
1258	 stropt: NiL table => p=name for all name=value
125997-08-11 pathtmp: check pid to note forks
1260	 procopen: FD_CLOEXEC rfd && wfd
1261	 fts: fts_close() after fts_children() with no fts_read() now works
126297-07-17 error: sfsync(sfstdin,sfstdout,sfstderr) instead of sfsync(NiL)
1263	 _sfcvinit: add sfio internal interface to base conversion tables
1264	 strton: use _Sfcv* base conversion tables instead of sfsscanf()
1265	 sfvscanf: use _Sfcv* base conversion tables
1266	 mime: x- permutations now matched if exact fails
1267	 mime: original- stripped from content-* headers
1268	 tmdate: add yyyy-jjj, yyyy-mm-dd
1269	 dllfind: add
1270	 ccmapid: fix buf copy loop limit
1271	 ccmapname,ccmapcpy: add
1272	 sfstrtmp: add
127397-05-09 streval: fix up casts for pseudo-ansi cc
1274	 features/types: use _ast_int_8 vars to verify support
1275	 string/modedata: check for mvs.390 S_IFMT
1276	 include/ast(_std).h: add #define __FILE_typedef
1277	 magic: add ccode text check
1278	 include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh)
1279	 fts: clear status for FTS_AGAIN (fixes rm -r bug)
1280	 mnt: add mvs openedition w_getmntent()
1281	 sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE
1282	 vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk()
1283	 remove: check _std_remove
1284	 procopen: handle pio[{0,1}]=={0,1}
1285	 setenviron,features/uinstd: test for mvs.390 dll environ hacks
128696-12-25 <sfio_p.h> -> <ast_common.h>
1287	 __EXTERN__(type,object)
1288	 __DEFINE__(type,object,value)
1289	 magic: check strings in !CC_NATIVE code set too
1290	 system: cmd==0 means check for shell access (xopen)
1291	 sfhdr.h: fix sfrsrv prototype
1292	 add __libc_malloc etc for gnu/linux
1293	 astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror
1294	 fts_open: if toplist() stat fails return 0
1295	 ftwalk: handle fts_open()==0 via one phony userf() call
1296	 sfmode: S_ISFIFO default is SF_SHARE=0
1297	 features/lib: _WIN32 _lib_vfork=1 by default
1298	 unsigned<0 comparison and other fixes via sgi.mips4 cc
1299	 stk.c: use <align.h> ALIGN_BOUND for stkalloc()
1300	 features/lib,vfork: uwin fix
1301	 ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8
1302	 getsubopt: add for xopen 4.2 compatibility
1303	 drop function __IMPORT__
1304	 magic: more magic
1305	 change #define FILE from Sfio_t to struct _sfio_s
1306	 state.c: add generated includes that may be hit by std for MAM
1307	 bytesex: forgot about sizeof(long)=>7; could we fix the name too?
1308	 vmalloc.h: fix vmnewof() definition
1309	 sfio.h,stdio.h,ast_common.h: pollution cleanup
1310	 magic.c: add | op for switch
1311	 Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that
1312	 drop pp:notice to get <sfio.h> ... <ast.h> to work
1313	 regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat
1314	 mime.c: ignore X-* headers while scanning for Content-*
1315	 magic.c: check for negative indirect offsets
1316	 magic.tab: fix dos entry that generated negative indirect offsets
1317	 vmalloc.h: add vmstrdup() prototype
1318	 hash.h: add hashgetbucket() macro
1319	 magic.c: MAGIFILE is now a : file list
1320	 mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h>
1321	 common: fix _WIN32 chicken&egg with va_copy
1322	 sfio: forgot to set f->val along with _Sfi in sfexcept()
1323	 Makefile: add mini target for uwin libmini.a
1324	 sfcvt.c: workaround for flaky long double optimizers
1325	 features/common: fix to work with va_list==void*
1326	 regexec.c: fix REG_STARTEND subexpression offsets
1327	 strmatch.c: don't forget <wctype.h>
1328	 regrexec.c: fix REG_INVERT end boundary bug that missed last record
1329	 astconf.c: notify(0,0,"a=b") called for each setenviron("a=b")
1330	 pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //*
133196-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes xopen
1332	 regerror: fix for xopen
1333	 getopt: fix for xopen
1334	 magic: add ciao virtual database
1335	 astconf: posix/strict/xopen implies "standard" conformance
1336	 fs3d.h: hide mount prototype
1337	 ast_std.h,mnt.c,features/fs: ncr port tweaks
133896-10-31 version 5.0
1339	 add strtoll() strtoull()
1340	 sfkeyprintf: upgrade to int_max args
1341	 ast.h: add ssizeof() to work around unsigned botch
1342	 conf.sh: add shell actions to conf.tab
1343	 _DLL*: drop for _BLD_<lib> + __EXPORT__ + __IMPORT__
1344	 sfio,cdt,vmalloc: kpv update
134596-10-11 <ccode.h>: add character code map support
1346	 procclose: return shell style exit status
1347	 features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for mvs
1348	 uwin: add subdir for uwin additions
1349	 ast_std.h: swab() is from <stdlib.h>
1350	 sfio.h: <ast_std.h> if _PACKAGE_ast
1351	 magic.tab: add mips[1-4], 64-bit
1352	 port tweaks for sol.sun4 and sun4
135396-09-06 strerror: add
1354	 fmterror: uses strerror
1355	 str*search: use sfiso646() order
1356	 strpsearch: add
1357	 magic: add Magic_t.mime mime type return for magictype()
1358	 mime.h: add
1359	 strton: use sfsscanf()
1360	 strperm: factor in umask() if no who
1361	 pathtmp: add TMPPATH check
1362	 libevent: add
1363	 magic: add discipline to magicopen()
1364	 mime: add discipline to mimeopen()
136596-08-31 regex: fix BM fail table generator
136696-08-11 mntread: fix mnt.type for SCO variant
1367	 conf.tab: add SCO KERNEL_* sysconf() vars
1368	 fastfind: add findwrite(), fix findread() FF_OFF omission
1369	 ftwalk: reimplement on top of fts
1370	 fnmatch,re_comp,regexp: reimplement on top of regex
1371	 basename,dirname,fmtmsg,fts,ftw,getdate,getsubopt,glob: add
1372	 hsearch,nftw,realpath,strftime,strptime,swab,tempnam: add
1373	 tsearch,wordexp: add
1374	 getcwd: cache last path for easy test
137596-07-17 error: sfsync(NiL) ... write ... sfsync(sfstderr)
1376	 astconf: handle readonly *(DEV|DIR) vars
137796-04-01 swapop: fix stupid return value bug
1378	 features/int.c: fix int_swap generation bug
1379	 regnexec,regrexec: fix unsigned underflow init error
1380	 ls.h: fix iblocks() to be in units of LS_BLOCKSIZE
138196-02-29 magic: space before function is definition with no call
1382	 hash: drop hash_info from public interface
1383	 hash: OBSOLETE hashlast()
1384	 hash: add Hash_root_t.Hash_last_t to public interface
1385	 add strsearch() and strnsearch() to complement strlook()
1386	 add hashkey.h for keyword->long hash
1387	 pathpath: pathpath(0,0,"",0) disables $0 $_ $PWD relative search
1388	 sfio: sfstrtod+sfhdr update
1389	 regex: fix REG_LENIENT to map BRE \[+?|] to ERE [+?|]
1390	 change _std_malloc iffe test so it doesn't hang on alpha
1391	 sfhdr.h: features/sfio generates _lib_cvt instead of _i386_cvt
1392	 ast_hdr.h: add va_copy(a,b) to copy va_list b to a
1393	 getopt: fix stupid getopt() -> optget() bug
1394	 sfvprintf: %h? now downcasts
1395	 regex: handle strto?l() errno in regcomp()
1396	 sfstrtod: _Sfstrtod_already_defined -> _STUB_sfstrtod
1397	 ast_std.h: hide valloc() and ignore <strings.h>
1398	 sfkeyprintf: pass phony va_list for '2'
1399	 regex: change HIT var type from int to size_t in special()
1400	 ast.h: add EXIT_STATUS(x) to convert wait() status to sh exit status
140196-02-14 regex: add _ to \<...\> isalnum test
1402	 regex: fix BM inner loop breakout
1403	 features/types: size_t is signed on some systems! => _ast_size_t
1404	 sfio: sfrd discipline peek optimization
1405	 vmalloc: vmalloc.h malloc family macro upgrade
1406	 tokopen: fix newline bug for non-restore open
1407	 sfio: no inline for gcc until it emits for -g too
140896-02-12 sfio: internal upgrade
140996-02-09 regex: Boyer-Moore boundary fix
1410	 vmalloc: snarf latest
141196-02-06 regex: add regrecord() and regrexec() for Boyer-Moore record filtering
1412	 regex: rearrange regnexec() args to match buffer,count arg style
141396-01-31 stk: add STK_NULL to stk.h and stk.c
1414	 regex: privatize regex.h and fix min re length computation
1415	 workaround lazy strdup() implementations in features/lib _std_malloc
1416	 fix stkclose() to free(stream) -- purify missed because of sfio links
1417	 unused var cleanup
1418	 port/mnt.c must include <ls.h> to get <ast_fs.h>
1419	 add SF_FINAL to sfio and stk
1420	 sfio reads now on natural block boundaries
1421	 add #!!! <level> <message> !!! to tokline()
1422	 add REX_BM pre-filter to regcomp/regnexec
142396-01-22 add regcomp env.paren overflow checks
142496-01-11 add Doug McIlroy's regex (converted to C from C++ by gsf)
1425	 AT&T Research now
1426	 sfgetr optimization
1427	 regex buglets
142896-01-05 tweak magic.tab for win32
142995-12-25 add !(...) -> (...)! to fmtre()
1430	 nt tweaks -- functions with no header proto must be defined extern
143195-11-24 version 4.1
1432	 add mnt.h mntopen mntread mntclose
1433	 convert fmtfs to mnt.h
1434	 add RE_LEFTANCHOR and RE_RIGHTANCHOR
1435	 gcc inlines must also have global library function instantiation!
1436	 add hashview()
1437	 fix strtape() internal buffer flow
1438	 fix mntread() fs/dir transposition for uts mnttab
143995-10-31 change features/unistd.c includes to break limits-param cycle
1440	 add cdt from kpv
1441	 sfio snarf from kpv
1442	 add [ht]search for _WIN32
144395-10-11 clarify PARANOID pathcheck() warning
1444	 fix procopen() LIB_SPAWN environ bug with setenviron() cache
1445	 fix setenviron() bug that forgot to reset environ if == 0
1446	 add %Z '\0' output format to sfkeyprintf()
1447	 sfio snarf for sfvprintf fix
1448	 allow multiple hashscan() with scope caveat
1449	 add comp/fakelink.h to synthesize a few symlink text patterns
1450	 add !<xxx> magic to misc/magic.tab
1451	 add FTW_TOP to inhibit recursion (for ftw side effects on top level)
1452	 add memfatal() common malloc fatal exception message
1453	 add dos \r\n test to misc/magic.c/cklang()
1454	 sftmp() O_EXCL+random to avoid collisions
1455	 pathtemp() uses sftmp() randomizing
1456	 features/fs uses SF_APPENDWR
1457	 sftmp() uses pathtemp() -- don't worry, its not circular
1458	 a few more _WIN32 compatibility additions
1459	 realloc fixed to use VM_RSCOPY|VM_RSMOVE instead of obsolete 1
1460	 add hashlook(tab, oldname, HASH_RENAME, newname)
1461	 a few more tweaks to satisfy port warnings
1462	 add _SFIO_INLINE_PRIVATE to provide real function too
1463	 fix <dirent.h> installation test
1464	 oops object / shared library compat with _sfgetl2 _sfgetu2
146595-09-11 add getopt() compatibility
1466	 add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h
1467	 add getconf CONFORMANCE - posix for things that aren't ast default
1468	 sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif
1469	 snarf vmalloc from kpv
147095-08-11 fix malloc bug in magic
1471	 update linux and bsd 386 magic entries
1472	 error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done
1473	 drop fnmatch from strmatch for sparc (solaris) until it collates
147495-07-17 fix port/astconf universe initialization
1475	 fix misc/optget opt_info.nopt initialization
1476	 drop tmset() TZ=... because it only worked when TZ=... was ignored
147795-05-09 mongo <ast.h> namespace cleanup
1478	 drop > 2 year old obsolete interfaces
1479	 sfvprintf.c fix for (char:8 short:16 int:32 long:64) architectures
1480	 TMP_MAX back into conf.tab
1481	 pathbin() and pathshell() now use astconf()
1482	 fix pathtemp() to not cache getenv("TMPDIR")
1483	 fix ftwalk() metaphysical to handle non-dirs too
1484	 initialize *_info = { 0 }; for ancient ld semantics (NeXT)
1485	 fix magic() to do vmfree()
1486	 astconf(X_OK) must prefix lines with "getconf"
1487	 use <wchar.h> and wctype in strmatch() if available
1488	 _lib_utime_now checks utime(path,0)
1489	 _lib_poll_notimer checks poll(x,0,timeout)
1490	 add another _lib_utime_now check to port/touch.c
1491	 fix dd_buf cast in dir/opendir.c
1492	 split getconf.h into conftab.h and conftab.c for :READONLY:
1493	 use mbtowc() only if MB_LEN_MAX>1
1494	 sfio char* -> Void_t* cleanup
1495	 handle old syntax in misc/magic.c
1496	 sigdata.c holds readonly signal strings
1497	 pathcheck() does AT&T checks for tools matching PARANOID - yuk
1498	 unused var cleanup
1499	 deprecate hash_info in favor of hashlast()
1500	 fix bad conf.sh ksh integer interactions
1501	 dll cleanup
1502	 magic.c falls back to malloc for now
1503	 add environ to <ast.h> -- C library global data syms are *RESERVED*
1504	 sfhdr.h memccpy(1,2,3,size_t) prototype
150595-04-01 version 4.0
1506	 convert to vmalloc
1507	 allow sigcritical() nesting mismatch to work around vfork() bug
1508	 add strexpr() primitive for streval() with user handle (like ftwalk)
1509	 add <magic.h> and magic.c file command magic interface
1510	 update magic mail message entry
1511	 fix keyprintf() invisible char count nesting bug
1512	 add sfstrnew(SF_READ|SF_WRITE) for alternate sfstropen() modes
1513	 sfstrnew(SF_READ) but reading requires sfseek(), sfreserve()
1514	 add conf.tab and conf.sh to nail C/POSIX limits/unistd macros
1515	 add getconf() string interface to *conf*
1516	 _DLL_INTERMEDIATE_DATA for systems that require indirect globals
1517	 _DLL for building shared libraries with _DLL_INTERMEDIATE_DATA
1518	 vecfile() restricted to S_ISREG()
1519	 add spawnveg() for job control
1520	 convert procopen() PROC_PGRP(id) to spawnveg()
1521	 fmterror() returns error text given errno (strerror() does same)
1522	 fmtsignal() returns signal text given errno (strsignal() does same)
1523	 {sig_name,sig_text,SIG_MAX} -> sig_info.{name,text,sigmax}
1524	 liberror("",...) omits [%s library] prefix
1525	 update features/signal.c table
1526	 add vmdisc() and change vmnewof() to use vmresize()
1527	 fix conf.sh to allow refs to previously defined limits
1528	 fix undefined entries in getconf()
1529	 magic data in magic.tab
1530	 fix stropt() pointer cast
1531	 vmalloc() exception handler replaces nomalloc()
1532	 merge sigdata.c into fmtsignal.c -- sun link needs function w/ data!
1533	 sftmp() bug fix
1534	 drop local <unistd.h> even with _POSIX_SOURCE
1535	 fix vmstrdup() macro arg miscount
1536	 fix conf.sh to handle enum'd symbolic constants in unistd.h
1537	 drop malloc() et.al. prototypes from vmalloc.h
1538	 fix sfvprintf() %d argument reference
1539	 add OSF/1 AES symbol(s) to conf.tab
1540	 determine standards prefix from conf.tab
1541	 add _CS_SHELL to conf.tab
1542	 getpath() default is confstr(_CS_PATH)
1543	 getshell() default is confstr(_CS_SHELL)
1544	 unify keyprintf user function args (should have learned by now!)
1545	 add quad type to magic
1546	 add astfeature() to unify universe style dynamic features
1547	 add ftwflags() to determine FTW_* flags from astfeature()
154895-03-11 fix stropt() to not modify its *const* arg
1549	 handle "'\ quotes and chresc() in stropt() values
1550	 , treated like :space: between stropt() options
1551	 fix procopen() fd dup to ignore self-dups
1552	 add library id[] to misc/state.c
1553	 add ftwalk(FTW_METAPHYSICAL) for posix -H
1554	 sfvprintf() now handles balanced () in %()
1555	 add tmfmt() with buffer size check to replace tmform()
1556	 add fmttime() calling tmfmt() to fit fmt*() mold
1557	 add <keyprintf.h> and keyprintf() to support %(...)? in commands
1558	 add Hash_table_t for size==0 in stropt()
1559	 add EXTTYPE extended header to tar.h
156095-02-14 sfmove() buffer size overflow fix
1561	 add _SFSTDIO_H to sfio.h
1562	 rename setenv() to setenviron() -- posix finally decided
1563	 rename <option.h> opt_* to opt_info.*
1564	 update features/unistd.c for _SC_* and _PC_* posix additions
156595-01-19 (char*)uchar cast in fmtesc()
1566	 fix hash bucket memory leak in hashlook() [via John Mocenigo]
1567	 update strings/strtape()
1568	 fix optget()/optjoin() to handle leading +
1569	 add ALIGN_ prefix to <align.h> identifiers
157095-01-11 change tm/*.c tmset(0) to tmset(tm_info.zone) to keep user setting
1571	 fix tmform() %Z null pointer dereference
157295-01-01 add this RELEASE file
1573	 fix strperm() to properly handle "644 file"
1574	 fix tokline() to return last '\0' terminated line in string
1575	 fix tokscan() to properly handle \\n splice
1576	 add fmtesc() to complement stresc()
1577	 add LS_NUMBER to fmtls()
1578	 drop spurious optusage() ' '
1579