]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
.
authorJim Meyering <jim@meyering.net>
Sun, 22 Feb 1998 09:18:33 +0000 (09:18 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 22 Feb 1998 09:18:33 +0000 (09:18 +0000)
old/fileutils/ChangeLog-1997 [new file with mode: 0644]

diff --git a/old/fileutils/ChangeLog-1997 b/old/fileutils/ChangeLog-1997
new file mode 100644 (file)
index 0000000..558ef97
--- /dev/null
@@ -0,0 +1,6160 @@
+1997-12-31  Paul Eggert  <eggert@twinsun.com>
+
+       If the -h or -H options are given, print inode counts and
+       disk allocations using a human readable format.
+
+       * src/df.c (show_dev): Print inode counts human readably.
+       * src/ls.c (decode_switches): -h and -H override output units.
+       (print_dir, gobble_file, print_long_format,
+       print_file_name_and_frills): Print disk allocations human readably.
+       * doc/fileutils.texi: Document the above changes.
+
+1997-12-31  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/df.c (show_dev): Move declarations and computation of
+       blocks_used etc. and blocks_percent_used and
+       inodes_used etc. and inodes_percent_used into respective branches
+       of the `if (inode_format)' statement where they're actually used.
+
+       * lib/exclude.h: Define and use PARAMS, not __EXCLUDE_P.
+       * lib/exclude.c: Use PARAMS, not __EXCLUDE_P.
+
+1997-12-29  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/rm.c (remove_cwd_entries): Plug a gross leak -- don't call
+       obstack_init inside the loop.
+
+       * src/du.c (usage): Replace TABs with spaces in --help message.
+       From Santiago Vila.
+
+       * lib/argmatch.c (invalid_arg): Use a single fprintf and whole
+       format statements to ease translation.
+       From Santiago Vila.
+       Convert from K&R to ANSI function dcls.
+
+1997-12-28  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/group-member.c: Use ANSI syntax, not K&R.
+
+       * lib/makepath.c (make_path) [!__STDC__]: Remove K&R-style definition.
+
+       * lib/group-member.h: Add PARAMS.
+       * src/chgrp.c: Remove incorrect declaration of group_member.
+       Include group-member.h instead.
+       Based on suggestion from Ulrich Drepper.
+
+1997-12-27  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Version 3.16h.
+
+1997-12-25  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getline.c: (_GNU_SOURCE): Define only if not already defined.
+
+       * configure.in: Remove AC_DEFINE of _GNU_SOURCE.
+       * acconfig.h (_GNU_SOURCE): Define if not already defined.
+       Put this code in @TOP@ section.
+       (_GNU_SOURCE): Remove #undef.
+
+1997-12-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * configure.in: Move jm_CHECK_DECLS down so that it follows the
+       checks for the headers it requires.
+
+       * doc/fileutils.texi (mknod invocation): Fix description of file
+       type mnemonics.
+
+       * src/sys2.h: Declare stpcpy only if not defined as macro.
+
+       * src/du.c (S_ISLNK): Define this instead of S_ISDIR.
+
+       * src/dd.c (skip): Compare lseek return value with -1 to allow it
+       to be negative as signed value.
+
+       * lib/savedir.c: Declare stpcpy only if not defined as macro.
+       * lib/mountlist.c: Likewise.
+       * lib/path-concat.c: Include <string.h> if available.
+
+       * src/copy.c (copy_internal): Use S_ISLNK only if defined.
+
+       * src/install.c (get_ids): Don't cast GID_T_MAX to long, it might
+       overflow.
+
+1997-12-22  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in: AC_DEFINE _GNU_SOURCE.
+       * acconfig.h: Add _GNU_SOURCE.
+
+1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/copy.h: Use PARAMS, not __P.
+       * src/cp-hash.h: Likewise.
+
+       * lib/chown.c (rpl_chown): Rename from chown.
+       Undefine chown just after including config.h.
+       Include sys/stat.h.
+       Use correct ordering of uid and gid parameters both in function
+       definition and in call to chown.
+       With patches from Kaveh Ghazi.
+
+       * sys/fsusage.h: Use PARAMS, not __P.
+       * sys/getline.h: Likewise.
+       * sys/hash.h: Likewise.
+       * sys/human.h: Likewise.
+       * sys/long-options.h: Likewise.
+       * sys/makepath.h: Likewise.
+       * sys/modechange.h: Likewise.
+       * sys/path-concat.h: Likewise.
+       * sys/save-cwd.c: Likewise.
+       * sys/save-cwd.h: Likewise.
+       * sys/savedir.h: Likewise.
+       * sys/strverscmp.h: Likewise.
+       * sys/xalloc.h: Likewise.
+       * sys/xstrtol.h: Likewise.
+
+1997-12-16  Paul Eggert  <eggert@twinsun.com>
+
+       Add --exclude and --exclude-from or -X options to du.
+
+       * lib/exclude.h, lib/exclude.c: New files.
+       * lib/Makefile.am (libfu_a_SOURCES): Add exclude.c.
+       (noinst_HEADERS): Add exclude.h.
+       * du.c: Include exclude.h.
+       (exclude): New static var.
+       (long_options, usage, main): Add --exclude and --exclude-from or -X.
+       (count_entry): Skip excluded entries.
+
+1997-12-16  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/sys2.h: s/__P/PARAMS/g.
+       * src/chgrp.c: Likewise.
+       * src/chmod.c: Likewise.
+       * src/chown.c: Likewise.
+       * src/copy.c: Likewise.
+       * src/du.c: Likewise.
+       * src/dd.c: Likewise.
+       * src/install.c: Likewise.
+       * src/ls.c: Likewise.
+
+1997-12-15  Paul Eggert  <eggert@twinsun.com>
+
+       * ls.c (struct bin_str): Make len int, not unsigned, to avoid
+       bogus comparison < 0.
+       (quote_filename): Add forward decl.
+       (decode_switches): -b, -e, -N, -Q are now mutually exclusive.
+       (print_dir): Quote directory name as per quoting options.
+       (print_long_format): Don't count color changes as part of file name.
+       (quote_filename): Revamp interface: now accepts stream to output to
+       and filename, and returns length of quoted filename.
+       This removes duplicated code and should make errors less likely.
+       Also, no longer mallocs storage.  All callers changed.
+       Don't quote ' ' if -Q.
+       (OUTCHAR): New macro.
+       (SAVECHAR, SAVE_2_CHARS): Remove.
+       (print_name_with_quoting): New stack arg.  All callers changed.
+       (print_color_indicator): Cast ext len to size_t to avoid warning
+       with GCC 2.8.
+       (length_of_file_name_and_frills): Rewrite to use quote_filename.
+       This fixes bug when computing file name length with -e.
+
+1997-12-15  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * tests/rm/deep-1 (deep): Remove `find > k' debugging remnant.
+
+1997-12-14  Paul Eggert  <eggert@twinsun.com>
+
+       Add shell style quoting, and make it the default.
+
+       * NEWS, doc/fileutils.texi: Describe -e, which is now the default.
+       Describe change to --dired output.
+
+       * src/ls.c (quote_shell): New var.
+       (long_options, decode_switches, usage): New option -e or --quote-shell.
+       (dired_dump_obstack): New arg STYLE.
+       (main): Pass quoting style to dired_dump_obstack.
+       (decode_switches): -N now clears quote_as_string.
+       (quote_filename): Add shell style quoting.
+
+1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * tests/ln/sf-1: Make sure we get diagnostics in English.
+
+       * Version 3.16g.
+
+       * src/system.h: Remove lseek and memchr dcls.
+       * src/sys2.h: Put them here instead.
+
+       * src/rm.c (ASSIGN_STRDUPA): Cast alloca return value to char*.
+
+       * lib/hash.h: s/HAVE_DECLARATION_/HAVE_DECL_/.
+
+1997-12-13  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * tests/Makefile.am (check-local): New target.
+
+       * tests/.posix-warn: New file.
+
+       * src/dd.c (usage): Mention that `notrunc' is a conv= option.
+       Change --help output to tell the truth: that for of=FILE,
+       FILE *is* truncated.  Reported by Miles Bader.
+       Remove incomplete, usage-like comment at top of file.
+
+       * src/mv.c (do_move): If rename fails for any reason (not just when
+       errno == EXDEV), then revert to trying copy-then-unlink.  This is
+       necessary to allow moving files within certain types of Linux NFS
+       mounted filesystems.  Reported by Marty Leisner.
+
+1997-12-11  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ln.c (do_link): Don't require --force when target exists and
+       using --backup.  This changes makes ln consistent with cp and mv in
+       this respect.  Suggestion from Eli Zaretskii.
+
+1997-12-06  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/du.c: Separate struct dcl and typedef.
+       (String *): Rename from parameter-shadowed `string'.
+       (stringstruct): Remove typedef.
+
+1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/savedir.c (savedir): Revert last change.  malloc always
+       works when called with zero, because we use the wrapper if the
+       system version is lacking.
+
+       * configure.in (AC_LFS): Use this macro rather than open-coding it.
+       (jm_AC_HEADER_INTTYPES_H): Likewise.
+       (jm_AC_TYPE_UINTMAX_T): Likewise.
+
+       * lib/human.c (human_readable): Convert to ANSI-style definition.
+       [lint]: Define `power'.
+
+       * src/ls.c (print_long_format): Rename inner-scoped `buf' arrays
+       to `hbuf' to avoid shadowing local.
+
+1997-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       Port to LFS and C9X in general, and to Solaris 2.6 in particular.
+
+       * NEWS: Describe ls -h, -H, rounding, new SI prefixes,
+       64-bit accumulators, and LFS.
+
+       * acconfig.h (HAVE_INTTYPES_H, uintmax_t): New macros.
+
+       * configure.in (CPPFLAGS, LDFLAGS, LIBS): Set to appropriate
+       values if large file support needs explicit enabling.
+       (HAVE_INTTYPES_H, uintmax_t): New macros to configure.
+
+       * doc/fileutils.texi: Describe new -H option, new ls -h option.
+       Clarify about powers of 1000 vs 1024.
+
+       * lib/Makefile.am (libfu_a_SOURCES): Add new file human.c.
+       (noinst_HEADERS): Add new file human.h.
+
+       * lib/fileblocks.c (st_blocks): long -> off_t.
+       Avoid arithmetic overflow when size is near max.
+       Depend on _POSIX_SOURCE and BSIZE, not _POSIX_VERSION, for
+       compatibility with system.h.
+       (BSIZE): Remove definition, since if BSIZE is not defined
+       we're never invoked.
+
+       * lib/fsusage.c: Do all calculations using uintmax_t.
+       Include <inttypes.h> if available.
+       (adjust_blocks, CONVERT_BLOCKS): Remove.
+       (get_fs_usage): Set new member fsu_blocksize, and do not convert
+       numbers to 512-byte block units; this avoids overflow here.
+       Cast lseek arg to off_t, not long.
+
+       * lib/fsusage.h (struct fs_usage): New member fsu_blocksize.
+       Other members are now uintmax_t, not long.
+
+       * lib/human.c, lib/human.h: New files.  The interface is inspired
+       by the human_readable function that was in du.c, but it's pretty
+       much rewritten from scratch.
+
+       * lib/idcache.c (getuidbyname, getgidbyname): Names can now
+       be NULL in cache.  This change merely fixes ifdeffed-out code.
+
+       * lib/savedir.c (savedir): Check for size zero before invoking
+       malloc; this can occur if st_size arg overflows on conversion to
+       unsigned int.  All callers now cast st_size arg to unsigned int.
+
+       * src/chgrp.c (<limits.h>, UINT_MAX, UINT_MAX): Remove; now
+       done by system.h.
+
+       * src/copy.c (copy_reg): Store file size as off_t, not long.
+       Do not assume st_size has been normalized to 512 byte blocks,
+       or that it fits in size_t after dividing by the blocksize.
+
+       * src/cp-hash.c (<inttypes.h>): Include if HAVE_INTTYPES_H.
+       (hash_insert2): Cast inode number to uintmax_t; this prevents
+       negative remainders if the inode number is negative and ino_t
+       is longer than unsigned.
+
+       * src/dd.c, src/df.c, src/du.c, src/ls.c (<inttypes.h>): Include if
+       HAVE_INTTYPES_H.
+       ("human.h"): Include.
+
+       * src/dd.c (input_blocksize, output_blocksize, conversion_blocksize):
+       Now size_t instead of long.  0 means unset.
+       (skip_records, seek_record, max_records): Now uintmax_t, not long.
+       (w_partial, w_full, r_partial, r_full, r_truncate):
+       Now uintmax_t instead of unsigned.
+       (print_stats): Print counts as uintmax_t, not unsigned.
+       (main, skip): Check for overflow when computing file offsets.
+       (skip): Records count arg is uintmax_t, not long; blocksize arg is
+       size_t, not long.  Try lseek even on non regular files, as per comment.
+       (oc, col): Now size_t, not int.
+       (copy): No need to check max_records >= 0 any more, as the
+       default value is now effectively infinity.
+       Cast lseek arg to off_t.
+       (copy, copy_with_block): conversion_blocksize - col can never
+       be negative now, since it's unsigned, so rewrite loops to
+       avoid problems with unsigned.
+       (scanargs): Parse numeric args using uintmax_t, not int.
+       Check for overflow when converting block size args to size_t.
+       Blocksize options are now unsigned, and are now 0 when not set yet.
+       (parse_integer): Return uintmax_t, not int; accept new int * arg
+       to store error indicator, since all returned values are now valid.
+       Check for overflow when scanning integer.
+
+       * src/df.c (LONGEST_HUMAN_READABLE_1K_BYTE_BLOCKS): Remove.
+       (human_readable_base): Renamed from human_blocks; value is now
+       zero or positive integer, not just zero or nonzero.
+       (output_units): New variable;
+       replaces booleans kilobyte_blocks and megabyte_blocks.
+       (long_options): Add --si or -H.
+       (print_header): Adjust to renamed option variables.
+       (human_readable_1k_blocks): Remove.
+       (show_dev): Count blocks using uintmax_t, not long.
+       Calculate percentages using double, not long; this still isn't
+       perfect as it suffers double rounding, but it's more likely to
+       round correctly in practice than using long did.
+       Adjust to renamed option variables.
+       Use new human_readable library function to format uintmax_t values.
+       (usage): Add -H, --si.
+       (main): Adjust to renamed option variables.
+       Use -H if BLOCKSIZE is SI.  Add -H.
+
+       * src/du.c (LONGEST_HUMAN_READABLE, enum Output_units): Remove.
+       (count_entry): Now returns uintmax_t, not long.
+       (human_readable_base): Renamed from opt_human_readable; value is now
+       zero or positive integer, not just zero or nonzero.
+       (output_units): Now an integer giving output size.
+       (tot_size): Now uintmax_t, not long.
+       (long_options, usage): Add --si or -H.
+       (main): Adjust to renamed option variables.
+       Use -H if BLOCKSIZE is SI.  Add -H.
+       (human_readable): Remove; rewritten and now in lib/human.c.
+       (print_size): Rewrite in terms of human_readable.
+       Accept extra arg to be printed after size; all callers changed.
+
+       * src/install.c (BITSPERBYTE): Remove.
+       (UID_T_MAX, GID_T_MAX): Define in terms of TYPE_MAXIMUM.
+
+       * src/ls.c (<limits.h>): Don't include; system.h does it now.
+       (INT_MAX): Remove.
+       (longdiff): Remove bogus definition that uses subtraction;
+       it gives the wrong answer when overflows occur.
+       (convert_blocks): Remove.
+       (output_units): New variable;
+       replaces booleans kilobyte_blocks and megabyte_blocks.
+       (human_readable_base): New variable.
+       (long_options, usage): Add -h or --human-readable and -H or --si.
+       (decode_switches): Adjust to renamed option variables.
+       Use -H if BLOCKSIZE is SI.  Add -h, -H.
+       (print_dir): Count blocks using uintmax_t, not int.
+       (gobble_file): Now returns uintmax_t, not int.
+       Don't convert blocks to 512 byte units, as this might overflow;
+       let caller handle the problem.  Deduce what caller will print
+       by invoking human_readable.
+       (print_long_format, print_file_name_and_frills): Don't assume
+       inode number, block count, file size fit in unsigned long.
+       Use human_readable to do block count conversion and to print
+       file sizes.
+       (prep_non_filename_text): Print decimal string for time if
+       localtime fails due to enormous time_t.
+
+       * src/system.h (<limits.h>): Include if HAVE_LIMITS_H.
+       (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX, UINT_MAX):
+       New macros.
+       (ST_NBLOCKS): Now counts actual blocks, not 512-byte blocks.
+       (ST_NBLOCKSIZE): New macro.
+
+1997-11-24  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/sys2.h: New file -- but just temporary.
+       * src/system.h: Move lots of pieces into sys2.h.
+       Include sys2.h.
+
+1997-11-19  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (AUTOMAKE_OPTIONS): Use ansi2knr so *I* don't
+       have to convert my hash package to use k&r C.
+
+1997-11-15  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * intl/Makefile.in (distclean): Don't remove libintl.h here.
+       * Makefile.am (DISTCLEANFILES): Remove it here instead.
+
+1997-11-13  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/mktime.c: Update from FSF.
+       * lib/strftime.c: Update from FSF.
+       * m4/strftime.m4: Check for POSIX.2's %f format spec.
+
+1997-11-12  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/copy.c (copy_dir): Use path_concat rather than open-coding it.
+
+       * src/rm.c [mempcpy]: Remove definition.
+       * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define here instead.
+       * lib/path-concat.c (path_concat): Use mempcpy, not stpcpy.
+
+1997-11-09  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Check for localtime_r.
+       * m4/strftime.m4 (jm_STRFTIME_PREREQS): Check for localtime_r.
+       (jm_FUNC_GNU_STRFTIME): Use new macro.
+       (jm_FUNC_STRFTIME): New macro.  Likewise.
+       Reported by Noel Cragg.
+
+1997-11-08  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * m4/getline.m4: Fix typo in comment.
+       Add header check for string.h.
+
+       * m4/Makefile.am (EXTRA_DIST): Add readdir.m4.
+       * configure.in (jm_FUNC_READDIR): Use it.
+       (AC_FUNC_FNMATCH): Add mempcpy.
+
+1997-11-02  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acconfig.h: Add malloc and realloc.
+
+       * src/rm.c: Put cycle-detecting code inside an
+       #ifdef ENABLE_CYCLE_CHECK, for systems lacking d_ino.
+       [D_INO_IN_DIRENT]: Define ENABLE_CYCLE_CHECK.
+
+       * src/rm.c: (ASSIGN_STRDUPA): Clean up.
+       (right_justify): Use memcpy return value directly.
+       Suggestions from Ulrich Drepper.
+
+       (remove_cwd_entries) [! defined HAVE_WORKING_READDIR]: Impose overhead
+       of working around non-POSIX readdir implementation only on systems
+       that need it.
+       (remove_cwd_entries): Temporarily save a copy of each entry name in
+       an obstack rather than on the stack via alloca, then free it in the
+       likely event that we don't save the entry in the hash table.
+
+1997-10-25  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/xmalloc.c (xalloc_fail): Renamed from fixup_null_alloc.
+       (xcalloc): #ifdef-out unused function.
+       (xrealloc): Remove code to work around deficient versions of realloc.
+       Now we have an autoconf-enabled replacement version.
+       (xmalloc): Remove code to work around deficient versions of malloc.
+       Now we have an autoconf-enabled replacement version.
+
+       * configure.in (jm_FUNC_MALLOC): Use it.
+
+       * lib/Makefile.am (EXTRA_DIST): Add malloc.c.
+       * lib/malloc.c: New file.
+       * m4/malloc.m4: New file.
+       * m4/Makefile.am (EXTRA_DIST): Add malloc.m4.
+
+       * lib/Makefile.am (noinst_HEADERS): Add xalloc.h.
+
+       * lib/xalloc.h: New file.
+       * lib/xmalloc.c: Updated from textutils.
+
+       * src/*.c: Remove old-style xmalloc and xrealloc decls.
+       * src/system.h: Include xalloc.h.
+       Remove dcls of xmalloc, xcalloc and xrealloc.
+
+1997-10-24  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (gobble_file): Cast pointer arg in xrealloc call to char*.
+       * src/*.c: Remove old-style xmalloc and xrealloc decls.
+       * src/system.h: Add prototyped xcalloc, xmalloc and xrealloc decls.
+       Suggestion from Achim Blumensath.
+
+1997-10-23  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Makefile.am (aclocal-files): Also depend on m4/Makefile.am.
+
+       * src/system.h [!HAVE_DECLARATION_FREE]: Declare free.
+       [!HAVE_DECLARATION_MALLOC]: Declare malloc.
+       [!HAVE_DECLARATION_REALLOC]: Declare realloc.
+       [!HAVE_DECLARATION_STPCPY]: Declare stpcpy.
+       [!HAVE_DECLARATION_STRSTR]: Declare strstr.
+       * src/copy.c: Remove stpcpy decl.
+       * src/cp.c: Likewise.
+       * src/install.c: Likewise.
+       * src/ln.c: Likewise.
+       * src/ls.c: Likewise.
+       * src/dircolors.c: Remove free and malloc decls.
+       * src/ls.c: Likewise.
+       * src/rm.c: Remove free, malloc, and realloc decls.
+       On some systems, strstr and stpcpy are macros, so declaring them
+       unconditionally gets syntax errors.
+       Reported by Mark M. Kettenis.
+
+       * configure.in: Use jm_CHECK_DECLS.
+       * m4/Makefile.am (EXTRA_DIST): Add decl.m4 and check-decl.m4.
+
+1997-10-22  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * m4/decl.m4: New file.
+       * m4/check-decl.m4: New file.  New macro, jm_CHECK_DECLS.
+
+1997-10-18  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/rm.c (remove_cwd_entries): Entries in table of processed dir
+       entries are not malloc'd, so don't have hash cleanup free them.
+       Rewind dirp upon NULL readdir, required for at least SunOS.
+
+1997-10-13  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AC_CHECK_HEADERS): Add termios.h.
+       * src/ls.c: Bracket inclusion of termios.h with #ifdef HAVE_TERMIOS_H.
+       Masami Takikawa reported that this is necessary on NeXTStep 3.0 systems.
+
+1997-10-07  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/*.c: Update bug-reporting address.
+
+1997-10-06  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/install.c (usage): Add a line describing --verbose.
+
+       * lib/makepath.c (make_path): Print message IFF the directory was
+       just created and the format string is non-NULL.
+       Print the verbose message using fprintf, not error.
+
+1997-10-05  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (noinst_HEADERS): Add savedir.h.
+
+       * src/copy.h (struct cp_options): New field: require_preserve.
+       * src/copy.c (copy_internal): Use require_preserve.
+       * src/cp.c (cp_option_init): Initialize it.
+       (main): Set to 1 for -a and for -p.
+
+1997-10-03  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/savedir.h (savedir) [__P]: New file with prototype.
+       * lib/savedir.c (savedir): Declare DIR parameter to be const.
+       Include savedir.h.  Indent cpp directives.
+       * src/chgrp.c: Remove old-style savedir dcl.  Include savedir.h for
+       prototype.
+       * src/chmod.c: Likewise.
+       * src/chown.c: Likewise.
+       * src/copy.c: Likewise.
+       * src/du.c: Likewise.
+       Achim Blumensath reported that ``on systems like BeOS, where off_t is
+       64 bits [not having a prototype] results in passing 0 as name_size...''
+
+1997-09-27  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), per
+       automake manual.
+
+1997-09-20  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (libfu_a_SOURCES): Use hash.c, not oa-hash.c.
+       (noinst_HEADERS): Use hash.h, not oa-hash.h.
+
+1997-09-15  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/rm.c: Use hash.c (chaining) functions, not those of oa-hash.c
+       (open addressing).  The latter implementation is wonderful when
+       deletions are rare, but doesn't support the frequent deletions
+       required to implement the active directory set.
+
+       * lib/hash.c: New file -- replaces oa-hash.c.
+       * lib/hash.h: New file.
+       * lib/oa-hash.c: Remove.
+       * lib/oa-hash.h: Remove.
+
+       * src/ln.c (do_link): Perform S_ISLNK test only if lstat succeeded.
+       Otherwise, dest_stats could be used uninitialized.
+
+1997-09-14  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/rm.c (full_filename): Use realloc, not xrealloc.
+
+       * configure.in (jm_FUNC_REALLOC): Use it.
+       * m4/Makefile.am (EXTRA_DIST): Add realloc.m4.
+       * m4/realloc.m4: New file.
+       * lib/Makefile.am (EXTRA_DIST): Add realloc.c.
+       * acconfig.h (realloc): Add #undef.
+
+       * src/dd.c (equal): Use STREQ (from system.h) instead.
+       (siginfo_handler): New function: handler for SIGINFO/SIGUSR1.
+       (install_handler): New function.
+       (main): Use install_handler instead of open-coding it.
+       Handle SIGINFO (or SIGUSR1 if that's not defined).
+       (print_stats): Move definition to precede first reference.
+       Remove prototype.
+
+1997-09-13  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (print_many_per_line): Add some non-essential curly braces.
+       (print_horizontal): Likewise.
+       (struct col_info) [valid_len]: Rename from `valid' which conflicted
+       with the macro in locale.h of SunOS4.1.4.
+
+       * src/rm.c: (PARAMS): Define.
+       (rm): Guard prototype in forward dcl with PARAMS.
+
+       * lib/strverscmp.h [HAVE_CONFIG_H]: Include config.h.
+       (PARAMS): Define.
+       Guard prototype with PARAMS.
+
+       * lib/oa-hash.c: Use K&R style function dcls, not ANSI.
+       (HASH_MALLOC): Prefix with (Type*) cast to placate old compilers.
+       Use assert, not ASSERT.
+       Include assert.h.
+       (HASH_DELETED_ITEM_MARKER): Define to address of file-scoped static,
+       not less-portable ((void *) (~0U)).
+       (HASH_VACANT): Define here, not in hash.h.
+
+       * lib/oa-hash.h: (HASH_DELETED_ITEM_MARKER): Move definition to hash.c.
+       (HASH_VACANT): Likewise.
+
+       * lib/strverscmp.c [HAVE_CONFIG_H]: Include config.h.
+       (strverscmp): Use `1' not `+1' -- some compilers (sunos' cc) can't
+       parse it.
+
+       * lib/strdup.c [HAVE_CONFIG_H]: Include config.h.
+
+       * src/rm.c: Finish rewrite to use chdir and hash tables.
+       See `Implementation overview' comment in the source.
+
+1997-09-11  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/install.c: Add new option: --verbose (-v).
+       From Andreas Schwab.
+
+1997-09-01  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (EXTRA_DIST): Remove mvdir.c and rmdir.c.
+       Add lstat.c and stat.c.
+
+       * src/ls.c [!STDC_HEADERS]: Declare malloc.
+
+       * m4/Makefile.am (EXTRA_DIST): Add stat.m4.
+       * m4/stat.m4: New file.
+       * m4/stat.m4 (jm_FUNC_STAT): New macro.
+       * lib/stat.c: New file.
+       * configure.in (jm_FUNC_STAT): Use it.
+
+       * src/ln.c (do_link): Form destination file name (when DEST is a
+       directory) before checking whether SOURCE and DEST are the same file.
+       See tests/ln/sf-1.  Reported by Michael Veksler.
+
+       * tests/ln: New directory and test.
+       * tests/Makefile.am (SUBDIRS): Add ln.
+       * configure.in (AC_OUTPUT): Add tests/ln/Makefile.
+
+1997-08-31  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/chgrp.c (change_file_group): Call describe_change with a
+       3-state argument.
+       (describe_change): Report whether the operation was successful,
+       a failure, or that the request was a no-op.
+       Before, running `chgrp --verb bin /' as non-root reported
+         group of / changed to bin
+         chgrp: you are not a member of group `bin': Not owner
+
+       * src/chown.c (change_file_owner): Call describe_change with a
+       3-state argument.
+       (describe_change): Report whether the operation was successful,
+       a failure, or that the request was a no-op.
+       Before, running `chown --verb bin /' as non-root reported
+         owner of / changed to bin
+         chown: /: Not owner
+
+       * configure.in (jm_FUNC_LSTAT): Use it.
+
+       * acconfig.h (lstat): Add #undef.
+
+       * m4/Makefile.am (EXTRA_DIST): Add lstat.m4.
+
+       * m4/lstat.m4: New file.
+       * m4/lstat.m4 (jm_FUNC_LSTAT): New macro.
+       * lib/lstat.c: New file.
+
+       * src/rm.c (fspec_get_full_mode): Don't call error here.
+       (remove_file): Call error after fspec_get_full_mode call, if necessary.
+       Don't print mode when asking whether to descend into write-protected
+       directory.
+       (remove_dir): Don't fail just because we can't stat the file to get
+       the mode for the prompt string.
+       (rm): Exit successfully for missing files when -f is given.
+       (rm): Remove cruft to work around SunOS4's broken lstat now that
+       there is a working replacement function.
+
+       * lib/oa-hash.c: New file.
+       * lib/oa-hash.h: New file.
+
+       * lib/Makefile.am (libfu_a_SOURCES): Add oa-hash.c.
+       (noinst_HEADERS): Add oa-hash.h.
+
+       * lib/stpncpy.c: New file.
+       * configure.in (AC_REPLACE_FUNCS): Add stpncpy.
+
+       * src/rm.c (remove_cwd_entries): Convert to using oa-hash.c.
+
+       * m4/Makefile.am (EXTRA_DIST): Add d-ino.m4 and d-type.m4.
+
+       * tests/rm: New directory and tests.
+       * tests/Makefile.am (SUBDIRS): Add rm.
+       * configure.in (AC_OUTPUT): Add tests/rm/Makefile.
+
+       * src/dircolors.c [!STDC_HEADERS]: Declare malloc.
+       Remove unnecessary dcl of xmalloc.
+
+       * src/rm.c: Major rewrite in progress.  Use fchdir/chdir.
+
+       * m4/d-ino.m4: New file.
+       * m4/d-type.m4: New file.
+       * acconfig.h (D_TYPE_IN_DIRENT): Define.
+       * configure.in: Move code to check for d_ino into its own file.
+       Use jm_STRUCT_DIRENT_D_TYPE and jm_STRUCT_DIRENT_D_INO.
+
+       * src/chmod.c (change_file_mode): Call describe_change with a 3-state
+       argument.
+       (describe_change): Report whether the operation was successful,
+       a failure, or that the request was a no-op.
+       Before, running `chmod --verb u-r /' as non-root reported
+         mode of / changed to 0355 (-wxr-xr-x)
+         chmod: /: Not owner
+       Reported by Philippe Schnoebelen <phs@hobbes.fing.edu.uy>
+
+1997-07-28  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AC_OUTPUT): Remove tests/ls/Makefile.
+       Add tests/cp/Makefile and tests/mkdir/Makefile.
+
+       * lib/modechange.c (mode_create_from_ref): Don't use umask.
+       Don't use MODE_X_IF_ANY_X.
+
+       * src/install.c (main): New option --preserve-timestamps (-p).
+       (install_file_in_file): Preserve timestamps if requested.
+       (change_timestamps): New function.
+       (usage): Describe --preserve-timestamps.
+       Correct --mode description.
+       From Galen Hazelwood.
+
+       * src/install.c: Declare pointer parameters const as appropriate.
+
+1997-07-13  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * doc/Makefile.am (EXTRA_DIST): Remove explicit mention of texinfo.texi.
+       Now, automake includes it automatically.
+
+1997-07-09  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * tests/mkdir: New directory and associated files.
+       * tests/cp: New directory and associated files.
+       * tests/Makefile.am (SUBDIRS): Add cp and mkdir.
+
+       * lib/makepath.c (make_path): Chdir to `/' before starting if necessary.
+       Call save_cwd before while loop rather than from first iteration
+       inside it.
+
+       * lib/strverscmp.c (strverscmp): Add `parenentheses around arithmetic
+       in operand of |' as suggested by gcc -Wall.
+
+1997-07-06  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/idcache.c (getuidbyname): Declare parameter to be const.
+       (getgidbyname): Declare parameter to be const.
+
+1997-07-06 Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>
+
+       * lib/modechange.h (mode_create_from_ref): Add prototype.
+       (MODE_MASK_ALL): New define.
+       (MODE_BAD_REFERENCE): New define.
+       * lib/modechange.c (mode_create_from_ref): New function.
+       * lib/strverscmp.c: New file.
+       * lib/strverscmp.h: New file.
+       * lib/Makefile.am (noinst_HEADERS): Add strverscmp.h.
+
+       * configure.in (AC_REPLACE_FUNCS): Add strverscmp.
+
+       * src/ls.c: Add new option: --sort=version (-v).
+       * src/chgrp.c: Add new option: --reference=FILE.
+       * src/chown.c: Add new option: --reference=FILE.
+       * src/chmod.c: Add new option: --reference=FILE.
+
+1997-07-06  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/idcache.c (getuser): Return NULL (rather than stringified uid)
+       upon lookup failure.
+       (getgroup): Likewise.
+       (getuidbyname) [NOT_USED]: #ifdef-out unused function.
+       (getgidbyname) [NOT_USED]: #ifdef-out unused function.
+       Suggested by François Pinard.
+       * src/ls.c (print_long_format): Reflect changes in semantics of
+       getuser, getgroup.
+
+1997-07-04  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Makefile.am (aclocal-files): Look in source directory, not build dir.
+       From Andreas Schwab.
+
+1997-07-03  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/mv.c (apply_attributes): New function.
+       (copy_reg): Use apply_attributes instead of open-coding the pieces.
+       Now, failure to preserve file attributes does not cause mv to change
+       its exit status, and such failures elicit warning diagnostics.  This
+       behavior is required by POSIX.  Before, failure to preserve ownership
+       due to insufficient access was diagnosed only for root.
+       Prompted by a report from Bengt Martensson.
+
+Tue Jul  1 06:42:17 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/makepath.c (make_path): Reorder stat-then-mkdir-if-missing
+       calls so that mkdir is called first.  Before make_path would first
+       `stat' a directory, then call mkdir if it didn't exist.  But if
+       some other process created the directory between the stat & mkdir,
+       the mkdir would fail with EEXIST.  Diagnosis and suggestion from
+       Greg McGary.
+
+Sun Jun 29 17:19:30 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dd.c (copy): Add FIXME comment.
+
+       * src/mv.c (copy_reg): New parameter, SOURCE_STATS.
+       (do_move): Update caller.
+
+Sun Jun 22 08:32:46 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       Use variable width columns when printing in multi-column mode.
+       * src/ls.c: (init_col_info): New function.
+       (print_current_files): Call init_col_info if format is
+       `many_per_line' or `horizontal'.
+       (print_many_per_line): Calculate and apply optimum column widths.
+       (print_horizontal): Likewise.
+       From Ulrich Drepper.
+
+       * src/mv.c (movefile): Take new boolean parameter, DEST_IS_DIR,
+       to save a stat per moved file when the destination is a directory.
+       (main): Call movefile with additional argument.
+       (strip_trailing_slashes_2): New function.
+       (movefile): Remove trailing slashes from dest.  Otherwise, stat ("b/")
+       fails with ENOTDIR on systems including Linux w/libc 2.0.30.
+       Reproduce with `rm -rf a b; mkdir a; touch b; ./mv a b/'.
+       (do_move): Fix misleading comment.
+
+Sat Jun 21 21:26:57 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in: Remove now-unused definitions of LN, MV, RM.
+
+Sun Jun 15 07:04:29 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/full-write.c (full_write): Add comment regarding failure due
+       to bug in Linux Slackware 1.2.13 kernel.
+
+       * lib/makepath.c: Rewrite using save-cwd.c and chdir to remove
+       quadratic component of complexity.  Before, it processed O(n^2)
+       directory name components via stat and mkdir.  Now it's O(n).
+       This makes mkdir -p a lot more efficient when creating directories
+       with very many components.  On a Linux 2.0.30 ext2fs filesystem
+       this command: mkdir -p `perl -e 'print "a/" x 500'`  now runs in
+       0.77 seconds (user+sys).  Contrast that with the 9.5(!) seconds
+       it took before.
+
+Sat Jun 14 11:40:17 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * man/Makefile.am: (EXTRA_DIST): Put man_MANS here so they are
+       distributed.  This is necessary for automake-1.1p.
+
+Tue Jun  3 15:00:00 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/fileblocks.c [HAVE_UNISTD_H]: Include unistd.h.
+       John Gatewood Ham reported that this is necessary for DJGPP/Win95.
+
+Wed May 28 06:35:56 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/mountlist.c (read_filesystem_list): Add `|| defined (__OpenBSD__)'
+       to the NetBSD #if so OpenBSD also uses the f_fstypename member.
+       (fstype_to_string): Add `&& !defined (__OpenBSD__)' to the NetBSD #if
+       expression to exclude this function definition.  OpenBSD 2.1 beta
+       doesn't need it.  Patch from Hugh Daniel <hugh@ecotone.xanadu.com>
+
+Tue May 27 04:35:17 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/cp.c: Use base_name, not basename.
+       * src/dircolors.c: Likewise.
+       * src/install.c: Likewise.
+       * src/ln.c: Likewise.
+       * src/mv.c: Likewise.
+       * src/mvdir.c: Likewise.
+       * src/rm.c: Likewise.
+
+       * configure.in: Add AC_SYS_LONG_FILE_NAMES.
+       Check for pathconf.
+       Don't replace basename.  Now we use only base_name.
+       Clean up kludge that worked around a bug (now-fixed) in automake.
+
+       * lib/argmatch.h Change dcl of program_name so it doesn't conflict
+       with the ubiquitous char* one.
+
+       * lib/addext.c: New file.
+       * lib/Makefile.am (libfu_a_SOURCES): Add addext.c.
+       Remove getversion.c;  get_version is now in backupfile.c.
+       Add basename.c since it's no longer replacible.
+
+       * lib/getopt.c: Update from glibc via patch-2.2.93.
+       * lib/getopt1.c: Likewise.
+       * lib/getopt.h: Likewise.
+       * lib/argmatch.h: Update from FSF via patch-2.2.93.
+       * lib/argmatch.c: Likewise.
+       * lib/backupfile.c: Likewise.
+       * lib/backupfile.h: Likewise.
+       * lib/basename.c: Likewise.
+
+Sun May 25 09:21:01 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/copy.c (copy_internal): When preserving symlinks
+       (--no-dereference) and the destination file is a symlink,
+       use stat (not xstat) to see if it points back to the source.
+       Reported by James <james@albion.glarp.com>.
+
+       * src/du.c: Remove global variable opt_human_readable.
+       (enum Output_units): Rename from output_size.
+       Rename size_* to Unit_*.
+       Add Unit_variable to correspond to --human-readable.
+       (convert_blocks): Remove now-unused definition.
+       (human_readable): Rename paramater n_bytes to n_blocks.
+       Adjust conversions to reflect fact that input is now number of
+       512-byte blocks, not bytes.
+       (print_size): New function.
+       (du_files): Use print_size instead of open coding it.
+       (count_entry): Always count in units of 512-byte blocks to delay.
+       This lets du accumulate totals corresponding to a terabyte before
+       overflowing 32-bit long int.
+       Use print_size instead of open coding it.
+
+       Tue Feb  4 11:58:49 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * src/du.c (convert_blocks): Remove now-unnecessary #undef.
+       (du_files): Pass output_size unchanged to convert_blocks.  No need
+       to test output_size for size_bytes, convert_blocks handles that
+       correctly.
+       (count_entry): Likewise.
+
+       * src/system.h (convert_blocks): Remove definition.
+       * src/ls.c (convert_blocks): Add definition.
+
+Sun May 25 09:11:17 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/du.c [AIX]: Remove unused #pragma alloca.
+
+Sat May 24 09:20:12 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/rmdir.c: New options: --ignore-fail-on-non-empty and --verbose.
+       (remove_parents): Implement new options.
+       (main): Likewise.
+
+       * lib/mountlist.c (read_filesystem_list): Show automount-related
+       duplicate filesystems only when --all specified.  With suggestions
+       from Stuart Kemp.  Also indent cpp directives.
+
+       * configure.in (AC_CHECK_FUNCS): Add hasmntopt.
+       (AC_CHECK_HEADERS): Add sys/mntent.h.
+       (ALL_LINGUAS): Add Czech (cs).
+
+Wed Mar 26 23:43:57 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/du.c (main): Implement new --max-depth=N option.
+       Based on the idea and a patch from Torbjorn Lindgren.
+       (du_files): Likewise.
+       (count_entry): Likewise.
+
+Sat Mar 22 20:29:10 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * missing: New file -- from the automake-1.1m distribution.
+
+Fri Mar 21 23:58:12 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.1l.
+       (aclocal.m4): Use aclocal's new -I option.
+
+Thu Mar 13 21:27:36 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/mktime.c: (TIME_T_MIN): Work around a bug in Cray C 5.0.3.0.
+
+Wed Mar 12 23:11:11 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/chgrp.c (change_file_group): Use uid of -1 to indicate
+       we don't want to change the file's user ID.
+
+       * m4/gettext.m4: Update from gettext-0.10.27.
+
+       * acconfig.h (chown): Add #undef.
+
+       * configure.in (ALL_LINGUAS): Add ko.
+       Use jm_FUNC_CHOWN.
+       * m4/chown.m4: New file.
+       * m4/Makefile.am (EXTRA_DIST): Add chown.m4.
+       * lib/chown.c: New file.
+       * lib/Makefile.am (EXTRA_DIST): Add chown.c.
+
+Sun Mar  9 22:46:41 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (decode_switches): Ignore value of COLUMNS envionment
+       variable when it is the empty string.  Suggestion from Ulrich Drepper.
+       This makes it easier on people using shells (which?) with which it
+       is not easy to unset environment variables.
+
+Wed Feb 26 23:46:39 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getdate.y: (tYEAR_UNIT): Increase yyRelYear by $1, not just by 1.
+       From Andreas Schwab.
+
+       * src/copy.c (copy_internal): When there is any potential for
+       ambiguity in a diagnostic, give explanatory diagnostic in addition
+       to file name.
+       * src/cp.c (re_protect): Likewise.
+
+Sat Feb 22 14:10:25 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getdate.y
+       (tMONTH_UNIT): Increase yyRelMonth by $1, not just by 1.
+       (tDAY_UNIT): Likewise for yyRelDay.
+       (tHOUR_UNIT): Likewise for yyRelHour.
+       (tMINUTE_UNIT): Likewise for yyRelMinutes.
+       (tSEC_UNIT): Likewise for yyRelSeconds.
+       Matthew S. Levine reported that touch -d yesterday didn't work.
+
+Thu Feb 20 20:16:59 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/mktime.c: Update from libc.
+       * lib/strtol.c: Update from libc.
+
+Wed Feb 19 22:06:32 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (main): Remove trailing slashes from command line arguments.
+       Otherwise, running `mkdir x; chmod 644 x; ls -d x/' (note the trailing
+       slash) makes ls fail with permission denied on at least Linux 1.2.13
+       and 2.0.14 systems.
+
+Wed Feb  5 21:54:17 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (quote_filename): Allocate two more bytes (for quotes)
+       when using --quote-name (-Q).
+       Feb 2 change wasn't complete.  Patch from Mark Harris.
+
+Mon Feb  3 21:49:55 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * po/POTFILES.in: Add copy.c and cp-hash.c.  Remove cp-aux.c.
+
+Sun Feb  2 09:40:37 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/system.h [__GNUC__]: Don't define alloca to __builtin_alloca.
+
+       * Makefile.am (SUBDIRS): Add tests.
+
+       * configure.in (AC_OUTPUT): Add tests/Makefile and tests/ls/Makefile.
+       * tests: New directory.
+       * tests/ls: New directory.
+
+       * src/ls.c (quote_filename): Don't backslash-escape double quotes.
+       This fixes a problem whereby columns weren't aligned when some files
+       contained double quote characters and ls's --escape (-b) option was
+       used.  Reported by Mark Harris.
+
+       * src/cp-hash.c (struct entry): Move dcl to this file from cp.h.
+       (struct htab): Likewise.
+       No longer include cp.h.  Instead, include the things it used to
+       include.
+       (hash_insert2): Make function static.  Move this function to precede
+       the sole function from which it is called.
+
+       * src/Makefile.am (noinst_HEADERS): Add copy.h, cp-hash.h.
+       Remove cp.h.
+       (EXTRA_DIST): Remove cp-aux.c and cp-hash.c.
+       (cp_SOURCES): Remove cp-aux.c.  Add cp-hash.c.
+       * src/cp-aux.c: Remove file.
+       * src/cp.h: Remove file.
+
+       * src/du.c (hash_insert2): Rename local HTAB to HT to avoid shadowing
+       global.
+
+       * src/dircolors.c [obstack_chunk_alloc]: Define to malloc, not xmalloc
+       to work better with new obstack functions.
+       * src/ls.c (obstack_chunk_alloc): Likewise.
+
+       * src/df.c (main): Rename local I to C to avoid shadowing and to
+       be more consistent.  Declare I in inner scopes.
+
+       * po/Makefile.in.in (POTFILES): Redirect to an intermediate file
+       and write-protect POTFILES.
+
+Fri Jan 31 21:13:04 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/chown.c (usage): Make the parenthetical note on --no-dereference
+       a little more general.
+
+       * src/*.c: Compare getopt_long return value against -1, not EOF.
+       Use NULL, not `(int *) 0' as last parameter in getopt_long call.
+       (usage): Bracket bug-reporting address with <> and append a period.
+
+1997-01-27  Paul Eggert  <eggert@twinsun.com>
+
+       * src/ls.c (print_long_format): Fix off-by-one problem in size
+       being passed to strftime.
+
+Sun Jan 26 20:17:50 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Version 3.16.
+
+       * acconfig.h (strftime): Add #undef.  From Marcus Daniels.
+
+Sat Jan 25 00:34:39 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/du.c (count_entry): Fix blatant bug (typo?) that made
+       --megabytes report numbers in units of kilobytes.
+       Reported by Galen Hazelwood.
+
+       * src/cp.h: Remove now-unnecessary prototype for is_ancestor.
+
+       * lib/Makefile.am (noinst_HEADERS): Add getdate.h.
+
+       * src/cp-aux.c (is_ancestor): Remove function.
+       * src/cp.c (is_ancestor): Add function.
+
+       * src/cp.h: Remove spurious extern dcl of htab.
+
+       * m4/getgroups.m4: Move the code from configure.in into
+       this macro that resorts to looking for getgroups in -lbsd.
+       Set new shell variable, GETGROUPS_LIB (that callers should check),
+       if it is found there.
+       * configure.in: Check $GETGROUPS_LIB just after jm_FUNC_GETGROUPS.
+       (AC_CHECK_FUNCS): Remove getgroups.
+       Remove code that resorts to looking for getgroups in -lbsd.
+
+       * configure.in (jm_FUNC_GNU_STRFTIME): Use it -- because ls
+       needs a version of strftime that supports the %e format and
+       pretty many systems lack that: NextStep 3.3, Mips Ultrix ?.?.
+       This is a little bit overkill (for now) in that if the strftime
+       in your C library doesn't have all features of GNU strftime (even
+       though it may support %e) ls will be linked with the version of
+       strftime provided with this package.  But for an upcoming release,
+       GNU ls will provide an option to allow the user to specify the
+       date format string -- and for that I want to make GNU strftime
+       the default in any case.  Think of this as an incentive to use
+       the GNU C library.
+
+Fri Jan 24 23:36:00 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/long-options.c (parse_long_options): Reset optind to zero
+       before just returning so that getopt internals get initialized from
+       the probably-new parameters when/if getopt is called later.
+       From Ulrich Drepper.
+
+Mon Jan 20 06:52:09 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (fu_cv_sys_truncating_statfs): Add preprocessor
+       guard to make sure that this test for Sun brokenness doesn't
+       get a false positive on any other type of system.  Eirik Fuller
+       reported that Linux 2.1.20 <sys/vfs.h> has a f_spare member in
+       the statfs struct.  And that triggered a false positive.
+
+Thu Jan  9 06:23:18 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * m4/gettext.m4: Remove AC_ISC_POSIX.  From Karl Heuer.
+
+Wed Jan  8 16:38:24 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Version 3.15.
+
+       * src/ls.c (print_long_format): Cast alloca return value to char*.
+
+       * lib/getopt.c (_getopt_internal): Use `_', rather than the
+       (sometimes-)expansion `gettext'.
+
+Tue Jan  7 22:49:55 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getopt.c: New (more POSIX compliant) version from GNU libc.
+       [_]: Define to gettext also if ENABLE_NLS is defined.
+       This is temporary.
+
+Sun Jan  5 09:33:07 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (print_long_format): Avoid making unnecessary copy of
+       date/time string.  Patch from Paul Eggert.
+       (print_long_format): NUL-terminate line of output.
+       (print_long_format): Detect and handle strftime failure
+       due to pathologically long strings in locale tables.
+       Patch from Paul Eggert.
+       (print_long_format): Change references to BIGBUF in use of
+       FPUTS macro to references to BUF.
+       Use 11 (not 20) bytes for mode string buffer.
+
+Sat Jan  4 21:14:36 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (print_long_format): Clean up vestiges of legacy
+       ctime-oriented code.  With internationalization and strftime,
+       you can't presume that %a expands to a 3-byte string.
+       Reported by Ross Ridge.
+       (print_long_format): Use POSIX-mandated %e (blank-padded numeric
+       day of month), not %d (the same number, but *zero*-filled).
+
+Fri Jan  3 21:08:29 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acconfig.h (getgroups): Add #undef.
+       From Marcus Daniels.
+
+Thu Jan  2 21:16:16 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (EXTRA_DIST): Add getgroups.c.
+
+Wed Jan  1 17:30:26 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getgroups.c: New file.
+
+       * configure.in (AC_ARG_PROGRAM): Remove explicit use.
+       It's implicit in AM_INIT_AUTOMAKE.  From Wayne Stewart.
+       (list_mounted_fs): Fix typo (by declaring NUMSYS) in test for
+       getfsstat on osf1.  From hitchens@epa001.enet.dec.com.
+
+Sun Dec 29 21:55:13 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (jm_FUNC_GETGROUPS): Use it.
+
+Sat Dec 28 14:32:05 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c: Two problems fixed by these changes from Joakim Rosqvist.
+       Quoting Joakim:
+       1) The "total" number and the size of the first file as
+       output from 'ls --color -s' did not get colorized according
+       to the "no"-argument in LS_COLORS. Fixed by adding a function
+       prep_non_filename_text which prints the C_LEFT C_NORM C_RIGHT
+       strings (or C_END). It is called from main before any text is
+       output, and from print_name_with_quoting after having output a
+       colorized filename.
+       2) If the "no"-argument of LS_COLORS is set, the terminal will be
+       set to print in that color after ls exits. The man-pages suggests
+       setting "no" and "fi" to the terminals default colors to avoid
+       the problem, but that would mean I can't use anything but the
+       default color for regular files and non-filename text. Fixed by
+       outputting C_LEFT immediately followed by C_RIGHT right before
+       exit, which restores the default color.
+
+Fri Dec 27 17:29:02 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Makefile.am (aclocal.m4): No longer depend on acinclude.m4.
+
+       * configure.in: AC_REQUIRE version 2.12 of autoconf.
+
+Sun Dec 22 23:29:10 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acinclude.m4: Move macros to individual files in new directory, m4/.
+       See ChangeLog entries in sh-utils for the details.
+
+Wed Dec 18 23:09:19 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.hin (ORPHAN): By default, color orphans red on
+       a black background.
+
+       * src/dircolors.c (usage): Remove --print-data-base.
+       Now only --print-database remains.  Although it wasn't documented,
+       --print-data-base was still accepted.  But it made `--p', `--print',
+       `--print-data', etc. ambiguous.
+
+       * src/ls.c (gobble_file): Stat symlinks also when printing with
+       color and set linkok to reflect existence of referent.
+       Patches from Joakim Rosqvist, James Antill, and Jesse Thilo.
+
+Tue Dec 17 21:03:40 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/system.h (ISDIGIT): Replace with smaller, faster edition
+       that yields nonzero only on ASCII digits.
+       (ISDIGIT_LOCALE): New macro, with same meaning that ISDIGIT
+       used to have.  From Paul Eggert.
+       * lib/backupfile.c (ISDIGIT): Likewise.
+       * lib/getdate.y (ISDIGIT): Likewise.
+
+       * src/cp.c (ROOT_CHOWN_AFFECTS_SYMLINKS): New macro.
+       (DO_CHOWN): Take an additional parameter.
+       (LINK_CHOWN): Remove macro.
+       (copy): When preserving owner and group of a symlink, use
+       chown only if ROOT_CHOWN_AFFECTS_SYMLINKS and EUID == 0.
+       Otherwise, the chown would affect the file referenced through
+       the symlink.
+
+Sat Dec 14 14:51:50 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acinclude.m4 (jm_SYS_PROC_UPTIME): Fix typo in cache variable
+       name for cross compiling.
+       Remove definitions of gettext-related macros.  The gettext
+       installation procedure installs corresponding .m4 files so that
+       aclocal will use them.
+
+Wed Dec 11 19:34:22 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Version 3.14.
+
+Tue Dec 10 00:14:24 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in: Bump version to 3.13k.
+
+       * src/install.c [_POSIX_VERSION]: Don't declare wait.  That
+       declaration conflicted with one in a system header file on
+       i386-pc-isc3.0, now that I've removed the AC_ISC_POSIX macro
+       and _POSIX_VERSION is no longer defined.
+       Reported by Karl Heuer.
+
+       * configure.in (AC_ISC_POSIX): Remove kludgy macro.
+       Use this test instead:
+       (LIBS): Add -lcposix if it contains strerror.
+       Patch from Karl Heuer.
+
+       * lib/Makefile.am (EXTRA_DIST): Add mktime.c.
+       Reported by Thomas Bushnell.
+       * (EXTRA_DIST): Add strftime.c to appease automake.
+       Although it's not used yet, it'll be used by ls's (to-be-done)
+       --format=FORMAT option.
+
+Mon Dec  9 18:26:54 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/obstack.h: Include config.h.
+       [!HAVE_BCOPY && HAVE_MEMCPY && !defined (bcopy)]: Define bcopy
+       in terms of memcpy.  Reported by Marcus Daniels.
+
+       * configure.in (LIBOBJS): After AC_FUNC_FNMATCH, add fnmatch.o
+       and define fnmatch to rpl_fnmatch if necessary.
+
+       * acconfig.h (fnmatch): Add undef.
+
+       * src/df.c (find_mount_point): Convert from K&R style header to ANSI.
+       Patch from Kaveh Ghazi.
+
+Sun Dec  8 07:22:38 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       =========== Update for automake-1.1k.
+       * Makefile.am (AUTOMAKE_OPTIONS): Require 1.1k.
+       * configure.in (AM_CONFIG_HEADER): Use it.
+       (AC_OUTPUT): Remove stamp-h timestamping statement.
+       Now, AM_CONFIG_HEADER does it automatically.
+       * lib/Makefile.am (noinst_LIBRARIES): Rename to libfu.a as per
+       new automake requirement.
+       Rename fu_* variables to libfu_a_*.
+
+Mon Dec  2 20:30:20 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (jm_FUNC_MKTIME): Use this instead of AM_FUNC_MKTIME.
+
+       * src/system.h [!S_IXUGO] (S_IXUGO): Define it.
+
+       * src/ls.c (print_color_indicator): Check the file's suffix only
+       if it's a regular file.
+       Reported by Santiago Vila Doncel.
+       (print_type_indicator): Use S_IXUGO instead of writing out
+       (S_IEXEC | S_IXGRP | S_IXOTH).
+       (length_of_file_name_and_frills): Likewise.
+
+Sun Dec  1 13:07:39 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getdate.y (date): Interpret the date, L/M/N, as YYYY/MM/DD
+       if L >= 1000, otherwise as MM/DD/YY.  With this change,
+       date --date=DATE accepts dates like those in an RCS log listing.
+
+Sat Nov 30 22:11:42 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acinclude.m4: (jm_FUNC_MKTIME): New macro.  This is like
+       AM_FUNC_MKTIME, but with one addition: when it replaces the
+       function, it also redefines mktime to gnu_mktime.
+
+Fri Nov 29 21:19:13 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/install.c (copy_file): Allow installation from non-directory
+       (rather than only regular) files.  Suggestion from Charles Karney.
+
+       * src/df.c (main): Accept -F as a synonym for -t for compatibility
+       with Solaris.  From Peter Eriksson.
+
+       * src/ls.c (main): Close stdout and check result, in case any
+       deferred writes fail.
+       Use EXIT_SUCCESS and EXIT_FAILURE in exit and usage calls.
+
+Thu Nov 28 13:10:22 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/df.c (find_mount_point): Use strip_trailing_slashes and dirname
+       instead of open-coding them.  When given FILE containing no slashes,
+       chdir to the directory containing it (the current directory) rather
+       than to `..'.
+
+       Tue Nov  5 14:51:56 1996  Miles Bader  <miles@gnu.ai.mit.edu>
+
+       * src/df.c (find_mount_point): Use save_cwd/restore_cwd.
+       "save-cwd.h": New include.
+
+       Wed Oct 30 00:21:16 1996  Miles Bader  <miles@gnu.ai.mit.edu>
+
+       * lib/fsusage.c (get_fs_usage): If DISK is 0 and we needed to use
+       it, return -1 with 0 in ERRNO.
+       * src/df.c (show_dev): Deal with null values for DISK and FSTYPE,
+       including interpreting special 0 errno return from get_fs_usage.
+       (show_point): Don't fail if we can't find a mount entry for POINT,
+       just call show_dev with 0 values and let it fail if necessary.
+       (main): Require a non-zero MOUNT_LIST only if showing all filesystems.
+       (find_mount_point): New function.
+       (xgetcwd): New declaration.
+
+Thu Nov 28 00:31:11 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT
+       for gettext-0.10.25.
+
+Tue Nov 26 23:24:13 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acinclude.m4: Update with macros from gettext-0.10.25.
+
+Sun Nov 24 22:43:24 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acconfig.h (mktime): Add undef for my enhanced (beyond automake's
+       1.1g version of) AM_FUNC_MKTIME.
+
+       * acinclude.m4 (AM_FUNC_GETLINE): Use am_, not su_ prefix for
+       local/cache variables.
+
+Sat Nov 23 16:11:59 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (EXTRA_DIST): Add getline.c now that getline
+       isn't mentioned in AC_REPLACE_FUNCS.
+
+       * lib/Makefile.am (EXTRA_DIST):
+
+       * chgrp.c (usage): Alphabetize option descriptions the way
+       sort -f would.
+       * chown.c (usage): Likewise.
+       * cp-aux.c (usage): Likewise.
+       * df.c (usage): Likewise.
+       * install.c (usage): Likewise.
+       * ln.c (usage): Likewise.
+       * ls.c (usage): Likewise.
+       * mkdir.c (usage): Likewise.
+       * mv.c (usage): Likewise.
+       * rm.c (usage): Likewise.
+       From Karl Berry.
+
+Fri Nov 22 22:14:10 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AC_REPLACE_FUNCS): Don't try to replace getline this
+       way.  AM_FUNC_GETLINE does it now.
+       (AM_FUNC_GETLINE): Use it here.
+
+       * src/cp.c (copy): With -i and not -f, prompt for any type of
+       (non-directory) source file before overwriting an existing target.
+       Reported by Mark A. Thomas and Emile LeBlanc.
+
+Tue Nov 19 23:10:32 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AM_SANITY_CHECK_CC): Remove it.  Autoconf-2.11
+       has this built-in.
+       (AC_FUNC_FNMATCH): Use this macro (new with autoconf-2.11) instead
+       of open-coding it.
+
+Sun Nov 17 20:53:00 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/touch.c: Remove unused declaration of mktime.  From Tony Leneis.
+
+Mon Nov  4 23:18:03 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (test for group_member): Handle it separately
+       so I can keep the hyphen (not the underscore) in the filename.
+
+       * lib/rename.c: New version from François Pinard.
+
+Sat Nov  2 07:05:36 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (gobble_file): Set linkok for non-orphaned symlinks.
+       From Bauke Jan Douma.
+       (gobble_file): Initialize linkok.
+       With these two changes, ls --color should display orphaned symlinks
+       as blinking text on terminals that support it.
+
+       * configure.in (ALL_LINGUAS): Add Spanish (es).
+
+       * doc/Makefile.am (MAKEINFO): Set to makeinfo --no-split.
+       Otherwise, the generated info files have names longer than
+       the 14-byte max of some old systems.
+       Reported by Karl Heuer.
+
+Tue Oct 29 06:49:16 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (decode_switches): Make -A set really_all_files to zero
+       as well as setting all_files to 1.  With this change, ls -f -A prints
+       everything but . and .., unsorted.  Before, the -A was effectively
+       ignored.  From Karl Berry.
+
+Tue Oct 22 07:00:00 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/Makefile.am (dircolors.h): Depend on dcgen only in maintainer
+       mode.
+
+Mon Oct 21 16:52:28 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (EXTRA_DIST): Remove group-member.c.
+       Add (temporary hack to work around bug in automake-1.1f) mvdir.c and
+       rmdir.c.
+
+       * configure.in: Remove hack that created link from group_member.c
+       to group-member.c.
+
+       * lib/group_member.c: New file.  Renamed from group-member.c.
+       * lib/group-member.c: Delete.
+
+       * src/dircolors.hin: Comment out DOS-style suffixes.
+
+Sun Oct 20 13:49:25 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (INCLUDES): Add -I../intl.  Reported by Eric Backus.
+
+       * Makefile.am (AUTOMAKE_OPTIONS): Set to `gnits'.
+       (EXTRA_DIST): Remove.
+
+       * configure.in: Remove README_ALPHA related code.  Automake takes
+       care of it automatically now when in gnits mode.
+
+Sun Oct 13 14:02:41 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (print_long_format): Use strftime of localtime
+       (not ctime) to produce the date/time in long listings.
+       From Rafal Maszkowski.
+
+Sat Oct 12 18:20:38 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/mountlist.c (fstype_to_string): Handle fstypes of freebsd.
+       From Arne Henrik Juul.
+
+Thu Oct 10 23:47:34 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (EXTRA_DIST): Remove posixtm.y and getdate.y.
+       (fu_SOURCES): Put them here instead.
+       Remove rules for building getdate.c and posixtm.c;  now automake
+       generates those rules.
+       * lib/ylwrap: New file.
+       * lib/interlock: New file.
+
+Wed Oct  9 06:51:47 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c (usage): Improve brief descriptions of --sort and --time.
+       From François Pinard.
+
+       * lib/rpmatch.c [!WITH_REGEX]: Include rx.h.
+       From Andreas Schwab.
+
+Mon Oct  7 23:31:10 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (EXTRA_DIST): Remove names of several files
+       that automake adds automatically.
+       (fu_SOURCES): Likewise.
+       (fu_DEPENDENCIES): Depend on fu_LIBADD.
+
+       * src/chown.c (usage): Improve usage message.
+       * src/cp-aux.c (usage): Likewise.
+       * src/ls.c (usage): Likewise.
+       * src/install.c (strip): Improve diagnostic.
+       From Ulisses Alonso.
+
+       * src/Makefile.am (noinst_HEADERS): Add dircolors.h.
+       (dircolors.h): Always depend on dcgen.
+
+Sat Oct  5 08:07:03 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acinclude.m4 (AM_FUNC_ERROR_AT_LINE): New macro.
+       (AM_FUNC_OBSTACK): New macro.
+
+       * configure.in (AM_FUNC_ERROR_AT_LINE): Use this instead of
+       open-coding it.
+       (AM_FUNC_OBSTACK): Likewise.
+
+       * lib/filemode.c (ftypelet) [HAVE_ST_DM_MODE]: Add support for
+       Cray's migrated dmf files.
+       * src/ls.c (print_long_format) [HAVE_ST_DM_MODE]: Likewise.
+       * acconfig.h [HAVE_ST_DM_MODE]: New macro.
+       From Johan Danielsson.
+
+       * acinclude.m4 (AC_HEADER_SYS_TIME_H): New macro.
+       (AM_FUNC_MKTIME): Require AC_HEADER_SYS_TIME_H so that configure's
+       checking... messages don't get nested.
+
+       * configure.in (GNU_PACKAGE): New variable.
+       (PACKAGE_VERSION): Remove it.
+
+       * acconfig.h (GNU_PACKAGE): New variable.
+       (PACKAGE_VERSION): Remove now-unused variable.
+
+       * src/*.c: Update --version output to conform to the coding standard.
+
+Wed Oct  2 21:44:36 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (usage): Deprecate --print-data-base even though
+       that's the way GNU make writes it.  `database' is one word.
+       Add description of FILE argument.
+
+Tue Oct  1 12:56:23 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (fu_SOURCES): Remove getline.c.
+       (EXTRA_DIST): Add getline.c.
+       Reported by François Pinard.
+
+Mon Sep 30 20:08:45 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/Makefile.am (dircolors.h): Don't depend on anything unless
+       in maintainer-mode.  Reported by Marcus Daniels.
+
+       * lib/path-concat.c (path_concat): Use K&R style function definition.
+
+Sun Sep 29 22:00:44 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (ALL_LINGUAS): Add slovenian (sl).
+
+       * src/cp-aux.c (usage): Take only one argument -- like all the other
+       usage functions.
+
+       * src/cp.c (do_copy): Give better error message when copying multiple
+       files and the last one is not a directory.  From Karl Berry.
+       Call error (0, 0, ... then usage (1) -- instead of calling usage
+       with two arguments.
+
+Sat Sep 28 13:16:29 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getversion.c (backup_types): Declare const.
+       (backup_args): Likewise.
+
+Sat Sep 21 10:22:28 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (xstrndup): Use message that's the same as the one
+       you get from e.g., xmalloc.  Reported by Santiago Vila.
+
+Thu Sep 19 22:13:31 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (fu_SOURCES): Remove regex.c and rx.c.
+       (EXTRA_DIST): Put them here instead.
+
+       * configure.in ($PACKAGE, $VERSION): Don't AC_DEFINE_UNQUOTED these.
+       AM_INIT_AUTOMAKE now does it (as of automake-1.1e).
+
+       * lib/Makefile.am (fu_SOURCES): Move getopt.c and getopt1.c back to
+       here fro EXTRA_DIST.
+       * configure.in (AC_REPLACE_GNU_GETOPT): Remove it -- it's not
+       necessary.
+
+       * acinclude.m4 (AM_SANITY_CHECK_CC, AC_SYS_POSIX_TERMIOS,
+       AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Remove definitions.
+       Now automake's aclocal includes them.
+
+Sun Sep 15 23:08:48 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Makefile.am (EXTRA_DIST): Remove acinclude.m4.
+
+Mon Sep  9 21:39:49 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/cp.c (do_copy): Describe in a little more detail the code
+       that makes `cp non-directory file/' (eventually) fail.
+
+Sun Sep  8 12:54:31 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (usage): Refer to LS_COLORS, not LS_COLOR.
+       From Santiago Vila Doncel.
+
+       * src/cp.c (do_copy): Set backup_type to `none' only *after*
+       calling to find_backup_file_name.  Reported by Eli Zaretskii.
+
+Sat Sep  7 12:25:42 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/regex.c, lib/regex.h: New files.
+       * lib/rx.c, lib/rx.h: New files.
+
+       * lib/Makefile.am (INCLUDES): Add -I../intl so compiler will find
+       libintl.h for rpmatch.c.
+
+       * src/system.h: Add comments justifying IS* versions of ctype.h macros.
+
+Thu Sep  5 18:12:44 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/chmod.c (main): Don't set verbose flag for --changes.
+       (change_file_mode): If chmod succeeds and --changes was given,
+       give a diagnostic describing the new permissions.
+       Reported by Philippe Schnoebelen (phs@fing.edu.uy).
+
+       * src/cp.c (do_copy): When concatenating DEST (with a trailing `/')
+       and the basename part of non-directory SOURCE, don't add a slash
+       between them.
+
+Wed Sep  4 21:42:32 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/rpmatch.c: Make sure NULL is defined by including stddef.h
+       (if STDC_HEADERS || _LIBC) or simply defining it (otherwise).
+       Include sys/types.h for definition of size_t needed by regex.h.
+
+       * lib/Makefile.am (fu_SOURCES): Add regex.c and rx.c.
+       (noinst_HEADERS): Add regex.h and rx.h.
+
+       * configure.in (AM_SANITY_CHECK_CC): Use it.
+       (AM_WITH_REGEX): Use it.
+
+       * acconfig.h (WITH_REGEX): Add it.
+
+Tue Sep  3 08:13:09 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/rpmatch.c (rpmatch): Set yesexpr to "^[yY]" and noexpr to
+       "^[nN]"; this conforms to POSIX.2. From Paul Eggert
+       <eggert@twinsun.com>.
+
+Mon Sep  2 10:59:10 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * POTFILES.in: Add lib/rpmatch.c.
+
+       * lib/rpmatch.c (ENABLE_NLS): Include libintl.h and define _ to
+       gettext.
+
+       * src/*.c (usage): Tell where to report bugs.
+
+Sat Aug 31 18:48:18 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/touch.c (utime_now): Protoize.
+       Reported by David S. Miller (davem@caip.rutgers.edu).
+
+Sun Aug 25 22:43:15 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * acinclude.m4 (AM_FUNC_MKTIME): New macro.
+       * configure.in (AM_FUNC_MKTIME): Use it.
+       (AC_REPLACE_FUNCS): Remove mktime.
+
+Wed Aug 21 23:17:04 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/Makefile.am (EXTRA_DIST): Remove ansi2knr.1 and ansi2knr.c.
+       Automake includes them automatically.
+
+       * configure.in (AM_INIT_AUTOMAKE): Use it.
+       (AM_PROG_INSTALL): Remove.  AM_INIT_AUTOMAKE does this.
+       (AC_PROG_MAKE_SET): Likewise.
+
+Sun Aug 18 09:52:39 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (jm_MAINTAINER_MODE, fp_C_PROTOTYPES): Rename with
+       AM_ prefix for latest automake/aclocal.
+
+       * lib/Makefile.am (noinst_HEADERS): Add path-concat.h.
+       (fu_SOURCES): Add path-concat.c.
+
+       * src/mv.c: Include path-concat.h.
+       (movefile): Use path_concat instead of open-coding its functionality.
+       Declare pointer parameters const as appropriate.
+
+       * src/cp.c: Include path-concat.h.
+       (do_copy): Check path_concat return value.
+       (path_concat): Remove function.
+
+       * lib/path-concat.h: New file.
+       * lib/path-concat.c (path_concat): New file.  Just like the function
+       from cp.c except the stand-alone version uses malloc instead of
+       xmalloc.
+
+       * configure.in (ALL_LINGUAS): Add Dutch (nl).
+
+Fri Aug 16 21:59:24 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/chgrp.c (parse_group): Don't abort when given a group number
+       larger than INT_MAX.  Fix bug whereby root could run
+       `chgrp INVALID-GROUP FILE' and it wouldn't fail, but rather would
+       change FILE's group to some indeterminate value.  This problem
+       was reported as Debian Bug#4119 via Erick Branderhorst
+       (branderh@IAEhv.nl).
+       Declare pointer parameters const as appropriate.
+
+Thu Aug  1 22:12:15 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/system.h (ST_NBLOCKS) [_CRAY]: Special case for Cray.
+       * lib/fsusage.c (get_fs_usage) [STAT_STATFS4] [_CRAY]: Define
+       f_bavail to f_bfree.
+       From Johan Danielsson.
+
+Wed Jul 31 23:39:23 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ln.c [LINK_TYPE]: Remove macro.  NLS messages aren't
+       extracted from macros.  Reported by Santiago Vila.
+       (link_type_string): New global variable to be used instead of
+       LINK_TYPE.
+       (main): Set it here.
+       (do_link): Use it (instead of macro) here.
+
+Tue Jul 30 23:24:18 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AC_CHECK_HEADERS): Add sys/fs/s5param.h.
+       * lib/fsusage.c [HAVE_SYS_FS_S5PARAM_H]: Include sys/fs/s5param.h
+       to work around bug in sys/filsys.h of Fujitsu UXP/V.
+       From by Johan Danielsson.
+
+       * src/cp.c (DO_CHOWN): New macro -- derived from code in copy.
+       (copy): Use DO_CHOWN to assure that any newly-created symbolic
+       links have proper owner and group.
+
+Sat Jul 27 17:22:14 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/system.h (bindtextdomain) [!ENABLE_NLS]: Undefine to avoid
+       redefinition warnings on solaris.
+       (textdomain) [!ENABLE_NLS]: Likewise.
+
+Thu Jul 25 21:10:42 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/chgrp.c (main): Fix typo in getopt_long string: s/n/h/.
+       Reported by Ken Pizzini.
+
+Wed Jul 24 22:24:37 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (usage): Remove -h.  It is not an option.
+       Reported by Ulrich Drepper.
+
+Sun Jul 21 11:58:48 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AC_CHECK_HEADERS): Add sys/timeb.h for lib/getdate.y.
+       This was a problem for SCO OSR5.  From Bela Lubkin <belal@sco.com>.
+       (statvfs test): Arrange for this test to fail (as it should) for
+       SCO OSR5.  Suggestion from Bela Lubkin.
+
+       * src/Makefile.am (BUILT_SOURCES): Remove @MAINT@.
+       (dircolors.h): Remove @MAINT@.  These prevented `make distcheck'
+       from working sometimes.
+
+       * lib/yesno.c (yesno) [!HAVE_RPMATCH]: Remove function since we'll
+       always use the rpmatch-based version.
+       Declare rpmatch.
+
+       * lib/rpmatch.c [STDC_HEADERS]: Guard inclusion of stdlib.h.
+       (_) [!_]: Define it.
+       (try): Add RESPONSE parameter.
+       (rpmatch): Update caller.
+       Anchor regular expressions to beginning of string.
+
+       * configure.in (AC_CHECK_FUNCS): Don't check rpmatch.
+
+       * acconfig.h (HAVE_OBSTACK): Undef it.
+
+       The following is from Ulrich Drepper.
+
+       * configure.in (AC_REPLACE_FUNCS): Add rpmatch.
+       * lib/Makefile.am (EXTRA_DIST): Add rpmatch.c.
+       * lib/rpmatch.c: New file.
+       * lib/yesno.c (yesno): New rpmatch-based version of the function.
+       * config.h.in (HAVE_RPMATCH): Undef it.
+
+       * lib/Makefile.am (EXTRA_DIST): Put error.c and obstack.c here...
+       (fu_SOURCES): Instead of here.
+
+       * configure.in (AC_CHECK_FUNCS): Add rpmatch.
+       Add checks for error_at_line and obstacks so systems with GNU libc
+       don't compile and link with distributed error.c and obstack.c.
+
+       * configure.in (AC_REPLACE_FUNCS): Replace getline.c.
+       Add related check for the getdelim function.  As done in gettext.
+
+Sat Jul 20 17:01:56 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/Makefile.am (fu_SOURCES): Remove error.c, and obstack.c.
+       (EXTRA_DIST): Add error.c, and obstack.c.
+
+       * configure.in (PACKAGE_VERSION): Use space instead of hyphen to
+       separate PACKAGE and VERSION.
+
+Fri Jul 19 23:28:36 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/cp.c (path_concat): Rewrite to return new parameter.
+       (do_copy): Update uses of path_concat to use new parameter.
+       Use that new pointer to compute correct offset for make_path_private.
+       Before, cp --recursive --parents SRC DEST failed when SRC was
+       an absolute file name.  E.g.,
+         % cd /tmp; rm -rf d f; mkdir d; touch f; cp -PR /tmp/f d
+         cp: tmp: No such file or directory
+       Reported by Horst von Brand vonbrand@sleipnir.valparaiso.cl.
+
+Thu Jul 18 21:58:51 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/install.c [_AIX]: Add #pragma alloca.
+       From Bernd Leibing <bernd.leibing@rz.uni-ulm.de>.
+
+       * src/chgrp.c (main): Initialize for internationalized message support:
+       call setlocale, bindtextdomain, and textdomain.  Reported by
+       Michel Robitaille <robitail@IRO.UMontreal.CA>.
+
+Wed Jul 17 22:37:40 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (ALL_LINGUAS): Add polish (pl).
+
+Mon Jul 15 23:42:57 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Many files: Update FSF address.
+
+Sun Jul 14 07:53:45 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/du.c (usage): Sort option descriptions in dictionary order.
+
+Sat Jul 13 07:34:24 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (long_options): Add missing last line of NULL
+       entries.  From Ralph Loader <loader@maths.ox.ac.uk>.
+
+Thu Jul 11 21:50:48 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * Version 3.13.
+
+       * dircolors.1: New file -- but just a pointer to texinfo docs.
+       * man/Makefile.am (man_MANS): Add dircolors.1.
+
+       * configure.in (VERSION): Bump to 3.13.
+
+Wed Jul 10 22:57:29 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * aclocal.m4 (fp_PROG_CC_STDC): Include sys/stat.h in test program
+       so that DYNIX/ptx V4.1.3 doesn't use `-Xc -D__EXTENSIONS__' -- with
+       those options on that system, sys/stat.h gets compile errors.
+       With help from Marcus Daniels.
+
+       * getopt.c: Update from gettext-0.10.23.
+       * getopt1.c: Likewise.
+       * getopt.h: Likewise.
+
+Tue Jul  9 20:19:44 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (usage): Improve --help message.  From Karl Berry.
+       (long_options): Add print-data-base and print-database.
+
+       * src/dircolors.c (dc_parse_stream): Don't give `unrecognized keyword'
+       message unless we've processed a matching TERM directive.  Reported
+       by Karl Berry and François Pinard.
+
+       * src/install.c (UID_T_MAX): Use `(unsigned long)1' rather than
+       `(uid_t)1' to avoid problems on systems where uid_t is signed.
+       (GID_T_MAX): Likewise for gid_t.
+       From Kjetil Torgrim Homme.
+
+Sun Jul  7 22:40:08 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ls.c: Change initial colors for `color_indicator' to match
+       those currently in dircolors.hin.  From Joshua Cowan.
+
+       * src/dircolors.hin: Recognize more filename extensions.
+       From Joshua Cowan.
+
+       * src/Makefile.am (CLEANFILES): Add dcgen.  From Joshua Cowan
+       <jcowan@jcowan.reslife.okstate.edu>.
+
+       * src/Makefile.am (MAINTAINERCLEANFILES): Add dircolors.h.
+
+       * configure.in (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use it.
+       * acconfig.h [GWINSZ_IN_SYS_IOCTL]: Add #undef.
+
+       * src/ls.c: Include termios.h.
+       Guard inclusion of sys/ioctl.h with #ifdef GWINSZ_IN_SYS_IOCTL,
+       rather than HAVE_SYS_IOCTL_H.  Modelled after sh-utils' stty.c
+       at suggestion from Chip Bennett <BennettC@j64.stratcom.af.mil>
+       to make ls adjust its idea of screen width upon window resize
+       on systems (SunOS, Solaris) where TIOCGWINSZ is defined in
+       termios.h, and not sys/ioctl.h.
+
+       * aclocal.m4 (AM_SYS_POSIX_TERMIOS): New macro, derived from test
+       in the configure.in from sh-utils.
+       (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
+
+Sat Jul  6 12:46:27 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/cp-aux.c (usage): Factor out backup-related text into
+       separate string/printf statement so translators deal with only
+       one corresponding string in .pot file.
+       * src/install.c (usage): Likewise.
+       * src/ln.c (usage): Likewise.
+       * src/mv.c (usage): Likewise.
+       Suggestion from Santiago Vila Doncel.
+
+       * configure.in (AC_REPLACE_FUNCS): Add group_member.
+       (AC_LINK_FILES): Create link lib/group_member.c to lib/group-member.c.
+       * lib/Makefile.am (fu_SOURCES): Remove group-member.c.
+       (EXTRA_DIST): Add group-member.c here.
+
+Fri Jul  5 22:16:13 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c [!STDC_HEADERS]: Declare free.
+       From Marcus Daniels.
+
+Thu Jul  4 12:34:50 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dd.c (usage): Remove space before newline in usage message.
+       * src/mknod.c (usage): Likewise.
+       * src/mv.c (usage): Likewise.
+
+       * src/Makefile.am (libexec_PROGRAMS): Regenerate using patched
+       automake-1.0 to work around rm -f bug on Solaris2.4.
+       Reported by Kaveh Ghazi.
+
+       * src/ls.c: Make `dir --version' and `vdir --version' print their
+       names, not `ls'.
+       Reported by Ulrich Drepper.
+
+Wed Jul  3 17:41:15 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c: Include sys/types.h before system.h.
+       From Jim Blandy (jimb@cyclic.com).
+
+       * src/chgrp.c [!MAXUID]: Define after inclusion of system.h to avoid
+       warning about redefinition on SunOS4, Solaris2.4 and SGI-irix5.3.
+       From Kaveh Ghazi.  Also, Santiago Vila Doncel reported that defining
+       MAXUID before including system.h caused a compilation failure on some
+       ConvexOS system.
+
+Tue Jul  2 22:56:03 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (VERSION): Bump to 3.12q.
+
+       * src/system.h [!EXIT_SUCCESS]: Define it.
+       [!EXIT_FAILURE]: Define it.
+
+       * lib/strndup.c (strndup): Include stdio.h and sys/types.h to
+       get definition of NULL and size_t on SunOS4.1.3.
+
+Mon Jul  1 23:47:29 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/ln.c (do_link): Update messages to ease translation.
+       Suggestion from Santiago Vila.
+
+Sun Jun 30 16:41:45 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/install.c (usage): Fix typo, 3nd->3rd, in usage message.
+       From Santiago Vila Doncel.
+
+Sat Jun 29 00:33:31 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (PACKAGE_VERSION): Add `GNU ' prefix so we see
+       it in the output of --version.  Reported by RMS.
+
+       * src/Makefile.am (BUILT_SOURCES): Guard dependency on dircolors.h
+       with @MAINT@ so it won't be removed with a casual disctlean.
+       (EXTRA_DIST): Add dcgen.pl and dircolors.hin.
+
+Fri Jun 28 22:56:00 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * src/dircolors.c (dc_parse_stream): Move `enum states' dcl into
+       this function.
+
+       * src/ln.c (do_link): Allow `ln -sf --backup k k' to succeed in
+       creating the self-referential symlink, since doing so doesn't
+       remove the source but merely renames it.
+
+Wed Jun 26 06:58:58 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * ln.c (same_name): New function.
+       (do_link): Use it to test reliably whether A and B (from
+       ln --force A B) are hard links to the same file.
+       From Andreas Schwab.
+
+Tue Jun 25 00:03:43 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/getline.c: New file.
+       * lib/getline.h: New file.
+       * lib/Makefile.am (fu_SOURCES): Add getline.c.
+       (noinst_HEADERS): Add getline.h.
+
+Mon Jun 24 22:39:02 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (AC_REPLACE_FUNCS): Add strndup.
+       (AC_PATH_PROG): Check for perl.
+
+       * ls.c (decode_switches): Allow 0 as argument to --tabsize (-T) option.
+       Interpret as a directive to use no TAB characters to separate columns.
+       (indent): Handle TABSIZE == 0.
+
+       * dircolors.c (dc_parse_stream): Remove spurious newline in
+       error message.
+       (dc_parse_stream): Give `unrecognized keyword' diagnostic for
+       misspelled `TERM' keyword as well as for others.
+
+Sun Jun 23 12:58:32 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * dircolors.hin: New file.
+       * dcgen.pl: New file.
+       * src/Makefile.am (dircolors.h): Add a rule to create this file.
+       (dcgen): Likewise.
+
+       * dircolors.c (parse_line): Rewrite to avoid modifying LINE.
+       Put LINE first in parameter list.
+       Adjust caller.
+       (dc_parse_stream): Free KEYWD and ARG.
+       (main): Give diagnostic for unreasonable combinations of
+       options/arguments.
+
+       * lib/Makefile.am (EXTRA_DIST): Add strndup.c.
+       * configure.in (AC_REPLACE_FUNCS): Add strndup.
+       * strndup.c: New file.  From id-utils-3.0k.
+       (strndup): Deansify.
+       [!STDC_HEADERS]: Include string.h and stdlib.h.
+
+Sat Jun 22 16:57:53 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * dircolors.c: Major overhaul.  No longer read from /etc/DIR_COLORS
+       or from ~/.dircolors.  Defaults are now compiled in.  If you specify
+       a file on the command line, it is used instead of the compiled-in
+       defaults.
+       (main): New option --print-database (-p).
+       Detect write failure.
+       Add --bourne-shell and --c-shell aliases for --sh and --csh resp.
+
+Tue Jun 18 20:54:05 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * cp.c (copy_reg): Cast both sides of comparison to size_t
+       to avoid a warning about `comparison between signed and unsigned'
+       from gcc -Wall.
+       Declare pointer parameters const as appropriate.
+
+       * ln.c (do_link): Refine last change so we don't disallow commands
+       like `ln --force A B' when A and B are hard links to the same file.
+       See comments in the source.  Reported by Erik Naggum <erik@naggum.no>
+       and Andreas Schwab.
+
+       * ls.c (decode_switches): Correct typo in error messages:
+       enironment -> environment.  From Santiago Vila Doncel
+       <sanvila@unex.es>.
+
+       * aclocal.m4: Update from gettext-0.10.20.
+       * ABOUT-NLS: Likewise.
+       * intl/*: Likewise.
+
+       * cp.c (do_copy): Change message from `missing file argument' to
+       more precise `missing destination file'.  From Karl Berry.
+
+       * ln.c (STREQ): Remove macro definition
+       * system.h (STREQ): Add it here instead.
+       * cp.c (do_copy): Use STREQ here instead of strcmp(...) == 0.
+       * ls.c (parse_ls_color): Likewise.
+       * df.c (selected_fstype, excluded_fstype, show_disk, main): Likewise.
+
+       * cp.c (do_copy): When the force and backup options have been
+       specified and the source and destination are the same name for an
+       existing, regular file, convert the user's command, e.g.
+       `cp --force --backup foo foo' to `cp --force foo fooSUFFIX'
+       where SUFFIX is determined by any version control options used.
+       (usage): Update --help message.
+       At urging of (most recently) Karl Berry.
+
+Sun Jun 16 13:40:22 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * doc/Makefile.am (EXTRA_DIST): Add texinfo.tex.
+
+       * Makefile.am (cvs-dist): Use -c option in cvs tag command.
+
+Sat Jun 15 22:21:09 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (ALL_LINGUAS): Add pt.
+       (AC_REPLACE_FUNCS): Add basename.
+
+       * Makefile.am (EXTRA_DIST): Add basename.c.
+       (fu_SOURCES): Remove basename.c.
+
+Thu Jun  6 21:57:08 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * po/Makefile.in.in: Update from gettext-0.10.16.
+       * intl/*: Likewise.
+       * ABOUT-NLS: Likewise.
+       * aclocal.m4 (AC_REPLACE_GNU_GETOPT): Move definition to precede
+       gettext-related ones.
+       Update from gettext-0.10.16.
+
+Sat Jun  1 12:44:51 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * ls.c: Rename options and internal variables to reflect change to
+       --color=WHEN where WHEN is never, always, or auto (for consistency
+       with e.g. cp --sparse=WHEN.  For at least a while, the original
+       slackware-supported arguments `none', `force', `yes', etc will be
+       supported but deprecated by lack of documentation.
+       (decode_switches): Use STDOUT_FILENO instead of `1' in isatty test.
+       (usage): Update/add description of the --color option.
+
+       * ls.c: Declare pointer parameters const as appropriate.
+
+Tue May 28 18:39:49 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * dd.c (print_stats): Don't mark "%u %s" as a translatable string.
+       * mv.c (main): Don't mark "%s" as a translatable string.
+       From Göran Uddeborg.
+
+Thu May 23 07:50:38 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * ls.c (usage): Make --literal (-N) description clearer.
+
+       * acconfig.h (MOUNTED_LISTMNTENT): Add it.
+       * fsusage [_CRAY]: Don't include sys/filsys.h because although
+       Unicos-9 has it, it's not needed and would cause other problems
+       because it requires inclusion of other, non-standard headers.
+       * mountlist.c (read_filesystem_list) [MOUNTED_LISTMNTENT]: New
+       function.
+       From Johan Danielsson (joda@pdc.kth.se).
+
+       * configure.in (AC_CHECK_FUNCS): Add listmntent for Unicos-9.
+       Define MOUNTED_LISTMNTENT #ifdef _CRAY and HAVE_GETMNTENT.
+       With an initial patch from Johan Danielsson.
+
+Wed May 22 18:58:01 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * configure.in (LINGUAS): Add sv.
+
+Tue May 21 07:06:30 1996  Jim Meyering  <meyering@na-net.ornl.gov>
+
+       * lib/euidaccess.c (euidaccess) [!S_IROTH]: Define.
+       [!S_IWOTH]: Define.
+       [!S_IXOTH]: Define.
+       Marcus Daniels <marcus@sysc.pdx.edu> reported that m68k NEXTSTEP 3.2
+       doesn't define S_IROTH or S_IWOTH unless some posix compile option
+       is used and associated symbols defined.
+
+Sun May 19 09:32:51 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * chown.c: New option: --no-dereference (-h).  Solaris 5.4's chown
+       provides -h.
+       (change_file_owner): Use lchown if --no-dereference (-h) was given.
+       (usage): Update.
+       (main): Fail if user requests --no-dereference on a system that
+       doesn't have support for it.
+
+       * chgrp.c: New option: --no-dereference (-h).
+       [!MAXUID]: Define to INT_MAX.
+       (change_file_group): Use lchown if --no-dereference (-h) was given.
+       (usage): Update.
+       (main): Fail if user requests --no-dereference on a system that
+       doesn't have support for it.
+
+Wed May 15 22:54:31 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * fsusage.c (get_fs_usage): Declare parameter PATH to be const.
+       * fsusage.h: Update prototype to match.
+
+       * chmod.c (describe_change): Declare pointer parameters to be const.
+       (change_file_mode): Likewise.
+       (change_dir_mode): Likewise.
+
+       * ln.c (do_link): Declare pointer parameters to be const.
+
+       * df.c (main): Fail with a diagnostic if both --human-readable and
+       --portability are used.
+       Likewise if --megabytes and --portability are used.
+       Rearrange function definitions to precede respective uses to obviate
+       all forward dcls. Remove forward dcls.
+       Declare parameters const as appropriate.
+
+       * modechange.c (mode_compile): Declare parameter MODE_STRING const.
+       Remove register attribute.
+       (mode_adjust): Likewise for CHANGES.
+       * modechange.h: Reflect above changes in prototypes.
+
+       * lib/Makefile.am (getdate.c): Disable dependencies that can
+       require rerunning YACC when not in maintainer mode.
+       (posixtm.c): Likewise.
+
+Tue May 14 23:36:54 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * dd.c (print_stats): Restructure pluralization of error message
+       so it's easier to translate.  Reported by Göran Uddeborg
+       <gvran@uddeborg.pp.se>.
+       * mv.c (main): Likewise.
+
+Tue May  7 22:10:20 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * configure.in: Require autoconf-2.10.
+
+       * aclocal.m4 (jm_MAINTAINER_MODE): New macro.
+       * configure.in (jm_MAINTAINER_MODE): Use it.
+
+Sun May  5 20:27:47 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * src/Makefile.am (bin_PROGRAMS): Add dircolors.
+       (DEFS): Add -DSHAREDIR=\"$(datadir)\".
+       (GNUVER): Remove definition of unused variable.
+
+Sat May  4 20:54:32 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * system.h [IN_CTYPE_DOMAIN]: Rename from ISASCII.
+       * backupfile.c [IN_CTYPE_DOMAIN]: Rename from ISASCII.
+
+       * dircolors.c: Make enumerated constants upper case.
+       (main): Don't use ANSI-style string concatenation.
+       Add `static' and/or `const' to some file scope variables.
+
+Wed May  1 00:20:00 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * lib/Makefile.am (EXTRA_DIST): Add strcasecmp.c.
+       * configure.in (AC_REPLACE_FUNCS): Add strcasecmp.
+
+       * ls.c (parse_ls_color, usage): Remove support for alternate spellings:
+       --colours and LS_COLOURS.
+       (parse_ls_color): Reverse sense of test for LS_COLORS environment
+       variable and return -- save a level of indentation on a 100+-line
+       block.
+
+Mon Apr 29 22:07:41 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * POTFILES.in: Add chgrp.c.  From François Pinard.
+       Add dircolors.c.
+       * dircolors.c: New file.  Written by H. Peter Anvin.
+
+Sun Apr 28 16:32:38 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * ls.c: Apply color ls changes by Peter Anvin <Peter.Anvin@linux.org>
+       and Dennis Flaherty <dennisf@denix.elk.miles.com> based on original
+       patches by Greg Lee <lee@uhunix.uhcc.hawaii.edu>.  And on top of all
+       that, a few changes from Ulrich Drepper.
+
+       * ls.c (parse_ls_color): Use strcpy to initialize 3-character array.
+       Automatic aggregate initialization isn't portable.
+       Remove all ^L's.
+       (get_funky_string): Declare static and move to precede single
+       caller: parse_ls_color.
+       Make some globals `static' and/or `const'.
+       (LEN_STR_PAIR): New macro.
+       (color_indicator): Use it in this declaration.
+       (parse_ls_color): Use error, not fprintf.
+       (decode_switches): Add a comment.
+       (print_name_with_quoting): Add braces around inner if-else
+       statement to clarify.
+
+       * configure.in: Add a comment that fp_C_PROTOTYPES must precede
+       AC_C_INLINE.  Otherwise, some systems lose because the value
+       AC_C_INLINE choses with plain `cc' is different from that chosen
+       when using the ANSI-mode C compiler.  From Kaveh Ghazi.
+
+       * fileblocks.c [HAVE_ST_BLOCKS || _POSIX_VERSION]: Add extern dcl
+       of unused variable so that after preprocessing, the file will never
+       be empty.  Otherwise, some compilers in ANSI mode (among them, the
+       Dec Alpha OSF 2.0 C compiler) reject empty files.  From Kaveh Ghazi.
+       Indent CPP conditionals.
+
+Fri Apr 26 05:52:03 1996  Karl Eichwalder  <ke@ke.Central.DE>
+
+       * ls.c (usage): Add newline at end of printf format string.
+
+Wed Apr 24 21:33:43 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * ln.c (do_link): Remove duplicate `if (lstat(...' block.
+
+       * ln.c (do_link): With --force, don't remove DEST when it's
+       the same as SOURCE.  Before, `ln -f FILE FILE' would remove FILE.
+       Reported by Bruno Haible (haible@ilog.fr).
+
+       * mkdir.c (main): Use verbose_fmt_string, not string literal in
+       call to make_path for --parents.  Reported by Ulrich Drepper.
+
+       * doc/mdate-sh: Get year as last rather than 6th field in output
+       of date.  Otherwise, people with 2-word TZ (like `MET DST') lost.
+       From Andreas Schwab.
+
+Tue Apr 23 22:05:35 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * src/*.c, src/*.h: Update Copyright years to include 1996.
+
+       * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro.
+       * configure.in: Use it.
+       * lib/Makefile.am (fu_SOURCES): Remove getopt.c and getopt1.c.
+       (EXTRA_DIST): Add getopt.c and getopt1.c
+
+       * configure.in (AC_CHECK_FUNCS): Add lchown.
+       * chgrp.c [HAVE_LCHOWN]: Define chown to lchown.
+       * chown.c [HAVE_LCHOWN]: Likewise.
+       * cp.c [HAVE_LCHOWN]: Likewise.
+       * mv.c [HAVE_LCHOWN]: Likewise.
+       Suggested by François Pinard.
+
+       * backupfile.c (find_backup_file_name, max_backup_version,
+       make_version_name, version_number, concat): Const-ify decls of
+       formal parameters.
+       * backupfile.h: Likewise.
+
+       * du.c (usage): The long-named arg is --human-readable, not --human.
+       * df.c: Be consistent.  Accept --human-readable, not just --human.
+       (usage): Reflect the change.
+       From Karl Berry.
+
+Sun Apr 21 08:04:51 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * df.c (usage): Reflect that now --no-sync is the default.
+
+       * Makefile.am (LDADD): Put @INTLLIBS@ before package library.
+
+Sat Apr 20 22:48:59 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * ls.c: Include xstrtol.h.
+       (decode_switches): Use xstrtol, not atoi.
+       Detect and ignore invalid value for COLUMNS environment variable.
+       In error about invalid TABSIZE, don't reference optarg!
+       [!POSIXLY_CORRECT]: Don't consider TABSIZE environment variable.
+
+       * install.c: Include xstrtol.h.
+       [HAVE_VALUES_H]: Include <values.h>.
+       [!BITSPERBYTE]: Define.
+       [!UID_T_MAX]: Define.
+       [!GID_T_MAX]: Define.
+       (get_ids): Use xstrtol, not atoi.
+       (is_number): Remove now-unused function.
+       * configure.in (AC_CHECK_HEADERS): Add values.h.
+
+Fri Apr 19 00:06:02 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * Makefile.am (cvs-dist): New rule.  Based on the one from
+       Tom Tromey's automake.
+
+       * df.c: No longer call sync by default.
+
+       * cp.c (copy_reg): Rearrange arithmetic in conditional to avoid
+       integer overflow with large files.
+
+Fri Apr 12 21:40:44 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * mkdir.c (main): Add new option: --verbose.
+       Remove long-deprecated and nowhere-documented --path, a synonym
+       for --parents.  It was confusing to get an error about `--p'
+       being ambiguous.
+
+Thu Apr  4 21:28:03 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * configure.in (LINGUAS): Add de.
+       * po/de.po: New file.
+
+       * src/Makefile.am (EXTRAdir): Set to $(bindir).
+
+Wed Apr  3 06:12:23 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * cp.c (copy_reg): Use `ST_NBLOCKS (sb) * 512', not `sb.st_blocks *
+       DEV_BSIZE.'  From H.J. Lu (hjl@lucon.org).
+
+       * mvdir.c: Protoize.
+       Include save-cwd.h.
+       (fullpath): Rewrite to use save_cwd, xgetcwd, and restore_cwd
+       rather than explicit chdir/getcwd calls.
+
+       * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h
+       when srcdir != builddir.  From Kaveh Ghazi.
+
+Mon Apr  1 23:50:29 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * cp.c: Include assert.h (disabled).
+       (path_concat): New function.
+       (do_copy): Use path_concat instead of open-coding part of its
+       functionality in two places.  This has the additional benefit
+       of avoiding forming destination names like `D//file' when the
+       destination directory D includes a trailing slash -- as would
+       happen when cp is used like this:
+       mkdir D; touch file D/file; cp -i file D/
+       Reported by François Pinard.
+
+Sun Mar 31 11:18:09 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * ls.c (quote_filename): Use ISGRAPH and ISPRINT in place of
+       ASCII-centric tests against literals.
+       (length_of_file_name_and_frills): Likewise.
+
+Thu Mar 21 16:43:13 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * src/*.c (main): Declare to be of type int, not void.
+
+Sat Mar 16 10:46:23 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * configure.in (PACKAGE_VERSION): New macro.
+       * acconfig.h (PACKAGE_VERSION): Add it.
+       * src/Makefile.am: Remove rules for generating version.c.
+       Remove references to version.o, version.h, and stamp-v.
+       * version.c: Remove file.
+       * version.h: Remove file.
+       * chgrp.c chmod.c chown.c cp.c dd.c df.c du.c install.c ln.c
+       ls.c mkdir.c mkfifo.c mknod.c mv.c mvdir.c rm.c rmdir.c sync.c
+       touch.c: Don't include version.h.
+       (main): Use PACKAGE_VERSION instead of version_string.
+
+Sun Mar 10 22:36:11 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * backupfile.c (max_backup_version): Declare file_name_length to
+       be of type size_t.  This avoids a warning from gcc -Wall.
+
+       * chmod.c chown.c cp.c dd.c df.c du.c install.c ln.c ls.c
+       mkdir.c mkfifo.c mknod.c mv.c mvdir.c rm.c rmdir.c sync.c
+       touch.c (main): Initialize for internationalized message support:
+       call setlocale, bindtextdomain, and textdomain.
+       * system.h: Add definitions and includes for NLS.
+       * Makefile.am (SUBDIRS): Add intl and po.
+       * src/Makefile.am (datadir): Define.
+       (localedir): Define.
+       (DEFS): Add LOCALEDIR definition.
+       (LDADD): Add @INTLLIBS@.
+       * aclocal.m4: Add NLS-related macro definitions from
+       gettext distribution.
+       * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES,
+       HAVE_STPCPY): New macros.
+       Add PACKAGE and VERSION.
+       * configure.in (PACKAGE): Define with AC_DEFINE_UNQUOTED.
+       (VERSION): Likewise.
+       (ALL_LINGUAS): Define.
+       (ud_GNU_GETTEXT): Use it.
+       Link an nls file.
+       (AC_OUTPUT): Reflect addition of two new directories, intl and po.
+       Create po/Makefile.
+       From François Pinard.
+
+Thu Mar  7 20:26:07 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * df.c (main): Tell read_filesystem_list that it should determine
+       file system type when the user specifies --print-type or -T.
+       From Michael Rendell <michael@cs.mun.ca>.
+
+Tue Feb 27 23:13:46 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * src/Makefile.am: Adapt for automake-0.30.
+       (noinst_HEADERS): Rename from HEADERS.
+       (EXTRA_PROGRAMS): Set to `df mvdir'.
+       (PROGRAMS): Remove definition.
+       (bin_PROGRAMS): Remove hard-coded df.  Use @DF_PROG@ instead.
+       (libexec_PROGRAMS): Remove hard-coded mvdir.  Use @MVDIR_PROG@ instead.
+       * lib/Makefile.am: (noinst_HEADERS): Rename from HEADERS.
+
+       * configure.in (DF_PROG, MVDIR_PROG): Use these instead of bundling
+       both into PROGS.
+
+Mon Feb 26 21:23:58 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * dd.c (copy): Remove bogus (now that we're using full_write)
+       increment of w_partial.
+       Change sense of the tests (though they're equivalent) that check
+       the value returned by full_write. making it clearer where errno
+       is valid.  full_write always writes the full amount or fails.
+
+Thu Feb 15 23:08:41 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * cp.c (copy): Detect (and fail) when creating backup file would
+       destroy the source file.  Before, running the commands
+       cd /tmp; rm -f a a~; : > a; echo A > a~; cp -b -V simple a~ a
+       would leave two zero-length files: a and a~.
+       Reported by Martin C. Martin <mcm@cs.cmu.edu>.
+
+Mon Feb 12 23:23:25 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * configure.in (LIBOBJS): Split assignment into two statements to
+       accomodate automake-0.29 buglet.
+
+       Update for automake-0.29.
+       * Makefile.am (CONFIG_HEADER): Don't define.  Automake now does it.
+       * src/Makefile.am: Likewise.
+       * lib/Makefile.am: Likewise.
+       * doc/Makefile.am (info_TEXINFOS): Renamed from TEXINFOS.
+       * man/Makefile.am (man_MANS): Renamed from MANS.
+
+Wed Jan 31 21:50:41 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * dd.c (skip): Change type of parameter #5 from char* to
+       unsigned char* to match type of argument.
+       (copy): Cast first arg in memset call to char* to avoid warnings
+       from SunOS's acc.
+       (copy_simple): Likewise.
+
+       * du.c: Remove comma after last item in enum.
+
+       * df.c: Remove block of usage comments at beginning of file.
+
+       * df.c (main): New options --human-readable (-h) and --megabytes (-m).
+       (human_readable_1k_blocks): New function.
+       (print_header): Honor new options.
+       (show_dev): Honor new options.
+       Add ifdef'd-out code to avoid printing lines for mount points that
+       match ^/auto/.* and ^/tmp_mnt.*.  Rather than hard-coding those
+       two prefixes, the code should allow the user to specify a regular
+       expression.  From Larry McVoy (lm@sgi.com).
+
+       * du.c (human_readable): Fix off-by-one error that converted
+       1024*1024 to 1024K rather than 1G.  Describe the function.
+       * df.c (human_readable_1k_blocks): Likewise
+       (usage): Update usage message to reflect additions.
+
+Sat Jan 20 06:00:09 1996  Jim Meyering  (meyering@na-net.ornl.gov)
+
+       * cp-aux.c (usage): Fix description of --archive.  From Andreas Schwab.
+
+       * install.c (copy_files): Accept backup/suffix options just as cp,
+       ln, and mv do.  From Marty Leisner <leisner@sdsp.mc.xerox.com>.
+
+       * src/Makefile.am (DISTCLEANFILES): Set to stamp-v version.c.
+       (version.c): Update with rules from textutils.
+       (transform): Add `s/ginstall/install/;' prefix.
+
+       * lib/Makefile.am (BUILT_SOURCES): Set to posixtm.c getdate.c so
+       autodependencies work after `make maintainer-clean.'
+
+       * du.c (main): New options --human-readable (-h) and --megabytes (-m).
+       (human_readable): New function.
+       From Larry McVoy (lm@sgi.com).
+
+Fri Dec 22 21:34:55 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * configure.in: Touch stamp-h only if config.h is remade.
+
+Sat Dec 23 11:33:19 1995  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (decode_switches): Make -o a synonym for -lG for compatibility
+       with most other versions of ls.  Reported by Karl Berry.
+       (usage): Update.
+
+Fri Dec 22 00:48:01 1995  Jim Meyering  (meyering@comco.com)
+
+       * dd.c (cleanup): New function -- broken out from quit.
+       (interrupt_handler): Rewrite to reset default signal handler,
+       call cleanup, then repost caught signal.
+
+Thu Dec 21 23:15:06 1995  Jim Meyering  (meyering@comco.com)
+
+       * argmatch.h: New file.
+       * lib/Makefile.am (HEADERS): Add argmatch.h.
+       * argmatch.c: (argmatch): Add const attribute to parameters.
+       (invalid_arg): Add const attribute to parameters.
+
+       * cp.c: Include argmatch.h.
+       * ls.c: Likewise.
+       * touch.c: Likewise.
+
+       * cp.c (main): Accept new option, --sparse={never,auto,always},
+       to control creation of sparse files.
+       (copy_reg): Set local, make_holes, from global flag_sparse.
+       * cp-aux (usage): Describe new option.
+
+Mon Dec 18 22:29:49 1995  Jim Meyering  (meyering@comco.com)
+
+       * ln.c: [SYMBOLIC_SPACE_STRING]: New macro.
+       (do_link): Use SYMBOLIC_SPACE_STRING instead of open-coded #ifdef.
+       For --verbose, output `create [symbolic ]link DEST to SRC' instead
+       of ambiguous (or inconsistent with cp -v and mv -v) `SRC -> DEST.'
+
+Tue Dec  5 17:38:11 1995  Jim Meyering  (meyering@comco.com)
+
+       * rm.c (rm): Work around SunOS 4 bug whereby lstat doesn't fail
+       when given a zero-length file name argument.  Reported by
+       Mark Calabretta <mcalabre@atnf.csiro.au>.
+
+Wed Nov 22 23:12:47 1995  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in (all et. al.): If make was invoked with -k and a
+       sub-make fails, fail after the loop rather than exiting right away.
+       Otherwise, make's -k option could be ineffective.
+
+Thu Nov 16 21:25:45 1995  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in (default): New default target.  Depend on `all' to work
+       around bug in AIX-3.2.5's /bin/make.  Reported by Andreas Luik
+       <luik@isa.de>.
+
+Fri Nov 10 23:31:46 1995  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in (.c._o, ._c._o): Remove temporary source files.
+       (.c._c): Don't redirect directly to $@.
+
+       * src/Makefile.in (DISTFILES): Include ansi2knr.c and ansi2knr.1.
+       (clean): Remove temp files generated by ansi2knr rules.
+       (ansi2knr): New rule.
+       Add suffixes, dependencies, and rules to convert ANSI source to K&R
+       when required.
+       ($(OBJECTS)): Depend on $(ANSI2KNR)
+
+       * configure.in: Add fp_C_PROTOTYPES.
+
+       * Makefile.in (DISTFILES): Add aclocal.m4.
+       (configure): Depend on aclocal.m4.
+       (stamp.h.in): Depend on aclocal.m4 and acconfig.h.
+       * acconfig.h: Add PROTOTYPES.
+
+       * cp.h: Remove declaration of error.  Include error.h instead.
+       Protoize forward dcls of functions in cp-hash.c and cp-aux.c
+       * cp-aux.c: Protoize and add const attribute to parameters.
+       * cp-hash.c: Likewise.
+
+Thu Nov  9 23:27:05 1995  Jim Meyering  (meyering@comco.com)
+
+       * system.h [__P]: Define it.
+
+       * src/*.c: Protoize.
+
+       * ls.c (enum filetype): Move dcl to precede prototypes.
+       (struct fileinfo): Likewise.
+       Add const attribute to some parameters.
+
+       * rm.c (struct pathstack): Move dcl to precede prototypes.
+
+       * dd.c (translate_charset): Make parameter `const'.
+
+       * ln.c (main): Move to the end.
+       Remove most fwd dcls.
+       * chmod.c: Likewise.
+       * chown.c: Likewise.
+       * chgrp.c: Likewise.
+       * mkdir.c: Likewise.
+       * mkfifo.c: Likewise.
+       * mknod.c: Likewise.
+       * mvdir.c: Likewise.
+       * touch.c: Likewise.
+
+       * mv.c: Rearrange functions to obviate forward dcls.
+       Remove forward dcls.
+
+       * cp.c: Protect prototyped forward dcls with __P.
+       * dd.c: Likewise.
+       * df.c: Likewise.
+       * du.c: Likewise.
+       * install.c: Likewise.
+       * ls.c: Likewise.
+       * rm.c: Likewise.
+
+Wed Nov  1 23:11:05 1995  Jim Meyering  (meyering@comco.com)
+
+       * cp.c (copy): Use euidaccess instead of euidaccess_stat.
+       * mv.c (do_move): Likewise.
+       * rm.c (remove_file, remove_dir): Likewise.
+
+Sun Oct 29 06:06:13 1995  Jim Meyering  (meyering@comco.com)
+
+       * aclocal.m4 (jm_WITH_AUTODEPS): New directive.
+       * configure.in: Use it.
+
+       * lib/Makefile.in (INCLUDE, COMPILE): New variables.
+       (.c.o): Rewrite to be more like src/Makefile.in.
+       Add line that (--with-autodeps) will include mkdep-Makefile.
+       (distclean): Remove .deps.
+       * src/Makefile.in: Likewise.
+
+       * src/Makefile.in (test.o): Remove special rule.
+
+       * mkdep-Makefile: New file.
+       * Makefile.in (DISTFILES): Add mkdep-Makefile.
+
+       * doc/Makefile.in (mostlyclean): Remove *.info.
+
+       * touch.c: Change long option name `--file' to `--reference'.
+       Leave --file as an alias, for now.  It will be removed later.
+       (usage): Reflect option name change.  From Franc,ois Pinard.
+
+Wed Oct 18 23:09:55 1995  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (AC_CHECK_HEADERS): Add sys/wait.h and sys/ioctl.h.
+       (AC_CHECK_FUNCS): Add endpwent.
+
+       * fileblocks.c: Use _POSIX_VERSION, not _POSIX_SOURCE.
+
+       * userspec.c [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE.
+       [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE.
+
+       * chgrp.c [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE.
+
+       * chown.c [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE.
+       [endgrent]: Remove unused definition.
+
+       * df.c (main): Fail if the same file system type was both selected
+       and excluded.  Reported by Paul Close pdc@lunch.engr.sgi.com.
+
+       * rm.c (duplicate_entry): Always return 0 if !D_INO_IN_DIRENT,
+       rather than if _POSIX_SOURCE.
+
+       * install.c: Use HAVE_SYS_WAIT_H, not _POSIX_VERSION in conditional
+       inclusion of sys/wait.h.
+       [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE.
+       [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE.
+
+       * ls.c Use HAVE_SYS_IOCTL_H, rather than !_POSIX_SOURCE || _AIX.
+
+Thu Oct  5 21:49:34 1995  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (HAVE_STRUCT_UTIMBUF): Add new test.  Testing for
+       the existence of <utime.h> is insufficient on some Next systems.
+       * acconfig.h (HAVE_STRUCT_UTIMBUF): Add it.
+       * system.h [!HAVE_UTIME_H]: Don't declare struct utimbuf here.
+       [!HAVE_STRUCT_UTIMBUF]: Declare struct utimbuf here instead.
+
+       * chgrp.c: Include limits.h.
+       [!INT_MAX]: Define it.
+
+       * df.c (show_point): Cast -2 to dev_t before assignment.
+       * mountlist.c (read_filesystem_list): Cast -1 to dev_t before
+       assignment.
+
+Sun Oct  1 13:22:36 1995  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (AC_REPLACE_FUNCS): Add strtoul.
+       * strtoul.c: New file.
+       * lib/Makefile.in (SOURCES): Add strtoul.c.
+
+       * acconfig.h (STATFS_TRUNCATES_BLOCK_COUNTS): Add it.
+       * configure.in (STATFS_TRUNCATES_BLOCK_COUNTS): New check to enable
+       workaround for SunOS statfs brokenness.  Block counts in struct
+       statfs for partitions 2GB and larger are truncated, but correct
+       values are stored in f_spare array member.
+
+       * fsusage.c (get_fs_usage) [STATFS_TRUNCATES_BLOCK_COUNTS]: Copy
+       untruncated block counts from f_spare array into proper members
+       of struct statfs. From Eirik Fuller (eirik@netapp.com);
+
+       * ls.c (dired_dump_obstack): Don't generate any output if the
+       obstack is empty.
+       (main): Always initialize and dump subdired_obstack, not just if -R.
+       `ls -lDR dir dir2' was using uninitialized subdired_obstack.
+       Reported by Samuli K{rkk{inen <hskarkka@snakemail.hut.fi>.
+
+Tue Sep 26 23:05:01 1995  Jim Meyering  (meyering@comco.com)
+
+       * man/Makefile.in (install-data, uninstall): Use sed not basename.
+       The GNU Coding Standard suggests that only a select set of
+       relatively standard utilities be used in Makefiles.  basename is
+       not among them.  Suggested by Ulrich Drepper.
+
+Mon Sep 25 23:12:37 1995  Jim Meyering  <meyering@gremlin.comco.com>
+
+       * src/df.c (show_point): Ignore mtab entries with either
+       nonexistent mount points or with inconsistent device number.
+       From Eirik Fuller <eirik@synopsys.com>.
+
+Wed Aug  9 00:33:05 1995  Jim Meyering  (meyering@comco.com)
+
+       * mknod.c (my_strtol): Remove function.
+       (main): Use xstrtol instead.
+
+Mon Aug  7 23:27:54 1995  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB.
+       From Franc,ois.
+
+Fri Aug  4 22:11:06 1995  Jim Meyering  (meyering@comco.com)
+
+       * install.c (isnumber): Rename to is_number to avoid conflict with
+       FreeBSD 2.0.5 macro definition.  Reported by David O'Brien
+       (obrien@sea.legent.com).
+
+       * lib/save-cwd.c: New file.
+       * lib/save-cwd.h: New file.
+       * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Update for new files.
+
+       * configure.in: (AC_REPLACE_FUNCS): Remove fnmatch.
+       Add check for working fnmatch functions so that
+       systems providing it don't incur the space overhead of linking
+       with the version in lib.  Cross compiling builds always use the
+       version in lib.
+
+       * ls.c (decode_switches): Set SORT_TYPE.  Before, ls -c was sorting
+       by name, rather than change time.  Reported by Ken Estes
+       (m-ke0082@sparky.cs.nyu.edu).
+
+       * du.c: (save_cwd, restore_cwd, free_cwd): Remove functions.
+       New versions have been broken out into save-cwd.c.
+       (du_files): Adapt to handle status code returned by new versions
+       of save_cwd and restore_cwd.
+       (count_entry): Likewise.
+
+       * all programs (main): Include program name in --version output.
+
+       * src/Makefile.in (cp.o): Depend on ../lib/obstack.h.
+
+       * xstrtol.c, xstrtol.h: New files.
+       * xstrtoul.c, xstrtoul.h: New files.
+       * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Update for new files.
+
+       * chgrp.c (parse_group): Use xstrtoul instead of isnumber; the
+       latter would silently overflow, accepting a group id larger
+       than INT_MAX.
+       (isnumber): Remove now-unused static function.
+       (change_file_group) [MAXUID]: Give a more descriptive message
+       when numeric group id is larger than MAXUID.
+
+Sat May 27 00:35:47 1995  Jim Meyering  (meyering@comco.com)
+
+       * system.h [!STDC_HEADERS && HAVE_MEMORY_H]: Include memory.h.
+       Without this, SunOS doesn't get type for memchr.
+       Reported by Kaveh Ghazi.
+
+Sun May 21 07:20:55 1995  Jim Meyering  (meyering@comco.com)
+
+       * all source files (usage): Include one- or two-line synopsis
+       in --help output.  From Karl Berry.
+
+       * Makefile.in (.PHONY): TAGS is not a phony target.  From Franc,ois.
+
+       * All Makefile.in (install-exec, install-exec): New targets.
+       From Karl Berry.
+
+       * all Makefile.in (maintainer-clean): Renamed from realclean
+       per GNU Standards.
+
+       * euidaccess.c: No longer include safe-l?stat.h.
+       * fsusage.c: Likewise.
+       * isdir.c: Likewise.
+       * makepath.c: Likewise.
+       * mkdir.c: Likewise.
+       * rename.c : Likewise.
+       * rmdir.c: Likewise.
+
+Sat May 13 07:47:44 1995  Jim Meyering  (meyering@comco.com)
+
+       * lib/Makefile.in: Remove safe-l?stat.[ch]in and related rules.
+       (maintainer-clean): Rename from realclean.
+       (.PHONY): New dependencies.
+       [.c.o]: Remove -I. since safe-l?stat.h are no longer used.
+
+       * argmatch.c (argmatch): Include sys/types.h and declare length
+       argument with type size_t.
+
+       * backupfile.c: Remove unnecessary definitions for r?index.
+       Update definitions for ISDIGIT.
+
+       * basename.c (basename): Make argument const.
+
+       * euidaccess.c (eaccess_stat): Make statp and path arguments const.
+       (euidaccess): Make statp argument const.  Use stat, not safe_stat.
+
+       * fsusage.c (statfs): Use stat, not safe_stat.
+       * isdir.c (isdir): Likewise.
+       * mkdir.c (mkdir): Likewise.
+       * rename.c (rename): Likewise.
+       * rmdir.c (rmdir): Likewise.
+
+       * userspec.c (parse_user_spec): Use strchr, not index.
+       [!HAVE_STRING_H]: Define strchr in terms of index, not the
+       other way around.
+
+       * makepath.c: (make_path): Use stat, not SAFE_STAT.
+       Use strchr, not index.  Adjust defines accordingly.
+
+       * makepath.h: Undef __P before defining.
+       Guard definition with simpler `#if __STDC__'.
+
+       * chgrp.c: Use stat (lstat), not safe_stat (safe_lstat).
+       * chmod.c: Likewise.
+       * chown.c: Likewise.
+       * cp-hash.c: Likewise.
+       * cp.c: Likewise.
+       * df.c: Likewise.
+       * du.c: Likewise.
+       * install.c: Likewise.
+       * ln.c: Likewise.
+       * ls.c: Likewise.
+       * mv.c: Likewise.
+       * mvdir.c: Likewise.
+       * rm.c: Likewise.
+       * touch.c: Likewise.
+
+Fri May 12 21:21:23 1995  Jim Meyering  (meyering@comco.com)
+
+       * mv.c (movefile): Remove a single trailing slash from destdir
+       before concatenating with `/' and filename for `ok to overwrite...'
+       message.  Reported by Franc,ois Pinard.
+
+Mon May  1 23:03:30 1995  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (quote_filename): Never return NULL when quoting filenames
+       as C-strings.  --quote-name was quoting only strings containing
+       at least one C-quotable character.  Reported by David J. MacKenzie.
+
+Mon Mar 20 21:44:40 1995  Jim Meyering  (meyering@comco.com)
+
+       * rename.c (rename): Compare src and dest inode numbers rather
+       than src inode and dest dev when determining whether they refer
+       to the same file.  From marc@math.cornell.edu (Marc Parmet).
+
+       * df.c (usage): Add ellipsis after `[OPTION]'.  Use FILE,
+       not deprecated PATH in text of help message.  From Karl Berry.
+
+Fri Mar 10 21:13:23 1995  Jim Meyering  (meyering@comco.com)
+
+       * src/*.c: Update Copyright dates.
+
+       * src/Makefile.in (uninstall): Handle case in which LIBPROGS is empty.
+       Reported by Peter Smidt <smidt@cd.chalmers.se>.
+
+Thu Feb 23 22:29:11 1995  Jim Meyering  (meyering@comco.com)
+
+       * du.c (save_cwd) [!HAVE_FCHDIR]: Always initialize cwd->desc.
+       (restore_cwd) [!HAVE_FCHDIR]: Remove unnecessary redefinition
+       of fchdir.  Both from Bruno Haible.
+
+Mon Feb 20 22:54:39 1995  Jim Meyering  (meyering@comco.com)
+
+       * du.c (save_cwd, restore_cwd): New functions.
+       (main): Use them instead of open coded versions.
+       (count_entry): Use them here instead of relying on chdir ("..") --
+       but only when necessary.  Before, with --dereference (-L),
+       traversing a symlink caused failure because chdir ("..") didn't
+       work as expected.  Reported by Bruno Haible.
+
+Sat Feb 11 07:52:01 1995  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (AC_REPLACE_FUNCS): Add memcmp, memcpy, and memset.
+       (AC_CHECK_FUNCS): Add strchr and strrchr.
+       * lib/Makefile.in (SOURCES): Add memcmp.c, memcpy.c, and memset.c.
+
+       * system.h: Remove index/rindex and bcmp/bcopy/bzero references.
+       Separate errno declaration from STDC_HEADERS.
+
+       * dd.c (copy): Use memset, not bzero.
+       (copy_simple): Use memcpy, not bcopy.
+
+       * fsusage.c (get_fs_usage, statfs): Use safe_read, and safe_stat
+       rather than bare read and stat.  From Bruno Haible.
+
+       * lib/Makefile.in (DISTFILES): Add error.h.
+
+       * chgrp.c, chmod.c, chown.c, cp-hash.c, cp.c, df.c, du.c, install.c,
+       ln.c, ls.c, mv.c, mvdir.c, rm.c, touch.c: Rename SAFE_STAT and
+       SAFE_LSTAT to safe_stat and safe_lstat.
+
+       * basename.c (basename): Use strrchr, not rindex.
+       [!STDC_HEADERS && !HAVE_STRING_H]: Define strrchr to rindex.
+
+Tue Dec 27 07:07:53 1994  Jim Meyering  (meyering@comco.com)
+
+       * src/*.c: Include "error.h" rather than simply declaring
+       `void error ();'.
+       * src/Makefile.in (OBJECTS): Depend on ../lib/error.h.
+
+       * sync.c (main): Make error message accurate.
+
+       * dd.c (skip): Use safe_read instead of read.
+       (copy): Use full_write instead of write.
+       From Bruno Haible.
+
+Sat Dec 10 00:02:09 1994  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in (install): Install `install' first as transformed
+       `ginstall,' then remove the target (transformed `install')
+       and move GNU install into its place.  Before, the installation
+       process failed on systems (e.g. HPUX) that can't overwrite the
+       executable associated with a running process.
+
+       * system.h [!HAVE_STRING_H]: Define strchr to index and strrchr to
+       rindex instead of the other way around.
+       * rmdir.c (remove_parents): Use strr?chr instead of r?index.
+       * mvdir.c (main): Likewise.
+       * dd.c (parse_conversion, scan_args): Likewise.
+       * cp.c (copy, make_path_private): Likewise.
+
+       * system.h: Include <ctype.h> and define IS* macros.
+       * touch.c: No longer include <ctype.h>.
+       * chown.c: Likewise.
+       * install.c: Likewise.
+       [isascii, ISDIGIT]: Remove definitions.
+       * chgrp.c: Likewise.
+       * dd.c: Likewise.
+
+Sun Dec  4 14:53:12 1994  Jim Meyering  (meyering@comco.com)
+
+       * doc/Makefile.in (DISTFILES): Add getdate.texi.
+
+Fri Nov 11 11:15:20 1994  Jim Meyering  (meyering@comco.com)
+
+       * mknod.c (my_strtol): New function.
+       (main): Use it instead of atoi to convert argument strings to
+       major and minor device numbers.  Now, mknod diagnoses invalid
+       device numbers and accepts octal and hexadecimal as well as
+       decimal string arguments.  Ralf Lammers
+       <rlammers@physik.uni-osnabrueck.de> suggested that mknod accept
+       hex device numbers for compatibility with HPUX's mknod program.
+
+       * configure.in (AC_REPLACE_FUNCS): Add strtol.
+       * lib/Makefile.in (SOURCES): Add strtol.c.
+
+Sun Nov 06 00:18:56 1994  Jim Meyering  (meyering@comco.com)
+
+       * Version 3.12.
+
+Sat Nov 05 15:20:07 1994  Jim Meyering  (meyering@comco.com)
+
+       * group-member.c: Use up-to-date version.
+       * group-member.h: New file.
+       * lib/Makefile.in (DISTFILES): Add group-member.h.
+       (group-member.o): Depend on group-member.h.
+
+       * Version 3.11.
+
+       * src/Makefile.in (obstack.o): Depend on obstack.h.
+       * makepath.c (makepath) [__STDC__]: Add an ANSI-style prototype.
+       From Kaveh Ghazi.
+
+Fri Nov 04 17:27:55 1994  Jim Meyering  (meyering@comco.com)
+
+       * Version 3.10.
+
+Thu Nov 03 12:59:34 1994  Jim Meyering  (meyering@comco.com)
+
+       * makepath.h: New file.
+       * makepath.c: Include it.
+       Add an argument: PRESERVE_EXISTING.
+       Declare char* arguments const.
+       * install.c, mkdir.c: Update callers.  Set it in mkdir.c so
+       that `mkdir -p' ignores existing directories as POSIX mandates.
+       Before, it would try to change owner and/or permissions of such
+       directories.  Christopher S. Arthur <csa@halcyon.com> reported
+       the mkdir -p failure.
+       * lib/Makefile.in (DISTFILES): Add it.
+       (makepath.o): Depend on makepath.h.
+       * src/Makefile.in (install.o, mkdir.o): Depend on makepath.h.
+       * cp.c (make_path_private): Rename function from make_path to
+       avoid confusion.
+       (do_copy): Update caller.
+
+       * ls.c: Include <limits.h> before system.h because limits.h on
+       some systems undefines PATH_MAX, whereas system.h includes pathmax.h
+       which sets PATH_MAX.  From Kaveh Ghazi.
+
+       * euidaccess.c: Define S_IXUSR, S_IXGRP, and S_IXOTH in terms of
+       S_IEXEC if they're not already defined.  Reported by Kaveh Ghazi
+       and Daniel Hagerty <hag@gnu.ai.mit.edu>.
+
+Tue Nov 01 06:18:20 1994  Jim Meyering  (meyering@comco.com)
+
+       * eaccess.c (euidaccess): Rename from eaccess to avoid conflict
+       with like-named, different function in some C libraries.
+       * euidaccess.c: Renamed from eaccess.c
+       * lib/Makefile.in (SOURCES): Rename eaccess.c.
+       Update dependency, too.
+       * configure.in (AC_REPLACE_FUNCS): Check for euidaccess
+
+Mon Oct 31 08:02:31 1994  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (dired_dump_obstack): Cast obstack_finish for non-ANSI
+       compilers.  Kaveh Ghazi reported the problem.
+
+Sat Oct 29 00:42:18 1994  Jim Meyering  (meyering@comco.com)
+
+       * fsusage.c (get_fs_usage) [STAT_STATFS4]: Define CONVERT_BLOCKS
+       to adjust_blocks for _AIX.  Was getting off-by-8x numbers.
+
+       * df.c: Make --sync the default.
+       Add new option: --no-sync.
+       Remove short option alias for --sync.
+       (usage): Update.
+
+       * ls.c [!STDC_HEADERS]: Declare free.
+       (dired_dump_obstack): Cast pos[i] (of type size_t) to int so it
+       matches %d in printf.
+       (quote_filename): Fix typo in stpcpy call.
+
+Thu Oct 27 00:02:45 1994  Jim Meyering  (meyering@comco.com)
+
+       * fsusage.c: Include <sys/stat.h> before safe-stat.h.
+
+       * cp.c (make_path): Don't change protections on existing directory.
+       Reported by Andreas Schwab.
+
+       * df.c: New option: --sync.  No longer perform sync by default.
+       Do it only when this option is used.  Invoking sync can be very
+       expensive, and it's not clear that doing so yields more up to date
+       results.  With encouragement/prodding from Paolo Zeppegno
+       (paolo@to.sem.it), Nick Holloway, and Kaveh Ghazi.
+
+Thu Oct 20 00:52:59 1994  Jim Meyering  (meyering@comco.com)
+
+       * system.h [!S_IEXEC]: Define as S_IXUSR.
+
+       * cp.h [S_IEXEC]: Remove definition.  cp.c doesn't use it.
+
+       * ls.c [!INT_MAX]: Define to 2^31 - 1 so subsequent #if test works.
+       [S_IEXEC]: Remove definition.  It's in system.h now.
+       (usage): Sort options, but without segregating upper and lower case.
+
+       * ls.c: Support for new option: --dired (-D).
+       (dired, dired_pos, dired_obstack, subdired_obstack): Global variables.
+       [PUTCHAR, FPUTS, FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS]: New macros
+       (dired_dump_obstack, quote_filename): New functions.
+       (main): Initialize obstacks.
+       (decode_switches): Recognize -D.
+       (print_dir): Make arguments `const.'
+       Record directory name indices in obstack.
+       (print_dir, print_long_format, print_type_indicator): Use macros
+       FPUTS, FPUTS_LITERAL, PUTCHAR for output.
+       (print_long_format): Record file name indices in obstack.
+       (print_name_with_quoting): Just call quote_filename and output the
+       result.
+
+Mon Oct 17 23:56:36 1994  Jim Meyering  (meyering@comco.com)
+
+       * savedir.c: Indent CPP conditionals.  Change some #ifdefs to #ifs.
+       From Franc,ois Pinard.
+
+Mon Oct 17 10:27:26 1994  David J. MacKenzie  (djm@duality.gnu.ai.mit.edu)
+
+       * lib/dirname.c: Use strrchr, not rindex.
+
+Sun Oct 16 07:53:27 1994  Jim Meyering  (meyering@comco.com)
+
+       * system.h (S_IXUSR, S_IXGRP, S_IXOTH): Define these in terms of
+       S_IEXEC if they're not already defined. From Kaveh Ghazi.
+
+       * eaccess.c (eaccess_stat): Don't use NULL in comparison.
+       Some systems don't define it except in stdio.h -- and including
+       (yes, just including) stdio.h has been known to significantly
+       increase object code size (though admittedly, that probably
+       happens only on old systems).  Kaveh Ghazi reported the problem.
+
+       * src/Makfile.in lib/Makfile.in (DEFS): Remove -Dlint.
+       It causes problems on broken pyramid system.
+       From Kaveh Ghazi.
+
+Sat Oct 08 10:39:32 1994  Jim Meyering  (meyering@comco.com)
+
+       * mountlist.c: Always include <sys/param.h> if it exists.
+       (fstype_to_string) [__NetBSD__]: Don't define this function.
+       (read_filesystem_list) [__NetBSD__]: Use fsp's f_fstypename field,
+       rather than fstype_to_string (f_type).  With suggestions from
+       Greg Hudson (ghudson@mit.edu).
+
+       * lib/Makefile.in (OBJECTS): Remove eaccess.o.
+       * configure.in (AC_REPLACE_FUNCS): Add `eaccess' here instead.
+       The Hurd and Linux will have it.
+
+Fri Oct 07 20:27:48 1994  Jim Meyering  (meyering@comco.com)
+
+       * (doc): New subdirectory with texinfo documentation.
+       * fileutils.texi: Thanks to Franc,ois Pinard and Karl Berry!
+
+       * Makefile.in (All of them): Update from the ones in sh-utils.
+       From now on, rules and definitions that are comon to the fileutils,
+       textutils, and sh-utils will get ChangeLog entries only in the
+       sh-utils.
+
+       * Makefile.in (install, uninstall): Prepend ginstall->install
+       mapping to standard $(transform) sed mapping.
+
+       * chgrp.c, chmod.c, chown.c, install.c, mkdir.c, mkfifo.c, mknod.c,
+       rm.c, rmdir.c (main): Diagnose wrong number of argument -- usually
+       too few -- instead of just referring the user to the --help option.
+       * mknod.c (main): Give diagnostics explaining specific problems
+       instead of just the usage message.  Reported by Karl Berry.
+
+       * configure.in: Overhaul tests that determine how to get filesystem
+       usage statistics.  Now, most use AC_TRY_RUN and test for the precise
+       feature that will be used.  I know that that will make configuring a
+       little harder for the people who cross compile, but if one of them
+       is annoyed enough (or complains loudly enough :-) maybe someone will
+       find the time to add tests to be used solely when cross compiling.
+       * acconfig.h (STAT_READ): Rename to STAT_READ_FILSYS.
+       * fsusage.c: Reorganize accordingly.
+
+Tue Oct 04 20:38:12 1994  Jim Meyering  (meyering@comco.com)
+
+       * chmod.c (main): Remove trailing slashes from file name arguments.
+       Otherwise, `chmod 600 foo/; chmod 700 foo/' failed with the error
+       `chmod: foo/: Permission denied' under Linux 1.1.51.  Reported by
+       Thomas Koenig (ig25@fg70.rz.uni-karlsruhe.de).
+       * chown.c (main): Likewise.
+
+Thu Oct  2 23:03:32 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Replace obsolete AC_DIR_HEADER with AC_HEADER_DIRENT
+       and AC_FUNC_CLOSEDIR_VOID.
+
+       * configure.in: Remove AC_SIZEOF_TYPE(int).
+       ls.c: Instead of comparing SIZEOF_INT == 2, compare INT_MAX to 2^16.
+       Suggestion from Roland McGrath.
+
+Sat Oct 01 21:23:27 1994  Jim Meyering  (meyering@comco.com)
+
+       * src/*.c: Remove CONFIG_BROKETS conditional.
+
+       * {*/,}Makefile.in: Revamp to look much like those in sh-utils.
+       * acconfig.h (HAVE_FTRUNCATE): Remove it.
+       (ino_t, D_INO_IN_DIRENT): Add these.
+
+       * configure.in: Convert for autoconf-2.0.
+       * backupfile.c: Likewise.
+       * savedir.c: Likewise.
+
+       * mkdir.c, rmdir.c: Split the two functions from old mkdir.c into
+       separate files.
+
+       * chgrp.c [_POSIX_VERSION]: Test this instead of _POSIX_SOURCE.
+
+       * ls.c: Don't use SIZEOF_INT because it would require configure
+       to run a program -- then cross compilers would lose.  Instead,
+       compare INT_MAX to 64k-1 since all we need to know is whether
+       an int is 2 bytes or larger.
+
+       * rm.c [D_INO]: Use D_INO_IN_DIRENT rather than _POSIX_SOURCE in the
+       test for how to define this macro.
+
+       * system.h: Use HAVE_SYS_PARAM_H (not _POSIX_SOURCE) in test
+       for whether to include <sys/param.h>.
+       Likewise for <utime.h>.
+       Update for DIRENT->HAVE_DIRENT_H etc. autoconf-2.0 changes.
+       Ditto for VOID_CLOSEDIR->CLOSEDIR_VOID.
+
+       * xgetcwd.c [!_POSIX_VERSION && !HAVE_GETCWD]: Remove
+       !defined (_POSIX_VERSION) conjunct.  From Kaveh Ghazi.
+
+Mon Sep 26 17:47:17 1994  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * lib/*.c: Remove CONFIG_BROKETS conditional.
+       * lib/Makefile.in src/Makefile.in: Don't define it.
+
+Sun Sep 25 12:20:52 1994  Jim Meyering  (meyering@comco.com)
+
+       * ln.c (do_link): Give a diagnostic when trying to make a hard
+       link to a nonexistent source file.  Before, running the command
+       `ln -i no-such-file existing-file' and responding `yes' to the
+       prompt would both remove `existing-file' and fail to make a link.
+       Karl Berry reported the problem.
+
+Sat Sep 10 04:34:34 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+       * src/rm.c (remove_dir): Pass pathname to eaccess_stat.
+
+Fri Sep  2 13:54:13 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
+
+       * lib/Makefile.in (safe-lstat.c, safe-lstat.h, safe-stat.c,
+       safe-stat.h): Use $(srcdir) to find source files.
+       (.c.o): Use -I. to get safe-lstat.h and safe-stat.h from the
+       build directory.
+       * src/Makefile.in (incl): Add -I../lib to get lib/safe-lstat.h and
+       lib/safe-stat.h from the build directory.
+
+Sat Aug 27 16:33:04 1994  Jim Meyering  (meyering@comco.com)
+
+       * ln.c (main): Accept new option --no-dereference (-n).
+       (do_link): If the destination command line argument is a symlink
+       to a directory and --no-dereference is given, use that as the
+       destination instead of the file in the directory.
+       * ln.1: Document this.
+
+       * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's.
+       From Francois Pinard.
+
+       * isdir.c, makepath.c, rename.c [STAT_MACRO_BROKEN]: Remove
+       spurious #ifdef's.
+
+Thu Aug 25 00:12:20 1994  Jim Meyering  (meyering@comco.com)
+
+       * dd.c (copy): Clean up and fix off-by-one error when freeing
+       the input buffer.
+
+Thu Aug 18 11:41:16 1994  Jim Meyering  (meyering@comco.com)
+
+       * du.c (du_files) [HAVE_FCHDIR]: Use open (".", ...) and fchdir
+       instead of xgetcwd and chdir.  Otherwise, running du in a subdirectory
+       of an unreadable directory would fail because xgetcwd fails.
+       * configure.in (AC_HAVE_FUNCS): Add fchdir.  AIX-2.3 (for one)
+       doesn't have it.
+
+       * lib/Makefile.in (DISTFILES): Include getdate.c and posixtim.c
+       so one doesn't need $(YACC).
+       Add dependencies on safe-stat.h.
+
+Sat Jul 30 08:08:02 1994  Jim Meyering  (meyering@comco.com)
+
+       * du.c (main): Don't initialize automatic array CWD_ONLY in declaration.
+       Some compilers don't allow that.
+
+       * backupfile.c [DIRENT]: Remove spurious `|| defined(_POSIX_VERSION)'.
+       * savedir.c: Ditto.
+
+       * safe-xstat.c.in, safe-xstat.h.in: New files.
+       * lib/Makefile.in: Add rules and dependencies for building safe-stat.c,
+       safe-stat.h, safe-lstat.c, and safe-lstat.h from them.
+
+       * eaccess.c (eaccess): Use SAFE_STAT instead of stat
+       (and/or SAFE_LSTAT instead of lstat) to avoid unnecessary failure
+       on systems for which stat (lstat) can return EINTR.
+       * fsusage.c (statfs): Ditto.
+       * isdir.c (isdir): Ditto.
+       * makepath.c (make_path): Ditto.
+       * rename.c (rename): Ditto.
+       * chgrp.c (change_file_group): Ditto.
+       * chmod.c (change_file_mode): Ditto.
+       * chown.c (change_file_owner): Ditto.
+       * cp-hash.c (remember_created): Ditto.
+       * cp.c (main, do_copy): Ditto.
+       * df.c (main, show_point): Ditto.
+       * du.c (main, du_files, count_entry): Ditto.
+       * install.c (copy_file): Ditto.
+       * ln.c (main, do_link): Ditto.
+       * ls.c (gobble_file): Ditto.
+       * mv.c (is_real_dir, do_move): Ditto.
+       * mvdir.c (main): Ditto.
+       * rm.c (rm): Ditto.
+       * touch.c (main, touch): Ditto.
+
+       * Makefile.in (install): Tell GNU make that this target is .PHONY
+       so it doesn't unnecessarily build ./install from install.sh.
+
+Tue Jul 26 11:33:53 1994  Jim Meyering  (meyering@comco.com)
+
+       * system.h: Remove `|| defined(_POSIX_VERSION)' from test that
+       decides whether to include <fcntl.h>.  From Francois Pinard.
+
+Sun Jul 03 08:44:00 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [AC_HAVE_HEADERS]: Add sys/param.h, for definition
+       of HAVE_SYS_PARAM_H, now tested in pathmax.h.
+
+       * makepath.c (make_path): Avoid spurious failure for file names
+       that contain `/.' or `/..'.  From Andreas Schwab
+       <schwab@issan.informatik.uni-dortmund.de>.
+
+       * dd.c (main): Handle SIGPIPE like other interrupts.
+       From Scott L. Burson <gyro@zeta-soft.com>.
+
+       * df.c (main, show_dev, usage): New option --print-type=fstype.
+       From Arne Henrik Juul.
+       * df.1: Update.
+
+Thu Jun 30 10:28:32 1994  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (longdiff) [SIZEOF_INT == 2]: Choose which version of this
+       macro to use based on SIZEOF_INT rather than obsolete INT_16_BITS.
+       [INODE_DIGITS]: New macro.
+       (print_long_format): Use it.
+       (print_file_name_and_frills): Ditto.
+       (length_of_file_name_and_frills): Ditto.
+       (print_long_format): Add a couple casts to unsigned types.
+
+       * ls.c: Change type name from `struct file' to `struct fileinfo'.
+       David J. Mackenzie reported a name conflict on HPUX with the former.
+
+       * dd.c (copy): Allocate an extra byte so I/O buffer begins on an
+       even address.  This because the ITOS 3000WS running SEIUX 3.1
+       (a descendant of MIPS RISC/OS 4.x) has SCSI device drivers that
+       require the I/O buffer begin on an even address.  From
+       Tilman Schmidt <tilman@gb1.sema.de>.
+
+Mon Jun 20 23:45:34 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Use AC_PROGRAM_PATH to get values for LN, MV, RM.
+       (AC_HAVE_FUNCS): Add getgroups.
+       (AC_OUTPUT): Remove touch command.
+
+       * eaccess.c (in_group): Remove static function.  Use group_member
+       instead.
+       (eaccess_stat, eaccess): Change calling sequence to take filename.
+       Save UID and GID and use access if they are the same as effective IDs.
+       (main) [TEST]: Test driver.
+       * cp.c (copy): Update callers.
+       * mv.c (do_move): Ditto.
+       * rm.c (remove_file): Ditto.
+
+       * cp.c (copy): With --preserve (-p) for non-root users, don't even
+       try to preserve file ownership in chown call.  Otherwise, on systems
+       with the mis-feature allowing non-root users to change file ownership,
+       the subsequent chmod would fail.
+
+       * userspec.c (parse_user_spec): Rewrite.  Be careful to free all
+       allocated memory upon error.
+       (main) [TEST]: Test driver.
+
+       * src/Makefile.in (uninstall): Delete $(LIBPROGS) one at a time
+       instead of like `rm -f $(libdir)/$(LIBPROGS)'.  The old way loses
+       when LIBPROGS is empty and $(libdir) is a non-directory, and would
+       lose if LIBPROGS could ever have more than one word.
+       * (RM, LN, MV, INSTALL): Use values determined by ./configure instead
+       of the newly built binaries so people can build with a cross
+       compiler and still run `make (un)install.'
+
+       * chgrp.c (change_file_group): Give a better error message when
+       failing because the invoking user does not belong to the requested
+       group.  This affects systems on which chown sets errno to EPERM
+       for both `inaccessible file' and `user not a member of the specified
+       group' errors.  Before, `chgrp bin file-I-own' would give the
+       misleading and incorrect diagnostic `chgrp: file-I-own: Not owner'.
+       Now it reports `you are not a member of group `bin''.
+       Thomas A Peterson (tap@src.honeywell.com) reported this weakness.
+
+       * long-options.c: Move from src/ to lib/.
+       * long-options.h: Ditto.
+       * src/Makefile.in: Remove references to long-options.[ch].
+       * lib/Makefile.in (SOURCES, OBJECTS): Add long-options.[co].
+
+Sat Jun 18 15:45:34 1994  Jim Meyering  (meyering@comco.com)
+
+       * du.c (count_entry): Print "/" instead of zero-length string.
+       From Kjetil Torgrim Homme.
+
+Sun May 29 13:43:50 1994  Jim Meyering  (meyering@comco.com)
+
+       * group-member.c: New file.
+       * lib/Makefile.in (SOURCES, OBJECTS): Add group-member.[co].
+
+       * sync.c: New file.
+       * Makefile.in (PROGS): Add sync.
+       (SOURCES): Add sync.c
+       * src/Makefile.in: Add rules and dependencies for sync.
+
+       * configure.in: Use AC_SET_MAKE and AC_PROG_INSTALL.
+       If AC_FUNC_CHECK doesn't find getgroups, add -lbsd if possible.
+       This was reported by Tilman Schmidt <ts@gb1.sema.de>
+       to be necessary on an ITOS 3000WS running SEIUX 3.1.
+
+       * Makefile.in: Edit MAKE assignments into @SET_MAKE@.
+       (Makefile): Remove dependencies on */Makefile.in.
+       Change the rule so running config.status creates only Makefile.
+       (stamp-config): Have config.status generate only config.h.
+
+       * {lib,man,src}/Makefile.in (Makefile): Add single dependency on
+       Makefile.in and rule to make config.status create only Makefile.
+
+       * system.h: Move from lib to src.
+       * src/Makefile.in (DISTFILES): Add system.h.
+       * lib/Makefile.in (DISTFILES): Remove system.h.
+
+Mon Apr 18 19:54:24 1994  Jim Meyering  (meyering@comco.com)
+
+       * documentation: Change uses of `pathname' and `path' as per
+       GNU standards.
+
+Fri Apr 15 20:41:15 1994  Jim Meyering  (meyering@comco.com)
+
+       * mv.c (main): Give a reason for failure when given fewer than
+       two non-option arguments, rather than just the pointer to --help.
+       * ln.c (main): Ditto, but for no non-option arguments.
+
+       * configure.in: Update for autoconf-1.8.
+       Use AC_CHECKING instead of echo.
+       Use AC_SIZEOF_TYPE instead of obsolete AC_INT_16_BITS.
+
+Wed Apr 13 11:18:19 1994  Jim Meyering  (meyering@comco.com)
+
+       * cp.c (copy_reg): Correct off-by-DEV_BSIZE error in test for
+       whether a file has holes.  From Michael Bushnell <mib@gnu.ai.mit.edu>.
+
+Wed Mar 30 08:53:21 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Use AC_SET_MAKE.
+       * Makefile.in: Edit MAKE assignments into @SET_MAKE@.
+
+Mon Mar 14 11:01:09 1994  Jim Meyering  (meyering@comco.com)
+
+       * fsusage.c (adjust_blocks): Return -1 when FROMSIZE is non-positive.
+       Suggestion from Andries.Brouwer@cwi.nl.  He reported that df failed
+       with divide by zero when trying to process an entry for an nfs file
+       system mounted over a SLIP line after the SLIP connection had been
+       broken.
+       [convert_blocks]: Rename macro to CONVERT_BLOCKS.
+
+Sat Jan 29 13:24:07 1994  Jim Meyering  (meyering@comco.com)
+
+       * du.c (main): Call du_files (with ".") when there are no
+       non-option arguments rather than treating that as a special case.
+       (du_files): Ignore return value from count_entry.
+       (count_entry): Accumulate file sizes into new global sum used for
+       the -c option;  the return value is unchanged and is still used
+       by recursive calls.  Now, using -S and -c together works.
+       Add parentheses to clarify precedence.
+
+Fri Jan 28 11:02:21 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Don't set LDFLAGS since linking now uses both
+       LDFLAGS and CFLAGS.
+
+Thu Jan 13 17:27:38 1994  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in: Change all link commands to use both $(CFLAGS)
+       and $(LDFLAGS).
+
+Mon Jan 10 01:20:38 1994  Jim Meyering  (meyering@comco.com)
+
+       * man/Makefile.in (manprefix): Use binprefix as the default.
+
+Thu Dec 30 23:11:10 1993  Jim Meyering  (meyering@comco.com)
+
+       * The following changes are necessary to avoid spurious failures
+       when a read or write system call is interrupted (e.g. by SIGTSTP).
+       A POSIX implementation of those system calls may either return
+       -1 and set errno to EINTR or return a positive value indicating
+       that a partial read or write has completed successfully.  On Linux
+       0.99.14, interrupted read and write system calls return -1/EINTR.
+       Thanks to Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>
+       for pointing this out.
+
+       * full-write.c, safe-read.c: New files.
+
+       * cp.c (copy_reg): Use full_write instead of write.  Handle
+       errno == EINTR (instead of failing) after read system call.
+       * dd.c (skip): Handle errno == EINTR (instead of failing) after
+       read system call.
+       (copy): Use safe_read instead of read.
+       * install.c (copy_file): Use safe_read and full_write instead of
+       read and write system calls.
+       * mv.c (copy_reg): Ditto.
+       * touch.c (utime_now): Ditto.
+
+Tue Dec 28 15:49:32 1993  Jim Meyering  (meyering@comco.com)
+
+       * install.sh: New file.
+       Makefile.in [DISTFILES]: Add it.
+
+Sat Dec 18 01:12:24 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg
+       so it goes in config.status.  This eliminates unnecessary second run
+       of configure.
+
+Thu Nov 18 00:03:24 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [STAT_STATFS2_FSIZE]: Fix test (that had obsolete
+       and now-broken use of AC_HEADER_EGREP) so that this flag is set
+       for NetBSD 0.9.
+
+Mon Oct 25 20:27:00 1993  Jim Meyering  (meyering@comco.com)
+
+       * cp-aux.c, df.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c,
+       mknod.c, mv.c, touch.c: Use the preferred `--longopt=arg'
+       syntax in --help message rather than `--longopt arg'.
+       From Francois Pinard.
+
+Tue Oct 19 07:02:18 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 3.9.
+
+Mon Oct 18 00:13:40 1993  Jim Meyering  (meyering@comco.com)
+
+       * src/*.c (usage): Now the usage message is simply
+       "Try `%s --help' for more information.  From Francois Pinard.
+
+       * src/Makefile.in [LIBPROGS]: Depend on ../lib/libfu.a and
+       version.o.  From Francois Pinard.
+
+       * src/*.c (usage): Remove blank line before "Try `%s --help..."
+       in usage message.
+
+Sun Oct 17 00:19:58 1993  Jim Meyering  (meyering@comco.com)
+
+       * fileblocks.c [!NINDIR]: Define BSIZE only if it's not already
+       defined.
+
+       * ls.c (print_long_format): Cast printf args major and minor
+       so they'll have types matching %u format even on systems
+       where those macros have signed type.
+
+Sat Oct 16 00:25:42 1993  Jim Meyering  (meyering@comco.com)
+
+       * chmod.c (change_file_mode): Reapply Oct 6 change for symlinks.
+       Somehow it got removed from working sources.
+
+       * lib/Makefile.in [OBJECTS]: Change dependency to ../config.h so
+       it works when building in a subdirectory.  From Rick Sladkey
+       (jrs@world.std.com).
+
+Wed Oct 13 19:43:47 1993  Jim Meyering  (meyering@comco.com)
+
+       * cp.c (copy), ls.c (get_link_name): Complete Aug 27 change so
+       that we use PATH_MAX + 1 rather than sizeof(char*) as size of
+       buffer in readlink call.  This was causing spurious errors.
+
+       * cp.c (copy), mv.c (do_move), rm.c (remove_file, remove_dir):
+       Cast to `unsigned int' stat->st_mode printf arguments corresponding
+       to %o formats to avoid warnings.
+
+       * lib/Makefile.in [DEFS]: Remove -DMVDIR.  Add -DCONFIG_BROKETS.
+       (rename.o): Add a specific rule.  Use -DMVDIR=... here instead.
+
+       * src/Makefile.in [DEFS]: Add -DCONFIG_BROKETS.
+       (distclean): Don't delete dir.c and vdir.c; they aren't
+       created anymore.
+
+       * lib/Makefile.in: Make all .o files depend on $(srcdir)/../config.h.
+       * src/Makefile.in: Ditto.
+
+Sun Oct 10 13:38:54 1993  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in (dist): Depend on $(DISTFILES).
+
+       * src/Makefile.in [libdir, LIBPROGS]: Define them.
+       From Francois Pinard.
+
+       * posixtm.y: [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
+       or "config.h".  From Francois Pinard.
+
+       * makepath.c: [HAVE_CONFIG_H, CONFIG_BROKETS]: Remove the duplicate
+       #ifdef block following the alloca #ifdefs.  From Francois Pinard.
+
+       * df.c: Remove unnecessary dcl of strstr.
+
+Sat Oct  9 13:30:28 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [STATFS_OSF1]: Change name to STAT_STATFS3_OSF1
+       to be consistent with names of the other STAT_* macros.
+       * acconfig.h: Ditto.
+       * fsusage.c: Ditto.
+
+       * acconfig.h: Add comments.
+       * Makefile.in: Remove comments about -D flags that could be added
+       to DEFS; now (using autoheader) those comments end up in config.h.
+
+       * Makefile.in (configure, config.h.in): Warn that they may not be
+       up to date.  Don't touch them.
+
+       * ls.c (usage): Split long usage string between two fprintf
+       statements to avoid default limit of SGI's cc on string length.
+
+       * Makefile.in, src/Makefile.in [PROGS]: Alphabetize.
+
+       * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS.
+
+Thu Oct 07 12:57:10 1993  Jim Meyering  (meyering@comco.com)
+
+       * chgrp.c, chmod.c, chown.c, cp-aux.c, cp.c, dd.c, df.c, du.c,
+       install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c, mv.c, mvdir.c,
+       rm.c, rmdir.c, touch.c (usage): Using --help gets long well-
+       formatted help.  Now --help writes to stdout and exits successfully.
+       From Francois Pinard <pinard@iro.umontreal.ca>.
+
+       * lib/Makefile.in [libdir]: Make sure it's defined.
+
+       * posixtm.y [!__GNUC__ && !HAVE_ALLOCA_H]: Declare alloca as void*
+       rather than char*.  The latter conflicts with a dcl from bison.simple.
+
+Wed Oct 06 18:22:00 1993  Jim Meyering  (meyering@comco.com)
+
+       * chmod.c (change_file_mode): Add an argument to control how symbolic
+       links are treated.
+       (main, change_dir_mode): Reflect changed calling sequence.
+       Now symlinks listed on the command line are processed (they
+       were ignored before); the permissions of the dereferenced files are
+       changed.  Symlinks encountered in recursive traversals are still
+       ignored.  This makes GNU chmod act more like e.g. Sun's.
+       From Nick Holloway <alfie@dcs.warwick.ac.uk>.
+       * chmod.1: Document it.
+
+Tue Oct 05 14:52:02 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Add AC_STAT_MACROS_BROKEN.
+
+       * isdir.c, makepath.c, rename.c, system.h [STAT_MACROS_BROKEN]:
+       Test this.
+
+       * install.c (install_file_in_dir): Use stpcpy instead of slow sprintf.
+
+       * argmatch.c, backupfile.c, basename.c, dirname.c, eaccess.c,
+       fileblocks.c, fsusage.c, getversion.c, idcache.c, isdir.c,
+       makepath.c, mountlist.c, rename.c, savedir.c, stripslash.c,
+       userspec.c, xgetcwd.c, xstrdup.c, yesno.c, [HAVE_CONFIG_H,
+       CONFIG_BROKETS]: Include <config.h> or "config.h".
+
+       * lib/Makefile.in, src/Makefile.in [.c.o]: Put -I.. before
+       -I$(srcdir) so <config.h> will get the right file.
+
+       * chgrp.c, chmod.c, chown.c, cp-aux.c, cp-hash.c, cp.c, dd.c,
+       df.c, du.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c,
+       mv.c, mvdir.c, rm.c, rmdir.c, touch.c, version.c [HAVE_CONFIG_H,
+       CONFIG_BROKETS]: Include <config.h> or "config.h".
+
+       * configure.in [AC_CONFIG_HEADER]: Use it.
+
+       * configure.in (rename.o) [MVDIR definition]: Remove it.
+       * lib/Makefile.in [DEFS]: Put it here instead.
+
+       * config.h.in, acconfig.h: New files
+       * Makefile [DISTFILES]: Add them.
+       (config.h.in): Add a rule to warn if it may need to be rebuilt.
+
+       * lib/Makefile [YACC]: Get definition from @YACC@.
+
+       * system.h: Include <unistd.h>.  This is needed for the definition
+       of _POSIX_VERSION.
+
+Thu Sep  9 08:52:10 1993  Jim Meyering  (meyering@comco.com)
+
+       * src/*.c: Print version on standard output, not stderr.
+
+Fri Aug 27 23:53:50 1993  Jim Meyering  (meyering@comco.com)
+
+       * cp.c (copy), ls.c (get_link_name): Don't use PATH_MAX as array
+       length in declarations because on some systems it gets defined
+       to the function pathconf.  Use dynamic allocation instead.
+
+       * fsusage.c (adjust_blocks): Use `1' instead of `+1'.  Many
+       compilers don't parse the latter.  From Kaveh R. Ghazi.
+
+Thu Aug 26 22:26:09 1993  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (print_long_format, print_file_name_and_frills): Cast inode
+       number to unsigned long and print it with %lu to avoid warnings from
+       gcc -Wformat because the size and type of ino_t are system dependent.
+
+       * cp.c (do_copy): Plug a memory leak with --parents.
+
+       * ln.c (main): Like mv and cp, convert `ln x y/' to ln x y/x
+       when a is not a directory.
+       [PATH_BASENAME_CONCAT]: New macro.
+       (do_link): Use it here, too.
+
+       * ls.c (sort_files): Add `default: abort();' clause to switch stmts.
+
+       * cp.c (do_copy): Don't remove trailing slashes from source.
+
+Wed Aug 25 21:40:00 1993  Jim Meyering  (meyering@comco.com)
+
+       * cp.c: Add --parents as synonym for --path.  Change --path to
+       --parents in comments.  --path is deprecated.
+
+       * rm.c (clear_directory): Fix incorrect test for determining when
+       to reallocate buffer.  Thanks to Ric Anderson <ric@CS.Arizona.EDU>.
+
+Fri Aug 13 17:19:52 1993  Jim Meyering  (meyering@comco.com)
+
+       * fsusage (adjust_blocks): Round away from zero -- this matters
+       when computing the negative free-block count for disks that are
+       more than 100% full.
+
+       * mv.c (movefile): Use nested calls to stpcpy instead of sprintf.
+       (is_real_dir): New function.
+       (movefile): In addition to when dest is a directory, if dest has
+       a trailing `/' and source is not a directory, presume the target
+       is dest/`basename source`.  This converts `mv x y/' to `mv x y/x'
+       when x is not a directory.  This change means that the command
+       `mv any file/' will now fail rather than performing the move.
+
+       * cp.c (do_copy): Similarly, convert `cp x y/' to cp x y/x when
+       x is not a directory.
+
+Wed Aug  4 17:43:18 1993  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (get_link_name): Don't ever use the stat field st_size as a
+       buffer size.  Too many systems don't set it properly for mount points.
+       Instead, use a fixed-length buffer.  From Michael Joosten
+       <joost@ori.CAdlab.DE>.
+       * cp.c (copy): Ditto.
+
+Mon Jul 19 17:39:01 1993  Jim Meyering  (meyering@comco.com)
+
+       * backupfile.c (concat): Temporary STR1_LENGTH should have type `int'
+       instead of `char.'
+
+Fri Jul 16 22:00:16 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * dd.c (print_stats): Change message from "truncated blocks"
+       to "truncated records" for final POSIX.2 spec.
+
+Fri Jun 25 17:18:15 1993  Jim Meyering  (meyering@comco.com)
+
+       * mkdir.c, rmdir.c: Change --path long option to --parents to avoid
+       confusion with search-path semantics of --path as an option to other
+       programs.  --path will still work, but is no longer documented.
+
+Tue Jun  8 00:46:26 1993  Jim Meyering  (meyering@comco.com)
+
+       * dd.c (parse_integer): Also accept `c' multiplier for consistency
+       with find's -size option.
+
+Thu May 27 00:03:51 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 3.8.
+
+       * configure.in (STAT_OSF1): Reference the statfs f_fsize member
+       so that configure defines STAT_OSF1 only if there is such a member.
+       Without such a reference, a Pyramid MIServer running OSx 5.1
+       improperly defined STAT_OSF1 instead of the one it needed:
+       STAT_STATFS2_BSIZE.
+
+Wed May 26 00:57:46 1993  Jim Meyering  (meyering@comco.com)
+
+       * ls.h, ls-ls.c ls-dir.c, ls-vdir.c: New files that define or
+       simply set the new global variable ls_mode.  ls_mode defines whether
+       the executable built from ls.o should act like ls, dir, or vdir.
+       * ls.c (decode_switches): Use the variable instead of #ifdefs.
+       This is modelled after the approach used in GNU binutils 2.x for
+       ar and ranlib.  Here we avoid two redundant compilations.
+
+       * install.c (change_attributes, copy_file, install_file_in_file):
+       Don't call chown if we can efficiently determine that doing so is
+       unnecessary.  On some systems, calls to chown (even with your own
+       uid and gid) fail unless made by root.  On such systems install
+       got spurious failures.
+
+Sat May 22 02:13:12 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 3.6.
+
+Fri May 21 18:42:27 1993  Jim Meyering  (meyering@comco.com)
+
+       * rename.c (rename): Be careful not to unlink `from' if it happens
+       to be equal to `to' or (on filesystems that silently truncate
+       filenames after 14 characters) if `from' and `to' share the
+       significant characters.  From Bruno Haible
+       <haible@ma2s2.mathematik.uni-karlsruhe.de>.
+
+       * mountlist.c, fsusage.c: Make these work under m88k DolphinOS.
+       From Kjetil Wiekhorst J|rgensen <jorgens@pvv.unit.no>.
+
+Tue May 18 23:49:26 1993  Jim Meyering  (meyering@comco.com)
+
+       * mkinstalldirs: New file.
+       * Makefile.in (installdirs): Use it.
+
+Sat May 15 01:20:26 1993  Jim Meyering  (meyering@comco.com)
+
+       * ln.c (do_link): Make `ln -s dir_pathname .' work when the
+       pathname has a trailing slash.
+
+Fri May 14 23:45:52 1993  Jim Meyering  (meyering@comco.com)
+
+       * all source: With --version, print version and exit immediately.
+
+Wed May 12 20:48:55 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Add check for the -ldgc library that is required
+       for getmntent on m88k DGUX-5.4 systems.
+
+       * Makefile.in (installdirs): New rules for creating installation
+       directories. (install): Depend on it.
+
+Sat May  8 11:31:14 1993  Jim Meyering  (meyering@comco.com)
+
+       * lib/Makefile.in (dist): Use `cp -p' instead of just `cp'
+       if linking fails.
+
+Thu May  6 22:45:25 1993  Jim Meyering  (meyering@comco.com)
+
+       * makepath.c: Use explicit dcl of errno only if !STDC_HEADERS.
+       Some systems have <errno.h> but don't declare errno.
+       From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
+
+       * getdate.y: Test TIME_WITH_SYS_TIME, not TIME_AND_SYS_TIME.
+
+Wed May  5 00:21:12 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Add AC_TIME_WITH_SYS_TIME.
+       * getdate.y: Use it (this is a version local to fileutils).
+
+Tue May  4 20:25:41 1993  Jim Meyering  (meyering@comco.com)
+
+       * du.c (count_entry): Give an error and exit if chdir ("..") fails.
+       From Bruce Evans <bde@runx.oz.AU>.
+
+       * eaccess (eaccess_stat): Cast NGROUPS_MAX to appropriate types.
+       From Bruce Evans <bde@runx.oz.AU>.
+
+Mon May  3 22:09:24 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Add AC_GETGROUPS_T.
+       * eaccess.c: Don't define GETGROUPS_T.  Now configure does it.
+
+Sun May  2 09:18:53 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Check for libypsec.a on Dolphin M88K machines.
+       This can result in significant speedup for programs that access
+       YP information.  From Kjetil Wiekhorst J{\o}rgensen
+       <jorgens@pvv.unit.no>.
+
+Fri Apr 30 02:21:48 1993  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (main): Make `-f' work like on standard Unix ls, instead
+       of as a short equivalent of --full-time.
+       * ls.1: Document it.
+
+Thu Apr 29 00:46:46 1993  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in [dir.o, vdir.o]: Make ordering of CFLAGS etc
+       in compilation rules consistent with that in .c.o rule.
+
+       * Makefile.in (dist): Depend on Makefile so that changes to
+       Makefile.in (like adding new files to DISTRIB) are reflected
+       in the new distribution.
+
+Tue Apr 27 21:35:11 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Remove unnecessary AC_PROG_INSTALL.
+
+Fri Apr 23 23:39:16 1993  Jim Meyering  (meyering@comco.com)
+
+       * {lib,src}/Makefile.in [.c.o]: Make CPPFLAGS and CFLAGS follow
+       other options so users can use them to override DEFS.
+
+       * lib/mktime.c: Use new version from glibc instead of one from
+       libc-subst.  `touch' built with the latter didn't set proper
+       time unless given a specific --date option.
+
+Thu Apr 22 00:22:25 1993  Jim Meyering  (meyering@comco.com)
+
+       * makepath.c: Decouple inclusion of errno.h from definition of
+       STDC_HEADERS; many systems have errno.h, yet shouldn't define
+       STDC_HEADERS.
+       * makepath.c (make_path): Add EPERM clause only if both AFS and
+       EPERM are defined.
+       * configure.in: Test for errno.h header file.
+
+Mon Apr 19 11:21:14 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 3.5.
+
+       * ls.c, touch.c: Don't include time.h explicitly -- it's included
+       by system.h.  From Franc,ois Pinard.
+
+       * posixtm.y: Use TM_IN_SYS_TIME.
+
+       * backupfile.c [index, rindex]: Don't redefine them.
+
+       * system.h [alloca]: Don't redefine it.
+
+       * configure.in: Check for sys/time.h; getdate.y needs it for
+       structs timeval and timezone on some systems.
+
+Sun Apr 18 22:40:19 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
+
+       * ls.c: Include fnmatch.h after system.h, so we get our
+       definitions of FNM_*, not those from unistd.h.
+
+       * mountlist.c [MOUNTED_GETMNTINFO]: Add #ifdef around MOUNT_PC.
+
+       * configure.in: Fix test for 4.4BSD statfs to not grep for a
+       macro in cpp output.
+
+Sun Apr 18 02:35:36 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Check for gettimeofday.
+       Check for `struct tm'.
+       Change MVDIR definition so it works with new AC_DEFINE.
+
+       * system.h: Remove last vestiges of USG;  instead, use specific
+       test for TM_IN_SYS_TIME to determine whether to include time.h
+       or sys/time.h.
+
+       * src/Makefile.in (install): Rewrite the test for whether to install
+       mvdir so that it doesn't cause gratuitous failures with broken shells.
+       Split long rule so the pieces fit in 80-column lines.
+
+Thu Apr 15 23:44:01 1993  Jim Meyering  (meyering@comco.com)
+
+       * lib/Makefile.in (posixtm.c): Add dependency on getdate.c to enforce
+       sequential invocations of YACC.
+       * (posixtm.c, getdate.c): Remove use of `bison -o' and associated
+       conditional rename commands -- not needed since the parser generators
+       won't be run in parallel;  now bison (when used) is always invoked
+       with -y.
+
+Tue Apr 13 09:18:18 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Find a parser generator.
+       * Makefile.in [MDEFINES]: Add YACC to the list of variables passed to
+       sub-makes.
+       * lib/Makefile.in (posixtm.c, getdate.c): Try first to build with
+       `bison -o' -- for parallel makes.  If that fails, use $(YACC).
+
+       * posixtm.y [HAVE_MEMCPY && !HAVE_BCOPY]: Define bcopy in terms
+       of memcpy for old versions of bison that generate parsers that
+       use bcopy.
+
+       * configure.in: Add tests for memcpy and bcopy.
+
+Mon Apr 12 23:02:14 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (mounted, space): Add filesystem checks for DEC Alpha
+       running OSF/1 to complement new code in mountlist.c and fsusage.c.
+
+       * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETFSSTAT]: Add code
+       to do it the OSF/1 way on a DEC alpha.
+       From Brian Fox (bfox@tinker.crseo.ucsb.edu).
+
+       * lib/fsusage.c (get_fs_usage) [STATFS_OSF1]: Add code to call OSF/1's
+       variant of statfs.  From Brian Fox (bfox@tinker.crseo.ucsb.edu).
+
+Sun Apr 11 20:29:31 1993  Jim Meyering  (meyering@comco.com)
+
+       * df.c (main, show_dev): Don't list dummy (automounter) filesystems
+       unless they're explicitly listed on the command line or if the -a
+       option is given.
+
+Fri Apr  9 11:40:48 1993  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in [.c.o]: Put CFLAGS after include directives.
+
+Wed Apr  7 23:54:48 1993  Jim Meyering  (meyering@comco.com)
+
+       * eaccess.c: Undefine NGROUPS_MAX before redefining it.
+       From ghazi@caip.rutgers.edu (Kaveh R. Ghazi).
+
+Mon Apr  5 20:14:17 1993  Jim Meyering  (meyering@comco.com)
+
+       * chgrp.c, chmod.c, chown.c, install.c, ls.c, mkfifo.c, mknod.c,
+       touch.c: Add `case 0: break;' for long-only options help and version.
+
+Sun Apr  4 09:38:00 1993  Jim Meyering  (meyering@comco.com)
+
+       * src/*.c (usage): Mention --help and --version.
+       (main): Handle flag_help and flag_version before checking for
+       invocation errors.
+
+       * cp.c (copy): Declare to be static.
+
+       * cp.c (copy, make_path, re_protect): Explicitly cast alloca return
+       value to (char *).
+       * ln.c (do_link): Ditto
+       * mv.c (do_move): Ditto
+       * makepath.c (make_path): Ditto
+
+       * lib/eaccess.c (eaccess_stat): Cast to unsigned the value to
+       be right-shifted to avoid ANSI vs K&R semantic ambiguity.
+
+       * src/Makefile.in (incl): New variable.
+
+       * chown.c (main): Explicitly cast -1 to [ug]id_t to avoid compiler
+       warnings.
+
+       * cp.h: Remove unneeded extern dcl of exit_status.
+
+       * basename.c [rindex]: Don't redefine it.
+       * system.h [rindex, incl, bcopy, bzero]: Ditto.
+       * userspec.c [index]: Ditto.
+
+       * Makefile.in [CFLAGS, LDFLAGS]: Don't hard-code these; get their
+       definitions from configure.
+       * configure.in [CFLAGS, LDFLAGS]: Assign reasonable defaults.
+
+Sat Apr  3 18:17:23 1993  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in [Makefile]: Add dependencies and a rule to remake it.
+       [targets that cd then run make in subdirectories]: Don't depend
+       on `cd ..';  use a subshell instead.
+       [info, install-info, dvi, check, installcheck]: New targets but no
+       rules; comply with standards.
+
+       * src/Makefile.in [.c.o, dir.o, vdir.o]: Put CFLAGS after DEFS and
+       CPPFLAGS per standards.texi.
+       Use automatically generated dependencies.
+
+       * mvdir.c (main): Remove dcl of unused variable.
+
+Thu Apr  1 18:05:48 1993  Jim Meyering  (meyering@comco.com)
+
+       * install.c, chgrp.c, dd.c [isascii]: Undefine before redefining.
+
+       * ls.c: Move some dcls so they appear before first function.
+
+       * all programs: Add --help and --version options.
+       * version.c: Remove `Version: ' and newlines from version string.
+
+       * dd.c: Convert usage to take no arguments.
+       * lib/Makefile.in [DISTFILES]: Add version.h.
+
+Wed Mar 31 22:03:28 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [MVDIR]: Don't quote right hand side.
+       * backupfile.c, chgrp.c, install.c: Define isascii macro to be 1
+       also if STDC_HEADERS.
+
+Tue Mar 30 17:42:11 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
+
+       * ls.c: Add -G,--no-group option to inhibit display of group
+       information.
+       * ls.1: Document it.
+
+Mon Mar 29 22:22:40 1993  Jim Meyering  (meyering@comco.com)
+
+       * system.h [ST_NBLOCKS]:  Check also for __hpux.  From Henrik B}kman
+       <Henrik.Bakman@csd.uu.se>.
+
+Sun Mar 28 21:22:30 1993  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in (dist): Use cp when hard link fails.
+       Use tar-1.11.2's -z option instead of -Z.
+
+       * makepath.c [index]: Don't redefine.
+
+Fri Mar 26 00:32:39 1993  Jim Meyering  (meyering@comco.com)
+
+       * df.c (add_excluded_fs_type, excluded_fs_type): New functions adding
+       support for --exclude-type option.  Derived from Kaveh R. Ghazi
+       <ghazi@caip.rutgers.edu>.
+
+       * ls.c (decode_switches, print_long_format): New option: --full-time.
+       From K. Richard Pixley (rich@rtl.cygnus.com)
+
+Thu Mar 25 21:02:36 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * dirname.c [rindex]: Don't redefine.
+
+Tue Mar 23 23:13:33 1993  Jim Meyering  (meyering@comco.com)
+
+       * ls.c (gobble_file): Don't stat symlinks unless we need to.
+       From Mike Rendell <michael@mercury.cs.mun.ca>.
+
+       * dd.c (copy, copy_with_block, copy_with_block): Decrement
+       pending_spaces only if it's > 0. The following command didn't
+       terminate:
+       perl -e 'print "a  a\n";'| dd of=/dev/null ibs=1 cbs=3 conv=unblock
+       With suggestions from Chris Weber <weber@bucknell.edu>,
+       Marlys.A.Nelson@uwrf.edu, and Albert-Lunde@nwu.edu.
+
+Fri Mar 05 00:02:53 1993  Jim Meyering  (meyering@comco.com)
+
+       * chmod.c: Add long-named options.
+
+Mon Feb 15 23:34:55 1993  Jim Meyering  (meyering@comco.com)
+
+       * rm.c (remove_file): Don't ask about overriding a mode if the
+       target is a symbolic link -- some systems (like SGI's Irix 4.0)
+       zero the permissions fields of symbolic links.
+       From Arne Henrik Juul (arnej@imf.unit.no).
+
+Fri Dec 11 16:46:50 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
+
+       * rm.c (main): If -f is given, don't complain if no file args
+       are given.
+
+Tue Dec  8 21:09:16 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
+
+       * posixtm.y: Include alloca.h if HAVE_ALLOCA_H, not if sparc.
+
+Mon Dec  7 20:09:59 1992  Jim Meyering  (meyering@idefix.comco.com)
+
+       * install.c (isnumber), chgrp.c (change_file_group): Define ISDIGIT
+       and use it instead of isdigit.
+
+       * dd.c: Define ISLOWER and ISUPPER independent of STDC_HEADERS.
+       Define ISDIGIT and use it instead of isdigit.
+
+Wed Dec  2 12:28:10 1992  Jim Meyering  (meyering@idefix.comco.com)
+
+       * all files using getopt.h: Convert static declarations of
+       struct option to use new macros from getopt.h: no_argument,
+       required_argument, and optional_argument.
+
+Tue Nov 24 07:54:45 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * system.h: Use HAVE_FCNTL_H instead of USG.
+
+       * xgetcwd.c: Use HAVE_GETCWD instead of USG.
+
+       * backupfile.c, basename.c, dirname.c, idcache.c, makepath.c,
+       mountlist.c, stripslash.c, userspec.c, xstrdup.c, system.h:
+       Use HAVE_STRING_H instead of USG.
+
+       * system.h: Use SYSDIR and NDIR instead of USG.
+       Define direct as dirent, not vice-versa.
+       * ls.c, rm.c, backupfile.c, savedir.c: Use `struct dirent',
+       not `struct direct'.
+
+Thu Nov 12 23:10:56 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * system.h: If dirent is #defined, don't define direct as dirent;
+       for Sinix.  Derived from Heinfried Korn (korn@med-in.uni-sb.de).
+
+Mon Nov  9 14:13:57 1992  Jim Meyering  (meyering@idefix.comco.com)
+
+       * fsusage.c (adjust_blocks): Reverse Oct 31 change --
+       the function is more readable than the macro.
+
+       * All files in src: Make all functions and extern variables static.
+       Make all longopts arrays const as well as static.
+       Make a couple statically initialized aggregates `const.'
+
+Sat Oct 31 16:32:17 1992  Jim Meyering  (meyering@idefix.comco.com)
+
+       * fsusage.c (adjust_blocks): Convert to a macro.  The static
+       function wasn't always used.
+
+       * makepath.c, cp.c, ls.c: Add parentheses to expressions
+       like (c = *p++) as per suggestion from gcc -Wall.
+
+       * dd.c (swab_buffer): Fix typo that incremented pointer instead
+       of counter.  Add braces around static struct initializers.
+
+Fri Oct 30 11:40:58 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * ln.c, cp.c (main): Make -s on systems without symlinks an
+       error, not a warning.
+
+Thu Oct 29 14:57:21 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
+
+       * Version 3.4.
+
+       * cp.c (copy, re_protect), mv.c (copy_reg): Do utime and chown
+       before chmod, so set[ug]id bits don't get nuked.
+       Don't use fchmod.
+
+Wed Oct 28 16:13:18 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
+
+       * cp.c, mv.c, ln.c: Rename some variables to use consistent
+       terminology: source and destination.
+
+       * ln.c, mkdir.c, mkfifo.c, mknod.c: Don't strip trailing slashes.
+       * install.c: Don't strip slashes from dest. dirs.
+
+Mon Aug 24 12:49:14 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * xgetcwd.c: Make path_max unsigned, not long.  From Bruce Evans.
+
+Sun Aug 23 03:06:04 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * idcache.c: Use a union for uid_t and gid_t.  From
+       bde@runx.oz.au (Bruce Evans).
+
+       * eaccess.c: Use NGROUPS_MAX if it's defined.  386BSD is like sun.
+
+Sat Aug 22 02:36:49 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * makepath.c: Use uid_t and gid_t.
+
+       * system.h, makepath.c: Use HAVE_ALLOCA_H, not sparc.
+
+       * cp.c (make_path, re_protect): Allocate room for terminating NULs.
+
+Fri Aug 21 21:12:18 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * fsusage.c [STAT_STATVFS]: Use f_bsize if f_frsize is 0.
+       From Paul M Reilly <pmr@rock.concert.net>.
+
+       * xgetcwd.c [!errno]: Declare errno.  From Karl Berry.
+
+       * chown.c (main, change_file_owner, change_dir_owner): Use
+       uid_t and gid_t.  From Rob McMahon <cudcv@csv.warwick.ac.uk>
+       and glaze@cs.mu.oz.au (Glaze).
+
+Thu Jul 23 14:29:17 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * Version 3.3.
+
+Sat Jul 18 20:12:56 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * idcache.c: Use uid_t and gid_t.
+       (getuidbyname, getgidbyname): New functions, for cpio.
+
+       * userspec.c: New file, from code in chown.c.
+       * chown.c: Use it.
+
+Fri Jul 17 00:43:38 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * system.h: Protect from getopt prototype in stdlib.h.
+
+       * ls.c [_AIX]: Include sys/ioctl.h.
+       * fsusage.c: Include sys/vfs.h if AIX PS/2, but not if RS6000.
+       From tranle@intellicorp.com (Minh Tran-Le).
+
+       * mvdir.c: Declare getcwd.  From Francois Pinard.
+
+       * chown.c, chgrp.c, install.c [_POSIX_SOURCE]: Define endpwent
+       and endgrent as empty.
+
+       * makepath.c (make_path): Add cast to alloca call.
+       From Jim Meyering.
+
+       * cp.c (copy, re_protect), mv.c (copy_reg): Notify root of
+       EPERM errors from chown.
+       * makepath.c, install.c [AFS]: Ignore EPERM from chown.
+
+       * system.h (ST_NBLOCKS) [_AIX && _I386]: st_blocks is in 4K units.
+       * fsusage.c (statfs) [_AIX && _I386]: Supply this function.
+       From tranle@intellicorp.com (Minh Tran-Le).
+
+Thu Jul 16 23:08:39 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * df.c (print_header, show_dev): In inode format, print the
+       total number of inodes as well.
+
+       * fsusage.[ch], df.c (show_dev): Count internally using
+       512-byte blocks, not 1024-byte, to avoid rounding errors.
+
+Mon Jul  6 20:03:54 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * rename.c: Use S_ISDIR instead of S_IFDIR.
+
+Fri Jul  3 14:36:34 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * fileblocks.c, system.h, cp.c, dd.c, mv.c, touch.c: Change
+       FOO_MISSING to HAVE_FOO.
+
+Wed Jun  3 19:28:04 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * xgetcwd.c (xgetcwd): Accept errno==EINVAL as nonfatal.
+
+Wed May 20 00:05:52 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * system.h: If we include a header file specifically to get
+       major et al., assume we have them.
+
+Mon May 11 20:04:10 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * chgrp.c, chown.c: --show-changes -> --changes.
+
+Sat May  9 18:39:38 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * system.h: Define DEV_BSIZE if not defined.
+
+Thu Apr 30 13:55:37 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * du.c (count_entry): Remove the trailing "/" before printing.
+
+Wed Apr 29 11:34:38 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * rename.c (rename): If removing `from' fails, remove `to' to
+       clean up.  From Matthew Farwell <dylan@ibmpcug.co.uk>.
+
+Thu Apr 23 21:14:16 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * ls.c (gobble_file): Only read the link contents if -l or the
+       file was named on the command line.
+
+Wed Apr 22 02:16:38 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * fsusage.c (get_fs_usage) [STAT_STATFS4 and _SEQUENT_]: Has f_bavail.
+       From Donn Cave <donn@carson.u.washington.edu>.
+
+       * getversion.c (get_version): If given invalid arg, exit.
+
+       * cp.c (copy): Fix mode with chmod if copying as a regular file.
+
+       * system.h, dd.c: SIGTYPE -> RETSIGTYPE.
+
+Sat Apr 18 00:18:41 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * fsusage.[ch] (get_fs_usage): Take another arg, the device name.
+       * fsusage.c (get_fs_usage) [STAT_READ]: Fix number of inodes
+       calculation.  Use the device name.  From Brian Matthews.
+       * df.c (show_dev): Pass the device name.
+
+Fri Apr 17 11:25:28 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * fsusage.c: Special-case AIX.
+
+       * mountlist.c [MOUNTED_VMOUNT]: New code for AIX, from
+       Garrett A. Wollman (wollman@uvm.edu).
+
+       * ls.c (gobble_file): Use stat, not lstat, on symlinked-to
+       file, for Unix compat.  From ian@airs.com (Ian Lance Taylor).
+
+Mon Apr  6 14:16:06 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * xgetcwd.c: Include stdio.h to get NULL.
+
+Thu Apr  2 14:41:18 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * df.c: Call sync only once, instead of once per filesystem.
+
+Wed Apr  1 16:00:08 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * Version 3.2.
+
+Tue Mar 31 13:39:06 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * df.c (main): stat all arg pathnames before getting
+       list of mounted filesystems.
+       (show_entry, show_point): Take a struct stat * as another arg,
+       to avoid repeatedly statting files.
+
+Mon Mar 30 12:21:28 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * install.c (main): Allow symbolic modes for -m.
+       (atoo): Function removed.
+
+       * mkdir.c (main): Include invalid -m arg in error message.
+
+       * fsusage.c (get_fs_usage) [STAT_STATFS4]: Go back to using
+       512 instead of f_bsize.  Empirically, it gives the right answer.
+
+       * mvdir.c (main): Don't deref NULL pointer on last iteration
+       of loop.
+
+       * fsusage.c (adjust_blocks): New function.
+       (get_fs_usage): Call it.
+
+       * mvdir.c (main): Don't possibly try to use ".." entry of new dir
+       before creating it.
+
+       * fsusage.c (get_fs_usage) [STAT_STATFS4]: Use f_bsize member
+       of struct statfs.
+
+Sat Mar 28 00:36:57 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * dd.c (copy_simple, copy_with_block, copy_with_unblock,
+       translate_buffer, swab_buffer): New functions, mostly made
+       from code taken from copy.  Incorporate some optimizations due
+       to Stuart Kemp: For each type of conversion, only check
+       whether to do it once per buffer read, instead of once per character.
+       (copy): If conv=block and the input didn't end with a newline,
+       pad the final block with spaces.
+
+Wed Mar 25 14:35:17 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * system.h: Don't use BSIZE for calculating ST_BLKSIZE if it
+       isn't defined.
+
+       * mountlist.c [MOUNTED_FREAD], fsusage.c [STAT_READ]: New code
+       for SVR2, from archive@ideahb.sublink.org (Lele Gaifax).
+
+Tue Mar 24 14:53:19 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * mvdir.c: Use getcwd, not getwd.
+
+       * system.h, xgetcwd.c: Redo how PATH_MAX is figured out, to
+       work on SVR3.
+
+       * fsusage.c, mountlist.c: New files split from fsinfo.c.
+       Revise conditionals to make the two files independent of each other.
+       * fsusage.h, mountlist.h: New files split from fsinfo.h.
+       * df.c: Use them.
+
+Mon Mar 23 13:01:07 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * fsinfo.c (read_filesystem_list): Take another arg, all_fs.
+       [FS_MNTENT]: Ignore type "auto" (from amd) as well as "ignore"
+       (from automounter), if not all_fs.
+       * df.c (main): Pass the new arg.
+
+       * fsinfo.h: Add function decls.
+
+       * chown.c, chgrp.c, chmod.c: Remove -L option.  Didn't handle
+       changing symlinks correctly and wasn't very useful.
+
+Sat Mar 14 17:38:38 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * dirname.c (dirname): Don't use strdup.
+
+Fri Mar 13 14:56:15 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * rm.c (remove_file, remove_dir, clear_directory): If -f was
+       given, don't complain about ENOENT when removing.
+
+Mon Mar  9 00:09:48 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * install.c (main): Allow making multiple dirs with -d.
+       (usage): Document it.
+       * makepath.c (make_path): Clear umask while working and
+       restore it when done.  chmod dirs that should have
+       set[ug]id or sticky bits set, if we're chowning them.
+       Make chown failure nonfatal.  Do chmod after chown, not before.
+
+       * du.c (count_entry): Set exit_status on nonfatal error.
+       (main): Use it.
+
+Sun Mar  8 22:07:50 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * du.c (du_files): New function, from code in main.
+       Use xgetcwd instead of getcwd or getwd.
+       * system.h: Don't declare getcwd or getwd.
+
+       * xgetcwd.c: New file.
+
+       * ls.c (main): Exit with `exit_status' instead of 0.
+       (print_dir, gobble_file, get_link_name): Set exit_status on error.
+
+       * ls.c (print_long_format): Allow a slop factor for deciding
+       what is in the future.
+
+       * All programs: Change usage messages and documentation for
+       long options to use -- instead of +.
+
+       * df.c (main, usage): Add -v option for SysV compat.
+
+Tue Feb  4 12:45:09 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * fileblocks.c [!NINDIR]: Try to fake indirect block info for
+       systems that don't define it.
+
+Thu Jan 16 01:04:16 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * df.c (print_header): Capitalize some header words for
+       POSIX.2a draft 8.
+
+Sat Jan  4 01:19:25 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * posixtm.y: Capitalize token name.
+
+Tue Dec 24 01:05:44 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * system.h, makepath.c, idcache.c, eaccess.c, backupfile.c,
+       install.c, dd.c, chown.c, chgrp.c: Change POSIX ifdefs to
+       HAVE_UNISTD_H.
+
+Wed Dec 18 16:42:00 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * system.h: To get major, minor and makedev, don't check for
+       _POSIX_SOURCE and USG; use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS.
+
+Mon Dec 16 18:16:42 1991  David J. MacKenzie  (djm at wombat.gnu.ai.mit.edu)
+
+       * dd.c (skip): Fix typos in arg name.
+       (output_char): Fix off by one error in check.
+
+Sun Dec  8 19:55:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * system.h: Only define major et al. if not already defined.
+
+Fri Dec  6 18:26:53 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * dd.c (main) [POSIX]: Use sigaction instead of signal, which
+       POSIX doesn't have.
+
+       * df.c, du.c, ls.c: POSIX_ME_HARDER -> POSIXLY_CORRECT.
+
+Wed Dec  4 14:30:16 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * dd.c: Cleanups, mostly from Stuart Kemp:
+       (output_char): New macro, from code in copy.
+       (write_output): New function, used by output_char, from code
+       in copy.
+       (skip): New function, from code in copy.
+       (copy): Use output_char and skip.
+       Simplify test for quitting before main loop.
+       Zero buffer using bzero for speed.
+
+Sun Nov 17 19:39:04 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * fsinfo.c (get_fs_usage) [FS_MNTENT]: Take blocksize into account.
+       (read_filesystem_list) [FS_MNTENT]: Ignore filesystems of type
+       "ignore" (automounter dummy entries).
+
+       * install.c (change_attributes): Do chmod even if chown fails.
+
+Thu Oct 24 23:50:46 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * chown.c (change_file_owner), chgrp.c (change_file_group):
+       don't skip symlinks, since the chown system call works on them.
+
+Fri 18 Oct 1991 23:29:24  Jim Meyering  (meyering at wombat)
+
+       * configure: fixed test to detect sequent's strange interpretation
+       of utime(file, NULL).
+
+Fri Oct 18 00:30:42 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * eaccess.c: GID_T -> GETGROUPS_T, for clarity.
+
+Sat Oct 12 12:25:55 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * configure: Define uid_t and gid_t as int if they're not
+       defined in sys/types.h.  That's probably right for old Unixes
+       and avoids trying to find the C preprocessor.
+
+       * df.c: Don't declare sync, to avoid conflict with Minix (and
+       maybe others) unistd.h.
+       (show_point): Cast -1 to dev_t before comparing, in case dev_t
+       is unsigned.  From Rainer Orth.
+
+       * chown.c [!POSIX]: Declare getgrgid.
+
+Fri Sep 13 14:55:41 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * eaccess.c [POSIX]: Always use sysconf to get NGROUPS_MAX.
+
+Thu Sep  5 23:40:39 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * system.h: Instead of defining getwd in terms of getcwd with
+       PATH_MAX as an arg (which might be -1 on POSIX), define getcwd
+       in terms of getwd.
+       * du.c (main): Call getcwd with path_max as an arg.
+
+       * install.c (change_attributes): Do chown before chmod, so
+       chown doesn't remove set[ug]id bits.
+
+Wed Aug 28 20:53:50 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 3.1.
+
+Mon Aug 26 15:44:16 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)
+
+       * du.c (main): If pathconf fails, use 1024 for PATH_MAX.  This
+       happens if "/" is NFS-mounted.
+
+Sun Aug 25 00:56:11 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * df.c, fsinfo.c, fsinfo.h: New program.
+       * configure: Check for various ways of getting info on mounted
+       filesystems.
+
+Thu Aug 22 10:53:23 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * src/Makefile.in: Workaround #10006 for C compilers that are
+       too dumb to allow -c and -o together.  Copy the source files.
+       * system.h: Moved from src to lib to avoid having to add yet
+       more -I options to CFLAGS.
+
+       * du.c, ls.c: If POSIX_ME_HARDER is set in environment, use
+       512-byte blocks by default.
+
+Wed Aug 21 13:03:14 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 3.0.
+
+       * du.c, ls.c: Make 1K blocks the default size, and -k a no-op.
+       Down with dumb standards!
+
+       * system.h, backupfile.c, savedir.c [VOID_CLOSEDIR]: Fake a
+       return value for closedir, which returns void on some systems,
+       like Sequents.
+       * configure: Check sys/dir.h for 'void closedir'.
+
+Tue Aug 20 22:22:47 1991  Jim Meyering  (meyering at nutrimat)
+
+       * mvdir.c (main):  Clean up loop to stat component
+       directories -- as in makepath and pathchk.
+
+Tue Aug 20 22:10:47 1991  Jim Meyering  (meyering at nutrimat)
+
+       * dirname.c (dirname):  Allocate exact amount of space
+       needed for result.
+
+Tue Aug 20 02:13:40 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * savedir.c (savedir): Try to open directory before allocating
+       buffer.  From Jim Meyering.
+
+Mon Aug 19 01:14:13 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Many files: indent '#pragma alloca' so non-ANSI compilers
+       don't choke on it.
+
+       * backupfile.c (max_backup_version): Check closedir return
+       value (though it might not do any good).
+
+Tue Aug  6 20:50:56 1991  David J. MacKenzie  (djm at wheat-chex)
+
+       * configure, Makefile.in's: Support +srcdir option, using VPATH.
+       Don't check for bison, just try it and if it fails use yacc.
+       Create config.status.  Fix up clean targets.
+
+       * posixtm.y (posixtm): New function.
+
+       Most of the following is from Paul Eggert:
+       * savedir.c (savedir), ls.c (print_dir), rm.c
+       (clear_directory): Check closedir return for errors.
+       * dd.c (main): Check for stdin or stdout being closed.
+       * dd.c (quit), install.c (copy_file): Check for close errors.
+       * mv.c (copy): Was missing a close.
+
+Sat Aug  3 02:05:51 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * ln.c: Declare link() unconditionally (SCO UNIX needs it).
+
+Tue Jul 30 00:23:19 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * configure: NEED_TZSET has become FTIME_MISSING.
+
+       * configure: Define uid_t and gid_t if sys/types.h doesn't.
+
+Sat Jul 27 00:55:16 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * configure: Only compile fileblocks.c if st_blocks is missing.
+
+       * cp.c (copy): Make directories with initial mode of source
+       permissions minus umask, plus 0700.  For POSIX and John Gilmore.
+
+       * system.h: Include errno.h and, if STDC_HEADERS, stdlib.h.
+       * All programs: Remove includes of those files.
+
+       * ftruncate.c: New file.
+       * configure: Use it if needed.
+
+Wed Jul 24 02:09:45 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * ls.c (get_name_link), cp.c (copy) [_AIX]: Allocate extra
+       space for the buffer, since st_size is wrong.
+
+       * system.h: Don't declare alloca for AIX.
+       * makepath.c, posixtm.y, cp.c, du.c, ln.c, ls.c, mv.c:
+       Declare alloca first (AIX needs it).
+
+       * cp.c, dd.c, touch.c: Use SEEK_ instead of L_.
+       * system.h: Define SEEK_ if not defined.
+
+Tue Jul 23 15:02:20 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * eaccess.c: GID_T is int if ultrix as well as if sun.
+
+Mon Jul 22 11:39:31 1991  David J. MacKenzie  (djm at bleen)
+
+       * install.c: Use uid_t and gid_t.
+
+       * eaccess.c: Support POSIX method of getting multiple groups.
+
+Sat Jul 20 14:24:40 1991  David J. MacKenzie  (djm at bleen)
+
+       * Move cat cmp cut expand head paste split tac tail unexpand
+       to textutils.
+
+       * system.h [MKFIFO_MISSING]: Define mkfifo macro.
+       * cp.c, mkfifo.c: Don't define it.
+
+       * mknod.c, gmknod.1: New files.
+
+Fri Jul 19 13:43:01 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * version.c: New file.
+       * All C programs: Link with it, to get version number in the
+       binary where at least `strings -' and GNU grep can find it.
+
+Mon Jul 15 13:46:53 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * configure: Also look in sys/signal.h for signal decl.
+
+Sun Jul 14 22:43:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Rename touchtm.y back to posixtm.y, as the date command will
+       use it too.
+
+Mon Jul  8 22:56:36 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Replace lib/Makefile with lib/Makefile.in.
+       * configure: For some library functions that might be missing,
+       conditionally add the .o files to lib/Makefile instead of
+       defining func_MISSING.
+       * lib/mkdir.c: Renamed from lib/mkrmdir.c.
+
+Sat Jul  6 02:19:09 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * xstrdup.c [STDC_HEADERS]: Include string.h.
+
+       * stripslash.h: Include string header file.
+
+       * configure: Add to DEFS if Minix.
+
+       * system.h [_POSIX_SOURCE]: Make ST_BLKSIZE 1024 instead of
+       512, for better performance.
+
+       * system.h, configure: If sys/mkdev.h exists, use it instead
+       of sys/sysmacros.h.
+
+       * configure: echo messages to stdout, not stderr.
+       Use test programs to see if alloca needs -lPW and if chars are
+       unsigned.
+
+Tue Jul  2 03:16:32 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * chown.c, chgrp.c [!POSIX]: Declare pwd.h and grp.h functions.
+
+Sat Jun 29 16:46:12 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * cp.h: Don't declare `open', to avoid conflict with varargs
+       prototypes.
+
+       * chown.c, chgrp.c: Include sys/types.h before, not after,
+       pwd.h and grp.h, to get uid_t and gid_t if necessary.
+
+Fri Jun 28 01:12:45 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * ls.c: Use time_t instead of long, where appropriate.
+
+Thu Jun 27 16:31:45 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * touchtm.y: Renamed from posixtime.y for SysV systems with Bison.
+
+       * configure: No longer need to pass bison the -y option.
+       Now lib/Makefile should allow a parallel make with bison.
+
+       * cp.c (copy_reg), cat.c (main),
+       touch.c (touch, utime_now), mv.c (copy): Check close return
+       value for delayed error report due to NFS.
+
+Thu Jun 20 01:33:06 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * configure: Include $DEFS when compiling test programs.
+
+       * configure: Use test programs instead of grep to check for
+       USG, POSIX, and ANSI C headers, in case symbols are defined in
+       header files included by the standard ones.  Check for BSD
+       memory functions (bcopy et al.) as well as string functions.
+       Add notice to top of generated Makefile saying that it's
+       automatically generated.
+
+Thu Jun 13 00:50:18 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * Version 2.1.
+
+       * configure: If rename is missing, define MVDIR.
+       Use , instead of / as sed substitution separator so variables'
+       values can contain slashes.
+
+       * du.c (main): Use alloca to allocate `wd' instead of making
+       it an auto array, since PATH_MAX might be a call to pathconf.
+
+Wed Jun 12 19:56:22 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * cp-aux.c (usage), install.c (usage), ln.c (usage), mv.c
+       (usage): Combine the option lists for the multiple usage forms.
+
+Tue Jun 11 00:12:15 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * idcache.c: pwd.h and grp.h might need sys/types.h.
+
+       * configure: Create Makefile from Makefile.in instead of
+       makefile from makefile.skel, to more closely follow the new
+       GNU coding standards.
+
+       * ls.c (file_interesting): Use POSIX.2 fnmatch instead of glob_match.
+
+       * configure: If $RANDOM is implemented (ksh, bash or zsh), use
+       the `type' builtin to determine if gcc, bison, ranlib are
+       available.  ksh writes "fubar: command not found" to stderr,
+       foiling the test -n "`command 2>&1`" method.
+       Remove makefile on signal.
+
+       * system.h: Include sys/param.h if not _POSIX_SOURCE instead
+       of if not POSIX, to get DEV_BSIZE.
+
+       * makepath.c, posixtime.y, system.h: Add _AIX case to alloca decl.
+
+Sun Jun  9 01:26:27 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * Version 2.0.
+
+       * basename.c, dirname.c: Use str[r]chr and string.h if
+       STDC_HEADERS as well as if USG.
+
+       * touch.c (utime_now): Created from code in touch ().
+
+Sat Jun  8 11:02:32 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * backupfile.c: Use POSIX instead of _POSIX_SOURCE to
+       determine whether to check whether readdir returned a valid
+       entry.
+
+Fri Jun  7 21:44:51 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * fileblocks.c (st_blocks), system.h (ST_NBLOCKS): Always
+       return number of 512 byte blocks, not DEV_BSIZE blocks.
+       (convert_blocks): Always expect 512-byte blocks.
+
+Thu Jun  6 12:54:26 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * system.h [POSIX]: If PATH_MAX not defined, use pathconf.
+       Remove NAME_MAX stuff; not used.
+
+       * system.h: Make #include <strings.h> depend on not (USG or
+       STDC_HEADERS) instead of not (USG or POSIX).
+
+       * configure: New shell script to aid compilation.
+
+Mon Jun  3 16:42:41 1991  David J. MacKenzie  (djm at wheat-chex)
+
+       * cp.h: Remove some decls of functions returning int that
+       conflict with prototypes on HPUX.
+
+       * cp.c (make_path, re_protect): New functions from Jim
+       Meyering.  Changes to other functions as well, to add +path,
+       +link, +symbolic-link options.
+
+Sun Jun  2 15:45:24 1991  David J. MacKenzie  (djm at wheat-chex)
+
+       * most files: use GPL version 2.
+
+Sat Jun  1 20:17:35 1991  David J. MacKenzie  (djm at wheat-chex)
+
+       * rm.c, backupfile.c: If _POSIX_SOURCE, don't refer to d_ino.
+
+Sun May 19 18:42:09 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * touch.c: Renamed getdate to get_date to avoid SVR4 conflict.
+
+Thu May 16 23:12:01 1991  David J. MacKenzie  (djm at albert.gnu.ai.mit.edu)
+
+       * cp.c, mv.c, ln.c: Use alloca and strcpy directly instead of
+       in a macro for generating backup filename.  The latter
+       sometimes coredumps for some reason.
+
+Sat Apr 20 00:03:09 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * dd.c: Add conv=notrunc and truncate output file by default,
+       for POSIX.
+
+       * rm.c (rm): Refuse to remove path/. and path/.., as well as `.'
+       and `..', for POSIX.
+
+       * chown.c: Allow `:' as well as `.' to separate group from
+       user, for POSIX.2 draft 11.
+
+       * Many programs: Don't bother to get the long-option index
+       value from getopt_long, since we ignore it.
+
+       * Many programs: Separate long-option option names from their
+       args with `=' instead of ` ' in usage messages.
+
+       * touch.c (touch): Don't refuse to touch non-regular files.
+
+Wed Apr 10 12:19:30 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * cp.c, cp-aux.c: Add -a +archive option, an easier to
+       remember synonym for -dpR.
+
+Fri Mar 15 16:16:54 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
+
+       * mv.c (copy): Try to preserve file ownership in
+       cross-filesystem copies.
+
+       * backupfile.c, rm.c: Go back to using d_ino instead of
+       d_fileno.  POSIX.1 specifies neither, and d_ino is more
+       common, perhaps ubiquitous.
+
+       * chown.c (describe_change): Don't print the group name if it
+       didn't change (thus is a null pointer).
+       (main): Initialize group name to null.
+
+Mon Feb 25 11:44:14 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
+
+       * dd.c (copy): Only seek if not seeking to start of file, so
+       "dd >> foo" works with Minix shell that doesn't open foo in
+       append mode.
+
+Thu Feb 21 11:59:39 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
+
+       * ln.c (do_link), mv.c (do_move), cp.c (copy): Store backup
+       filename using alloca so we don't have to free it every place
+       we return.  From Jim Meyering.
+
+Thu Feb 14 00:41:43 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
+
+       * cp.c (copy_reg): Only make holes when copying a regular file
+       onto a regular file.
+
+Fri Jan 18 06:31:59 1991  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ls.c: Move defn. of S_IEXEC to after header files are included.
+       * cp.h: Always declare stat and lstat.
+
+Thu Jan 10 02:16:55 1991  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.h: Only declare some system calls if not POSIX.
+
+       * eaccess.c, idcache.c, dd.c, install.c, ln.c, system.h:
+       Change _POSIX_SOURCE to POSIX.
+
+       * fileblocks.c, system.h: Change STBLOCKS_MISSING to
+       ST_BLOCKS_MISSING (was already that way in cp.c).
+
+Fri Dec 28 18:40:34 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * chmod.c, chown.c, chgrp.c, du.c: Rename -d option to -L for
+       similarity to ls and cpio.
+
+Thu Dec 27 00:06:45 1990  David J. MacKenzie  (djm at egypt)
+
+       * rm.c (clear_directory): Keep looking for files to remove
+       until we don't find any, so that any .nfs* files created by
+       removing other files are also removed, eventually.
+
+       * install.c (main): Strip trailing slashes on all args.
+
+       * mv.c (copy): Open target file with mode 0600, not 0777.
+       [FCHMOD_MISSING]: Perform chmod after closing files, not
+       before, for MS-DOS.
+
+       * cp.c (do_copy): Don't append `..' to target dir name.
+
+       * du.c (main, count_entry, usage): Add -D +dereference-args
+       and -d +dereference options.
+
+Wed Dec 26 03:39:18 1990  David J. MacKenzie  (djm at egypt)
+
+       * dirname.c, xstrdup.c: Get decls from standard files, if available.
+
+Thu Dec 20 23:10:22 1990  David J. MacKenzie  (djm at egypt)
+
+       * makepath.c: New file, adapted from code in mkdir.c,
+       install.c, and cpio util.c by Jim Meyering.
+       * mkdir.c, install.c: Use make_path.
+
+Sun Dec 16 00:56:54 1990  David J. MacKenzie  (djm at egypt)
+
+       * chown.c, chgrp.c: New files.
+
+Sat Dec 15 20:42:32 1990  David J. MacKenzie  (djm at egypt)
+
+       * cp.h: Declare POSIX functions always -- _POSIX_SOURCE
+       doesn't imply STDC declarations.
+
+       * system.h: Define S_ISTYPE macros not defined by sys/stat.h.
+
+       * Many files: Use S_ISTYPE macros.
+
+       * backupfile.c, rm.c: Use name d_fileno for member of struct
+       dirent instead of d_ino, for POSIX.
+
+Wed Dec 12 23:38:22 1990  David J. MacKenzie  (djm at egypt)
+
+       * ls.c: Declare time() as time_t instead of long, to prevent
+       conflict with standard header files.
+
+       * cp.c (copy_reg): Instead of using NO_SPARSE_FILES, use
+       st_blocks to determine whether the original file contains any
+       sparse blocks, and only create them if so.  On systems without
+       st_blocks, to be safe, never create sparse blocks.
+
+Thu Nov  8 12:16:27 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * idcache.c: If _POSIX_SOURCE not defined, declare getpw and
+       getgr functions (not an optimal solution, but I hate to add
+       yet another configuration macro).
+
+       * Makefile: Define AR and RANLIB and pass to child makes.
+       lib/Makefile: Use them.
+
+Tue Nov  6 23:18:06 1990  David J. MacKenzie  (djm at mole.ai.mit.edu)
+
+       * idcache.c: New file from code in ls.c.
+
+Fri Nov  2 14:34:40 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * Move files into src and lib directories, split out library
+       functions into separate files in lib, and rewrite Makefiles.
+
+Mon Oct 29 01:20:46 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * mv.c (do_move), rm.c (remove_file, remove_dir): If stdin is
+       a tty and file is unwritable, prompt before overwriting.
+
+       * cp.c (copy_reg): Only make sparse files if
+       NO_SPARSE_FILES is undefined, to accommodate dumb kernels.
+
+       * du.c (count_entry): Remove misinformed HPUX kludge that
+       doesn't really fix the problem.
+
+       * rm.c (rm): Check for textual equality with '.' and '..', not
+       dev/inode equality.
+
+Sat Oct 27 23:38:55 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * rm.c (check_stack): If not interactive, don't prompt when
+       corruption is found, just quit.
+       (remove_file, remove_dir): Delete leading spaces in verbose
+       output.
+
+       * cp.c (copy), rm.c (remove_dir): If we think the dest. file
+       is unwritable, warn the user in the interactive prompt instead
+       of automatically skipping the file.  Because of race
+       conditions and other protection mechanisms we might not know
+       about, and POSIX.
+
+Mon Oct  8 18:51:25 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * du.c (main, usage, count_entry): Add +separate-dirs -S option.
+
+       * dd.c (main): Don't trap SIGINT if it was being ignored.
+
+Tue Sep 25 16:40:43 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * install.c (copy_file, install_file_in_file): Change
+       attributes after stripping, to guard against strip programs
+       that clear setuid bits, etc.
+
+Fri Sep 21 22:31:43 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * cp.c (copy_reg): Put back ftruncate way of making holes
+       because the other way can't make a hole at the end of a file.
+
+Tue Sep 18 03:47:45 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * install.c (change_attributes): Don't ignore EPERM for chown,
+       since the default uid is now the current uid.
+
+Sun Sep  9 16:54:19 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Version 1.4.
+
+       * cp.h: Declare free returning void, not int, so it
+       doesn't bomb on Xenix.
+
+Fri Sep  7 04:35:35 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * system.h, backupfile.c, savedir.c [DIRENT]: if direct is
+       defined (as on Ultrix 4.0), undefine it before redefining it.
+
+Tue Sep  4 03:10:24 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * dd.c (apply_translations, translate_charset): Code moved
+       from parse_conversion.
+       (apply_translations): Convert from EBCDIC to ASCII before
+       converting case.
+
+       * mvdir.c (fullpath): Return a value.
+
+       * dd.c (copy): Increment count of truncated records once
+       per record, not once per character that overflows.
+
+Mon Sep  3 22:23:57 1990  David J. MacKenzie  (djm at coke)
+
+       * dd.c (swab_array): Function removed.
+       (copy): Rewrite conv=swab to work when odd number of bytes
+       are read.
+       (scanargs): Die if invalid numeric value is given.
+       (parse_integer): Return -1 if invalid arg.
+       (bit_count): Faster version from Jim Meyering.
+
+       * cp.c, mkfifo.c [MKFIFO_MISSING]: Define mkfifo.
+
+Thu Aug 30 00:17:02 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * mvdir.c (main): Make sure `from' is not a parent of any part
+       of `to', not just the explicitly given part.
+       (fullpath): New function.
+
+Wed Aug 29 19:50:05 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * mvdir.c: Renamed from mv_dir.c, for consistency with mkdir and rmdir.
+       * dirlib.c: Caller changed.
+
+Tue Aug 28 18:05:24 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * touch.c (main): Don't interpret first non-option arg as a
+       time if `--' is given (POSIX-required kludge).
+
+       * touch.c: Add long-named options.
+
+       * Many files: Include <getopt.h> instead of "getopt.h" since
+       getopt.h will be in the GNU /usr/include.
+
+       * install.c: Declare some functions.
+
+       * touch.c, getdate.y, posixtime.y, mktime.c: New files, from bin-src.
+
+       * posixtime.y: Move year from before time to after it (but
+       before the seconds), for 1003.2 draft 10.
+
+Mon Aug 27 03:25:36 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * touch.c (main): If no time is given and first arg is a valid
+       timespec, use it as one.
+
+Sat Aug 25 01:36:16 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * posixtime.y: Enclose YYABORT in braces in case some yacc's
+       need it.
+
+       * touch.c: Remove -i option.  Change some error messages.
+       (readname): Function removed.
+
+Thu Aug 23 12:56:33 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * cp.c (copy): Only restore dir mode if it was changed.
+
+Wed Aug 22 01:45:54 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * cp.c (copy): Don't only backup files when -f is given.
+
+       * ls.c: Add -X +sort=extension option.  Rename
+       +kilobyte-file-size to +kilobytes.
+
+       * du.c: Rename -f option to -x, for POSIX.  Rename
+       +kilobyte-file-size to +kilobytes.  Add -b, +bytes option for
+       POSIX.
+
+       * cp-aux.c (usage): Change -o to -x.
+       (stpcpy): Renamed from str_cpy.  Change callers in cp.c.
+
+       * cp.c: New variable, `flag_copy_as_regular'.
+       (main): For -R, unset `flag_copy_as_regular'.
+       Rename -o to -x for consistency with du.
+       (copy): Only unlink destination files when -f is given.
+       Only prompt when -i given and copying as a regular file.
+       Move check for previous link after other checks, reducing
+       duplicate code.
+       Create directories with mode 0700 initially, for POSIX.
+
+Mon Aug 20 03:29:08 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * dd.c (copy): Swap input bytes instead of output bytes.
+       (swab_array): New function.
+
+       * dd.c (copy): If sync and noerror, zero the buffer before the
+       read instead of after so that any data read before an error
+       occurred are preserved.
+       On read error, print stats and seek past the bad block if noerror.
+       noerror doesn't affect write errors, for POSIX.
+       (scanargs): Use two buffers if no buffer sizes given.
+       Do not block or unblock if cbs not given.
+       (print_stats): New function.
+       (quit): Call it.
+
+Mon Aug 13 23:30:03 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * cp.c (copy): If dest. exists and is unwritable, skip the file.
+
+       * rm.c, mv.c, cp.c, ln.c (main): Respect the last -f or -i given,
+       for POSIX.
+
+       * rm.c (remove_file): Only prompt if -i is given.
+       (main, usage): Remove -o +override-mode option, obsolete if
+       POSIX accepts our objection about prompting.
+
+       * mv.c (do_move): Only prompt if -i is given.
+
+       * ln.c (do_link): If dest. file exists and -i and -f not
+       given, skip the file.
+
+Tue Aug  7 12:51:18 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * dd.c (main): If seek= given, don't truncate output file.
+       (copy): Use `read' to skip output blocks if not regular file.
+       Sync with NUL instead of SPC.
+
+Mon Aug  6 14:43:30 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * rm.c: Rename `ignore_errors' to `ignore_missing_files', and
+       have it only suppress messages about nonexisting files.
+       (main): Get dev and ino of `.' and `..'.
+       (rm): If file is the same as `.' or `..', return with error.
+       (remove_file): Remove the file rather than skipping it if
+       unwritable, no -i, and stdin not tty.
+       (remove_dir): Return an error if directory is nonwritable,
+       rather than nonreadable or nonsearchable, for POSIX.2 draft 10.
+
+       * chmod.c (main): Use fixed error checking to make sure that
+       options aren't mixed together in the same args as mode specifiers.
+
+Sun Aug  5 11:51:12 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * chmod.c (main): Use umask for '-' op.
+
+Sat Aug  4 10:11:30 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * mkfifo.c: Remove -p +path option, no longer specified by POSIX.
+
+Fri Aug  3 13:38:28 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * mkdir.c, mkfifo.c, create.c (main): Don't tell mode_compile to
+       respect the umask for certain operations, since the umask is 0 anyway.
+
+       * install.c (get_ids): Use getuid and getgid to get defaults,
+       instead of -1.
+
+Fri Jul 27 14:32:40 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * backupfile.c (dirname): Always replace frontmost slash with a null.
+
+Thu Jul 26 00:20:35 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * cp.h: Declare umask as unsigned short.
+
+       * eaccess.c: Make uid and gid unsigned short, and group array unsigned.
+
+Wed Jul 25 18:38:57 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * rm.c (remove_file, remove_dir): Print verbose message right
+       before actually trying to remove the file, after the prompting.
+
+       * ls.c (getuser, getgroup): Make uid and gid unsigned short, not int.
+
+Tue Jul 24 03:39:42 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy), ln.c (do_link), mv.c (do_move): For +verbose,
+       print the file names just before actually attempting the
+       copy/link/move, to produce a list of the files that they
+       actually try to copy/link/move, omitting skipped files.
+       Remove leading spaces from +verbose output.
+
+Mon Jul 23 16:57:44 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy): Make +update operate silently, like +one-file-system.
+
+       * ln.c: Add -F as synonym for -d, for SunOS compatibility.
+
+Sun Jul 15 23:23:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy): Go back to using xstat on dest.
+
+Wed Jul 11 12:10:33 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy): Make directories with desired mode plus u+wx so
+       if the copy is interrupted, the dir is closer to the desired mode.
+       Don't backup directories.
+
+Sun Jul  8 00:39:31 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * rm.c (main, usage): Add new option -d, +directory.
+       (rm): If -d given, use remove_file instead of remove_dir for
+       directories.
+       (remove_file): If directory, print "remove directory `foo'?"
+       for interactive instead of "remove `foo'?".
+
+       * ln.c (main): If -s given, print warning message if symlinks
+       are not available.
+       * mkfifo.c (main): If fifo's are not available, print message
+       and exit.
+
+Fri Jul  6 02:02:49 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * install.c (main): Use the current user and group ID for the
+       default owner and group.
+
+       * mv.c (main): New option -u, +update.
+       (do_move): Don't move nondirectories if -u and there is an existing
+       destination that has the same or newer mtime.
+       (usage): Document -u, +update.
+
+       * cp.c (main): New option -u, +update.
+       (copy): Don't copy nondirectories if -u and there is an existing
+       destination that has the same or newer mtime.
+       * cp-aux.c (usage): Document -u ,+update.
+
+Thu Jul  5 10:04:12 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * ln.c (do_link): Don't check whether OLD exists before trying
+       to make link.
+
+Tue Jul  3 01:51:55 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * ls.c: Allow "+time=atime" and "+time=ctime" for C hackers.
+
+       * chmod.c (main): Don't check whether multiple mode arguments
+       are given, because optind has a different value depending on
+       whether or not the option is the last character in the
+       ARGV-element.
+
+Sat Jun 30 12:32:51 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * cp.c (copy): Use lstat on dest. file, not *xstat.
+
+Mon Jun 25 18:07:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ls.c (print_long_format): Truncate user and group names to 8
+       chars to preserve column alignment.
+       (length_of_file_name_and_frills): Don't assume type indicator
+       will be printed for unknown file types that some os's have.
+
+       * install.c: Declare getgrnam for systems where grp.h doesn't.
+
+Sat Jun 23 00:06:35 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Version 1.3.
+
+       * du.c (count_entry) [HPUX_NFS_BUG]: If the size of the file
+       according to the number of blocks reported is twice or more than
+       the size of the file according to the number of bytes
+       reported, halve the number of blocks.
+
+Fri Jun 22 00:38:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy_dir): Initialize 'ret' to 0.
+
+       * cp.c (main), ln.c (main), mv.c (main), rm.c (main):
+       Make -i override -f and -o, to be conservative about
+       removing peoples' files.
+
+       * mkdir.c (make_path), mkfifo.c (make_path): Don't try to stat
+       "" or "/".
+
+       * rm.c, rmdir.c, mkdir.c, mkfifo.c: Move code to remove
+       slashes at the end of an arg from main to
+       strip_trailing_slashes.
+
+       * install.c (strip): Print error message if the `strip'
+       program can't be run.
+
+       * system.h (convert_blocks): Macro moved from du.c and ls.c.
+       Take a second parameter indicating whether to convert to
+       kilobytes or 512 byte blocks.
+       * ls.c, du.c: Pass second parameter to convert_blocks.
+
+Thu Jun 21 01:19:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ls.c (print_long_format): Use mode_string instead of filemodestring.
+
+       * ls.c (print_long_format): Compare times as longs, not ints.
+       (longdiff): Macro to compare two longs efficiently if sizeof
+       int == sizeof long and less efficiently but correctly if they
+       are different sizes.
+       (compare_ctime, etc.): Use longdiff.
+
+       * ls.c (decode_switches): Make -k not imply -s, to allow the
+       summary directory size printed by -l to be in 1k blocks
+       without having the size of each file printed as well.
+       (convert_blocks): Provide for systems with a blocksize that is
+       other than 512 or 1024 bytes.
+
+       * du.c (main): Exit with status 0 normally.
+       (convert_blocks): Provide for systems with a blocksize that is
+       other than 512 or 1024 bytes.
+
+Wed Jun 20 01:46:09 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c (do_link): Take out code to give an error if source and
+       dest are the same file.  The dubious usefulness of the special
+       case to prevent 'ln x x' from removing 'x' (ln -i can be used
+       instead) is not worth preventing 'ln x y' from failing the
+       second time in a row, and appears to contradict POSIX anyway.
+
+Mon Jun 18 02:48:17 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * ls.c (print_file_name_and_frills):
+       (length_of_file_name_and_frills, print_long_format):
+       Allow 6 digits for i-number, not 5.
+
+Sun Jun 17 00:09:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * install.c (install_dir): Don't check whether "" or the root
+       directory exists (the former fails on some systems).
+
+       * system.h: Make inclusion of sys/file.h conditional on USG
+       and _POSIX_SOURCE, not DIRENT.
+
+       * chmod.c (change_dir_mode): Use xrealloc instead of free and
+       xmalloc in case malloc already left extra room.
+       (xrealloc): New function.
+
+       * rm.c (clear_directory): Prevent buffer overruns.
+       More efficient string handling.  Don't skip rest of directory
+       if continuing after finding circular inode.
+       (xrealloc): New function.
+
+Sat Jun 16 01:45:42 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * argmatch.c (invalid_arg): Change order in which the items
+       are printed.
+
+       * ls.c: Add +tabsize (-T) option.
+
+Fri Jun 15 23:40:55 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * dd.c (scanargs): For ibs and obs, set C_HARDWAY.
+       (copy): Use different buffers only if C_HARDWAY, not if
+       blocksizes are the same, to ensure constant output block sizes.
+
+Wed Jun 13 23:56:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * savedir.c: New file from code in chmod.c, modified to
+       prevent buffer overruns.
+       * chmod.c (change_dir_mode), cp.c (copy_dir), du.c
+       (count_entry): Use savedir.
+
+Thu Jun  7 03:52:02 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * system.h (ST_BLKSIZE) [!STBLOCKS_MISSING]: If st_blksize is
+       0 (as on pipe reads on some systems), use BSIZE instead.
+       Define BSIZE as DEV_BSIZE if necessary.
+
+       * Makefile, system.h, fileblocks.c: Use STBLOCKS_MISSING to
+       control whether st_blksize and st_blocks are used.
+       * Makefile, system.h, backupfile.c: Use DIRENT to control
+       whether <dirent.h> is used.
+
+Thu May 31 00:55:36 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * fileblocks.c: New file.
+       * du.c (blocks_to_kb): Replace with convert_blocks macro.
+       (main): Recognize new -k option.
+       (usage): Document it.
+       * ls.c (nblocks): Replace with convert_blocks macro.
+       * system.h (ST_BLKSIZE) [USG]: Use BSIZE from sys/param.h instead of
+       having the user define BLKSIZE.
+       (ST_NBLOCKS) [USG]: Use st_blocks from fileblocks.c.
+
+Wed May 23 00:40:39 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * argmatch.c: New file, taken from ls.c.
+       * getversion.c (get_version): Use argmatch, to allow
+       abbreviations.  Default backup type is existing_numbered.
+       * mv.c (main), ln.c (main), cp.c (main): Only make backups if
+       -b (+backup) is given.  If envar SIMPLE_BACKUP_SUFFIX is set,
+       use it as a default instead of `~'.
+       * mv.c (usage), ln.c (usage), cp-aux.c (usage): Update messages.
+
+Tue May 22 00:56:51 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * install.c: New file (from ../bin-src).
+
+       * dd.c (copy): Don't count completely failed writes as partial
+       writes.  Make buffers unsigned.  If blocking or unblocking,
+       pad final partial buffer if necessary.
+
+       * getversion.c: New file.
+       * mv.c (main), cp.c (main), ln.c (main): Control backup types
+       with getenv ("VERSION_CONTROL") and +version-control or -V.
+
+       * cp.c (yesno), mv.c (yesno), ln.c (yesno): Stop reading if
+       EOF reached as well as at newline.
+
+       * backupfile.[ch]: Rename var `version_control' to `backup_type'.
+
+Sat May 19 23:38:46 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * touch.c: Change some error messages.  Include "getopt.h".
+
+Sat May 19 00:16:50 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * mv.c (main), ln.c (main), cp.c (main): Revise
+       backup-creation options.
+       * mv.c (usage), ln.c (usage), cp-aux.c (usage): Revise messages.
+
+       * chmod.c (describe_change): Use mode_string instead of
+       filemodestring.
+
+       * cp.c (main): Recognize new options for making backups.
+       * cp.c (copy): Make backups if requested.  Fix typo.
+       * cp-aux.c (usage): Update message.
+
+       * mv.c, cp.c: Remove code to conditionally use utimes instead
+       of utime, since the extra resolution of utimes was not being
+       used, the emulation overhead is probably insignificant,
+       and utime is a standard function.
+
+       * cp-hash.c: Fix up comments.
+
+Fri May 18 23:06:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * mv.c (do_move): Only make backup if dest file exists.
+       Don't continue moving file if dest can't be backed up.
+       * ln.c (do_link): Don't try to unlink dest if it was backed up.
+       Don't continue moving file if dest can't be backed up.
+
+       * system.h: Make SIGTYPE default to void if not defined.
+
+       * modechange.[ch]: Rename struct and external functions to start
+       with 'mode_'.
+       * modechange.c (oatoi): Make static.
+       (mode_compile): Take an additional arg indicating which
+       symbolic operators should be affected by the umask.
+       * modechange.h: Add defines for mode_compile arg mask.
+       If __STDC__, use prototypes.
+       * chmod.c, mkdir.c, mkfifo.c, create.c: Account for above changes.
+
+Tue May 15 16:17:34 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * dd.c (copy): Quit with nonzero status if final write fails.
+
+Mon May 14 14:34:10 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * dd.c: Make translation tables unsigned.
+       (main): Give `input_file' and `output_file' nonzero values for
+       stdin and stdout.
+       (parse_conversion): Set new global vars 'space_character' and
+       'newline_character' to correct values when translating to EBCDIC
+       (either flavor).
+       (copy): Use 'space_character' and 'newline_character' instead
+       of hardcoded ASCII values.  Ignore attempts to seek on output pipe,
+       socket, or fifo.  If possible, seek instead of reading to skip
+       initial input records.  Sync with `space_character' instead of
+       nulls, for POSIX.
+
+       * cp.c (copy_reg): Compare lseek values as longs, not ints.
+
+Sat May 12 01:16:42 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp-hash (remember_created): Return error status instead of
+       fatal error.
+       * cp.c (copy): Change caller.
+       (do_copy, copy_reg): Return error status instead of fatal error.
+
+       * Move rename emulation from mv.c to dirlib.c so other
+       programs can use it.
+       * mv.c, ln.c (main): Recognize new options for making backups.
+       * mv.c (do_move), ln.c (do_link): Make backups if requested.
+       * mv.c, ln.c (usage): Update message.
+       * backupfile.c, backupfile.h: New files.
+
+       * cp.h: Ifdef out decl of umask because of SunOS 4.1 (POSIX) conflict.
+
+       * Define all `main' functions as returning void.
+
+Fri May 11 02:11:03 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c, mv.c, rm.c, rmdir.c, create.c, chmod.c: Change some
+       error messages.
+
+       * du.c, cp-aux.c (error): Function removed.
+       Change callers to use error.c version.
+       * cp.c (copy, do_copy, copy_dir): Return an error status.
+       * ls.c (error, fatal, perror_with_name): Functions removed.
+       Change callers to use error.c.
+
+Sat May  5 23:46:48 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c (do_link): Don't allow trying to link a file to itself,
+       because the source file would be removed if they are the same
+       directory entry, and also for consistency with mv and cp.
+
+Fri May  4 13:42:53 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy_reg): Only write a null to the end of the file if
+       the end of the file was sparse.
+
+       * ls.c (print_name_with_quoting): Make the char to print
+       unsigned to prevent sign extension problems with -b.
+
+Fri Apr 20 13:52:15 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Version 1.2 released.
+
+Wed Apr 18 14:36:15 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Makefile: Use chsize for ftruncate on Xenix.
+
+       * cp.c (copy): Remove broken code that attempted to
+       substitute for ftruncate on systems missing it.
+
+Mon Apr 16 13:58:01 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp-aux.c (usage): Fix mistake in message.
+
+       * Version 1.1 released.
+
+Sat Apr 14 17:23:11 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ls.c (main): Don't remove leading path from program_name.
+       (basename): Function removed.
+       (length_of_file_name_and_frills): Don't add 1 for type indicator
+       for block and character special files.
+
+Thu Apr 12 19:50:15 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Makefile: Suggest using -DBLKSIZE=512 instead of 1024 for USG.
+
+       * dd.c (copy): Print copying statistics when exiting because
+       of a read or seek error.
+       (interrupt_handler): New function.
+       (main): Trap SIGINT to run interrupt_handler, for POSIX.
+
+Tue Apr 10 01:09:38 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * chmod.c (change_file_mode): Don't change the mode of
+       symbolic links.
+
+Mon Apr  9 13:30:00 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * modechange.c (compile_mode): Return an error if an octal
+       number argument is too large.
+
+Sun Apr  8 20:33:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * dd.c: Use `error' instead of `fatal' and `pfatal_with_name',
+       for greater control of the message format.
+       * head.c, tail.c: Use `error' instead of `fatal_perror' and
+       `nonfatal_perror'.  Remove some unnecessary info from messages.
+       * chmod.c, create.c, ln.c, mkdir.c, mkfifo.c, mv.c, mv_dir.c,
+       rm.c, rmdir.c: Remove definition of `error'.
+       * error.c: New file created from code in mv.c.
+       * Makefile: Link the above programs with error.o.
+
+       * ln.c (do_link): Use eaccess_stat to determine writability.
+       * mv.c (do_move): Ditto.
+       * rm.c (remove_file): Ditto.
+       (remove_dir): Use eaccess_stat to determine readability and
+       searchability.  Move initial interactive query here from
+       clear_directory.
+       * Makefile: Link ln, mv, and rm with eaccess.o.
+
+Sat Apr  7 11:47:52 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Makefile: Link cp with eaccess.o.
+       * eaccess.c: New file adapted from code in cp.c and cp-aux.c.
+       * cp.c (copy): Use eaccess_stat to determine writability.
+       Consider a file unwritable by root if it has no permissions.
+       (main): Remove groups initialization code.
+       * cp-aux.c (member): Function deleted.
+
+       * cp.c (copy): Temporarily change the mode of directories if
+       necessary to overwrite them when running recursively.
+       Consider a directory to be non-overwritable if it lacks write
+       permission as well as if it lacks execute permission.
+
+       * rm.c, mv.c, mv_dir.c, chmod.c, create.c, ln.c: Remove some
+       irrelevant or redundant information from error messages.
+
+Fri Apr  6 15:20:45 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy): Only change mode of regular files and directories;
+       others are already correct.
+
+Thu Apr  5 04:31:56 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * dd.c: Remove the vars that are set by command line options
+       from a useless struct and give them more meaningful names.
+
+Mon Apr  2 02:58:34 1990  David J. MacKenzie  (djm at spike.ai.mit.edu)
+
+       * cp.c (main): Use NGROUPS from sys/param.h to determine
+       whether BSD multiple groups are supported and how large to
+       make the array.
+       * Makefile: Remove references to GETGROUPS_MISSING.
+
+Sun Apr  1 18:53:57 1990  David J. MacKenzie  (djm at spike.ai.mit.edu)
+
+       * cp.c (main): Always initialize group info.
+
+Sat Mar 31 22:29:57 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * mv.c [RENAME_MISSING] (rename): To rename directories, run
+       setuid root mv_dir program.
+
+Tue Mar 20 14:28:25 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * touch.c: Remove POSIX_COMPAT ifdef since there is no reason
+       to disable the GNU extensions.
+       (main): Set new global var `program_name'.
+       (error): Replace with more versatile version.
+       Global: Change calls to fprintf and error to use the new error.
+       (main): Initialize global variables.  Don't bother making
+       temporary copy of arg to -d.  Don't ignore any files named on
+       the command line if -i is given.
+       (usage): Don't take an arg.  Use `program_name' instead of
+       hardcoded name.
+       (touch): In utime emulation for BSD, ftruncate the file to its
+       original size so empty files stay empty after being touched.
+
+Sun Mar 18 01:02:39 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c (strip_trailing_slashes): New function.
+       (main, do_link): Call it.
+
+       * cp-aux.c (strip_trailing_slashes): New function.
+       * cp.c (do_copy): Call it.
+       * cp.h: Declare it.
+
+       * mv.c (strip_trailing_slashes): New function.
+       (main, movefile): Call it.
+
+Sat Mar 17 21:45:35 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp-aux.c, cp.h: Rename user_confirm_overwriting to yesno and
+       don't have it print a prompt, so it can be used in several
+       places.
+
+       * cp.c (do_copy): Change an error message to resemble mv's.
+       Remove all trailing slashes from all non-option args.
+       (main): Set new global var `stdin_not_tty'.
+       (copy): Use POSIX method of handling file overwriting and
+       prompting.
+
+       * dirlib.c (mkdir): Use chmod to set the directory mode after
+       successful creation, so set[ug]id and sticky bits are set
+       correctly.
+
+Thu Mar 15 12:33:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Makefile: Add commented out definitions for SCO Xenix.
+
+       * ls.c (print_type_indicator): Don't print a '*' next to
+       executable block or character special files.
+
+       * chmod.c (error): New function, replacing nonfatal_perror,
+       memory_out, and invalid_mode.
+       Global: Call error instead of the above functions.
+       (change_dir_mode): Make the new size of the path twice the
+       size of the name that was too long, rather than twice its old
+       size.
+
+       * rm.c: Move interactive query about whether to remove a
+       directory from remove_dir to clear_directory; only query for
+       directories that are not empty.
+
+Wed Mar 14 10:48:40 1990  David J. MacKenzie  (djm at rice-chex)
+
+       * system.h [USG]: Define X_OK.
+
+       * rm.c (main): Set new global var `stdin_not_tty'.
+       (rm): Most of code moved to two new functions, remove_file and
+       remove_dir.
+       (remove_file): Use POSIX method of determining whether to remove
+       non-directories.
+       (remove_dir): Use POSIX method of determining whether to
+       remove directories, almost.
+       (perror_with_name): Function removed.
+       (error): Simple version replaced with more powerful version.
+       Global: Change calls to fprintf, perror_with_name, and old
+       error to calls to new error.
+
+       * ln.c (main): Set new global var `stdin_not_tty'.
+       If force, turn off interactive.
+       (do_link): By default, don't allow hard links to symbolic links to
+       directories.  Use POSIX method of determining whether to
+       overwrite destination.
+       (yesno): Function renamed from confirm, and arg removed.
+       (lisdir): Function removed.
+
+       * mv.c (main): Set new global var `stdin_not_tty'.
+       (yesno): Function renamed from yes.
+       (do_move): Use POSIX method of determining whether to
+       overwrite destination.
+
+       * Makefile: Make executables depend on .o files, not .c files,
+       to allow for parallel compilation.
+
+Tue Mar 13 00:50:14 1990  David J. MacKenzie  (djm at rice-chex)
+
+       * rm.c (main): Disallow removal of paths that have '..' as the
+       final element.
+       (basename): New function.
+
+       * ls.c (print_type_indicator): Mark FIFOs with '|' and sockets
+       with '='.
+       (print_long_format): Print numbers as unsigned and add extra
+       space for POSIX flag.
+
+       * dd.c: Make the record counts unsigned.
+       (quit): Print them as unsigned.
+
+       * modechange.c (compile_mode): Only get umask value when needed.
+       If users are not given or are `a', affect set?id and sticky bits.
+       If memory is exhausted while allocating a new list element,
+       free the old elements before returning.
+
+       * Makefile (CC): Add comment noting that either fixincludes or
+       -traditional needs to be used for gcc to compile ioctl calls
+       correctly.
+
+Mon Mar 12 16:25:23 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+       * touch.c [UTIME_OF_NULL_MISSING]: Call lseek() before write().
+
+       * posixtime.y [__GNUC__]: Use __builtin_alloca.
+
+Fri Mar  9 10:25:09 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * chmod.c (main): Recognize "a,+-=" as valid options.
+
+       * mv.c: Move the code to copy files across filesystems from
+       do_move to a new function, copy, which will eventually be
+       replaced with modules from cp and rm (POSIX requires mv to
+       move directories recursively across filesystems).
+       (do_move): Don't query about overriding a mode that prohibits
+       writing if interactive.  Remove unneeded variable.
+       (copy): Unlink target if copy fails partway through.
+
+Thu Mar  8 10:56:16 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy): Don't remove a destination file of a different
+       type unless +force is given.
+
+       * ls.c (decode_switches, usage): Add -U (for "unsorted") as an
+       equivalent to +sort=none.
+
+Mon Mar  5 16:31:14 1990  Torbj|rn Granlund  (tege at echnaton)
+
+       * cp.c (copy): Test for temporarily modified permission mode
+         after the other test, so that `-p' work for files whose mode
+         needed a temporary mode change.
+       * cp.c (copy): Don't waste time calling unlink if we already
+         know that the destination doesn't exists.
+       * cp.c (comment before do_copy): Correct.
+       * cp.c (comment before copy): Describe all params.
+       * cp.c (copy): Only change permission mode for regular files
+         and directories.
+       * cp.c (copy): Unlink the destination file if its type is
+         different from the source.  If the destination is a
+         directory,  error.
+
+Mon Mar  5 00:34:36 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * chmod.c (nonfatal_perror): Don't check for force_silent.
+       (change_file_mode, change_dir_mode): If force_silent, don't
+       print error messages.
+
+       * mv.c (main): If force, turn off interactive.
+       (do_move): Simplify check for query.  Rename `stb' to
+       `to_stats' and `stbf' to `from_stats'.
+       Return error condition if original file could not be renamed or
+       unlinked.
+
+       * rm.c: Rename global `force_flag' to `ignore_errors' and change its
+       meaning so that it does not overlap with `override_mode'.
+       (main): Have -f +force set override_mode.  If override_mode is
+       set, turn off interactive.
+       (rm): Simplify checks for whether to query the user, based on
+       the new relationship between override_mode and interactive.
+
+Sun Mar  4 23:39:03 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c (main): Reword an error message to be more like mv's.
+
+       * rmdir.c: Move global `errors' into main instead of having
+       error set it.
+
+       * mkdir.c: Move global `errors' into main and have make_path
+       return an error status instead of having error set it.
+
+       * chmod.c: Move global `errors' into main and have
+       change_file_mode and change_dir_mode return an error status
+       instead of setting it in nonfatal_perror.
+
+Sat Mar  3 13:59:40 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c (main): Don't strip leading dirs from argv[0].
+
+       * ln.c (confirm), mv.c (yes, do_move),
+       cp-aux.c (user_confirm_overwriting), rm.c (rm, yesno, check_stack):
+       Print query messages to stderr instead of stdout, for POSIX.
+       Include program name in messages.
+
+Sat Mar  3 11:27:27 1990  Torbj|rn Granlund  (tege at echnaton)
+
+       * cp.c (copy): Don't unlink directories with flag_force
+         (`-f').  Also avoid using force when not necessary.
+         Always copy fifo's and symbolic links as themselves.
+
+       * cp.c (copy_reg): Make int scan first, char scan then, to
+         find first non-zero byte.  This to avoid false hole
+         creation.
+
+Sat Mar  3 10:22:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * mv.c: Rename `pgm' to `program_name'.  Move global `errors'
+       into main.  Have do_move and movefile return an error status
+       instead having error set it.  Remove global vars `args'
+       and `args_left'.
+       (main): Rename `ac' and `av' to `argc' and `argv' and use them
+       and `optind' instead of `args' and `args_left'.
+
+       * cp.c (copy): Don't ignore errors other than EPERM from chown.
+
+Fri Mar  2 16:20:57 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * rm.c (main, usage): Allow -R as a synonym for -r, for POSIX.
+
+       * cp.c (copy): If flag_preserve, preserve the owner and group
+       if possible, as well as mode.
+       (main): Allow -R as a synonym for -r option, for POSIX.
+       * cp-aux.c (usage): Mention -R.
+
+Tue Feb 27 11:49:04 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * cp.c (copy): If not recursive, copy special files and
+       symlinks like regular files and omit fifos.
+
+Mon Feb 26 19:55:24 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+       * ls.c (print_long_format): If time is in the future, print the year.
+       Make the cutoff for old files 6 months not 300 days.
+
+Mon Feb 26 13:31:07 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+       * touch.c, Makefile: Use getdate.y instead of unctime.y.
+
+       * touch.c: Remove posixtime.
+       (main): Check for error from posixtime.
+       posixtime.y: New file.
+
+       * touch.c: Change a few cryptic error messages.
+       Include <errno.h> not <sys/errno.h>.
+       (just_set_amtime): New variable.
+       (touch): Add if (just_set_amtime) code.
+
+Mon Feb 26 15:03:29 1990  Torbj|rn Granlund  (tege at echnaton)
+
+       * cp.c (copy): Test for recursive copy in DIR alternative in
+         the switch statement, so all file types are copied correctly
+         even in a non-recursive copy.
+       * cp.c (copy): Return after having created a symlink, since
+         chmod and utimes dereference, and would affect the symlink
+         target.  Remove test for symlinks after switch.
+
+Sun Feb 25 18:31:09 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Makefile: Compile ls after vdir so systems with a cc that
+       can't do -c -o don't have to compile ls.c twice for ls.
+
+       * dd.c (usage): Add braces around alternatives.
+
+       * ls.c (print_long_format): Always print the group, for POSIX.
+       (decode_switches): Make -g option a no-op for BSD users.
+       (usage): Remove +group option.
+
+Wed Feb 21 11:13:26 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c (error): New function.
+       (main, do_link): Call error instead of fprintf and exit.
+       (main): Recognize new -d +directory option to allow superuser to
+       make hard links to dirs, like the BSD ln -f option.
+       (do_link): Don't allow hard links to dirs (they are hard to
+       get rid of -- rmdir and unlink don't do it), unless -d was given.
+       (usage): Mention -d +directory option.
+
+       * rmdir.c (main): Remove trailing slashes from args (added by
+       shell file completion but the rmdir syscall can't handle them).
+       * mkdir.c (main): Remove trailing slashes from args, for
+       uniformity with rmdir (you can't do file completion on dirs
+       that haven't been made yet . . .).
+
+       * mv.c: Rename global var `nargs' to `args_left' to avoid
+       conflict with undocumented BSD libc function (the new name is
+       clearer, anyway).
+
+Tue Feb 20 17:09:19 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * dd.c: Use new global var `program_name' in error messages
+       instead of hardcoded "dd".
+       (main): Set program_name from argv[0].
+
+       * chmod.c, head.c, tail.c (main): Don't strip leading dirs
+       from argv[0].
+       (basename): Function removed.
+
+       * rm.c (main): Don't strip leading dirs from argv[0].
+
+Mon Feb 19 14:34:18 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * rm.c (main): Strip trailing slashes from each arg.
+
+Thu Feb 15 13:23:52 1990  David J. MacKenzie  (djm at rice-chex)
+
+       * Makefile [HPUX CFLAGS]: Add -DUTIMES_MISSING.
+
+Wed Feb 14 15:01:18 1990  David J. MacKenzie  (djm at rice-chex)
+
+       * Makefile (dist): Don't make a non-compressed tar file.
+
+       * mv.c (do_move): Refuse to copy non-regular files across filesystems.
+
+Tue Feb 13 15:06:18 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+       * touch.c (getname): New function.
+       (main): Use it.
+
+Mon Feb 12 11:30:45 1990  David J. MacKenzie  (djm at rice-chex)
+
+       * ln.c (do_link): Check error return from unlink.
+       Include errno.h.
+
+       * du.c (main): Check error return from stat.
+       (str_copyc, str_concatc): Don't return a value, since it is
+       ignored.
+
+       * cp.c (copy): Check error return from unlink and chmod.  Fix
+       typo in call to error.
+
+       * mv.c (do_move): Check error return of fchmod/chmod and utime[s].
+       (rename): Check error return of unlink.
+
+       * Makefile Definitions of preprocessor macros moved from
+       cp.c and mv.c.  HAVE_FTRUNCATE changed to FTRUNCATE_MISSING.
+       * Makefile, dirlib.c: NEED_MKDIR changed to MKDIR_MISSING.
+       * mv.c, cp.c: Change USG ifdefs to UTIMES_MISSING.
+
+Sun Feb 11 17:50:29 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * chmod.c (usage): Add yet another ellipsis.
+
+Sun Feb 11 16:41:30 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+       * cp.c (copy_reg): Use HAVE_FTRUNCATE to decide whether to
+       use ftruncate().
+       (main): Use GETGROUPS_MISSING to decide whether to use getgroups().
+       [hpux || !USG]: Define HAVE_FTRUNCATE.
+       [USG && !hpux]: Define GETGROUPS_MISSING.
+       mv.c (rename): Put in #ifdef RENAME_MISSING not #ifdef USG.
+       (do_move): Use FCHMOD_MISSING to decide whether to use fchmod().
+       [USG && !hpux]: Define FCHMOD_MISSING and RENAME_MISSING.
+
+Fri Feb  9 10:25:03 1990  David J. MacKenzie  (djm at rice-chex)
+
+       * mv.c (movefile): Remove trailing slashes from FROM (some
+       filename completion systems add them for dirs, and they cause
+       the rename syscall to fail).
+
+Thu Feb  8 22:50:12 1990  Torbj|rn Granlund  (tege at sics.se)
+
+       * cp.c (copy_reg): Change error handling after lseek, since
+         this is a fatal error.  Also change error message to
+         something more generally understood.
+       * Handle files that end in a zero block on USG systems.
+
+       * cp-aux.c (error): Use FATAL to recog fatal errs.
+
+Thu Feb  8 21:25:40 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * ln.c: Remove incorrect comment.
+
+       * cp.c, cp-aux.c (usage): Change +dereference option to
+       +no-dereference, since dereferencing is done by default and
+       the option turns it off.
+
+Mon Feb  5 17:29:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * Version 1.0 released.
+\f
+Local Variables:
+version-control: never
+End: