summaryrefslogtreecommitdiff
path: root/old/fileutils/ChangeLog-1997
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1998-02-22 09:18:33 +0000
committerJim Meyering <jim@meyering.net>1998-02-22 09:18:33 +0000
commitd1c1677873dec99b21681ad0ccc2eeb1b663d0bc (patch)
tree432c02264f8d7e9c579013d360925102d8f12409 /old/fileutils/ChangeLog-1997
parent6eae430477c2f6b5080c319417148e30c72f144d (diff)
downloadcoreutils-d1c1677873dec99b21681ad0ccc2eeb1b663d0bc.tar.xz
.
Diffstat (limited to 'old/fileutils/ChangeLog-1997')
-rw-r--r--old/fileutils/ChangeLog-19976160
1 files changed, 6160 insertions, 0 deletions
diff --git a/old/fileutils/ChangeLog-1997 b/old/fileutils/ChangeLog-1997
new file mode 100644
index 000000000..558ef97cf
--- /dev/null
+++ b/old/fileutils/ChangeLog-1997
@@ -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.
+
+Local Variables:
+version-control: never
+End: