01-10-31 regex/ucs_names.h: add string catenation to keep line length low
	 misc/fastfind.c: handle gnu slocate db read
	 misc/optget.c: add --?+SECTION queries
	 comp/fnmatch.h: add FNM_NOSYS
01-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified
01-10-20 misc/glob.c: fix bug that called \ trim() twice on same path
	 misc/glob.c: fix \ trim() bug that restored / to wrong position
	 string/fmtre.c: fix { ^ . $ } translations
	 misc/optget.c: use original string if translation fails -- duh
	 sfio/sfhdr.h: assume <errno.h> assigns proper atttibutes to errno
	 comp/regcmp.c: __ia64 workaround fixed by proper CC.DLL probe
	 comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe
	 features/lib: add lib getdate
01-10-18 features/lib: check for strtod static link collision
	 features/float: add another signed cast for old bsd cc
	 features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old bsd
01-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG }
	 sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1.
	 sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args
	 sfio/sfvscanf.c: handle %C %lc %S %ls for wchar_t args
	 string/fmtmode.c: fix bug that omitted trailing '\0'
01-10-12 misc/optget.c: . => \&. for --??nroff
	 comp/wc.c: fix mbstate_t initialization typo
	 features/float: fix max integer / float loop termiation
	 features/float: fix LDBL_UINTMAX_MAX typo that did DBL_UINTMAX_MAX
01-10-11 include/sfio.h: fix _Sfstd* import/export
	 features/common: fix _UWIN __DYNAMIC__() definition
01-10-06 features/fcntl.c: { O_BINARY O_TEXT } default to 0
	 features/omitted: add for comp/omitted.c
	 sfio/sfopen.c: O_BINARY default for _WIN32&&!_UWIN
01-10-05 misc/glob.c: fix `\(x/*' GLOB_NOMATCH bug that returned `(x'
	 misc/optget.c: fix localization lookup that didn't drop doubled : ? ]
01-10-04 comp/setlocale.c: handle sizeof(wchar_t)!=4 in debug locale
	 comp/conf.sh: handle sytems where _SC_* is both an enum and a macro
01-09-25 astconf: add LIBPREFIX
01-09-20 features/common: add __DYNAMIC__() for dll externs
01-09-19 cdt: kpv update
	 mb*() macros: update for ksh conversion, extend debug locale
01-09-16 tm/tmlocale.c: add compiled in defaults for C locale
	 misc/glob.c: add gl_nextdir callback for GLOB_COMPLETE
01-08-14 clarify _WIN32 vs. _UWIN vs. __CYGWIN__
	 tminit: fix standard & daylight initialization
01-09-11 pathnative.c: add for native fs representation
	 regex.h: fix regerror_t prototype
01-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements
	 tm/tmlocale.c: fix old ascii LC_TIME load
	 locale*: add new LC_* categories
	 comp/omitted.c: add CYGWIN workarounds
	 features/lib: add CYGWIN workarounds
01-08-11 features/common: some compilers have long long but no LL constants!
	 features/lib: add mmap64 implementation test (for linux.s390)
	 regex/regcomp.c: fix \ in [...] parse
	 setlocale: retain user locale spelling in setlocale() return value
	 features/limits.c: don't include ./limits.h -- duh
	 fmtesc: don't escape multibyte chars
	 tm/tmlocale.c: fix native C locale default
01-08-08 features/float: some compilers (msdev) forget long long vs. double
01-07-31 misc/optget.c: handle suboptions
01-07-27 cdt.h: add DTDISC()
01-07-17 iffeio.h: move to include for stdio bootstrap iffe workarounds
01-06-25 regex: perl extensions added and tested
01-06-21 misc/error: add ERROR_OPTIONS=prefix=string for message processing
01-06-15 string/chresc: only 2 hex digits max for \xxx
	 regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs
01-06-11 regex: handle embedded \0 in pattern and subject string
	 regex: add (?nnn) for backrefs > 9
	 comp/fnmatch: add FNM_LEADING_DIR for gnu compatibility
	 features/float: _ast_flt_unsigned_max_t for bsd.i386 omission
01-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading -
	 regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline>
	 regex/regcomp.c: REG_LENIENT \000 => NUL
01-06-04 features/dirent: replace Makefile hack with iffe semi-hack
	 regex/regnexec.c: negation must also check REG_SHELL_DOT
01-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX
01-05-31 glob: fix gl_fignore to ignore leading . by default
	 features/lib: add botch_d_ino_dirent64 for linux botch
01-05-25 port/lc.tab: add a few missing language_territory's
01-05-23 string/chresc: \C[.collation-element.]
	 fmtmatch,fmtre: update for <regex.h> syntax extensions
01-05-21 regex: add perl extensions, unicode names for collation elements
01-05-11 string/chresc: \e == \E == escape, \cX == control X, \x{..} == \x..
01-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR
	 port/touch.c: handle utime(2) EPERM to fix bug that truncated
	 regex: change REG_MINIMAL to avoid negation -- much faster now
01-05-08 *.h: add some off_t macro guards for suse linux
01-05-03 regcomp.c: optimize ((x)!)* to ((x)!)
	 wchar: add <wchar.h> and stdio wchar routines
01-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions
01-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants
01-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s
	 tm/tmlocale.c: check for UTF-8 encoded LC_TIME files
	 misc/magic.tab: add utf-8 and utf-16 U+FEFF magic
01-04-26 features/common: some cc's have _ast_int8_t but not LL constants
01-04-24 features/lib: add _std_strtod for mac os X
01-04-23 ccode: add CC_sub for ms embedded EOF char on ebcdic -- no joke
01-04-20 iconv: handle ebcdic<=>utf
	 mc.h,mc.c: add mcindex()
	 ast_std.h: add AST_MESSAGE_SET
01-04-18 features/libpath.sh: fix mvs probe
	 *: sundry mvs fixes
	 glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns
01-04-01 strtod,strtold: add
	 strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE
	 sfvprintf,sfvscanf: handle locale decimal_point,thousands_sep
	 sfvprintf,sfvscanf: handle %a,%A
	 setlocale: add LC_NUMERIC decimal_point,thousands_sep init
	 ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines
	 pathexists: path cache to cut down pathpath() access(2) calls
	 features/stdio: __FILE_TAG == _sfio_s for solaris
01-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block
01-03-19 glob: add GLOB_AUGMENTED
	 regex: REG_SHELL syntax error implies REG_LITERAL match
	 strto[ln][ll]: add overflow checks
01-03-17 locale: reimplemented to provide canonical locale namespace
	 locale: add LC_ALL=local for local system user default
	 tm.h: TM_*_3 => TM_*_ABBREV
	 tmfmt: handle standard E and O format modifiers
	 tmlocale: consult nl_langinfo() if defined
	 fmtquote("\"",1) => shell quote
01-03-08 regex: handle multibyte chars and collation classes
	 strmatch,strgrpmatch: now a wrapper on regex
	 ast_std.h: add mb*() multibyte and collation support
	 sfvscanf: handle locale decimal and thousand
	 proc*,system: handle ignored SIGCHLD
	 sfkeyprintf: handle %*C
01-03-06 locale: add locale data cache for efficient multiple locale switching
	 optget: fix LC_MESSAGES!=C --man bug
01-03-01 Makefile: HEADEROPT is not optional for win32.*
	 comp/syslog.h: comply with the de factos
	 optget(): fix \f...\f stack bug that referenced data after pop
01-02-27 *locale*: a batch of fixes for native LC_MESSAGE&LC_TIME hooks
01-02-22 pathprobe: reprobe test now checks probe.ini too
	 sfio_s.h: advertize public Sfio_t members with _ prefix
	 sfio.h,features/stdio: add <sfio_s.h> reference
	 sfhdr.h: map <sfio_s.h> _foo to foo
	 sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING
01-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols
	 stdio/*: update for uwin stdio.dll binary compatibility
	 sfread: finally fixed premature pipe read EOF bug
	 fmtscale: format tenths for number > 0 && number < 10
01-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports
01-02-08 sfgetm,sfputm,_sfputm: fix max clash with k&r max() macro
	 setlocale: undef valid for sun4 k&r valid() macro
01-02-07 catopen.c: don't do native catopen for the debug locale
01-02-06 sfraise.c: add SF_FINAL check to avoid (posibly) freed disciplines
01-01-01 features/common: fix uwin __DEFINE__
	 sftable: initialize decimal and thousand
	 magic.tab: add corel wordperfect document
	 syslog: add LOG_LEVEL, add '\n' only if needed
	 include/tm.h: #undef daylight for _WIN32
	 sfio.h: add _SF_APPEND and _SF_CLOSE for native namespace incursion
	 ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1
	 setlocale: set AST_LC_multibyte
	 strmatch: check AST_LC_multibyte
	 features/limits.c: add _BITS_POSIX1_LIM_H guard for linux
	 features/libpath.sh: fix for aix LIBPATH
	 procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3))
	 optget.c: add enumerated option argument values
	 optget.c: add <!--INTERNAL--> for private --html
	 optget.c: fix memory leak that hit shell builtins hard
	 sfio: drop sfread small chunk logic
00-12-25 mnt.c: handle " and ' quoting for fstab
	 sftmp.c: let pathtemp() open the fd O_EXCL
00-12-15 conf.sh: add -v for verbose trace
	 features/(limits|unistd).c: no FEATURE/types because of _POSIX_SOURCE
	 features/time: add default for CLOCKS_PER_SEC
	 features/lib: std_malloc now handles NeXT
00-12-13 strton: recognize qualifier only if preceded by a digit
	 features/lib: change return in vfork() test to exit() for linux sparc
	 fmtquote: fix $'...' quote logic
00-12-11 tmdate: fix cron format bug that mishandled months
00-12-01 optget: handle $Id: ... $ in --?-version
	 features/fcntl.c: fix _STDPP_ mmap munmap
00-11-27 magic: drop dup sfclose() in load()
	 optget: handle error_info.id==0
00-11-22 features/stdio: add _FILEDEFED for sol9.sun4
	 strton,stronll: handle [u|U][l|L][ll|LL] qualifiers
00-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy
	 astlicense.c: #include <hashkey.h> MAM workaround
	 astlicense.c: check for non-empty CONTRIBUTORS
00-10-26 features/stdio: add _FILE and __FILE for gnu
	 misc/stk.c: fix stack pointer check off-by-one (dgk does it too!)
00-10-23 syslog.h: sync with bsd values
00-10-18 _STUB_* now functions instead of common symbols
	 all extern data declared with definition to eliminate common symbols
	 fastfind: add mac/bsd /var/db/locate.database
00-10-17 features/lib: add apple osX (darwin.ppc) workarounds
00-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4()
	 fmt*() now use fmtbuf() for tmp fmt buf allocation
00-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc
00-09-29 features/lib: pipe_rw==0 for sgi: boot rw == bin incompatibility
00-09-21 astlicense: handle \' and \" in license values
00-09-20 sfwrite: fix write() error in sfprintf() loop
00-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes
	 astlicense: add noncommercial
00-07-31 fflush: don't seek on pipes
	 sfresize: add
	 setlocale: fix bad newof() call
00-06-01 strmatch: initialize match.current.beg[0] to avoid dump at line 670
	 sfio/stdio: a few more errno tweaks
	 astquery: sfstdin/sfstderr by default
00-05-26 sfmode: errno=EBADF for invalid stream use
00-05-22 rewind: fix for xopen test
00-05-18 mcfind: returns absolute path
00-05-16 optget: --keys must catch \f...\f too
	 translate,mc: errno cleanup
00-05-09 magic: add netbsd binary magic
	 fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR
	 ftwflags: call fts_flags()
	 astconf: astconf(0,0,0) re-syncs with _AST_FEATURES
00-05-08 optget: --usage & --keys for last -catalog group only
00-05-02 iconv.c: add; use codes[] in ccmapid() and ccmapname(); "" for native
00-05-01 pathtmp: copy env values (libshell or putenv may change)
00-04-01 optget: drop bar from [-foo?bar] for --??keys
	 sfvscanf: add %X -- duh
	 features/common: fix va_listval() for power pc
	 findopen: fix FIND_GENERATE codes file search
	 magic: add ERROR_translate() and msgcat.key
	 tmlocale: add for LC_TIME locale info
	 tmlex: check tm_info.format and tm_data.format
	 tmfix: fix for tm_wday special case (via nl_langinfo on LC_TIME fields)
	 strftime: fix for nl_langinfo special case
	 ast_std.h: provide LC_* defauls if not defined
	 sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv
	 catopen,nl_types.h: add intercept to mc* routines
	 magic.tab: add ast message catalog
	 strerror: add _ast_strerror intercept with ERROR_translate("errno")
	 fmtquote: escapes >0177 only if (flags&2)
00-03-17 feof: stdio macro functions only for _UWIN
	 optget: proper ERROR_translate() calls
	 astgetconf: add for thread safe error message control
	 astlicense: fix type=special but with non-null notice
	 errorx: add for ERROR_translate() support
	 ERROR_translate: add locale id args for alternate dictionary
	 option.h: move _OPT_PRIVATE_ to pointer to avoid dll size mismatch
	 ftwalk: fix FTW_CHILDREN bug that hit top level non-dirs twice
	 translate.c: default error_info.translate
	 astconf: fix dup loop thrash that never returns, add _AST_VERSION
00-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers
	 fmtquote: handle $'...' quotes
00-03-07 optget: fix numeric option support test
	 sfkeyprintf: add %q for '...' quoting with ansi escapes
00-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net)
00-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts
	 optget: "..." attribute quote
	 pathfind: eliminate *: prefix in lib, not type
	 proc: PROC_FOREGROUND for system(3) semantics (wait status return)
	 pathtmp: fix mktemp() logic
	 fts: fix FTS_NOSEEDOTDIR bug that botched ./* in top list
	 include/ast/prototyped.h includes include/prototyped.h
	 pathpath: fix strdup(0) bug
	 optget: --html <foo@bar> => ...mailto:foo@bar...
	 sscanf: fix sfsscanf => sfvsscanf typo
	 magic.tab: strengthen tar recognition
00-02-08 conf.sh: fix ifdef for systems that think sysconf(FOO) is const
00-02-04 glob: fix globlist_t.gl_flags
00-02-02 vm*: add NoF() for data only files
00-01-27 fts: fix top level .==.. statp bug (thanks to dr. ek)
00-01-25 conf.tab: fix LFS*_*LAGS typo
00-01-24 astlicense: handle type=verbose, license.notice, author=*
00-01-11 pathprobe: generate info for first probe script on PATH - duh
	 ast.h: add NoF(x) for files that define no functions
	 tmpfile: fix implementation
	 global change for string ERROR_translate() dictionary names
	 optget: fix new way but no long names off by one
	 optget: handle [--dictionary?name]
99-11-19 comp/conf.sh: `expr length XXX` is not universal
	 drop sfstdio; stdio via functions everywhere
	 drop Makefile conditionals (and follow our own advice for once)
	 sfio: new stream after atexit() bug fix
	 tm: Tm_zone_t.daylight=0 for standard time within zone
	 stdio: fopen => _ast_fopen: only way short of binary compatibility
	 Makefile: atmain.C falls back to atmain.c
	 optget: add --keys, s<section> option
	 stdio: _UWIN check for foreign stdio
99-11-11 astlicense: add
99-10-31 glob: fix regexec pattern; add PATH_ATTRIBUTES case check
	 pathpath: path==0 means malloc space
99-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century
99-10-18 fastfind: expanded default db lookup
99-08-11 magic: fix off by one registry malloc
	 features/fs: add __RENAME checks for stat familiy (netbsd)
	 features/fs: major()/minor() fixes for s5
	 features/libpath.sh: netbsd fix -- ld.so not in std places
	 misc/fastfind: fix codes path generation bug
	 optget: beef up --?* description, fix <TR>...</TR> nesting
	 pathprobe: check for override (writable key file) first
	 features/time: int tmtimeofday(struct timeval*);
	 optget: fix opt_info.num, even if opt_info.arg!=0
	 fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP
	 fastfind: init dir tab with logical and physical name
	 glob: add gnu GLOB_ALTDIRFUNC
99-07-17 sfio: kpv update and sfhdr.h sync!
99-06-24 stdio: fix fflush() to ignore sfseek(0) return value
99-06-23 magic: '\r' is text not control to placate m$
99-06-08 stdio: fix fseek,ftell semantics
	 uwin stdio: fflush() => _doflsh() to avoid __cplusplus clash
	 getopt: call liberror() to avoid error() conflict
	 tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset
	 tmfmt: - no pad _ space pad 0 leading 0 pad
99-05-28 magic: fix 'x' == '*' for any number, magic.tab tweaks
	 features/lib: verify that stat64 really works
99-05-21 tm*: add TM_WINDOW==69 for consistent century windowing guard year
99-05-18 tmtime: add century leap year calc anticipating unsigned time_t
99-05-17 sfkeyprintf: handle %o and %x!!
99-05-09 pathprobe: $HOME/.probe if not suid and st_uid!=geteuid()
99-04-28 magic,magic.tab: add registry()
99-04-24 regcomp: fix ksh pattern +! parse
	 regfatalpat: add
	 optget: make : ? ] double escape consistent in all contexts
99-04-01 features: drop iffeio.h and stdio.h when only printf() used
	 regex: fix stats() .l and .k count
	 fmtquote: added; most general fmtesc() form
99-03-22 fmtesc.c,ast.h: add fmtnesq()
	 optget: --?x works for -x option flag
99-03-17 features/limits.c: workaround solaris __EXTENSIONS__ _timespec bug
	 workaround limits.h circular prereq with ignore stdio.h
	 sfvprintf: %04e left-pad zero fixed
99-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./
	 regex: REG_MULTIPLE, BM for fixed string alternation
	 optget: embedded `-' optional in long options, prefix={0,1,2}
99-02-14 fastfind: fix dir format bug that emitted wrong paths
	 astconf: fix redef off by one bug
99-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL)
99-01-23 optget: move <old_opt.h> back into <option.h>, no open-close
	 optget: add "[index:long-name:description]" for --long-name
	 comp/gross: add weak __libc_attr for irix < 6.5 compatibility
	 features/limits.c: tweak the guards again
99-01-11 fastfind: handle old format count byte order
	 magic.tab: fix elf to use real phdr offset
	 magic.c,magic.tab: fix | to act like switch/case
	 comp/fross.c,features/hack: for gross hacks
	 features/stdio: avoid sfio namespace pollution
98-12-25 tmdate: yyyy.mm.dd
	 pathprobe: fix procrun() cmd path bug
	 fmtesq: add
	 features/common: win32.alpha va_list
	 magic: add pc alpha object
98-11-11 strmatch: add STR_ICASE
	 pathprobe: punt to $HOME/.probe/<key+HOSTTYPE> if not S_ISUID
	 tmzone,tmdate: handle +-minutes, nn/MMM/yyyy
	 stropt: fix nested quote pop
	 tmfmt: add %K => %Y-%m-%d/%H:%M:%S
	 sfio/stdio: fix fseek() SF_PUBLIC omissions
	 fmtesc: catch '\\' (duh)
	 vmalloc: vmbest round bug fix
98-11-01 fts.c: no pathcanon() if (fts_flags & FTS_PHYSICAL)
98-10-01 features/stdio prototype fixes
	 optget: strton() instead of strtol() for #
98-09-22 regcomp: add REG_DELIMITED and REG_ESCAPE delimited re support
98-09-15 fix _LARGEFILE64_SOURCE stuff
	 ast_std.h: provide mmap() prototype
98-08-11 fix sfpopen() to ignore SIGPIPE by ignoresig() for sfio but not stdio
	 fix procopen() to ignore SIGPIPE by ignoresig() for PROC_IGNORE
	 sfio sfpopen/popen update
	 magic.src: fix ustar entry
98-07-17 fix ftwalk() short by one malloc()
	 add fts_notify()
98-06-25 sfdcmore,sfdcprefix: add
98-06-19 tokscan: add %f %g
98-06-01 disc/sf*.c: memset(0) after disc malloc()
98-05-11 strelapsed: y==Y
	 fts: pathcanon() top list 
98-04-01 error: error_info.time for all msgs, just after cmd id
	 error: no sfsync(sfstdin)
	 sfio: sfpool, Sffmt_t update
	 magic.tab: sgi core dumps -- why aren't these elf?
	 stropt: (v+n) for unknown option is option value if n!=0
	 procopen: fix setsid() for spawnveg() only
98-03-19 malloc: add realloc foreign region check
	 sfdisc.h: rename to match kpv disciplines
	 fastfind: fix strcasecmp/strcmp directory prefix mixup
98-03-17 features/fcntl.c,pathtmp,sftmp: add O_TEMPORARY
98-03-01 pathcanon: fix PATH_LEADING_SLASHES to stat() both slashes
	 pathcanon: add PATH_VERIFIED
	 tmdate: add skip[] to expand separator char set
	 fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db
	 fastfind: default generates gnu LOCATE02 8 bit db
	 magic: handle %s in mime description
	 cdt: kpv update
	 sfio: kpv update
	 stdio: fpos64_t fseek64(), ftell64(), fgetpos64(), fsetpos64()
	 stdio: fseek() => sfseek(SF_PUBLIC) to avoid locking
	 fts: initialize parent stat[bp] from top level *after* statf done
	 astmath: add -lm requirement test
	 *: Astlong_t => _ast_*_t
	 regex: simplify regcollate() (from doug)
	 tmtime: preserve Tm_t*tm when calling tminit()
	 astconf: add readonly PATH_ATTRIBUTES=[cirw]
98-02-14 fastfind: add FIND_ICASE to ignore case
	 tmdate,tmgoff: handle (+|-)hh[[:]mm[[:]ss]] absolute timezone
	 tmdate: `<n> <part>' now assumes `next <n> <part>' instead of `this'
	 tmfix: fix leap year bug that forgot to add 1900
	 proc: add PROC_ZOMBIE
98-02-06 strmatch() char class range bug fix
	 regex char class range bug fix
98-01-23 _WIN32: changed the #if logic again to accomodate _GNUC_
	 mnt: grab the mount options too
	 ast_std.h: hide getopt,getsubopt from stdlib.h
	 features/limits.c: add gnu guard macros to avoid limits.h recursion
	 features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl"
98-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h
	 sfhdr.h: #undef SETLOCAL for hpux
	 sfvprintf,sfvscanf: %I*x for sizeof(int_arg)
	 handle ftruncate64 and truncate64
	 dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here
97-12-18 fmtnum: add
97-12-11 magic: handle sgi 64 bit core dumps
97-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling
97-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t)
	 features/stdio: fix fflush() macro to do physical sync
97-10-31 astconf PATH_RESOLVE is logical if 3d&&!std, metaphysical otherwise
	 magic: fix #! mime bug
	 tm: tmtime() now calls tmfix() and adjusts tm_isdst too=>mtime() works
97-10-11 dllfind,dlfcn: move to separate -ldll so -last can link static, duh
	 Makefile,state.c: move forced header generation state.c => Makefile
	 sfio: update including SF_WHOLE
97-10-01 sfdostext: add \r\n => \n sfio discipline
	 stropt: NiL table => p=name for all name=value
97-08-11 pathtmp: check pid to note forks
	 procopen: FD_CLOEXEC rfd && wfd
	 fts: fts_close() after fts_children() with no fts_read() now works
97-07-17 error: sfsync(sfstdin,sfstdout,sfstderr) instead of sfsync(NiL)
	 _sfcvinit: add sfio internal interface to base conversion tables
	 strton: use _Sfcv* base conversion tables instead of sfsscanf()
	 sfvscanf: use _Sfcv* base conversion tables
	 mime: x- permutations now matched if exact fails
	 mime: original- stripped from content-* headers
	 tmdate: add yyyy-jjj, yyyy-mm-dd
	 dllfind: add
	 ccmapid: fix buf copy loop limit
	 ccmapname,ccmapcpy: add
	 sfstrtmp: add
97-05-09 streval: fix up casts for pseudo-ansi cc
	 features/types: use _ast_int_8 vars to verify support
	 string/modedata: check for mvs.390 S_IFMT
	 include/ast(_std).h: add #define __FILE_typedef
	 magic: add ccode text check
	 include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh)
	 fts: clear status for FTS_AGAIN (fixes rm -r bug)
	 mnt: add mvs openedition w_getmntent()
	 sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE
	 vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk()
	 remove: check _std_remove
	 procopen: handle pio[{0,1}]=={0,1}
	 setenviron,features/uinstd: test for mvs.390 dll environ hacks
96-12-25 <sfio_p.h> -> <ast_common.h>
	 __EXTERN__(type,object)
	 __DEFINE__(type,object,value)
	 magic: check strings in !CC_NATIVE code set too
	 system: cmd==0 means check for shell access (xopen)
	 sfhdr.h: fix sfrsrv prototype
	 add __libc_malloc etc for gnu/linux
	 astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror
	 fts_open: if toplist() stat fails return 0
	 ftwalk: handle fts_open()==0 via one phony userf() call
	 sfmode: S_ISFIFO default is SF_SHARE=0
	 features/lib: _WIN32 _lib_vfork=1 by default
	 unsigned<0 comparison and other fixes via sgi.mips4 cc
	 stk.c: use <align.h> ALIGN_BOUND for stkalloc()
	 features/lib,vfork: uwin fix
	 ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8
	 getsubopt: add for xopen 4.2 compatibility
	 drop function __IMPORT__
	 magic: more magic
	 change #define FILE from Sfio_t to struct _sfio_s
	 state.c: add generated includes that may be hit by std for MAM
	 bytesex: forgot about sizeof(long)=>7; could we fix the name too?
	 vmalloc.h: fix vmnewof() definition
	 sfio.h,stdio.h,ast_common.h: pollution cleanup
	 magic.c: add | op for switch
	 Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that
	 drop pp:notice to get <sfio.h> ... <ast.h> to work 
	 regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat
	 mime.c: ignore X-* headers while scanning for Content-*
	 magic.c: check for negative indirect offsets
	 magic.tab: fix dos entry that generated negative indirect offsets
	 vmalloc.h: add vmstrdup() prototype
	 hash.h: add hashgetbucket() macro
	 magic.c: MAGIFILE is now a : file list
	 mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h>
	 common: fix _WIN32 chicken&egg with va_copy
	 sfio: forgot to set f->val along with _Sfi in sfexcept() 
	 Makefile: add mini target for uwin libmini.a
	 sfcvt.c: workaround for flaky long double optimizers
	 features/common: fix to work with va_list==void*
	 regexec.c: fix REG_STARTEND subexpression offsets
	 strmatch.c: don't forget <wctype.h>
	 regrexec.c: fix REG_INVERT end boundary bug that missed last record
	 astconf.c: notify(0,0,"a=b") called for each setenviron("a=b")
	 pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //*
96-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes xopen
	 regerror: fix for xopen
	 getopt: fix for xopen
	 magic: add ciao virtual database
	 astconf: posix/strict/xopen implies "standard" conformance
	 fs3d.h: hide mount prototype
	 ast_std.h,mnt.c,features/fs: ncr port tweaks
96-10-31 version 5.0
	 add strtoll() strtoull()
	 sfkeyprintf: upgrade to int_max args
	 ast.h: add ssizeof() to work around unsigned botch
	 conf.sh: add shell actions to conf.tab
	 _DLL*: drop for _BLD_<lib> + __EXPORT__ + __IMPORT__
	 sfio,cdt,vmalloc: kpv update
96-10-11 <ccode.h>: add character code map support
	 procclose: return shell style exit status
	 features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for mvs
	 uwin: add subdir for uwin additions
	 ast_std.h: swab() is from <stdlib.h>
	 sfio.h: <ast_std.h> if _PACKAGE_ast
	 magic.tab: add mips[1-4], 64-bit
	 port tweaks for sol.sun4 and sun4
96-09-06 strerror: add
	 fmterror: uses strerror
	 str*search: use sfiso646() order
	 strpsearch: add
	 magic: add Magic_t.mime mime type return for magictype()
	 mime.h: add
	 strton: use sfsscanf()
	 strperm: factor in umask() if no who
	 pathtmp: add TMPPATH check
	 libevent: add
	 magic: add discipline to magicopen()
	 mime: add discipline to mimeopen()
96-08-31 regex: fix BM fail table generator
96-08-11 mntread: fix mnt.type for SCO variant
	 conf.tab: add SCO KERNEL_* sysconf() vars
	 fastfind: add findwrite(), fix findread() FF_OFF omission
	 ftwalk: reimplement on top of fts
	 fnmatch,re_comp,regexp: reimplement on top of regex
	 basename,dirname,fmtmsg,fts,ftw,getdate,getsubopt,glob: add
	 hsearch,nftw,realpath,strftime,strptime,swab,tempnam: add
	 tsearch,wordexp: add
	 getcwd: cache last path for easy test
96-07-17 error: sfsync(NiL) ... write ... sfsync(sfstderr)
	 astconf: handle readonly *(DEV|DIR) vars
96-04-01 swapop: fix stupid return value bug
	 features/int.c: fix int_swap generation bug
	 regnexec,regrexec: fix unsigned underflow init error
	 ls.h: fix iblocks() to be in units of LS_BLOCKSIZE
96-02-29 magic: space before function is definition with no call
	 hash: drop hash_info from public interface
	 hash: OBSOLETE hashlast()
	 hash: add Hash_root_t.Hash_last_t to public interface
	 add strsearch() and strnsearch() to complement strlook()
	 add hashkey.h for keyword->long hash
	 pathpath: pathpath(0,0,"",0) disables $0 $_ $PWD relative search
	 sfio: sfstrtod+sfhdr update
	 regex: fix REG_LENIENT to map BRE \[+?|] to ERE [+?|]
	 change _std_malloc iffe test so it doesn't hang on alpha
	 sfhdr.h: features/sfio generates _lib_cvt instead of _i386_cvt
	 ast_hdr.h: add va_copy(a,b) to copy va_list b to a
	 getopt: fix stupid getopt() -> optget() bug
	 sfvprintf: %h? now downcasts
	 regex: handle strto?l() errno in regcomp()
	 sfstrtod: _Sfstrtod_already_defined -> _STUB_sfstrtod
	 ast_std.h: hide valloc() and ignore <strings.h>
	 sfkeyprintf: pass phony va_list for '2'
	 regex: change HIT var type from int to size_t in special()
	 ast.h: add EXIT_STATUS(x) to convert wait() status to sh exit status
96-02-14 regex: add _ to \<...\> isalnum test
	 regex: fix BM inner loop breakout
	 features/types: size_t is signed on some systems! => _ast_size_t
	 sfio: sfrd discipline peek optimization
	 vmalloc: vmalloc.h malloc family macro upgrade
	 tokopen: fix newline bug for non-restore open
	 sfio: no inline for gcc until it emits for -g too
96-02-12 sfio: internal upgrade
96-02-09 regex: Boyer-Moore boundary fix
	 vmalloc: snarf latest
96-02-06 regex: add regrecord() and regrexec() for Boyer-Moore record filtering
	 regex: rearrange regnexec() args to match buffer,count arg style
96-01-31 stk: add STK_NULL to stk.h and stk.c
	 regex: privatize regex.h and fix min re length computation
	 workaround lazy strdup() implementations in features/lib _std_malloc
	 fix stkclose() to free(stream) -- purify missed because of sfio links
	 unused var cleanup
	 port/mnt.c must include <ls.h> to get <ast_fs.h>
	 add SF_FINAL to sfio and stk
	 sfio reads now on natural block boundaries
	 add #!!! <level> <message> !!! to tokline()
	 add REX_BM pre-filter to regcomp/regnexec
96-01-22 add regcomp env.paren overflow checks
96-01-11 add Doug McIlroy's regex (converted to C from C++ by gsf)
	 AT&T Research now
	 sfgetr optimization
	 regex buglets
96-01-05 tweak magic.tab for win32
95-12-25 add !(...) -> (...)! to fmtre()
	 nt tweaks -- functions with no header proto must be defined extern
95-11-24 version 4.1
	 add mnt.h mntopen mntread mntclose
	 convert fmtfs to mnt.h
	 add RE_LEFTANCHOR and RE_RIGHTANCHOR
	 gcc inlines must also have global library function instantiation!
	 add hashview()
	 fix strtape() internal buffer flow
	 fix mntread() fs/dir transposition for uts mnttab
95-10-31 change features/unistd.c includes to break limits-param cycle
	 add cdt from kpv
	 sfio snarf from kpv
	 add [ht]search for _WIN32
95-10-11 clarify PARANOID pathcheck() warning
	 fix procopen() LIB_SPAWN environ bug with setenviron() cache
	 fix setenviron() bug that forgot to reset environ if == 0
	 add %Z '\0' output format to sfkeyprintf()
	 sfio snarf for sfvprintf fix
	 allow multiple hashscan() with scope caveat
	 add comp/fakelink.h to synthesize a few symlink text patterns
	 add !<xxx> magic to misc/magic.tab
	 add FTW_TOP to inhibit recursion (for ftw side effects on top level)
	 add memfatal() common malloc fatal exception message
	 add dos \r\n test to misc/magic.c/cklang()
	 sftmp() O_EXCL+random to avoid collisions
	 pathtemp() uses sftmp() randomizing
	 features/fs uses SF_APPENDWR
	 sftmp() uses pathtemp() -- don't worry, its not circular
	 a few more _WIN32 compatibility additions
	 realloc fixed to use VM_RSCOPY|VM_RSMOVE instead of obsolete 1
	 add hashlook(tab, oldname, HASH_RENAME, newname)
	 a few more tweaks to satisfy port warnings
	 add _SFIO_INLINE_PRIVATE to provide real function too
	 fix <dirent.h> installation test
	 oops object / shared library compat with _sfgetl2 _sfgetu2
95-09-11 add getopt() compatibility
	 add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h
	 add getconf CONFORMANCE - posix for things that aren't ast default
	 sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif
	 snarf vmalloc from kpv
95-08-11 fix malloc bug in magic
	 update linux and bsd 386 magic entries
	 error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done
	 drop fnmatch from strmatch for sparc (solaris) until it collates
95-07-17 fix port/astconf universe initialization
	 fix misc/optget opt_info.nopt initialization
	 drop tmset() TZ=... because it only worked when TZ=... was ignored
95-05-09 mongo <ast.h> namespace cleanup
	 drop > 2 year old obsolete interfaces
	 sfvprintf.c fix for (char:8 short:16 int:32 long:64) architectures
	 TMP_MAX back into conf.tab
	 pathbin() and pathshell() now use astconf()
	 fix pathtemp() to not cache getenv("TMPDIR")
	 fix ftwalk() metaphysical to handle non-dirs too
	 initialize *_info = { 0 }; for ancient ld semantics (NeXT)
	 fix magic() to do vmfree()
	 astconf(X_OK) must prefix lines with "getconf"
	 use <wchar.h> and wctype in strmatch() if available
	 _lib_utime_now checks utime(path,0)
	 _lib_poll_notimer checks poll(x,0,timeout)
	 add another _lib_utime_now check to port/touch.c
	 fix dd_buf cast in dir/opendir.c
	 split getconf.h into conftab.h and conftab.c for :READONLY:
	 use mbtowc() only if MB_LEN_MAX>1
	 sfio char* -> Void_t* cleanup
	 handle old syntax in misc/magic.c
	 sigdata.c holds readonly signal strings
	 pathcheck() does AT&T checks for tools matching PARANOID - yuk
	 unused var cleanup
	 deprecate hash_info in favor of hashlast()
	 fix bad conf.sh ksh integer interactions
	 dll cleanup
	 magic.c falls back to malloc for now
	 add environ to <ast.h> -- C library global data syms are *RESERVED*
	 sfhdr.h memccpy(1,2,3,size_t) prototype
95-04-01 version 4.0
	 convert to vmalloc
	 allow sigcritical() nesting mismatch to work around vfork() bug
	 add strexpr() primitive for streval() with user handle (like ftwalk)
	 add <magic.h> and magic.c file command magic interface
	 update magic mail message entry
	 fix keyprintf() invisible char count nesting bug
	 add sfstrnew(SF_READ|SF_WRITE) for alternate sfstropen() modes
	 sfstrnew(SF_READ) but reading requires sfseek(), sfreserve()
	 add conf.tab and conf.sh to nail C/POSIX limits/unistd macros
	 add getconf() string interface to *conf*
	 _DLL_INTERMEDIATE_DATA for systems that require indirect globals
	 _DLL for building shared libraries with _DLL_INTERMEDIATE_DATA
	 vecfile() restricted to S_ISREG()
	 add spawnveg() for job control
	 convert procopen() PROC_PGRP(id) to spawnveg()
	 fmterror() returns error text given errno (strerror() does same)
	 fmtsignal() returns signal text given errno (strsignal() does same)
	 {sig_name,sig_text,SIG_MAX} -> sig_info.{name,text,sigmax}
	 liberror("",...) omits [%s library] prefix
	 update features/signal.c table
	 add vmdisc() and change vmnewof() to use vmresize()
	 fix conf.sh to allow refs to previously defined limits
	 fix undefined entries in getconf()
	 magic data in magic.tab
	 fix stropt() pointer cast
	 vmalloc() exception handler replaces nomalloc()
	 merge sigdata.c into fmtsignal.c -- sun link needs function w/ data!
	 sftmp() bug fix
	 drop local <unistd.h> even with _POSIX_SOURCE
	 fix vmstrdup() macro arg miscount
	 fix conf.sh to handle enum'd symbolic constants in unistd.h
	 drop malloc() et.al. prototypes from vmalloc.h
	 fix sfvprintf() %d argument reference
	 add OSF/1 AES symbol(s) to conf.tab
	 determine standards prefix from conf.tab
	 add _CS_SHELL to conf.tab
	 getpath() default is confstr(_CS_PATH)
	 getshell() default is confstr(_CS_SHELL)
	 unify keyprintf user function args (should have learned by now!)
	 add quad type to magic
	 add astfeature() to unify universe style dynamic features
	 add ftwflags() to determine FTW_* flags from astfeature()
95-03-11 fix stropt() to not modify its *const* arg
	 handle "'\ quotes and chresc() in stropt() values
	 , treated like :space: between stropt() options
	 fix procopen() fd dup to ignore self-dups
	 add library id[] to misc/state.c
	 add ftwalk(FTW_METAPHYSICAL) for posix -H
	 sfvprintf() now handles balanced () in %()
	 add tmfmt() with buffer size check to replace tmform()
	 add fmttime() calling tmfmt() to fit fmt*() mold
	 add <keyprintf.h> and keyprintf() to support %(...)? in commands
	 add Hash_table_t for size==0 in stropt()
	 add EXTTYPE extended header to tar.h
95-02-14 sfmove() buffer size overflow fix
	 add _SFSTDIO_H to sfio.h
	 rename setenv() to setenviron() -- posix finally decided
	 rename <option.h> opt_* to opt_info.*
	 update features/unistd.c for _SC_* and _PC_* posix additions
95-01-19 (char*)uchar cast in fmtesc()
	 fix hash bucket memory leak in hashlook() [via John Mocenigo]
	 update strings/strtape()
	 fix optget()/optjoin() to handle leading +
	 add ALIGN_ prefix to <align.h> identifiers
95-01-11 change tm/*.c tmset(0) to tmset(tm_info.zone) to keep user setting
	 fix tmform() %Z null pointer dereference
95-01-01 add this RELEASE file
	 fix strperm() to properly handle "644 file"
	 fix tokline() to return last '\0' terminated line in string
	 fix tokscan() to properly handle \\n splice
	 add fmtesc() to complement stresc()
	 add LS_NUMBER to fmtls()
	 drop spurious optusage() ' '
