12-06-06 yes.sh: use echo instead of print if no $KSH_VERSION
12-04-20 ls.c: FTW_META default
12-02-14 yes.sh: add
12-01-23 du.c: the rightmost of { -b -h -k -K -m } overrides the others
11-12-13 features/procfs, pss-procfs.c: check _PS_task for { st_uid st_gid }
11-08-24 ls.c: fix { linkop linktext } to check for FTS_SLNONE too
11-08-01 file.c: add -b, --brief | --no-filename
11-06-10 ls.c: add %(view)d for 3d fs view level (iview(struct stat*))
11-05-09 ps,pss: handle pr_npid in /proc/<pid>/stat
11-04-26 ps.c: increase COMMAND width from 16 => 24
11-04-26 features/procfs: fix uwin /proc probes
11-04-21 dd.c: turn stdin O_NONBLOCK off
11-04-21 dd.c: fix SI vs US numeric suffix docs
11-04-15 ls.c: add KEY_dev for all file types
11-03-10 ps.c: use %0<width>s for string fields to retain last <width> chars of long strings
11-03-03 dd.c: fix writes beyond count for piped input across partial input blocks (thanks ggreen)
11-02-11 mount.c: fix umount operand verification
11-01-28 file.c: add -a, --all to list all magic table matches
11-01-11 dd.c,iconv.c: convert Iconv_disc_t* for iconv_move() and iconv_write()
11-01-11 iconv.c: add posix { -c,--omit -l,--list -s,--silent }
10-12-01 ps*: update freebsd procfs logic
10-08-11 df.c: use conformance("standard",0) test
10-06-01 sync with ast api 20100601
10-05-25 ls.c: back off 09-07-02 logical|(meta)physical change
10-02-09 ps.c: fix --tree --format=... => \\_ instead of \_
10-02-09 ps.c: ntpid not hex by default
10-01-01 ps.c: fix { -T -C -P } child detection logic
09-12-09 du.c: add -h, --binary-scale|human-readable; -K, --decimal-scale
09-11-11 features/procfs: handle linux /proc pr_tgrp == pr_tpgid
09-10-21 locale.c: use fmtquote() to print key values
09-07-02 ls.c: ftwflags() default only if not --recursive
09-05-15 ps.c: fix format field alias logic
09-04-15 ls.c: add --sort=version
09-01-30 mount.c: hide mount prototype too (for mvs.390)
09-01-20 dd.c: fix state.in.special counting logic
08-12-08 ls.c: at least one space before link count for -l
08-12-07 ls.c: use %[_][EO]K for [space pad] [full|long] iso
08-10-28 pss-procfs.c: use hz = getconf("CLK_TCK")
08-09-10 features/procfs,pss-kvm.c: netbsd 4.0 kvm tweaks
08-01-31 features/procfs,pss-kvm.c: freebsd6 kvm tweaks -- stop already
08-01-26 df.c: belay some of that delay (automounts foiled it)
07-11-19 df.c: delay stat()/statfs() until necessary
07-11-15 pss-procfs.c: handle pr_pgrp and (...) with embedded space
07-08-03 ls.c: use return from main() instead of exit()
07-06-27 seq.sh: error messages to the standard error -- oops
07-06-01 Makefiles: add $(PACKAGE_LOCALE)umount link
07-05-05 seq.sh,seq.rt: new
07-04-25 locale.c: defer unknown keywords to /usr/bin/locale
07-03-19 du.c: fix 0 pointer deref
07-03-19 pss.c: initialize not found process placeholders
07-02-07 sum.c: move to libcmd & builtin
06-12-11 ls.c: disable LS_PRINTABLE for utf-8
06-12-04 du.c: handle > 2Ti in local.pointer
06-11-23 ps.c: --escape now the default: -E => --noescape
06-10-11 add sfstruse() error checks
06-10-11 ls.c: header/trailer must honor state.scale too
06-09-19 split.c: pathconf() => astconf()
06-05-23 ps.c: add but ignore -w, --wide
06-01-11 pss-kvm.c: handle struct eproc.e_xsize
06-01-03 ls.c: add --show-control-characters, handle --no*
05-07-25 touch.c: eith => either
05-07-17 dd.c: fix ccode conversion diagnostic
05-06-16 ps.c: fix parent chain lookup infinit loop
05-06-14 ls.c: fix divide by 0 in col()
05-06-11 ls.c: sharpen the optimal row/col search
ls.tst: normalize 02 test sizes
05-04-22 ps.c: add --branch --escape
05-04-06 df.c: fix -k F_FRSIZE() to always return > 0
05-03-29 ps.c: check /bin/ps punt recursion when ast_ps is /bin/ps
05-03-11 features/procfs: cygwin tweaks
05-03-10 ls.c: fix -s arithmetic and column output
05-02-14 sum.tst: add SHA { 256 384 512 } tests
05-02-11 pss-info.c: add lynxos info(2) proc table
04-12-25 ls: -e == --time-style=long-iso, -E == --time-style=full-iso
ls: fix --quote-style=literal to bet literal -- doh
04-12-15 ls: --time-style=long-iso
04-12-12 touch.c: add high resolution time support
04-10-28 ls.c: add space between group/size so they won't run together
04-10-01 dd.c: drop ancient unused map code
04-09-14 ls.c: add -w[linesX]cols, last col must be visible in window
04-07-17 ls.c: rename -f => -Z, add x/open -f
04-03-28 ls.c: add variable column widths for minimal { -C -x } footprint
04-02-29 pss-getprocs.c: fix readf/partf semantic mixup
04-02-26 ls.c: handle solaris S_ISDOOR for -F
04-02-11 df.c: rescan mount table to avoid more expensive stat()/statvfs()
04-01-14 split.c: fix csplit {*} EOF detection
03-12-17 sum.c: update docs for new -lsum interface
03-12-09 df.c: don't stat() mount table fs paths that don't start with /
03-11-17 ps.c: fix --children bug that lost lower level ancestor links
03-10-12 dd.c: add ast iconv identity check
03-10-08 dd.c: fix count=n short-read when bs > underlying read size
03-10-07 df.c: fix -Pi to do "portable" -i
03-09-23 ls.c: call fmtmode() with internal mode
ls.c: -L => ~FTS_SEEDOTDIR
03-09-18 dd.c: numeric option arg values are now intmax
split.c: -b -C -l are now intmax
03-09-11 ls.c: add --testdate=date for testing
03-08-21 split.c: fix csplit pattern matching -- did it ever work?
csplit.tst: add regression tests
03-06-21 pss-procfs.c: fix PR_TIME(),PR_CTIME() normalization
03-06-11 mount.c: reorder includes for mvs.390
03-05-26 dd.tst: add
03-04-28 sum.tst: add sha1 tests
03-03-21 ls.c: add -z,--time-style
ls.c: if only -t is set then set FTW_SEEDOTDIR to keep configure happy
03-03-11 pss.c: pid <= 1 => ppid == 0 to avoid ancestor loop
03-03-06 ps.c: add pgid alias for pgrp
03-02-28 pss*.[ch]: add Pss_dev_t and Pss_id_t
ps.c: don't warn about unsupported fields for [cfjl]
03-02-21 pss-*.c: initf errors except no space now warnings for ps fallback
Makefile: hosttype workaround to avoid botched -lkvm
03-02-11 ps.c: flags width 2 => 3 since posix says its octal
03-02-07 ps.c: add --children and --parents, --tree == --children --parents
03-02-06 locale.c,ls.c: fmtquote() FMT_ALWAYS update
03-02-01 ps*.[ch]: convert to independent Pssmeth_t methods
pss-ps.c: export _PSS_ps=1 to force for testing
03-01-31 pss.c: add darwin.ppc kvm_getprocs() -- still needs work
03-01-29 ps.c: check for obvious invalid pids
03-01-10 locale.c: don't list default after unknown category/keyword
02-12-04 du.c: add -H -L -P(default) symlink options
02-11-22 file.c: add version type description
02-10-10 pss.c: redefine only if not defined -- duh
02-10-02 pss.c: move <ast_windows.h> to first #if __CYGWIN__
02-09-30 dd.c: honor both count*bs *and* count
02-09-24 dd.c: fix partial record computations and printf format
02-09-11 pss.c: _WIN32 SF_ERROR <windows.h> workaround
touch.c: drop TM_DATESTYLE (snarfed too much from date.c)
02-09-09 ls.c: really ignore -T<n>
02-08-13 touch.tst: fix 10 digit ambiguity test
02-08-05 ls.c: add %(perm)[os]
02-07-31 file.c: add -[cdiM] and swap (old ast) -m and -M semantics for posix
02-06-25 ps.c: handle %s vs. %d --format inconsistencies
02-02-14 touch.c: explicit epoch dates (0) are different from now (also 0)
locale.c: don't output on unknown keyword
02-02-11 ps.c: validate input pid strings
02-02-04 ps.c: --format subformat => heading
02-02-02 pss.c: handle __CYGWIN__ bug where sizeof(TTY_CONSOLE)>sizeof(dev_t)
02-01-31 pss.c: add aix getprocs()
ps.c: ntpid=>npid, ntpid now a deprecated alias
02-01-28 ls: fix devmajor/devminor to use st_rdev where appropriate
02-01-22 ps: fix `not available' warning to attempt subsequent fields
02-01-21 ps: recode to use pss.[ch] process status stream interface
02-01-06 touch: clarify --time doc
01-10-31 df: increase the fs stat timeout from 2 to 4 sec
01-09-04 locale: add new catagories
01-08-11 ls: fix nonprintable test for mb locales
01-08-01 features/procfs: note that synthesized psinfo doesn't have pr_psargs
01-06-27 dd: fix conv=[lu]case|x2y logic botch
01-06-08 ps: option `-' is optional for ancient compatibility
01-06-06 ls: drop octets for bytes -- yay
01-05-25 locale: -m runs local locale until the standard comes to its senses
locale: add --element to list collation element weights
01-04-20 df: --man now says --scale is the CONFORMANCE!=standard default
01-04-17 date,rm: move to -lcmd
01-04-01 locale: fix LC_ALL listing
01-03-23 tsort: fix typo that goofed up $'b c\na c\na b'
01-03-22 ps: %(ntpid)d takes precedence over hex attribute
01-03-17 date: update --man for tmfmt() changes
locale: add with regression test
01-03-09 df: fix cannot stat filesystem typo
01-03-05 ls: add --dump to dump generated --format string
01-03-01 ps: fix iffe logic that disabled too much for /proc synthesis
ps: fix -T -p that missed some children
ps: fix -x to include session leaders
01-02-14 ps: disable some iffe results for synthesized /proc structs
ps: use sfstrbase() and sfstrsize() instead of member names
mount: define NGROUPS for freebsd -- how does <sys/ucred.h> make it?
df: add scaled sizes, no sync(2) unless -s,--sync
df: add statvfs() timeout for good ol NFS
01-01-31 ls: handle --sort=size
01-01-01 ps: change (-x,--hex)=>(-X,--hex), add (-x,--detached)
ls: really ignore --tabs, add --quote-style --scale, --thousands
rm: -i and -f cancel each other
00-12-13 df: change type default width to 10 for linux
ps: fix --format '%(time)d'
00-12-11 ps: fix --tree graph
00-12-08 ps: no -e for pid args
ps: add --heading
00-10-31 date: mmddHHMMccyy doc and code fixes, test
touch: ccyymmddHHMM doc and code fixes, --time=mtime common sense, test
00-10-23 ps: -Tp pid gets pid and all children
00-10-06 du: fix roundup error by delaying until the totals
00-09-21 touch: fix to handle obsolete MMDDhhmm[YY]
00-08-11 ps: fix man typo
00-06-10 dd: add swap=op
00-05-24 ls: fix --kilobytes, add --block-size
00-05-11 df,ls,ps: unknown format id is fatal error
00-05-02 dd: use iconv() for from=x to=y conversions
00-04-01 ls.tst: export TZ=EST5EDT; new tests should be UCT
00-03-17 rm: add PATH_ATTRIBUTES 'l' check (no hard links to directories)
date: --elapsed accepts odd arg count
catmerge: add
00-03-09 df: add --format
date: add --elapsed
00-02-07 ls: -a and -A now mutually exclusive
shar: add $USAGE_LICENSE
00-01-25 touch: add invalid st_mtime value CAVEAT
ls.tst: limit max st_mtime to 0x7fffffe to avoid stat(2) EOVERFLOW
00-01-11 tsort: fix
99-12-25 ps: fix linux -o args
99-11-19 mount,umount: fix umount usage[]
ls: fix --format doc
99-11-18 ls: -H + cmd link non-dir symlink => lstat() (H == hairbrained)
99-10-31 sum: change --check, add --header --permissions for verifcation
99-10-22 date: fix %C %k %y doc
99-08-11 ps: netbsd + unixware fixes
ls: fix SEE ALSO
99-07-17 ps: fix cancel logic to eliminate (null) header
99-06-23 rm: fix -f exit status to be !=0 on errors, even if no diagnostic
99-06-17 expand/unexpand: long options
99-06-14 rm: dir arg requires -r, diagnostic even with -f
99-06-11 df: minimize mntread calls when args given
ps: all key.cancel format mods on rhs
sum: binary mode by default, local text mode implementation
99-06-01 dd: fix conv=* bitmasks
99-05-20 df: F_BASETYPE() for redhat 6.0 linux statvfs incompatibility
99-05-18 date: add settimeofday() and stime() checks/calls
date: use %Y in /bin/date punt
99-05-11 ps: use pr_sid for session leader checks
99-05-09 sum: sfopen(sfstdin,0,"rt") file lists
99-05-06 date: fix inconsistency between date(1) touch(1) tmdate(3)
shar: add
99-05-05 sum: add md5sum options
99-05-01 touch,tsort: long options
99-04-28 banner,df,du,file,mesg,mount,ps,sum: long options
99-04-01 ls: long options, gnu compatibility
date: fix +format for new optget()
99-03-11 dd: convert to optget()
ls: (time_t) cast fmttime() arg
99-03-01 ps: fix static key table inititialization
99-02-04 ps: add maxval to determine default width
99-01-23 testdate: check date output format too
move sfio,date,opt tests to src/cmd/tests
move pax tests to src/cmd/pax
99-01-11 sfio/t*.c: make a few tests more portable
98-11-21 touch: add obsolete mmddhh & mmddhhyy
98-10-20 dd: fix in/out partial block reports
sum: add ast4|32x4|tw checksum
98-08-11 ps: implement -G
98-07-17 ps: fix -t dump
98-06-26 rm: tighten hard link to directory test
98-04-01 sfio: fix ttmpfile by intercepting open64() and creat64()
98-03-11 dd: fix conv=* check
du: list all command line args
98-02-18 date: modify tests for tmfix() 1900+tm_year leap year fix
98-01-23 df: add -O for mnt.options
date: add y2k date tests
97-12-20 ps: add (but name ast_ps until it's broken in)
97-12-11 rm: fix -r bug that looped when remove() silently failed
97-07-17 rm: `rm -rf' just prints usage; it used to do `rm -rf .'
du: change -kblocksize to -bblocksize, -k => -b1024
date: a few more tests
97-05-09 rm: fix FTW_AGAIN code for multi-getdents() dirs
df: add ERROR_SYSTEM to -v output
96-12-25 dd: add from=<ccode> to=<ccode>
tsort: fix empty list bug
df: fix sync() prototype
date: add -p input-format to supplement DATEMSK
ls: fix boundary problem with %(path) by using %(name)
ls: add -A
rm: add -F to clear and sync data before remove()
96-10-11 file: update for magic discipline
dd: update for <ccode.h>
*: change opt_arg to opt_info.arg
mesg: add
df: "UNKNOWN" fs type -> "local"
96-08-11 dd: set error_info.exit after options
96-06-19 fix ftwalk() top level children anomalies (fts is underneath now)
96-05-09 date: Xopen DATEMSK tests
df: Xopen update
du: Xopen update
ls: Xopen update
find: move to tw
rm: add
96-02-29 df: list some stat errors -- well, maybe not
sum: add cksum link and att,bsd,posix,zip,md5 algorithms
96-02-07 df: (long) cast to handle (unsigned long) vs. (long) header diffs
96-01-30 banner: unused var cleanup
96-01-01 AT&T Research now
banner: add
split: add
95-12-25 find: add -nouser, -nogroup POSIX unary ops
95-12-08 df: cap = use / (use + avail)
expand: new
unexpand: new
95-11-18 file: ignore empty file list lines
df: add Mnt_t.options and Mnt_t.flags
95-11-16 this is the place for single file standard commands
95-11-11 df: new
tsort: new
file: fix aix shared library
95-07-17 date: add gnu -d string
ls: fix "total..." aggressive output
95-05-09 file: switch to <magic.h> and libast/magic()
file: add posix -h == -P
ls: sfkeyprintf lookup string arg is now the format conversion char
ls: #ifdef check S_ISSOCK
95-04-01 ls: fix -c botch that treated it like -u
95-03-19 ls: add -H for posix FTW_META|FTW_PHYSICAL
ls: add -f format to match pax -o listformat
ls: add -D key=value to match pax -o listmacro
ls: dir.sh to mimic dos -- ouch
ls: don't stresc() possibly readonly string literals
95-03-11 find: add -metaphysical (posix -H) for FTW_META|FTW_PHYSICAL
95-02-14 file: add -p pattern to select types that match pattern
95-01-19 file: add linux kernel and minix as,ld
95-01-01 file: start RELEASE file
file: add JPEG, dot
file: fix GIF
file: stresc() match strings too
file: add pax compressed and delta formats
ls: add -n for LS_NUMBER
ls: -C if argv[0] base is lc