summaryrefslogtreecommitdiff
path: root/old
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2007-03-22 21:23:21 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2007-03-22 21:23:21 +0000
commitcbf5993c43f49281173f185863577d86bfac6eae (patch)
tree90737c96cf15b97273a2bdc5950b3cf09f1d94ca /old
downloadcoreutils-tarball-cbf5993c43f49281173f185863577d86bfac6eae.tar.gz
coreutils-6.9coreutils-6.9
Diffstat (limited to 'old')
-rw-r--r--old/fileutils/ChangeLog8398
-rw-r--r--old/fileutils/ChangeLog-19976166
-rw-r--r--old/fileutils/NEWS760
-rw-r--r--old/sh-utils/ChangeLog4866
-rw-r--r--old/sh-utils/ChangeLog.01720
-rw-r--r--old/sh-utils/NEWS284
-rw-r--r--old/textutils/ChangeLog8753
-rw-r--r--old/textutils/NEWS472
8 files changed, 31419 insertions, 0 deletions
diff --git a/old/fileutils/ChangeLog b/old/fileutils/ChangeLog
new file mode 100644
index 0000000..971ce55
--- /dev/null
+++ b/old/fileutils/ChangeLog
@@ -0,0 +1,8398 @@
+2006-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * ChangeLog: Add copyright notice.
+ * ChangeLog-1997: Likewise.
+ * NEWS: Likewise.
+
+2002-07-28 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.12.
+
+ * configure.ac: Require automake-1.6b.
+
+ * TODO: Remove entry that mentions rm's HAVE_WORKING_READDIR.
+ Since remove.c was rewritten, rm is no longer susceptible to that.
+
+2002-07-26 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c: Don't include malloc.h -- it was unnecessary.
+
+2002-07-22 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.11.
+
+ * src/stat.c (usage): The short form of --dereference is now -L, not -l.
+ Reported by Kalle Olavi Niemitalo.
+
+ * src/rm.c: Add new option, --presume-input-tty, for testing only.
+ Not documented.
+
+ This test might remove a file owned by the person running `make check'.
+ * tests/rm/fail-eperm: Hoist definition of $target_file, and use
+ that (not $f) in test for owner/dir/symlink. Patch by Michael Stone.
+
+ * tests/rm/fail-eperm: Handle the case in which rm produces no output.
+
+ rm would prompt for a symlink to an unwritable file
+ * src/remove.c (prompt): When not interactive, don't prompt
+ for a symlink. Reported by Dave Beckett. Patch by Michael Stone.
+ * tests/rm/dangling-symlink: Add a test for the above-fixed bug.
+
+2002-07-20 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Use file_name_lookup, not getdport.
+ Patch by Alfred M. Szmidt.
+
+ * Makefile.maint (news-r1, news-r2): Define. Better regexp.
+ (announcement): Use them here. Also makes the line length < 80.
+
+ * Upgrade to cvs automake -- required to work with 2.53b.
+ * configure.ac: Require automake-1.6a.
+
+ * Version 4.1.10.
+
+ * Upgrade to gettext-0.11.3.
+ * Upgrade to autoconf-2.53b.
+
+2002-07-19 Jim Meyering <meyering@lucent.com>
+
+ * src/dircolors.hin: Add .wav.
+
+ * tests/rm/fail-eperm: Don't expect `ARGV_0=$0 exec ...' to work.
+ It doesn't work with /bin/sh of Solaris5.6.
+ Use an explicit `export ARGV_0' instead.
+ [comparing actual and expected output]: Don't match the entire line,
+ but rather just the `rm: cannot remove `$dir/$f':' part.
+
+ * tests/rm/dangling-symlink: Use input-tty rather than
+ testing for /dev/stdin.
+
+ * tests/Makefile.am (EXTRA_DIST): Add input-tty.
+ * tests/input-tty: New file.
+
+2002-07-18 Jim Meyering <meyering@lucent.com>
+
+ * src/dircolors.hin: Add the following to the list of colorizable
+ TERM names: dtterm xterm-color Eterm.
+ New archive suffix: .jar
+ New image suffixes: .jpeg .pbm .pgm .tiff .mpeg .xcf .xwd
+ Audio suffixes: .ogg .mp3
+ From Michael Stone.
+
+2002-07-16 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c (print_it): Use memcpy and a little pointer arithmetic,
+ rather than stpncpy.
+
+2002-07-14 Jim Meyering <meyering@lucent.com>
+
+ Under some circumstances, rm would fail due to a lack of
+ permissions, but give a misleading diagnostic like this:
+ rm: cannot chdir from `.' to `foo': Not a directory
+ * src/remove.c (remove_dir): Detect the case in which unlinking a
+ non-directory fails with EPERM, and give an appropriate diagnostic.
+ Reported by Michael Stone.
+
+2002-07-13 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/fail-eperm: New file/test, for the above.
+ * tests/rm/Makefile.am (TESTS): Add fail-eperm.
+
+ * src/stat.c (print_it): Use xstrdup, not strdup.
+ Use strspn to avoid an explicit loop.
+ Use fputc rather than printf "\n".
+
+ * src/stat.c: Include quote.h.
+ (print_stat): Use xreadlink, rather than using readlink directly.
+ Use the quote function rather than hard-coded double quotes.
+ Use error, not perror.
+
+2002-07-09 Martin Michlmayr <tbm@cyrius.com>
+
+ * src/df.c (show_dev): Make the `Use%' column align with
+ its heading, even when -P is used with -h or -H.
+
+2002-07-10 Jim Meyering <meyering@lucent.com>
+
+ * man/du.x: Add a description of --exclude=PATTERN.
+ * src/du.c (usage) [--exclude]: Use PATTERN rather than PAT.
+ From Martin Michlmayr.
+
+2002-07-09 Jim Meyering <meyering@lucent.com>
+
+ I added stat.x, but didn't update the definition of dist_man_MANS.
+ * man/Makefile.am (dist_man_MANS): Add stat.1.
+ (stat.1): Add dependency.
+ Reported by Michael Stone.
+
+ Ensure that the above never happens again.
+ * man/Makefile.am (check-x-vs-1): New target.
+ (check-local): Depend on check-x-vs-1.
+
+ * src/mv.c (euidaccess): Remove declaration. It was unused.
+ From Michael Stone.
+ (yesno): Remove declaration. It too was unused.
+
+2002-07-08 Paul Eggert <eggert@twinsun.com:
+
+ * NEWS: df now rounds all quantities up, as per POSIX.
+ This fixes a bug where df would report Size < Used.
+ * doc/coreutils.texi: Likewise.
+ * src/df.c (df_readable): Omit last arg; we always round up now.
+ All callers changed.
+
+2002-07-07 Paul Eggert <eggert@twinsun.com>
+
+ NEWS, doc/coreutils.texi:
+ New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
+ Any time style can be preceded by "posix-".
+ The default time style is now posix-long-iso instead of posix-iso.
+
+ * src/ls.c (enum time_style): Remove posix_iso_time_style.
+ Add long_iso_time_style.
+ (time_style_args, time_style_types, decode_switches): Likewise.
+ (decode_switches): If a time style is prefixed by "posix-", ignore
+ it if in the POSIX locale. Default style is now posix-long-iso.
+ (usage): Explain the above.
+
+2002-07-06 Jim Meyering <meyering@lucent.com>
+
+ * tests/Makefile.am (envvar-check): Mark as `.PHONY'.
+
+ * src/stat.c: Remove everything associated with --secure option.
+
+2002-07-04 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (prompt): Fix test for write-protectedness to also
+ check errno == EACCES. Otherwise, `rm dangling-symlink' would
+ mistakenly prompt. Reported by Mike Castle.
+
+ * tests/rm/Makefile.am (TESTS): Add dangling-symlink.
+ * tests/rm/dangling-symlink: New file/test, for the above fix.
+
+2002-07-03 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c (usage): Rename --link/-l to --dereference/-L.
+ Describe --secure.
+ Describe --format.
+ (main): Support -L. Deprecate -l.
+
+2002-07-02 Jim Meyering <meyering@lucent.com>
+
+ * src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c (usage):
+ Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.
+ * src/df.c, src/dircolors.c, src/du.c, src/install.c: Likewise.
+ * src/link.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c: Likewise.
+ * src/mknod.c, src/mv.c, src/rm.c, src/rmdir.c, src/shred.c: Likewise.
+ * src/stat.c, src/sync.c, src/touch.c, src/unlink.c: Likewise.
+
+2002-07-01 Jim Meyering <meyering@lucent.com>
+
+ * tests/touch/fail-diag: Handle yet another different diagnostic.
+ Report from Volker Borchert.
+
+2002-06-29 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c (print_statfs): Use `fputc ('*', stdout)'
+ instead of the combination of strcat and printf.
+ (print_statfs) [!FLASK_LINUX]: Print `*' for %S and %C,
+ rather than `S' and `C'.
+ (print_stat) [!FLASK_LINUX]: Likewise.
+
+ * src/remove.c (AD_mark_current_as_unremovable): Replace dead
+ code with an assertion.
+
+2002-06-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls-test: Use grep, not egrep.
+
+2002-06-25 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (prompt): Add a comment to help translators work
+ around the problem of making the translations of the adjective
+ `write-protected' and the corresponding run-time-variable noun
+ (e.g., file, directory, symlink, etc.) consistent. From Paul Eggert.
+
+2002-06-24 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c (usage): Add missing open-quote.
+ Reported by Michael Piefel.
+
+2002-06-22 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.9.
+
+ * configure.ac: Invoke AC_GNU_SOURCE very early.
+
+ * tests/rm/rm1: Accommodate the slightly different diagnostic we
+ get on some systems, due to `unlink (dir)' failing with EACCES
+ rather than EPERM. E.g. for ReiserFS on Linux-2.4.18.
+
+2002-06-21 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (wget-update): Checkout into config/.
+ Warn when skipping a file.
+
+ * src/stat.c: Include sys/statvfs.h.
+ [!HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H]: Include sys/param.h
+ and sys/mount.h, to get decl of struct statfs on NetBSD 1.5.2.
+ (NAMEMAX_FORMAT, STRUCT_STATVFS): Define.
+ (HAVE_STRUCT_STATXFS_F_TYPE, SB_F_NAMEMAX): Define.
+ Remove `static' attribute from decl of program_name.
+ (human_fstype): Use f_basetype or f_fstypename if available.
+ (print_human_time): Use nstrftime and an ISO format string, in
+ place of strftime with `%c'. The latter is too locale-dependent.
+ (print_statfs): Deal with lots of portability issues: some fields
+ are available only with statfs, others only with statvfs, and
+ some are available in both, but with different types.
+ (do_statfs) [DEFAULT_FORMAT_TERSE]: Factor out.
+ [DEFAULT_FORMAT_VERBOSE]: Likewise.
+
+ * src/copy.c: Change all `preserving ...' diagnostics to
+ `failed to preserve ...' to make the failure clearer.
+ * src/cp.c: Likewise.
+
+2002-04-03 Alfred M. Szmidt <ams@kemisten.nu>
+
+ * src/copy.c Include hurd.h.
+ (copy_internal): Preserve the stat.st_author field.
+
+2002-06-21 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (LOGIN_NAME_MAX): Define if not already defined.
+ (ID_LENGTH_MAX): Define.
+ (ST_DM_MODE): New macro. Code moved from...
+ (print_long_format): ...here.
+ (print_long_format): Itemize and comment the individual parts
+ of init_bigbuf. Use the above *_MAX macros.
+
+2002-06-20 Jim Meyering <meyering@lucent.com>
+
+ * src/system.h: Change `defined(X)' syntax to `defined X'
+ in cpp directives.
+
+2002-06-17 Jim Meyering <meyering@lucent.com>
+
+ * tests/setgid-check: Interpret a permissions string of
+ drwxr-xr-x (DOS/Windows) as meaning the cwd is not setgid.
+ Reported by Rich Dawe.
+
+2002-05-19 Paul Eggert <eggert@twinsun.com>
+
+ Add support for new ls option --author, for GNU/Hurd.
+ Derived from a suggestion by Alfred M. Szmidt.
+
+ * doc/coreutils.texi (ls invocation), NEWS: Document this.
+ * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
+ * src/ls.c (st_author) [! HAVE_STRUCT_STAT_ST_AUTHOR]: New macro.
+ (print_author): New var.
+ (AUTHOR_OPTION): New enum val.
+ (long_options, decode_switches, print_long_format, usage):
+ Support --author.
+ (format_user): New function.
+ (print_long_format): Use it. Make print buffer a bit bigger.
+
+2002-06-15 Jim Meyering <meyering@lucent.com>
+
+ * tests/sample-test (trap): Make sure the temporary hierarchy is
+ writable before removing it.
+
+ * tests/mv/perm-1: New file, to demonstrate fix of 2002-06-12.
+ * tests/mv/Makefile.am (TESTS): Add perm-1.
+
+ * src/system.h: For GNU libc 2.2 and newer, ensure that <sys/types.h>
+ has been included before this file.
+
+2002-06-13 Richard Dawe <richdawe@bigfoot.com>
+
+ Accommodate DOS file name limitations.
+ * tests/cp/same-file: Change temp. file name: s/\.err/_err/, for DOS.
+ * tests/mv/force: Similar.
+ * tests/mv/into-self: Similar.
+ * tests/touch/no-rights: Similar.
+ * tests/mv/mv-special-1: Remove leading `.' from temp. names.
+
+2002-06-15 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h (S_ISNAM): Add to list of S_IS* macros.
+ Rearrange #if directives for each S_IS macro.
+ From diffutils-2.8.2.
+
+2002-06-12 Jim Meyering <meyering@lucent.com>
+
+ * src/mv.c (do_move): Give one diagnostic, not two, when unable to
+ unlink a destination file. This bug was introduced in fileutils-3.16l.
+
+2002-06-07 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/part-fail: Also accept the permission-denied diagnostic
+ issued by some losing systems. Reported by Volker Borchert.
+
+ * src/remove.c (remove_entry): Use DT_IS_DIR only if
+ HAVE_STRUCT_DIRENT_D_TYPE is defined.
+
+2002-06-02 Jim Meyering <meyering@lucent.com>
+
+ `rm' no longer uses explicit recursion, and as such is now able
+ to remove hierarchies of effectively unlimited depth. Prior to
+ this change, on typical systems, rm would fail (segfault) to remove
+ hierarchies of depth greater than about 25,000.
+
+ * src/remove.c: Merge in all changes from no-recursion branch.
+ See below for details.
+ * src/remove.h: Likewise.
+ * src/mv.c (do_move): Adapt to new calling sequence for rm.
+ * src/rm.c (main): Likewise.
+
+2002-06-02 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/r-2: Adjust, now that we no longer report
+ `removing all entries of directory ...'.
+ * tests/rm/r-1: Likewise.
+
+ * src/remove.c (enum Ternary): Define type.
+ (prompt): Add a parameter. Adjust callers.
+ (remove_entry): Attempt rmdir here, only if a directory is
+ `known' to be empty. Significant rework.
+ (remove_dir): Propagate failure `up' also when rmdir fails.
+
+2002-06-01 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/Makefile.am (TESTS): Add rm5.
+ * tests/rm/rm5: New test.
+
+2002-05-30 Jim Meyering <meyering@lucent.com>
+
+ In interactive mode, prompt only once about an empty directory.
+ * src/remove.c (enum Prompt_action): Define.
+ (prompt): Two new parameters. Adjust all callers.
+
+ Performance.
+ * src/remove.c (remove_entry) [!ROOT_CAN_UNLINK_DIRS]:
+ Don't call rmdir here.
+
+2002-05-29 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (AD_pop_and_chdir): Don't use errno (it's not valid)
+ in diagnostic for changed dev/ino.
+ (remove_entry): Tweak diagnostic.
+
+2002-05-27 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (ROOT_CAN_UNLINK_DIRS): Define.
+ (AD_pop_and_chdir): Propagate status as we traverse back `up' the tree.
+ (DO_UNLINK, DO_RMDIR): Define.
+ (remove_entry) [ROOT_CAN_UNLINK_DIRS]: Add code so this works also on
+ systems where root can use `unlink' to remove directories.
+
+2002-05-24 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/mv-special-1: Adapt for changed format of --verbose output.
+
+2002-05-22 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c: Include file-type.h.
+ Include file type in prompt when asking whether to remove file.
+ Based on a patch from Paul Eggert.
+
+ * src/remove.c (prompt): Add comment.
+
+ * src/remove.c (remove_dir): Fix another (known) leak.
+
+ * tests/rm/rm3: Don't depend on order of traversal of dir entries.
+ It is nondeterministic on some types of filesystems.
+
+ * src/remove.c (hash_freer): New function.
+ (AD_mark_helper): Use it.
+ (AD_mark_as_unremovable): xstrdup the filename argument.
+ (remove_dir): Free directory name.
+
+ * src/remove.c (remove_entry): Fail also when trying to remove a
+ directory without the --recursive option.
+ Change a diagnostic, s/unlink/remove/, now that it can apply also
+ to a directory.
+
+ * src/remove.c (is_empty_dir): New function.
+ (prompt): New function, factored out of...
+ (remove_entry): ...here. Call it.
+ (remove_dir): Call prompt before rmdir.
+
+ * src/remove.c (remove_entry): Add support for prompting (e.g., -i).
+
+ * src/remove.h (UPDATE_STATUS): New macro.
+ Include save-cwd.h.
+ (struct File_spec): Remove declaration.
+ Update prototypes.
+
+ * src/remove.c [AD_ent] (status): New member. This lets us propagate
+ the status from a subdirectory to its parent via AD_pop_and_chdir.
+ (AD_push_initial): Set it.
+ (AD_push): Likewise.
+ (remove_cwd_entries): Change return type to enum RM_status, and
+ adjust all callers.
+ (rm): Use UPDATE_STATUS rather than open-coding it.
+
+ * src/remove.c (remove_entry): New function, factored out of...
+ (remove_cwd_entries): ...here, and...
+ (rm_1): ...here.
+
+ * src/remove.c (remove_cwd_entries): Add support for --verbose.
+ (remove_dir): Likewise.
+ (rm_1): Likewise.
+
+2002-05-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/rm3: New file.
+ * tests/rm/rm4: New file.
+ * tests/rm/Makefile.am (TESTS): Add rm3 and rm4.
+
+2002-05-17 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/rm1: New file.
+ * tests/rm/rm2: New file.
+ * tests/rm/unread2: New file.
+ * tests/rm/Makefile.am (TESTS): Add rm1, rm2, and unread2.
+
+ * src/remove.h (enum RM_status) [RM_NONEMPTY_DIR]: New member.
+
+2002-05-13 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (rm): Free cwd_state, if necessary.
+
+2002-05-01 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (rm_1): Remove now useless (always true)
+ user_specified_name parameter. Adjust sole caller.
+
+ * src/remove.c (rm): New function. This interface allows
+ one to remove multiple arguments at a time. This is important in
+ that it allows us to hide the remove_init/remove_fini functions and
+ the cwd_state parameter.
+ (rm_1): Renamed from rm.
+ (remove_init, remove_fini): Remove functions. Each body is now
+ part of `rm'.
+ * src/remove.h (rm): Update prototype.
+
+2002-06-01 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c: Remove use of D_TYPE_IN_DIRENT, now that that symbol
+ has been renamed.
+
+2002-05-30 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_reg): Use a temporary to avoid a warning
+ from gcc -W about comparison between signed and unsigned.
+ (copy_internal): Likewise, but use a cast.
+
+2002-05-22 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h (S_ISREG, S_ISDIR): Define if not already defined.
+ (S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Likewise.
+
+ * src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR):
+ Remove definitions.
+ * src/sys2.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR):
+ Define here instead.
+
+2002-04-27 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (cycle_check): New function containing code factored
+ out of remove_dir. The sole difference is that upon detecting a
+ cycle, rm now dies unconditionally. Before, in interactive mode,
+ it would ask the user whether to continue.
+ (remove_dir): Call cycle_check.
+
+2002-04-25 Jim Meyering <meyering@lucent.com>
+
+ Avoid new warnings from gcc.
+ * src/dd.c: Declare input_file and output_file to be `const'.
+ (skip): Declare `file' parameter to be `const', too.
+
+ Remove hash table, active_dir_map, used to detect directory cycles.
+ Instead, detect them lazily with just O(1) memory.
+ Suggestion from Andi Kleen.
+ * src/remove.c (is_power_of_two): New function.
+ (print_nth_dir, make_active_dir_ent): Remove functions.
+ (hash_active_dir_ent, hash_compare_active_dir_ents): Likewise.
+ (remove_dir): Check for cycles here, ...
+ (rm): ... and don't check for cycles here.
+
+ * src/remove.c (rm): Call fspec_get_full_mode here, rather than
+ fspec_get_filetype_mode. We want to get the dev/ino earlier, and
+ at the same time as when we get the file type, to avoid the risk
+ that an attacker would change e.g. a directory to a symlink before
+ we record its dev/ino.
+
+ * configure.ac (AC_CONFIG_FILES): Remove intl/Makefile.
+ (AM_GNU_GETTEXT): Add external arg.
+
+ * intl/: Remove directory.
+ * Makefile.am (SUBDIRS): Remove intl.
+ (DISTCLEANFILES): Remove definition.
+
+ * src/sys2.h: Remove ENABLE_NLS-related code.
+ (_, N_) Remove definitions.
+ Include "gettext.h" instead.
+
+ * src/Makefile.am (INCLUDES): Remove -I../intl.
+
+2002-04-22 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (rm): Call exit with EXIT_FAILURE, not `1'.
+
+2002-04-19 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/*: Clean up.
+
+ * tests/sample-test: Use a temporary directory named
+ `basename $0`.tmp/$$. Create with mkdir -p.
+
+ * tests/cp/backup-1: Use better trap, etc.
+ * tests/mkdir/p-2: Use better trap.
+ * tests/mkdir/p-1: Likewise.
+ * tests/mkdir/concurrent-1: Likewise.
+
+ * tests/rm/deep-1: Set $tmp the new way.
+
+ * tests/rm/ir-1: Use `rm', not $RM. Use better trap.
+ * tests/rm/i-1: Likewise.
+ * tests/rm/f-1: Likewise.
+
+ * tests/sample-test: Use automatically-derived name for temporary
+ directory. This is more 8.3-friendly. Based on a suggestion from
+ Richard Dawe.
+
+ * tests/sample-test: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add sample-test.
+
+2002-04-17 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c (touch): Don't report errors for nonexistent files
+ when --no-create is in effect. Based on a patch from TAKAI Kousuke.
+ * tests/touch/no-create-missing: New file/test for above.
+ * tests/touch/Makefile.am (TESTS): Add no-create-missing.
+
+2002-04-16 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c: Add copyright comment.
+ (human_fstype): Rename from print_human_fstype, and rework accordingly.
+ (print_statfs): Use human_fstype to honor format width on %T.
+
+2002-04-15 Jim Meyering <meyering@lucent.com>
+
+ Handle "lld" vs "ld" printf formats the same way Bash does.
+ * src/stat.c: Include inttypes.h.
+ (PRIdMAX, PRIuMAX): Define, if not already defined.
+ (print_statfs): Use those macros, not the literal strings.
+ (print_stat): Likewise.
+ Suggestion from Paul Eggert.
+
+ * src/stat.c (print_human_fstype): Add missing `break;'
+ for `case S_MAGIC_MINIX:'.
+
+2002-04-14 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c (statfs_secure): Define.
+ (print_stat): Remove another #ifdef.
+ (do_statfs): Likewise.
+ (print_statfs): Prefer/use fputs over printf.
+ (print_stat): Likewise.
+
+ * src/Makefile.am (bin_PROGRAMS): Add stat.
+ (noinst_HEADERS): Add fs.h.
+
+ * src/stat.c [HAVE_SYS_VFS_H]: Guard incluion of sys/vfs.h.
+ Constify many parameters.
+ (print_statfs): Fix typo: Use %u (to match %lu) for namelen, not %d.
+ (verbose_usage): Remove function. Move contents into usage.
+ Remove lots of #if directives involving FLASK_LINUX
+ [!FLASK_LINUX] (is_flask_enabled): Define.
+ (stat_secure, lstat_secure): Define.
+ (print_statfs): Remove lots of nested #if directives.
+ Instead, rely on support fo %llu and %lld printf formats --
+ but that is only temporary, since it's not porable enough.
+ (main): Hoist is_flask_enabled test to be done here, rather
+ than in each of do_stat and do_statfs for every argument.
+
+2002-04-13 Jim Meyering <meyering@lucent.com>
+
+ * src/stat.c: Include system.h, error.h, and many other headers.
+ [HAVE_SYS_SYSMACROS_H]: Guard inclusion of sys/sysmacros.h.
+ (PROGRAM_NAME, AUTHORS): Define.
+ (long_options): Declare/define.
+ (print_human_access): Rewrite to use mode_string.
+ (usage): Rewrite.
+ (main): Use getopt_long.
+ (print_human_type): Call fputs once rather than calling
+ printf many times.
+ (print_human_fstype): Revamp in a similar fashion. Don't use strdup.
+ Declare most functions to be `static'.
+
+2002-04-12 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (LDADD): List ../lib/libfetish.a both before
+ and after @LIBINTL@. Thanks to Paul Eggert for the fix and to
+ Bruno Haible for diagnosing the problem.
+
+ * src/link.c: Include long-options.h.
+ [long_opts]: Remove.
+ (usage): Tweak --help output; use *_OPTION_DESCRIPTION macros.
+ (main): Don't use getopt directly. Use parse_long_options instead.
+ Tweak a diagnostic.
+ Use EXIT_FAILURE rather than a literal `1'.
+ * src/unlink.c: Likewise.
+ (main): If POSIXLY_CORRECT is set, don't recognize --help or --version,
+ so the program can operate on a file with one of those names.
+
+2002-04-11 Jim Meyering <meyering@lucent.com>
+
+ New programs link and unlink.
+
+ * src/Makefile.am (bin_PROGRAMS): Add link and unlink.
+ * src/link.c, src/unlink.c: New files, from Debian's fileutils_4.1-10.
+ Written by Michael Stone.
+
+ * man/link.x: New file.
+ * man/unlink.x: New file.
+ * man/Makefile.am: Add link and unlink.
+
+2002-04-07 Jim Meyering <meyering@lucent.com>
+
+ * tests/install/basic-1: Tweak comments to reflect reality.
+ * tests/cp/fail-perm: Add VERBOSE=yes support.
+ * tests/mv/mv-special-1: Fix typo in VERBOSE=yes handling.
+ Reported by Richard Dawe.
+
+2002-03-30 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.8.
+
+ * tests/mv/i-link-no: Use --reply=no rather than -i.
+ The latter depends on whether stdin is a tty and hence would
+ fail in some situations where --reply=no doesn't.
+
+ * src/mv.c (do_move): Correct a comment.
+
+ * src/copy.c (copy_internal): Move the block that sets `earlier_file'
+ down to just before the first use of that variable. Otherwise, it was
+ possible to make mv (and probably cp, too) malfunction when copying
+ hard-linked files into a directory containing at least one of the
+ source file names. Call forget_created everywhere thereafter where
+ this function returns without creating a destination file that might
+ subsequently be linked. Reported by Iida Yosiaki.
+ * src/cp-hash.c (forget_created): New function.
+ * src/cp-hash.h (forget_created): Prototype.
+
+ * tests/mv/i-link-no: New test for the above.
+ Based on an example from Iida Yosiaki.
+ * tests/mv/Makefile.am (TESTS): Add i-link-no.
+
+2002-03-17 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal) [move_mode]: Give a better diagnostic,
+ by using errno from the failed unlink, when a cross-device `mv'
+ fails, e.g., because the destination cannot be unlinked.
+ Prompted by a report from Karl Berry.
+ * tests/mv/part-fail: New test for the above.
+ * tests/mv/Makefile.am (TESTS): Add part-fail.
+
+2002-03-16 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (datadir): Don't override $(datadir)
+ which might be set by --datadir and different from $(prefix)/share.
+ Patch from Albert Chin-A-Young.
+
+2002-03-10 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.7.
+
+ * src/ln.c (main): Change wording in diagnostic.
+ * src/cp.c (do_copy): Likewise.
+ * src/install.c (strip): Likewise.
+ Suggestions from Santiago Vila.
+
+ * Use autoconf-2.53. Regenerate dependent files.
+
+ * Makefile.maint (GZIP, BZIP2): Remove definitions.
+ ($(my_distdir).tar.bz2): Remove rule. Now, it's built by `make dist'.
+
+ * configure.ac (AM_INIT_AUTOMAKE): Specify the required version
+ of automake (1.6), and options (gnits dist-bzip2), rather than...
+ * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition.
+
+ * src/copy.c (copy_reg): Don't exit upon finding a replaced file.
+ Instead, just skip it like the diagnostic says.
+ Reported by Paul Eggert.
+
+2002-03-09 Paul Eggert <eggert@twinsun.com>
+
+ * src/copy.c (copy_reg): Use a more concise diagnostic for
+ reporting replaced files. This avoids a bug in the code,
+ which mishandled ino_t wider than long.
+ * src/remove.c (remove_dir): Likewise, twice.
+
+2002-03-09 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Remove config/config.rpath,
+ now that automake knows about it.
+
+2002-03-08 Jim Meyering <meyering@lucent.com>
+
+ Don't allow a malicious user to trick another user's rm process into
+ removing unintended files. In one scenario, if root is removing a
+ hierarchy that is writable by the malicious user, that user may trick
+ root into removing all of `/'. Reported by Wojciech Purczynski.
+
+ * src/remove.c (remove_dir): After chdir `..', call lstat to get the
+ dev/inode of "." and fail if they aren't the same as the old numbers.
+ (remove_cwd_entries): New parameter, `cwd_dev_ino'.
+ (remove_dir): Likewise.
+ (rm): Likewise.
+ Adjust all callers.
+ * src/mv.c (do_move): The first time we resort to copy/remove,
+ call lstat `.' to get the device/inode numbers now required for rm.
+ * src/rm.c (main): Call lstat `.' to get the device/inode numbers
+ now required for rm.
+ * src/remove.h (struct dev_ino): Declare new type.
+ (rm): Add a parameter to the prototype.
+
+2002-03-06 Jim Meyering <meyering@lucent.com>
+
+ * Use automake-1.6. Regenerate dependent files.
+
+2002-03-05 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Add config/config.rpath.
+
+2002-03-04 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (tgz-size): Also handle a suffix of `K', since
+ the sizes in the output of `du -h' now look like `29K'
+
+2002-03-03 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.6.
+
+2002-03-03 Paul Eggert <eggert@twinsun.com>
+
+ Make cp -r equivalent to cp -R. Add a new cp option --copy-contents
+ for people who want to emulate the traditional (and rarely desirable)
+ cp -r behavior.
+
+ * src/cp.c (COPY_CONTENTS_OPTION): New enum value.
+ (long_opts): Add --copy-contents.
+ (usage): Describe new behavior. Sort options.
+ (main): Implement new behavior. Remove diagnostics for -a and -r;
+ no longer needed.
+ * src/copy.c (copy_internal): Remove -r warning; no longer needed.
+
+ * NEWS: Document this.
+
+2002-03-02 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): For each symlink copied by cp -r,
+ issue a warning that `cp -r' is not portable.
+
+ * src/cp.c (main): Revert change of 2001-12-29. With this change,
+ cp -r once again preserves symlinks.
+ (usage): Document the original (now-restored) behavior.
+ * tests/cp/r-vs-symlink: Reflect changed semantics of cp's -r option.
+
+ * src/cp.c (main): Warn when -r is specified before --archive (-a).
+ * src/cp.c (main): Fail when -r is specified after --archive (-a)
+ on the command line.
+
+ * src/copy.c (copy_reg): Detect abuse of a race condition
+ whereby an unprivileged user could gain read access to otherwise-
+ inaccessible files when root uses cp or mv to copy a hierarchy
+ belonging to that user.
+
+2002-02-27 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (decode_switches, usage): Add --time-style=+FORMAT.
+ * doc/coreutils.texi (Formatting file timestamps): Document it.
+
+2002-02-25 Paul Eggert <eggert@twinsun.com>
+
+ Add ACL support to 'ls' for HP-UX and Unixware, and try to
+ establish a framework for adding it for other hosts.
+ This builds on a suggestion of Andreas Gruenbacher.
+
+ * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
+ * lib/acl.h, lib/acl.c, m4/acl.m4: New files.
+ * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
+ Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
+ * src/ls.c: Include "acl.h" rather than <sys/acl.h>.
+ (USE_ACL): Remove; replaced by HAVE_ACL everywhere.
+ (gobble_file): Use file_has_acl rather than doing it ourselves.
+
+2002-02-20 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c: Include posixver.h.
+ (usage): Document only the intersection of the old and new behaviors,
+ to encourage portability.
+ (main): Use `posix2_version ()' in place of POSIX2_VERSION.
+
+2002-02-17 Jim Meyering <meyering@lucent.com>
+
+ * ABOUT-NLS, intl/*: Update to Gettext 0.11.
+ * INSTALL: Update to Autoconf 2.52h.
+
+ * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@,
+ per Gettext-0.11.
+ (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11.
+
+ * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation.
+ (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11.
+
+ * config: New subdirectory, containing the following files from .:
+ config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs.
+ Move the following files here from doc: texinfo.tex, mdate-sh.
+
+2002-02-16 Jim Meyering <meyering@lucent.com>
+
+ * tests/ls/infloop: Use `head -n 7', not `head -7'.
+ * tests/rm/hash: Likewise.
+
+2002-02-10 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Hungarian (hu).
+
+2002-02-02 Jim Meyering <meyering@lucent.com>
+
+ * src/shred.c: (VERBOSE_UPDATE): Update every 5 seconds, not every 10.
+ (wipename): Quote file names only when necessary.
+ (main): Copy quoted string into malloc'd storage so it doesn't
+ get clobbered when using -u and --verbose.
+
+ Minor clean-up.
+ * src/shred.c:
+ Use `NULL' rather than `(time_t *) 0'.
+ (dopass): Use STREQ in place of strcmp.
+ Add parentheses around use of nested ternary operator.
+
+2002-01-15 Paul Eggert <eggert@twinsun.com>
+
+ * src/shred.c (VERBOSE_UPDATE): Now counts seconds, not bytes.
+
+ (dopass): If verbose, output a line every VERBOSE_UPDATE seconds,
+ and suppress duplicate output lines. Output a percentage as well
+ as a count of bytes.
+
+ Also, fix comment/code typo regarding how many bytes have been
+ written; this typo was harmless before, but is no longer harmless with
+ the above change in effect.
+
+2002-02-02 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (rm): Add a comment.
+
+2002-01-28 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d.
+ * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro.
+
+2002-01-21 Jim Meyering <meyering@lucent.com>
+
+ * po/POTFILES.in: Add lib/xmemcoll.c
+
+ * src/chown-core.c: Don't include "xalloc.h", as system.h already
+ does that via sys2.h.
+ * src/ls.c: Likewise.
+ * src/shred.c: Likewise.
+
+2002-01-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c: Avoid undefined behavior when strcoll fails,
+ by resorting the directory with strcmp instead.
+
+ Include <setjmp.h>.
+ Include "quote.h".
+ (compare_atime, rev_cmp_atime, compare_ctime, rev_cmp_ctime,
+ compare_mtime, rev_cmp_mtime, compare_size, rev_comp_size,
+ compare_name, rev_cmp_name, compare_extension, rev_cmp_extension,
+ compare_version, rev_compare_version): Move before use, so that
+ we can remove the forward declaration. Reimplement in terms of
+ the new functions described below, using xstrcoll instead of strcoll.
+ (failed_strcoll): New var.
+ (xstrcoll): New function.
+ (V): New type.
+ (cmp_ctime, compstr_ctime, rev_str_ctime): New functions.
+ (cmp_mtime, compstr_mtime, rev_str_mtime): Likewise.
+ (cmp_atime, compstr_atime, rev_str_atime): Likewise.
+ (cmp_size, compstr_size, rev_str_size): Likewise.
+ (cmp_version): Likewise.
+ (cmp_name, compstr_name, rev_str_name): Likewise.
+ (cmp_extension, compstr_extension, rev_str_extension): Likewise.
+ (sort_files): Use prototype for internal function var.
+ If the strcoll-based comparison fails, fall back on a strcmp-based one.
+
+2002-01-19 Jim Meyering <meyering@lucent.com>
+
+ Ensure that the two version numbers in configure.ac remain in sync.
+ * Makefile.maint (local-check): Depend on ac-check.
+ (ac_p_pkg, AC_INIT_PKG): Define.
+ (ac_p_ver, AC_INIT_VER): Define.
+ (ac-check): New rule.
+
+2002-01-19 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Remove code that set LIBOBJS in support of ansi2knr.
+ The latest version of autoconf objected to it, and besides, I don't
+ care too much about K&R support these days.
+
+2002-01-14 Paul Eggert <eggert@twinsun.com>
+
+ * src/touch.c (main): Issue a warning for obsolete usage, unless
+ POSIXLY_CORRECT.
+
+2002-01-14 Paul Eggert <eggert@twinsun.com>
+
+ Add support for POSIX 1003.1-2001, which requires removal for
+ support of the obsolete `touch [-acm] MMDDhhmm[YY] FILE...' syntax.
+
+ * NEWS: Document this.
+ * src/touch.c (usage, main): Implement this.
+
+2002-01-12 Jim Meyering <meyering@lucent.com>
+
+ Avoid giving a misleading diagnostic in some unusual cases.
+ Instead, give one that makes sense.
+
+ * src/copy.c (copy_reg): Don't treat errno==ENOENT as a special case.
+ (same_file_ok): Detect a case that would have lead to the errno==ENOENT
+ condition above (and a misleading diagnostic), and return 0 so we give
+ a diagnostic about the source and destination being the same file.
+ (copy_internal): Use an explicit test for errno==EXDEV to detect
+ that rename has failed because source and destination are on
+ different devices. This reverts part of a change from 1997-12-13,
+ and is to avoid letting a race condition evoke a bogus diagnostic.
+ Note that while POSIX has encouraged the errno==EXDEV test for
+ years, it was inadequate back in 1997. I'm hoping that many
+ more systems have conforming support these days.
+ Reported by Michael Gaughen <mgaughen@polyserve.com>
+
+ * src/shred.c (usage): Also mention Ext3.
+ Suggestion from Göran Uddeborg.
+
+2002-01-06 Bruno Haible <bruno@clisp.org>
+
+ * src/ls.c (long_time_format): Extend translator comments.
+
+2002-01-05 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.5.
+
+2001-12-29 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (main): With -r, always dereference symlinks.
+ Reported by Christian Harkort. Patch by Chris J. Bednar.
+
+ * tests/cp/r-vs-symlink: New file to test for the above fix.
+ * tests/cp/Makefile.am (TESTS): Add r-vs-symlink.
+
+2001-12-21 Jim Meyering <meyering@lucent.com>
+
+ * src/shred.c [!HAVE_CONFIG_H]: Remove cpp block that duplicated
+ code in lib/ in order to facilitate compiling this program without
+ config.h.
+
+2001-12-19 Paul Eggert <eggert@twinsun.com>
+
+ * src/shred.c: Add FSF copyright notice.
+
+2001-12-18 Paul Eggert <eggert@twinsun.com>
+
+ Use notation compatible with SI and with IEC 60027-2.
+ For example, --block-size=1MB now means --block-size=1000000,
+ whereas --block-size=1MiB now means --block-size=1048576.
+ A trailing `B' now means decimal, not binary; this is a silent change.
+ -H or --si now outputs the trailing 'B', for consistency with this.
+ Programs now output trailing 'K' (not 'k') to mean 1024.
+ New df, du short option -B is short for --block-size.
+ You can omit an integer `1' before a block size suffix,
+ e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'.
+
+ * NEWS, doc/coreutils.texi: Document this. Remove documentation
+ for obsolescent constructs MD, --kilobytes, -m or --megabytes.
+
+ * src/dd.c (usage, parse_integer): Prefer K to k for 1024.
+ * src/shred.c (usage, main): Likewise.
+
+ * src/shred.c (xstrtoumax): If there is no number but there
+ is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary.
+ Accept 'K' as well as 'k'.
+
+ * src/dd.c (usage): MD -> MB for decimal.
+
+ * src/df.c (BLOCK_SIZE_OPTION): Remove; no longer needed now that
+ we have 'B'.
+ (long_options, usage, main): Add -B.
+ (usage): Deprecate --kilobytes, -m, --megabytes.
+ Document size suffixes.
+ * src/du.c: Likewise.
+ * src/ls.c (usage): Deprecate --kilobytes. Document size suffixes.
+
+ * src/df.c (print_header, show_dev): Enlarge column widths for
+ trailing "B".
+
+2001-12-17 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (real_dir): Remove unused variable.
+ (url_dir_list): Don't set define it here, but...
+ * Makefile.cfg (url_dir_list): ...define it here instead.
+ (hosts, a_host, b_host): Remove now-unused variables.
+ (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables.
+
+2001-12-15 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.4.
+
+ * tests/touch/fail-diag: Also accept SunOS4's `Not owner' diagnostic.
+ Reported by Volker Borchert.
+
+ * tests/help-version: Fail also if ./$i --version fails.
+ Run each --help and --version test with a few different settings
+ of LC_MESSAGES. Prompted by a report from Nelson Beebe.
+
+2001-12-11 Jim Meyering <meyering@lucent.com>
+
+ Include the word `fail' in some diagnostics to make it clearer
+ that they indicate a failure.
+ * src/chgrp.c (main): s/getting attributes/failed to get attributes/.
+ * src/chmod.c (change_file_mode, main): Likewise.
+ * src/chown-core.c (change_file_owner): Likewise.
+ * src/chown.c (main): Likewise.
+ * src/cp.c (re_protect): Likewise.
+ * src/touch.c (touch, main):Likewise.
+ Suggestion from Karl Berry.
+
+2001-12-10 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c (buggy_lseek_support): Remove function.
+ (skip_via_lseek) [__linux__]: New function.
+ (skip): Use skip_via_lseek, not buggy_lseek_support.
+ Based on an outline from Paul Eggert.
+
+2001-12-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Estonian (et).
+
+2001-12-08 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's
+ no longer available at that location.
+
+2001-12-04 Jim Meyering <meyering@lucent.com>
+
+ * tests/chgrp/basic: Don't use diff's -u option. It's not portable.
+ Besides, with GNU diff one can use the DIFF_OPTIONS envvar.
+ * tests/ls/no-arg: Likewise.
+ * tests/ls/recursive: Likewise.
+ * tests/ls/rt-1: Likewise.
+
+2001-12-02 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.3.
+
+ * src/sys2.h (HELP_OPTION_DESCRIPTION): New macro.
+ (VERSION_OPTION_DESCRIPTION): New macro.
+ * src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c,
+ * src/df.c, src/dircolors.c, src/du.c, src/install.c, src/ln.c,
+ * src/ls.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/rm.c,
+ * src/rmdir.c, src/shred.c, src/stat.c, src/sync.c, src/touch.c (usage):
+ Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION
+ instead of hard-coding --help and --version descriptions.
+
+ * POTFILES.in: Add src/sys2.h.
+
+ * src/touch.c (touch): Extend the change of 2001-09-15 to work on
+ systems for which errno is set to EPERM in that case. Thus, e.g.,
+ `touch /' by non-root gives a better diagnostic on systems like SunOS4.
+ Reported by Volker Borchert.
+
+ Don't emulate dd's skip=N for *all* character devices; lseek works
+ just fine on non-tape character devices like /dev/mem and /dev/kmem.
+ * src/dd.c (buggy_lseek_support) [__linux__]: Emulate `skip=N'
+ behavior using reads, not lseek for Linux tape devices (major == 9).
+ Kernel lseek support for tapes is broken, up to and including
+ linux-2.4.16. Reported by Herbert Xu.
+
+2001-11-27 Jim Meyering <meyering@lucent.com>
+
+ * tests/ls/rt-1: Compare all lines of output.
+ Update code to use `trap' and more up to date infrastructure.
+
+ The change of 2001-11-01 introduced a bug whereby some recursive
+ listings didn't have a blank line between per-directory groups of files.
+ * src/ls.c (print_dir): Print a newline before each directory name
+ except the first one, rather than after each except the last, since
+ now (after the changes of 2001-11-01) detecting whether a `pending*'
+ is the last would involve more work. Reported by Andreas Schwab.
+ * tests/ls/recursive: New file. Test for the above.
+ * tests/ls/Makefile.am (TESTS): Add recursive.
+
+ This change has no net effect.
+ * src/ls.c (main): Remove always-true conjunct and add a comment.
+
+2001-11-26 Jim Meyering <meyering@lucent.com>
+
+ * src/shred.c: Don't include "gtod.h"
+ (main): Don't `call' GETTIMEOFDAY_INIT.
+ * src/ls.c: Likewise.
+
+2001-11-24 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint: Include signatures for the xdelta file, too.
+
+ * Makefile.maint (emit-upload-commands): Rename from
+ emit-rsync-commands.
+ Output only the package name and the prev and current version numbers.
+
+ * Version 4.1.2.
+
+ * src/sync.c (usage): Make --help and --version strings
+ start in column 7.
+
+ * Makefile.cfg (move_if_change): Remove definition.
+ ($(srcdir)/m4/jm-glibc-io.m4): Use mv, not move-if-change.
+
+2001-11-23 Jim Meyering <meyering@lucent.com>
+
+ * cp.c, df.c, du.c, install.c, ln.c, ls.c, mkdir.c (usage):
+ * mkfifo.c, mknod.c, mv.c, shred.c, touch.c (usage):
+ Note that ``Mandatory arguments to long options are mandatory
+ for short options too.''
+
+ * src/shred.c (usage): Use `output', not `print' in description of
+ the --version option, so this message is consistent with all the rest.
+
+ * chgrp.c, chmod.c, chown.c, cp.c, dd.c, df.c, dircolors.c (usage):
+ * du.c, install.c, ln.c, ls.c, rm.c, rmdir.c, shred.c, touch.c (usage):
+ Split --help output into smaller pieces.
+ Use fputs, not printf.
+
+ * src/cp-hash.c: Use opaque type, Hash_table, not `struct hash_table'.
+ * src/du.c: Likewise.
+ * src/remove.c: Likewise.
+
+2001-11-22 Jim Meyering <meyering@lucent.com>
+
+ Don't fail for commands like this: cp a a d/
+ This change in behavior was introduced in 4.1.1, as part of the
+ 2001-09-28 change. cp and mv still fail for commands like this:
+ rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c
+
+ * src/copy.c (triple_hash_no_name): New function.
+ (src_info_init): New function.
+ (copy_internal): Warn and return early for the second and subsequent
+ occurrences of the same source file named on the command line.
+ * src/copy.h (struct cp_options) [src_info]: New member.
+ * src/install.c (cp_option_init): Initialize new member.
+ * src/mv.c (cp_option_init): Likewise.
+ * src/cp.c (cp_option_init): Likewise.
+ (do_copy): Call src_info_init.
+
+ * tests/mv/dup-source: New test for the above.
+ * tests/mv/Makefile.am (TESTS): Add dup-source.
+
+ * src/copy.c (seen_file): Change type of `stats' parameter to pointer.
+ (copy_internal): Update caller.
+
+ * src/copy.c (struct F_triple): Rename from dest_info.
+ (seen_file): Rename from seen_dest. Rename parameters accordingly.
+ (record_file): Rename from record_dest. Rename parameters accordingly.
+ (triple_hash): Rename from dest_info_hash.
+ (triple_compare): Rename from dest_info_compare.
+ (triple_free): Rename from dest_info_free.
+
+ * src/mknod.c (main): Add a literal format string to suppress
+ a warning from gcc's -Wformat-security.
+
+ copy.c shouldn't maintain static state.
+
+ * src/copy.c (dest_info): Remove declaration of file-scoped global.
+ (dest_info_init): Require a parameter.
+ Update all callers.
+ (seen_dest): Require a hash table parameter. Update callers.
+ (record_dest): Likewise.
+ * src/copy.h: Include hash.h.
+ (struct cp_options) [dest_info]: New member.
+ * src/install.c (cp_option_init): Initialize new member.
+ * src/mv.c (cp_option_init): Likewise.
+ * src/cp.c (cp_option_init): Likewise.
+ (do_copy): Remove const attribute from declaration of parameter, x.
+
+2001-11-17 Jim Meyering <meyering@lucent.com>
+
+ * tests/chmod/equals: New test for the just-fixed bug in
+ lib/modechange.c.
+ * tests/chmod/Makefile.am (TESTS): Add equals.
+
+ * configure.ac: Replace use of the one-arg form of AC_INIT
+ with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR.
+
+2001-11-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/r-3: Clean up.
+
+2001-11-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no
+ arguments.
+
+2001-11-06 Jim Meyering <meyering@lucent.com>
+
+ * src/dircolors.hin: Remove duplicate entry for .png.
+ Reported by Frédéric L. W. Meunier.
+
+2001-11-03 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.1.
+
+ * src/ls.c (DEV_INO_PUSH): Avoid unnecessary copies.
+ (dev_ino_pop): Likewise.
+
+2001-11-02 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c: Rename global: s/trace_dirs/recursive/.
+ (extract_dirs_from_files): Rename parameter:
+ s/recursive/ignore_dot_and_dot_dot/.
+
+ * src/ls.c: (dev_ino_pop): Cast 2nd arg of obstack_blank to `int'
+ before negating to avoid warning from gcc on systems with 64-bit size_t.
+
+ * src/ls.c: Use XMALLOC and XREALLOC in a several places. It's cleaner.
+
+2001-11-01 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c: Include dirfd.h.
+ (print_dir): If dirfd fails, resort to using stat.
+
+ * tests/ls/infloop: Redirect cmp's stderr to /dev/null.
+
+ * src/ls.c (struct pending) [st_ino, st_dev]: Remove members.
+ (queue_directory): Remove just-added 3rd parameter
+ and associated code, and update callers.
+ (print_dir): Get dev/inode pair via `fstat (dirfd (reading), ...',
+ and call visit_dir to detect cycles here.
+ Push the dev/inode pair onto the new stack.
+ (dev_ino_obstack): New global.
+ (DEV_INO_PUSH): New macro.
+ (dev_ino_pop): New function.
+ (ASSERT_MATCHING_DEV_INO): New macro.
+ (visit_dir): Take two parameters (dev,ino), not one `pending'.
+ (main): Initialized the dev_ino_obstack.
+ Don't call visit_dir here.
+ Get the dev/ino pair from the new stack, not from the pending entry.
+
+ Make ls -R detect directory cycles.
+ Add loop detection without incurring an additional stat call per
+ directory processed. To detect loops efficiently (i.e., time: +O(1)
+ per directory processed by ls -R, total additional space:
+ O(max-tree-depth)), record the dev/ino of each `active' directory
+ in a hash table. To know when a directory is no longer active,
+ insert a marker (name == NULL) entry for it in the pending queue.
+ When a marker comes to the front of the queue, that directory is no
+ longer active, and must be removed from the hash table. To remove it,
+ we need to know its dev/ino again. Since by the time a directory
+ has become inactive its files[] info is long gone and it's DIR*
+ is closed, I must either save the dev/ino someplace (pending seemed
+ logical) or recompute them via stat.
+
+ The following change will convert to using a stack of dev/ino pairs
+ instead, pushing an entry when doing the opendir (use fstat on
+ dirfd (reading)), and popping (when encountering a marker) to get
+ the dev/ino pair to be removed from the hash table.
+
+ * src/ls.c: Include hash.h, same.h, and xalloc.h.
+ (INITIAL_TABLE_SIZE, LOOP_DETECT): Define.
+ (active_dir_set): New global.
+ (struct dev_ino): Declare.
+ (dev_ino_hash, dev_ino_compare, dev_ino_free): New functions.
+ (visit_dir, free_pending_ent): New functions.
+ (main): Initialize the active_dir_set hash table, if necessary.
+ Don't confuse a marker entry with a real one.
+ Detect loops.
+ Manage the set of active directories.
+ Free the hash table.
+ (queue_directory): Add a new parameter.
+ Ensure that we set the new dev/ino members for each enqueued directory.
+ Update all callers.
+ (print_dir): Don't confuse a marker entry with a real one.
+ (extract_dirs_from_files): Insert a marker entry before inserting
+ the entries for subdirectories.
+
+ Don't try to print a NULL pointer.
+ * src/ls.c (main): Don't use ARGMATCH_TO_ARGUMENT.
+ This reverts part of the 1998-12-31 change.
+ * tests/ls/dired: New test, for the above.
+ * tests/ls/Makefile.am (TESTS): Add dired.
+
+2001-10-24 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (main): Free hash table storage.
+ * src/cp-hash.c (forget_all): Use hash_free, not hash_clear.
+
+2001-10-22 Paul Eggert <eggert@twinsun.com>
+
+ * src/sys2.h (alloca): Define to __builtin_alloca if __GNUC__,
+ to avoid a warning if -Wall.
+
+2001-10-21 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c: Remove as many instances of 'unsigned' as
+ possible, as some of them were not conforming to ANSI C, and
+ they made the code hard to read. Avoiding 'unsigned' cuts
+ down on the number of casts.
+
+ (newline_character, space_character, save_char):
+ Now char, not unsigned char.
+ (obuf): Now char *, not unsigned char *.
+ (ascii_to_ebcdic, ascii_to_ibm, ebcdic_to_ascii):
+ Now char[], not unsigned char[].
+ (translate_charset, translate_buffer, swab_buffer, skip, copy_simple,
+ copy_with_block, copy_with_unblock):
+ Arg now points to char, not unsigned char.
+ All callers changed.
+ (translate_charset, parse_conversion, apply_translations):
+ Use int index, not unsigned int.
+ (bit_count): Arg is now int, not unsigned int.
+ Callers not changed, as they already assumed this.
+ (translate_buffer): Cast char to unsigned char before using
+ it as a subscript.
+ (swab_buffer): Returns char *, not unsigned char *.
+ (dd_copy): Use char, not unsigned char, for buffers.
+ Use size_t for possibly-large index, not unsigned int.
+
+2001-10-21 Jim Meyering <meyering@lucent.com>
+
+ * src/shred.c (isaac_seed_machdep): Handle SIGSEGV, too. Ick.
+
+ * tests/mv/Makefile.am (TESTS): Remove i-3. It's not portable.
+
+ * src/copy.c: Include xreadlink.h.
+ (copy_internal): Don't use PATH_MAX.
+ Rewrite the symlink-copying code to use xreadlink.
+
+2001-10-20 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c (touch): Extend last change to work on systems
+ for which errno is set to EINVAL.
+
+ * src/ls.c: Declare some local variables to be `const', where
+ appropriate.
+ (usage): Improve the description of --dereference (-L).
+
+ * src/rm.c (usage): Clarify description of --directory (-d).
+ Based on a patch from Michael Stone.
+
+ * man/chmod.x: Describe sticky files and directories.
+ From Michael Stone.
+
+ * tests/mv/partition-perm: Don't use a umask that removes owner
+ read/write. Use a stricter test for permissions.
+
+ * tests/cp/link-preserve: Don't use a umask that removes owner
+ read/write. That would induce spurious failures in a probably-
+ outdated version of purify.
+
+2001-10-18 Jim Meyering <meyering@lucent.com>
+
+ * src/mv.c (movefile): Now that remember_copied xstrdup's the file
+ name, free `new_dest'.
+
+ Plug a leak.
+ * src/cp-hash.c (remember_copied): Use src_to_dest_free to free
+ the entry we couldn't insert.
+
+ Don't use free'd memory.
+ * src/copy.c (dest_info_free): New function.
+ (dest_info_init): Make the hash table code use it.
+ (record_dest): Store each DEST in malloc'd memory. Hence the above.
+ Use dest_info_free to free the `ent' we couldn't insert.
+
+2001-10-14 Jim Meyering <meyering@lucent.com>
+
+ Now, -P is the same as --no-dereference, per POSIX.
+ Use --parents to get the old meaning.
+
+ * src/cp.c (enum) [NO_DEREFERENCE_OPTION]: Remove member.
+ (long_opts): Associate --no-dereference with `-P'.
+ (usage): Update description of -P.
+ (main): Remove local, used_P_option, and code to warn
+ that the meaning of -P would be changing.
+
+2001-10-13 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Tighten up and add comments
+ describing the test for when to record (via remember_copied)
+ a <dst_path, source_dev, source_ino> triple.
+ Relax the test that guards the hard-linked-dir check and
+ the hard-link-preserving code.
+
+ Remove the link-preserving semantics from cp_options.dereference.
+ Clean up the code that preserves links for `cp -d' and `mv'.
+ Introduce new options:
+ --preserve[={mode,ownership,timestamps,links,all}]
+ --no-preserve={mode,ownership,timestamps,links,all}
+ -p and --preserve remain unchanged and are equivalent to
+ `--preserve=mode,ownership,timestamps'
+
+ * src/cp.c (enum) [NO_DEREFERENCE_OPTION]: New member.
+ (enum) [NO_PRESERVE_ATTRIBUTES_OPTION]: New member.
+ (enum) [PRESERVE_ATTRIBUTES_OPTION]: New member.
+ (long_opts): Separate -d and --no-dereference options.
+ Add `no-preserve'.
+ Separate -p and --preserve options.
+ The long-named --preserve now accepts optional arguments; -p doesn't.
+ (usage): Describe additions and changes.
+ (cp_option_init): Initialize new member, preserve_links, to 0.
+ (decode_preserve_arg): New function.
+ (main) [case 'a']: Set preserve_links to 1.
+ [case 'd']: Set preserve_links to 1.
+ Add `case' for long-named --no-dereference.
+ Handle long-named --no-preserve and --preserve.
+
+ * src/copy.h (enum Dereference_symlink): Add comments.
+ (struct cp_options) [preserve_links]: New member.
+ * src/install.c (cp_option_init): Initialize new member to 0.
+ * src/mv.c (cp_option_init): Initialize new member to 1.
+
+ * tests/cp/link-preserve: Add tests for some of the above.
+
+2001-10-13 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.h (struct cp_options) [failed_unlink_is_fatal]: Remove
+ unused member.
+ * src/mv.c (cp_option_init): Don't set it.
+ * src/cp.c (cp_option_init): Likewise.
+ * src/install.c (cp_option_init): Likewise.
+
+ * src/copy.h (struct cp_options): Rename members:
+ s/preserve_owner_and_group/preserve_ownership/, and
+ s/preserve_chmod_bits/preserve_mode/.
+ * src/copy.c, src/cp.c, src/install.c, src/mv.c: Update all uses.
+
+ * man/chown.x: Fix typo: s/Sh/SH/ before OPTIONS.
+ Reported by Eric S. Raymond.
+
+2001-10-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/ls/Makefile.am (TESTS): Add infloop.
+ (XFAIL_TESTS): Mark it as a test that we expect to fail (temporarily).
+ * tests/ls/infloop: New file.
+
+2001-10-11 Jim Meyering <meyering@lucent.com>
+
+ * src/mknod.c (main): Tell what's wrong with `mknod c zero 1 5' rather
+ than saying just `Try `./mknod --help' for more information.'.
+ Suggestion from Karl Berry.
+
+2001-10-07 Jim Meyering <meyering@lucent.com>
+
+ * TODO: Remove items relating to cp-hash.c, now that they're done.
+
+ Allow cp -d (and mv when it resorts to copying) to preserve
+ hard links that span command line arguments.
+
+ * src/cp.c (do_copy): Don't clear the hash table after processing
+ each command line argument.
+ * tests/cp/link-preserve: New test for the above.
+ * tests/cp/Makefile.am (TESTS): Add link-preserve.
+
+ * src/cp-hash.c (remember_copied): Make a local copy of the file name.
+ (src_to_dest_free): New function (to free the above).
+ (hash_init): Register src_to_dest_free.
+ * src/copy.c (copy_dir): Now that remember_copied copies the
+ file name, free the temporary `dst_path' allocated here.
+
+2001-10-06 Jim Meyering <meyering@lucent.com>
+
+ Convert du.c to use the functions in lib/hash.c, not private,
+ slightly-modified copies of those that used to be in cp-hash.c.
+
+ * src/du.c (struct entry) [coll_link]: Remove member.
+ (struct htab): Remove.
+ (hash_reset, hash_init, hash_insert2, hash_insert): Remove functions.
+
+ * src/du.c: Include hash.h and same.h.
+ (htab): Change type of global to `struct hash';
+ (entry_hash, entry_compare, hash_ins): New functions.
+ (count_entry): Use hash_ins instead of hash_insert.
+
+2001-10-06 Jim Meyering <meyering@lucent.com>
+
+ Rewrite cp-hash.c to use the functions in lib/hash.c.
+
+ * src/cp-hash.c (hash_init): Die if hash_initialize fails.
+
+ * src/cp-hash.c: Rewrite to use the functions in lib/hash.c.
+ * src/cp-hash.h: Update prototype for hash_init.
+ * src/mv.c (do_move): Reflect that hash_init now takes no arguments.
+ * src/install.c (main): Likewise.
+ * src/cp.c (main): Likewise.
+
+2001-10-06 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (record_dest): Avoid a small leak.
+
+2001-10-06 Jim Meyering <meyering@lucent.com>
+
+ This decreases the memory footprint a little, when copying
+ hierarchies containing many files.
+
+ * src/copy.c (copy_internal): Call remember_copied only if
+ the source file has 1 < st_nlink, or if it's a directory.
+ Now that EARLIER_FILE is set conditionally, initialize it to NULL.
+
+ * tests/mv/childproof: Redirect stderr on one test.
+
+2001-10-05 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c: Include hash-pjw.h and remove definition of hash_pjw.
+ * src/remove.c: Likewise.
+
+2001-10-01 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (hash_pjw): Remove function.
+ * src/copy.c: Likewise.
+
+2001-09-29 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Call record_dest for all types of
+ files (for which this makes sense), not just regular ones.
+
+ * mkinstalldirs: Update from master.
+
+ * Makefile.maint (wget-update): Add mkinstalldirs.
+
+2001-09-28 Jim Meyering <meyering@lucent.com>
+
+ This mv command should fail (likewise for cp), rather than
+ silently clobbering one of the source files.
+ rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c
+ Reported by Dan Jacobson.
+
+ * src/cp.c (do_copy): Call dest_info_init if necessary.
+ * src/install.c (main): Likewise.
+ * src/mv.c (main): Likewise.
+ * src/copy.h (dest_info_init): Declare.
+ * src/copy.c: Include "hash.h" and "same.h".
+ (struct Dest_info): Define.
+ (dest_info): Declare global.
+ (DEST_INFO_INITIAL_CAPACITY): Define.
+ (hash_pjw): New function.
+ (dest_info_hash): Likewise.
+ (dest_info_compare): Likewise.
+ (dest_info_init): Likewise.
+ (seen_dest): Likewise.
+ (record_dest): Likewise.
+ (copy_internal): If the destination exists, fail if it's in the set
+ of files that have already been created as part of this mv or cp.
+ (copy_internal) [move_mode]: Record the destination dev/ino/filename.
+ (copy_internal) [!move_mode, regular file]: Likewise.
+
+ Accept new option: --reply={yes,no,query}
+ * src/cp.c: (enum) [REPLY_OPTION]: Define.
+ (usage): Describe new option.
+ Split long usage string into smaller pieces.
+ (main): Handle new option.
+
+ * missing: Update from master.
+ * config.guess: Likewise.
+ * config.sub: Likewise.
+
+ * configure.ac: Tell automake to use the file name `config.hin'
+ rather than the two-`.' config.h.in.
+
+2001-09-26 Jim Meyering <meyering@lucent.com>
+
+ * man/Makefile.am (common_dep): s/configure.in/configure.ac/.
+
+ * configure.ac: Renamed from configure.in.
+
+ * INSTALL, mkinstalldirs: Update to autoconf 2.50 version.
+
+2001-09-23 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/childproof: New test, for the above fix.
+ Based on a report from Dan Jacobson.
+ * tests/mv/Makefile.am (TESTS): Add childproof.
+
+ * Makefile.am (SUBDIRS): When using newer gettext (in which
+ intl/libintl.h is created by rules intl/Makefile)
+ `intl' must precede `lib'.
+
+2001-09-22 Jim Meyering <meyering@lucent.com>
+
+ Mostly clean-up (modulo the better diagnostic).
+ * src/copy.c (copy_internal): Rename parameter, move_mode, to
+ command_line_arg, and adjust caller. Now, move_mode is a local
+ that is derived from command_line_arg.
+ Factor some involved code to produce something slightly more readable.
+ Use x->move_mode, not move_mode in determining which diagnostic
+ to give (`backing up %s would destroy source; %s not moved').
+
+2001-09-16 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (usage): Fix typo in -g usage.
+ -H now means --dereference-command-line.
+
+2001-09-16 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5.
+
+ * man/Makefile.am (*.1): Depend on *source* files, not binaries.
+ (.x.1): Add code to work around ginstall vs. install exception.
+
+ * man/Makefile.am (dist_man_MANS): Use dist_man_MANS, not man_MANS.
+
+2001-09-15 Jim Meyering <meyering@lucent.com>
+
+ Convert to a more conventional (e.g., like autoconf) Makefile.am.
+ * man/Makefile.am: Remove hacks.
+ * man/GNUmakefile: Remove file.
+ * man/Makefile.summ: Remove file.
+ * man/Makefile.maint: Remove file.
+ * man/ginstall.x: Remove. Renamed to ...
+ * man/install.x: ... this. New file.
+ Michael Stone reported that man pages weren't built in non-srcdir build.
+
+ * src/touch.c (EISDIR): Define to 0, if not already defined.
+ (touch): Give a better diagnostic for e.g., `touch /' by non-root.
+ Based on a patch from Michael Stone.
+ Reported by Jeff Sheinberg as Debian bug #101677.
+ * tests/touch/fail-diag: New test, for the above fix.
+ * tests/touch/Makefile.am (TESTS): Add fail-diag.
+
+ * src/copy.c (copy_internal) [move_mode]: Support the new
+ --reply=... option.
+ (UNWRITABLE): Define (factored out of copy_internal).
+ (copy_internal): Use UNWRITABLE.
+
+ Accept new option: --reply={yes,no,query}
+ * src/mv.c: Include argmatch.h.
+ (enum) [REPLY_OPTION]: Define.
+ (usage): Describe new option.
+ Split long usage string into smaller pieces.
+ (main): Handle new option.
+
+ * src/cp.c (main): Reflect renaming: s/I_ON/I_ASK_USER/.
+
+ * src/copy.h (enum Interactive): Remove members, I_OFF and I_ON.
+ Instead, add I_ALWAYS_YES, I_ALWAYS_NO, and I_ASK_USER.
+
+ * tests/mv/i-2: Clean up: use priv-check rather than open-coding it.
+
+2001-05-11 Paul Eggert <eggert@twinsun.com>
+
+ * src/chmod.c, src/chown.c, src/mkdir.c, src/rm.c, src/rmdir.c (main):
+ Don't strip trailing slashes; POSIX doesn't allow it here.
+ Don't include "dirname.h" when no longer needed.
+
+2001-09-08 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Add braces around now-multi-stmt
+ if-block. This fixes a bug introduced by my 2001-08-06 change.
+ * tests/mv/i-4: New test, for the above.
+ * tests/mv/Makefile.am (TESTS): Add i-4.
+
+2001-09-04 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (get_link_name): Update use of xreadlink.
+
+2001-09-02 Jim Meyering <meyering@lucent.com>
+
+ * tests/priv-check: Change usage not to use $1.
+ That's not portable to e.g., Solaris2.6's /bin/sh.
+ Communicate via an envvar instead.
+ * tests/mv/i-3: Don't pass an argument to a sourced script.
+ * tests/cp/special-bits: Likewise.
+ * tests/chown/basic: Likewise.
+
+ * Makefile.maint (alpha): Depend on local-check so that they run
+ a little earlier.
+
+2001-09-01 Jim Meyering <meyering@lucent.com>
+
+ * src/df.c (show_point): Use canonicalize_file_name, if possible.
+ [HAVE_RESOLVEPATH], [!HAVE_RESOLVEPATH]: Use malloc, not alloca,
+ so that these two paths also produce `resolved' in malloc'd storage.
+ Free that memory when done with it.
+
+ * src/ls.c: Include "xreadlink.h".
+ (get_link_name): Don't use PATH_MAX.
+ Rewrite to use xreadlink.
+
+2001-08-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/chgrp.c: Do not include savedir.h; not used.
+ * src/chown.c: Likewise.
+
+ * src/chmod.c (change_dir_mode): Remove statp arg; no longer needed.
+ * src/chown-core.c (change_dir_owner): Likewise.
+ * src/du.c (count_entry): Remove st_size argument.
+ * src/copy.c (copy_dir): Likewise.
+
+2001-08-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/copy.c: Include full-write.h.
+ * src/dd.c: Likewise.
+
+ * src/copy.c (full_write): Remove decl; not needed.
+ * src/dd.c: Likewise.
+ * src/install.c: Likewise.
+ * src/mv.c: Likewise.
+
+ * src/copy.c (copy_reg):
+ Don't assume read and write size fits in int.
+ * src/dd.c (open_fd): Likewise.
+
+2001-08-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/remove.c (bool): Remove; moved to...
+ * src/system.h: ...here.
+
+ * src/du.c (count_entry, main): Reflect changes to the
+ exclude functions.
+
+2001-08-13 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c, src/dd.c, src/ln.c, src/ls.c, src/mv.c (AUTHORS): Mark
+ string for translation, since it contains the English word `and'.
+
+ * Makefile.maint (author_mark_check): New rule.
+ (local-check): Depend on it.
+
+ Change the rules governing when mv prompts before removing an
+ existing destination file so it is consistent with POSIX:
+ Now, in the absence of --force (-f), if stdin is a tty and an
+ existing destination is not writable mv will prompt before
+ overwriting the destination file.
+ Reported by Vin Shelton.
+
+ * src/copy.c (overwrite_prompt): New function.
+ (copy_internal): Separate the mv-specific and non-move_mode code
+ that determines whether to prompt the user.
+ [move_mode]: Don't make mv fail (i.e. don't return 1) just because
+ the user declined to remove one or more of the files.
+ * src/copy.h (enum Interactive): New type.
+ (struct cp_options) [interactive]: Change type to Interactive.
+ (struct cp_options) [stdin_tty]: New member.
+ * src/cp.c (cp_option_init): Adjust initialization of `interactive',
+ and initialize new member, stdin_tty.
+ * src/mv.c (cp_option_init): Likewise.
+ * src/install.c (cp_option_init): Likewise.
+ * src/cp.c (main): Adjust initialization(s) of `interactive',
+ * src/mv.c (main): Likewise.
+ * tests/mv/i-1: Change expected exit status to reflect the above.
+
+2001-08-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/mk-script ($program_name): Define.
+ (main): Use $program_name, rather than long-inaccurate `build-script'.
+ (main): Iterate over the sorted keys (rather than `while...each...'),
+ so this script produces the same output regardless of which version
+ of perl (e.g., perl5.6) is used.
+
+ Work around non-compliant gettimeofday on Mac OS X 10.0.4,
+ (aka Darwin 1.3.7) that caused the date of the first file listed
+ in long output to be the current time rather than the file's mtime.
+ The real work is in m4/gettimeofday.m4 and the wrapper function,
+ lib/gettimeofday.c.
+ * src/ls.c: Include gtod.h.
+ (main): `Call' GETTIMEOFDAY_INIT.
+ (print_long_format): Add a comment about gettimeofday.
+ Report and diagnosis from Bernhard Baehr.
+
+ * src/shred.c: Include gtod.h.
+ (main): `Call' GETTIMEOFDAY_INIT, just in case the code ever changes
+ to make it necessary.
+
+2001-08-10 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (print_long_format): Simplify previous patch for
+ listing negative sizes, by adding OFF_T_MAX - OFF_T_MIN + 1
+ instead of doing a fancy conditional shift. This is simpler
+ and it avoids GCC's bogus compile-time warning about shift
+ counts. (As a bonus, it is portable to hosts that do not use
+ twos-complement arithmetic. :-)
+
+2001-08-10 Jim Meyering <meyering@lucent.com>
+
+ * ls.c (print_long_format): Multiply the shift width by zero
+ to avoid a warning from gcc on hosts with an unsigned type for the
+ st_size member.
+
+2001-08-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (print_long_format): If a file size is negative, assume
+ the typical case where it has wrapped around from a positive value.
+
+2001-08-07 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (m4-check): New rule.
+ (local-check): Depend on it.
+
+2001-08-06 Jim Meyering <meyering@lucent.com>
+
+ Fix the bug whereby `mv -uf source dest' would delete source,
+ even though it's older than dest.
+
+ * src/mv.c (usage): Correct the description of --update.
+ * src/copy.c (copy_internal): Set *rename_succeeded, so that
+ the caller (mv) doesn't remove the source file.
+ Reported by Phelippe Neveu.
+
+ * tests/mv/update: New test for the above.
+ * tests/mv/Makefile.am (TESTS): Add update.
+
+2001-08-05 Jim Meyering <meyering@lucent.com>
+
+ * tests/root-only: Generalize. Rename to ...
+ * tests/priv-check: ...this. New file. Renamed from the above.
+ * tests/Makefile.am (EXTRA_DIST): Reflect renaming.
+ * tests/mv/i-3: Reflect name and usage changes.
+ * tests/chown/basic: Likewise.
+ * tests/cp/special-bits: Likewise.
+ * tests/sample-test: Likewise.
+
+2001-08-04 Jim Meyering <meyering@lucent.com>
+
+ * tests/root-only: Remove *all* write access, not just that
+ of the owner.
+
+ * tests/mv/i-3: New test for the above fix.
+ * tests/mv/Makefile.am (TESTS): Add i-3.
+
+2001-08-03 Paul Eggert <eggert@twinsun.com>
+
+ * ls.c (quote_name): Pass 0 to mbsnwidth, since the default
+ got changed and we want the default now.
+
+2001-08-03 Paul Eggert <eggert@twinsun.com>
+
+ * ls.c (quote_name): Pass 0 to mbsnwidth, since the default
+ got changed and we want the default now.
+
+2001-07-15 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include
+ the new, generated file, unlocked-io.h.
+
+ * src/sys2.h: Include "unlocked-io.h", rather than hard-coding the
+ HAVE_*_UNLOCKED macros.
+
+ * Makefile.cfg ($(srcdir)/m4/jm-glibc-io.m4): New rule.
+
+2001-07-14 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (tgz-size): Also work for sizes in the kilobyte range.
+
+ * Makefile.maint: More changes from autoconf.
+
+ Changes from autoconf.
+ * Makefile.maint (GZIP_ENV): Add --best.
+ (AMTAR): Define.
+ (writable-files): Factor out ../release/ constant, and work (by
+ creating it) even if such a directory doesn't exist.
+
+2001-07-08 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (get_dest_mode): Clear set-user-ID and set-group-ID bits
+ when copying (i.e., not in move mode) and not preserving permissions.
+ Reported by kytek@cybercomm.net.
+ FIXME: add a test for this!!!
+
+2001-07-02 Jim Meyering <meyering@lucent.com>
+
+ * src/ln.c (do_link): Test the boolean symbolic_link, not the function,
+ symlink. Patch by Frederik Eaton.
+
+2001-06-17 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint: Factor out definitions specific to fileutils,
+ sh-utils, and textutils, so that other packages can use the framework.
+ Patch by Akim Demaille.
+ * Makefile.cfg: New file with package-specific definitions.
+ * GNUmakefile: Include Makefile.cfg.
+ * Makefile.am (EXTRA_DIST): Add Makefile.cfg.
+
+2001-06-16 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (main): Recheck global print_with_color after calling
+ parse_ls_color, since that function may have reset it.
+ Based on a patch from Richard Dawe.
+
+2001-06-16 Jim Meyering <meyering@lucent.com>
+
+ * config.sub: Update from master repository.
+ * config.guess: Likewise.
+
+2001-06-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Turkish (tr).
+
+2001-05-25 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (print_long_format): Don't truncate user names
+ or group names that are longer than 8 characters.
+
+ Add definitions that let me factor the wget rule while still letting
+ me accommodate the fact that these files reside in several different
+ directories and come from different places.
+ * Makefile.maint (wget-files): Define.
+ (get-targets, *-local_dir, *-url_prefix): Likewise.
+ (target, url, local_file): Convenience variables.
+ ($(get-targets)): The factored rule.
+
+2001-05-24 Jim Meyering <meyering@lucent.com>
+
+ * src/ansi2knr.c: Update from master source.
+
+ * Makefile.maint (wget-update): Have wget write to a temporary file,
+ and replace the original only if wget succeeds.
+ Also get ansi2nkr.c.
+ (move-if-change): Define.
+ (wget-update): Use it in place of mv.
+
+ * src/ls.c: Use `#if D_TYPE_IN_DIRENT && defined DTTOIF' to
+ determine whether to enable the DT_INIT definition, not the less
+ portable `#if defined _DIRENT_HAVE_D_TYPE || defined DTTOIF'.
+ Reported by Eli Zaretskii.
+
+ * src/mkfifo.c (main): Remove quotes around %s.
+ The argument is already quoted via the quote function.
+ * src/mknod.c (main): Likewise.
+ Reported by Göran Uddeborg.
+
+2001-05-21 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (wget-update): depcomp and missing are now in
+ automake's lib/ subdirectory.
+
+2001-05-11 Paul Eggert <eggert@twinsun.com>
+
+ Add new --time-style option.
+ Change --full-time to be equivalent to --time-style=full-iso.
+
+ * NEWS, doc/omni-utils.texi: Describe this change.
+
+ * src/ls.c: Include "hard-locale.h".
+ (nstrftime): New decl.
+ (enum time_style): New enum.
+ (time_style_args, time_style_types): New constants.
+ (full_time): Remove.
+ (long_time_format): Initialize to POSIX defaults.
+ (TIME_STYLE_OPTION): New constant.
+ (long_options, decode_switches, usage): Add --time-style support.
+ (long_time_expected_width): Use nstrftime, not strftime.
+ (print_long_format): Likewise.
+ Increase initial size to match new full-iso time style.
+
+ * tests/ls/time-1: Unset QUOTING_STYLE and TIME_STYLE. Set TZ.
+ Adjust to change in full-time format.
+ Fix typo in failure messages (-a and -m were interchanged).
+
+2001-05-20 Jim Meyering <meyering@lucent.com>
+
+ * doc/Makefile.am (EXTRA_DIST): Add constants.texi and doclicense.texi.
+ (info_TEXINFOS): s/fileutils/omni-utils/.
+ (check-texinfo): New rule.
+ (check): Depend on check-texinfo.
+
+ * doc/omni-utils.texi (uniq invocation): Document the new optional
+ arguments to the --all-repeated option.
+ Make all references to POSIX use @sc{posix}.
+
+2001-05-19 Jim Meyering <meyering@lucent.com>
+
+ * doc/fileutils.texi: Remove.
+
+ * doc/omni-utils.texi: Change a few uses of `timezone' to `time zone'.
+ Reported by Stephen Eglen.
+
+2001-05-16 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (my-distcheck): Remove work-around kludge and
+ associated comment, now that automake has ben fixed.
+
+2001-05-12 Paul Eggert <eggert@twinsun.com>
+
+ Clean up some of the places where the code assumed that random
+ types like 'mode_t' fit into 'int', which POSIX doesn't guarantee.
+
+ * src/ls.c (struct fileinfo.linkmode): Now st_mode.
+ (print_color_indicator, print_name_with_quoting, print_type_indicator,
+ length_of_file_name_and_frills):
+ Use mode_t, not unsigned int, to store modes.
+ (dired_dump_obstack): Do not assume size fits in 'int'.
+ (get_link_name): readlink returns ssize_t, not int.
+ (make_link_path): Store buffer size as size_t, not int.
+ (print_long_format): Use unsigned long, not unsigned, to print
+ nlink_t, uid_t, gid_t, major_t, minor_t.
+
+2001-05-13 Paul Eggert <eggert@sic.twinsun.com>
+
+ * src/mknod.c (main): Check for NODEV device only if NODEV is defined.
+ * src/system.h (NODEV): Remove, undoing previous change.
+
+2001-05-13 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (dir_name, dir_len): Define to different names
+ to avoid shadowing warnings due to new declarations from dirname.h.
+
+ * tests/Fetish.pm (run_tests): Fail if any test name is longer
+ than 12 bytes.
+ * tests/ls-2/tests: Shorten test names so the length of a
+ resulting file name doesn't exceed 14.
+
+2001-05-12 Paul Eggert <eggert@twinsun.com>
+
+ * src/system.h (NODEV): New macro, if not already defined.
+
+ * src/mknod.c (main): Check for overflow when converting out
+ of uintmax_t. Do not assume that major_t and minor_t are no
+ wider than int. Check for makedev failures. Convert device
+ numbers via uintmax_t, not unsigned long, just in case.
+ Coalesce duplicate code in the block and character device
+ cases.
+
+2001-05-11 Paul Eggert <eggert@twinsun.com>
+
+ Add new --dereference-command-line option.
+ -H now means this instead of meaning --si, as POSIX requires.
+
+ * NEWS, doc/omni-utils.texi: Document this.
+
+ * src/ls.c (enum Dereference_symlink): New type.
+ (dereference): New var, replacing trace_links, which was removed.
+ (long_options, main, decode_switches, gobble_file, usage):
+ Implement the changes.
+
+ * tests/ls-2/tests:
+ Rename slink-dir test to slink-dir-dF. Add new tests
+ slink-dir-F, slink-dir-dFH, slink-dir-dFL.
+
+2001-05-11 Paul Eggert <eggert@twinsun.com>
+
+ dirname code cleanup. base_name now behaves more compatibly
+ with POSIX basename when given file names that have trailing
+ slashes, and similarly for dir_name. Add new primitives
+ base_len and dir_len. Put the directory-name-related decls
+ into dirname.h.
+
+ * src/chmod.c (strip_trailing_slashes): Remove; now in dirname.h.
+ * src/chown.c (strip_trailing_slashes): Likewise.
+ * src/cp.c (strip_trailing_slashes): Likewise.
+ * src/df.c (strip_trailing_slashes): Likewise.
+ * src/ln.c (strip_trailing_slashes): Likewise.
+ * src/mkdir.c (strip_trailing_slashes): Likewise.
+ * src/rm.c (strip_trailing_slashes): Likewise.
+ * src/rmdir.c (strip_trailing_slashes): Likewise.
+
+ * src/dircolors.c, src/ls.c, src/remove.c:
+ Include "dirname.h", to get base_name.
+
+ * src/cp.c (make_path_private): Use dir_len instead of
+ dir_name, and avoid an extra mealloc call.
+
+ * src/df.c (find_mount_point): No need to strip trailing
+ slashes before invoking new dir_name.
+
+ * src/mv.c: Include "dirname.h".
+ (strip_trailing_slashes_2): Remove; now done by
+ strip_trailing_slashes. All callers changed.
+
+ * src/sys2.h (base_name): Remove decl; now in dirname.h.
+
+ * src/copy.c (copy_internal): Remove the code that tested for NULL
+ dir_name return value. That can't happen.
+
+2001-05-12 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (usage): Wording changes related to -o, -n, and -g.
+ * doc/omni-utils.texi: Likewise.
+ From Paul Eggert.
+
+2001-05-11 Paul Eggert <eggert@twinsun.com>
+
+ * src/chmod.c (mode_changed, change_file_mode):
+ There's no need to invoke both lstat and stat here, so call just
+ one of the two functions.
+
+2001-05-11 Jim Meyering <meyering@lucent.com>
+
+ * doc/omni-utils.texi: New file. The union of fileutils.texi,
+ sh-utils.texi, and textutils.texi. Merged by Brian Youmans.
+
+ * src/shred.c (usage): Warn about backups and mirrors.
+ * doc/omni-utils.texi (shred invocation): Likewise.
+ From Nelson Beebe.
+
+2001-05-09 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (main): Don't set `format_needs_stat' for --recursive (-R),
+ because that would make `ls -RF dir' stat unnecessarily all of the
+ files in dir/ on some systems.
+ Similarly, don't set `format_needs_stat' for --dereference (-L),
+ because that would make `ls -RLF dir' stat unnecessarily all non-symlink
+ files in dir/ on some systems.
+ Instead, ...
+ (gobble_file): ... also stat a file if `trace_dirs' (-R) is set and its
+ type is unknown.
+ ... also stat a file if `trace_links' (-L) is set and the file is a
+ symlink or its type is unknown.
+ (print_dir): Also recognize DT_REG and DT_LNK.
+
+2001-05-07 Jim Meyering <meyering@lucent.com>
+
+ * src/chown.c (main): Fix thinko that made --from=... fail:
+ s/argv[optind]/optarg/. Reported by Andrew Pham.
+
+ * tests/chown: New directory.
+ * tests/chown/basic: New (root-only) test for the above.
+ * tests/cp/special-bits: Factor out the root-only test into this ...
+ * tests/root-only: ... new file.
+ * tests/Makefile.am (EXTRA_DIST): Add root-only.
+ (SUBDIRS): Add chown.
+ * tests/chown/Makefile.am: New file.
+ * configure.in (AC_OUTPUT): Add tests/chown/Makefile.
+
+2001-05-05 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (decode_switches): Complain if the envvar, QUOTING_STYLE,
+ is set to an invalid value.
+ Move some declarations of locals into scopes where they're used.
+
+2001-05-02 Jim Meyering <meyering@lucent.com>
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+
+2001-05-01 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (tgz-size, xd-size): Compute sizes.
+ (announcement): Include sizes of .tar.gz and .xdelta files
+ in the announcement.
+
+ * src/ls.c (print_owner): New global variable.
+ (usage): Update the descriptions of -g.
+ (decode_switches): Honor the -g option (omit owner information),
+ now that POSIX specifies it.
+ (print_long_format): Don't print owner name if -g was specified.
+ Move declaration of `user_name' into the scope where it's used.
+ (print_group): Rename global from `inhibit_group'. Update all
+ uses accordingly.
+ * doc/fileutils.texi (What information is listed): Describe -g.
+ * TODO: Remove item for ls -g.
+
+ * src/ls.c (decode_switches): Make -n work just like -l, except
+ with numeric IDs, per POSIX. Before, to have any effect, -n had
+ to be used with -l. Reported by Dale Scheetz.
+ (usage): Update the description of -n.
+ Separate the descriptions of -n and --numeric-uid-gid.
+ Split string in --help output that had exceeded my limit of
+ 2048 bytes.
+
+2001-04-29 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.1.
+
+ * configure: Regenerate using a further-patched copy of autoconf-2.49e
+ to work around a bug in its test for ranlib. This is the change to
+ autoconf's acgeneral.m4 that was made on 2001-04-24.
+
+ * README: Don't mention mvdir. It is no longer provided.
+ Don't mention HP/UX vs. du blocksize problem. It's long gone.
+ Remove note about how cp, mv, and ln couldn't make backups
+ of files with names of maximum length. Now they can do that.
+ Thank the people who have provided access to their systems
+ for portability testing.
+ Warn about and describe autoconf/automake version requirements.
+ Use a better URL for the GNU Coding Standards.
+
+ * man/rm.x: Refer to shred.
+ Remove the example showing how to remove `-foo', since that is now
+ in the --help output (and hence automatically included).
+ * src/rm.c (usage): Mention shred.
+
+ * src/shred.c (usage): Include in --help output the warning about
+ some of the filesystem types on which shred is not effective.
+
+2001-04-25 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (my-distcheck): Add a comment.
+
+2001-04-23 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.45.
+
+2001-04-22 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (decode_switches): Ensure that -1 has no effect when it
+ follows -l, per POSIX. Reported by Ulrich Drepper.
+
+ * src/dd.c (usage): Mention that sync makes dd pad with spaces (rather
+ than NULs) when used with block or unblock.
+ (dd_copy): When using sync with either block or unblock,
+ pad with spaces. Reported by Dale Scheetz.
+ * tests/dd/skip-seek (block-sync-1): New test, for this. Based on
+ a report from Dale Scheetz.
+ * doc/fileutils.texi (dd invocation): Document it here, too.
+
+ * configure: Regenerate using a patched copy of autoconf-2.49e to
+ work around a bug in its test for a working memcmp function.
+ This is the change to autoconf's acfunctions.m4 that was made
+ on 2001-04-22.
+
+ * tests/ls/no-arg: New file.
+ * tests/ls/Makefile.am (TESTS): Add no-arg.
+ * src/ls.c (main): Fix off-by-one error introduced with last change.
+
+2001-04-21 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.44.
+
+ * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49e.
+
+ * doc/fileutils.texi (touch invocation): Discuss ctime.
+ Based on suggestions and contributions from Aharon Robbins
+ and Dan Jacobson.
+
+ * src/ls.c (main): When given two or more arguments but the only one
+ that exists is a directory, don't treat it as if it were the only
+ argument. Before, `mkdir d; ls no-dir d 2>/dev/null' would act like
+ `ls d' and produce no output. Now, it prints `d:'.
+ Report and patch from Stéphane Chazelas.
+ * tests/ls-2/tests: New tests, for the above fix.
+
+2001-04-08 Jim Meyering <meyering@lucent.com>
+
+ * depcomp: New version, from automake.
+
+2000-10-31 Bruno Haible <haible@clisp.cons.org>
+
+ * ls.c: Don't inspect MB_LEN_MAX. Paul Eggert says it's
+ not always defined correctly.
+
+2001-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * tests/chgrp/basic: Ensure that initial group id's are properly set
+ for `d' and `d/f3'.
+
+2001-04-02 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/setup: Skip nonexistent directories so we don't get
+ diagnostics from df about e.g., `/usr/tmp not found'.
+
+2001-03-24 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Don't require autoconf version here -- it's done in m4/.
+
+2001-03-23 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.43.
+
+ * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49d.
+
+ * Makefile.maint (check-copyright): New target and rule.
+ (alpha): Depend on it.
+
+ * missing: Handle shell built-ins (only `:' and `cd' for now) to work
+ around brain damage in Ultrix's /bin/sh.
+
+2001-03-18 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.42.
+
+ * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL
+ to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a
+ suggestion from Eli Zaretskii.
+
+2001-03-17 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi: Warn that touch DATE FILE will be withdrawn.
+
+2001-03-17 Jim Meyering <meyering@lucent.com>
+
+ * tests/install/basic-1: Add the standard $VERBOSE-handling hook.
+ This test currently fails for mips-dec-ultrix4.4.
+
+ * tests/install/create-leading: Use ../envvar-check rather than
+ open-coding the same tests.
+
+ * tests/envvar-check: Set/use $as_unset, for those shells
+ (like Ultrix4's /bin/sh) that don't accept `unset'.
+
+ * missing (--run): Use `eval' to run `"$@"'. Otherwise, Ultrix4.4's
+ /bin/sh fails and outputs garbage.
+
+ * src/touch.c (usage): Tweak the obsolescent usage line so that
+ help2man recognizes it as such. Reported by Dan Jacobson.
+
+2001-03-16 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (wget-update): Also get `missing'.
+ Use for-loops.
+
+ * missing: Update from automake.
+
+2001-03-11 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/isatty: Disable this test, for now.
+ It would block when run in the background.
+
+2001-03-09 Jim Meyering <meyering@lucent.com>
+
+ * config.guess: Update from master repository.
+
+ * Makefile.maint (my_distdir): Define new variable, and use this
+ in place of most old uses of $(distdir).
+
+ * src/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
+ Reported by Akim Demaille.
+
+ * tests/help-version: Ensure that /dev/full is a character device
+ (using test -c) as well as being writable, before trying to write to it.
+ Otherwise, the test could mistakenly append a newline to an existing,
+ regular, writable, /dev/full file.
+ Suggested by Ulrich Drepper.
+
+2001-03-06 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c (S_TYPEISSHM): Rename parameter to reflect its type.
+ (main): Pass a `struct stat *', not stat.st_mode to S_TYPEISSHM.
+ Patch by Alain Magloire.
+
+2001-03-04 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c (output_char): Reformat so each statement is on a
+ separate line.
+
+2001-02-21 Jim Meyering <meyering@lucent.com>
+
+ * src/mkdir.c (main): Remove assignment-in-if-expression.
+ In fact, remove t_errno altogether. Reported by Nelson Beebe.
+
+ * tests/ls-2/tests: Add two tests of existing behavior -- both will
+ have to be changed (soon after release), once ls is fixed.
+
+2001-02-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (FULL_TIME_OPTION): Renamed from FULL_TIME, for
+ consistency with the other enum values.
+
+2001-02-20 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/fileutils.texi: ls -H is now obsolescent.
+ * src/ls.c (SI_OPTION): New enum value.
+ (long_options): Use it instead of 'H' for --si.
+ (decode_switches): Warn that -H will change soon.
+ (usage): Likewise.
+
+2001-02-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/rm/Makefile.am (TESTS): Add isatty.
+ * tests/rm/isatty: New test, for the bug fixed below.
+
+ * Version 4.0.41.
+
+ * depcomp: New version, from automake.
+
+ `chmod 0 file; rm file' would no longer prompt before removal.
+ * src/remove.c (remove_file): Revert last change.
+ Reported by Vin Shelton.
+
+2001-02-17 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.40.
+
+ * src/chown.c (main): `quote' the offending argument.
+
+2001-02-17 Paul Eggert <eggert@twinsun.com>
+
+ Stop trying to support hosts that have nonstandard declarations for
+ mbrtowc and/or mbstate_t. It's not worth the portability hassle.
+
+ * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
+ * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
+ Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
+ * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
+ * lib/mbswidth.c, lib/quotearg.c, src/ls.c (mbrtowc, mbsinit):
+ Remove workaround macros for hosts that have mbrtowc but not
+ mbstate_t, as we now insist on proper declarations for both
+ before using mbrtowc.
+ Reported by Matt Schalit.
+
+2001-02-17 Jim Meyering <meyering@lucent.com>
+
+ * config.sub: Update from master repository.
+ * config.guess: Likewise.
+
+2001-02-16 Paul Eggert <eggert@twinsun.com>
+
+ * doc/getdate.texi: Mention that only English is supported.
+ Show how to use "date" so that the output is acceptable to getdate.
+ Mention Z as an abbreviation for UTC.
+
+2001-02-11 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (emit-rsync-commands): Define.
+ (alpha): Use it here.
+
+2001-02-10 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (alpha): Fix previous, incomplete change.
+
+ * Version 4.0.39.
+
+ * depcomp: New version, from automake.
+
+2001-02-04 Jim Meyering <meyering@lucent.com>
+
+ * README: Remove note about now-ancient Sequents.
+
+2001-02-03 Jim Meyering <meyering@lucent.com>
+
+ * src/ln.c (main): Change type of index variable to `unsigned int'
+ to avoid a warning.
+
+ * config.guess: Update from master repository.
+
+ * Makefile.maint (a_host): Use fencepost.
+ (real_dir): Use the same name for both.
+ (alpha): Print commands for both hosts.
+
+ * src/mv.c (long_options): Use `strip-trailing-slashes',
+ per the documetation, not `strip-trailing-slash'.
+ * src/cp.c (long_opts): Likewise.
+ Reported by Oskar Liljeblad.
+
+ * doc/fileutils.texi (mv invocation): Add a warning about how a trailing
+ slash makes a difference. Prompted by a report from Oskar Liljeblad
+ via Michael Stone (Debian bug#83991).
+
+2001-01-31 Jim Meyering <meyering@lucent.com>
+
+ * config.sub: Update from master repository.
+ * config.guess: Likewise.
+
+2001-01-28 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.38.
+
+ * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49c.
+
+ * src/ls.c (gobble_file): Add a FIXME comment.
+
+ * TODO: Add a few items.
+
+ * src/ls.c (enum) [FULL_TIME]: Define.
+ (long_options): Use it.
+ (decode_switches): Make --full-time imply -l.
+ Prompted by a report from Karl Eichwalder.
+
+2001-01-22 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (remove_file): Correct an expression to avoid making
+ an unnecessary call to euidaccess for each file.
+
+2001-01-21 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.37.
+
+2001-01-20 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Remove jm_CHECK_ALL_TYPES.
+ Now it's invoked by jm_MACROS.
+
+2001-01-17 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h (case_GETOPT_VERSION_CHAR): Use PACKAGE, not GNU_PACKAGE.
+ * src/sync.c (main): Likewise.
+ * src/shred.c (PACKAGE): Likewise.
+ * src/dd.c (main): Likewise.
+
+2001-01-14 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.36.
+
+ * src/shred.c (UINT_MAX_32_BITS): Define.
+ Use UINT_MAX_32_BITS in the cpp conditions that determine
+ the `word32' typedef. Using a literal `0xffffffff' failed with
+ HPUX10.20's /bin/cc.
+
+ * config.sub: Update from master repository.
+ * config.guess: Likewise.
+
+2001-01-02 Volker Borchert <bt@teknon.de>
+
+ Work around a broken rename system call, e.g. on SunOS 4.1.1_U1,
+ that fails when the source path has a trailing slash.
+ * src/copy.h [RENAME_TRAILING_SLASH_BUG]: Use the rename wrapper.
+ * tests/mv/trailing-slash: Test whether the workaround works.
+ * tests/m4/Makefile.am (TESTS): Add trailing-slash.
+
+2001-01-03 Alexandre Duret-Lutz <duret_g@epita.fr>
+
+ * po/Makefile.in.in (update-po): Merge po-files in temporary files
+ in the build directory, and update the source directory only when
+ the merged catalog differs from the original. This fixes the known
+ `make distcheck' failure due to `make update-po' being called
+ on up-to-date but read-only files.
+
+2001-01-13 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (same_file_ok): When moving a symlink onto itself,
+ don't remove the symlink. Reported by David Luyer as Debian bug#82089,
+ via Michael Stone.
+ * tests/mv/into-self-4: New test for the above.
+ * tests/mv/Makefile.am (TESTS): Add into-self-4.
+
+ * tests/chmod/setgid: If `chmod g+s d' fails, then try to chgrp
+ to a group of which we're a member, then try the chmod again.
+
+2001-01-11 Jim Meyering <meyering@lucent.com>
+
+ * depcomp: New version, from automake.
+
+2001-01-10 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Add a comment.
+ Set *copy_into_self in the new code that detects that.
+ Make diagnostic more consistent: s/won't/will not/.
+ [move_mode, copy_into_self]: Give a diagnstic here, now that
+ we have the top_level_* globals. Remove the corresponding diagnostic
+ from mv.c.
+ Add a FIXME comment.
+ * src/mv.c (do_move): Remove diagnostic, now that copy.c issues it.
+ Set `fail' to nonzero in the primary `if (copy_into_self)' block
+ rather than in its own tiny one below.
+
+ * src/copy.c (copy_internal): Don't allow cp (or mv, when working
+ across a partition boundary) to overwrite a non-directory with a
+ directory. Reported by Michael J. Croghan.
+ * tests/cp/dir-vs-file: New test for the above.
+ * tests/cp/Makefile.am (TESTS): Add dir-vs-file.
+
+2001-01-09 Jim Meyering <meyering@lucent.com>
+
+ Give a better diagnostic for `cp -R a a'.
+ * src/copy.c (top_level_src_path, top_level_dst_path): New globals.
+ (copy_internal): Use them.
+ (copy): Set them.
+ * src/cp-hash.c [struct entry] (node): Describe how it's used,
+ now that we've overloaded it, in order to detect and diagnose
+ the copying-directory-into-self problem.
+ (new_file): Remove global.
+ (htab): Declare global to be static.
+ (remember_created): Insert file name instead of dummy pointer, so
+ that copy.c can use the just-created directory name to detect
+ the copying-directory-into-self problem.
+ * tests/cp/into-self: New test for the above.
+ * tests/cp/Makefile.am (TESTS): Add into-self.
+
+2001-01-07 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (usage): Split a string that was longer than 2048 bytes.
+
+ * doc/perm.texi: s/can not/cannot/
+
+2001-01-07 Karl Eichwalder <ke@suse.de>
+
+ * src/chown.c (usage): Split long message string.
+
+2001-01-07 Karl Eichwalder <ke@suse.de>
+
+ * src/ls.c (usage): Untabify.
+
+ * src/chgrp.c (parse_group): Normalize spelling.
+
+2001-01-03 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS: Document the planned --full-time change.
+ * doc/fileutils.texi: Likewise.
+ * NEWS: Document that time stamps depend on LC_TIME, not LC_MESSAGES.
+
+2001-01-03 Paul Eggert <eggert@twinsun.com>
+
+ Use the more precise algorithm of GNU "make" to decide whether
+ a file is in the future, by looking at high-resolution time
+ stamps if available.
+
+ * src/ls.c:
+ (TIMESPEC_NS): New macro.
+ (current_time): Initialize to the minimum value.
+ (current_time_ns): New var.
+ (main): Do not bother to initialize current_time;
+ it's no longer needed.
+ (get_current_time): New function.
+ (print_long_format): Use it when a file appears to be in the future.
+ Get the nanoseconds of the file's time stamp, if available,
+ and use that to decide whether the file appears to be in the future.
+
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): New macros.
+
+2001-01-02 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (long_time_expected_width, print_long_format): Fix
+ bug: the initial byte passed to strftime wasn't initialized to
+ a nonzero value after the buffer was reallocated.
+
+2001-01-02 Paul Eggert <eggert@twinsun.com>
+
+ Make ls -l compatible with POSIX, which requires that the
+ behavior of time formats must depend only on LC_TIME, not on
+ LC_MESSAGES.
+
+ * po/Makefile.in.in (install-data-yes): If the package is
+ fileutils, install LC_TIME as an alias for LC_MESSAGES.
+ * src/sys2.h (dcgettext): New macro.
+ * src/ls.c (decode_switches): Use dcgettext with LC_TIME,
+ not plain gettext, to get the translations of time formats.
+
+2001-01-02 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (long_time_expected_width): New function.
+ (print_long_format): Use it, so that we don't assume a
+ particular width for time stamps in an internationalized
+ environment.
+
+2001-01-01 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi, NEWS:
+ ls -l now reports the year for files even slightly in the future, as
+ POSIX requires. This helps warn users about clock skew problems.
+
+ * src/ls.c (print_long_format):
+ Report the year for files even slightly in the future.
+ Avoid overflow problems near Y2038 on 32-bit hosts.
+ To calculate "six months", take half the average Gregorian
+ year, not 180 days.
+
+2001-01-01 Jim Meyering <meyering@lucent.com>
+
+ * tests/chmod/Makefile.am (TESTS): Add setgid.
+ * tests/chmod/setgid: Test for chmod's existing behavior.
+ Based on a report from Paul Eggert.
+
+2000-12-29 Paul Eggert <eggert@twinsun.com>
+
+ Clean up the terminology a tad: some directories were called "sticky"
+ when they were really setgid.
+ * tests/Makefile.am (EXTRA_DIST): sticky-check -> setgid-check
+ * tests/chmod/c-option, tests/cp/cp-parents, tests/mkdir/parents,
+ tests/mkdir/perm: Likewise.
+ * tests/setgid-check: File renamed from tests/sticky-check.
+ All uses of "sticky" changed to "setgid".
+
+2000-12-31 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/Makefile.am (TESTS): Add deref-slink.
+ * tests/cp/deref-slink: New file. Test for the bug fixed by my
+ 2000-12-28 change to copy.c.
+
+2000-12-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c: Improve performance by invoking gettext twice at the start,
+ instead of once for each file.
+ (long_time_format): New var.
+ (decode_switches): Initialize it, if format == long_format.
+ (print_long_format): Use it.
+
+2000-12-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (print_long_format): Don't dump core if strftime
+ returns the empty string.
+
+2000-12-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (gobble_file): If not using long format, don't
+ invoke acl; it's not needed.
+
+2000-12-30 Jim Meyering <meyering@lucent.com>
+
+ Avoid an unnecessary `stat' when using --dereference.
+ * src/copy.c (same_file_ok): Use stat only if lstat reported that
+ the file was a symbolic link.
+
+2000-12-29 Paul Eggert <eggert@twinsun.com>
+
+ * doc/perm.texi: append-only directories -> restricted deletion flag,
+ which is the term that POSIX d5 uses for this notion.
+
+2000-12-28 Paul Eggert <eggert@twinsun.com>
+
+ * tests/group-names: Try /usr/xpg4/bin/id (Solaris 7) if plain
+ 'id' doesn't work.
+
+2000-12-28 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/cp-parents: Run sticky-check from just-created directory.
+
+2000-12-28 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (same_file_ok): Fix two typos from my 2000-09-03 change:
+ s/tmp_dst_sb/tmp_src_sb/.
+
+2000-12-27 Paul Eggert <eggert@twinsun.com>
+
+ * tests/sticky-check: Turn off the working directory's sticky
+ bit, so that we don't have to worry about it later.
+
+ * src/copy.c (same_file_ok): Use a single auto var for
+ tmp_dst_sb, instead of two static vars. Likewise for
+ tmp_src_sb.
+
+2000-12-26 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.35.
+
+ * Regenerate build/config framework to use automake-1.4b and
+ the latest CVS version autoconf.
+
+ * tests/mkdir/perm: Disable the test if the working directory has
+ the sticky bit set.
+ * tests/cp/cp-parents: Likewise.
+ Reported by Nelson Beebe.
+
+2000-12-25 Jim Meyering <meyering@lucent.com>
+
+ Clean-up to avoid warnings from Irix's c89.
+
+ * src/remove.c (hash_compare_active_dir_ents): Return explicit `true'
+ or `false', rather than relying on implicit int-to-enum cast.
+ * src/copy.c (same_file_ok): Remove declaration and set of unused
+ variables: src_sb_no_link, dst_sb_no_link.
+ * src/ls.c (extract_dirs_from_files): Remove unused variable.
+ Reported by Nelson Beebe.
+
+ * src/ls.c (gobble_file): Move decl of local, val, into the scope
+ where it's used.
+
+2000-12-24 Jim Meyering <meyering@lucent.com>
+
+ For both ln and install, when using `--backup=simple --suffix=S',
+ the suffix `S' wasn't used.
+
+ * src/ln.c (main): Actually use the local variable,
+ `backup_suffix_string'.
+ * src/install.c (main): Likewise.
+ Nelson Beebe reported the unused variables.
+ * tests/ln/misc: Add a test for this (for all of cp, mv, ln, install).
+
+ * man/help2man: Update to version 1.24.
+
+2000-12-22 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.34.
+
+ * src/shred.c (isaac_seed_machdep) [_ARCH_PPC]: Disable the code
+ that would use the PPC mfspr `asm' code. Suggestion from Michael Stone.
+
+2000-12-19 Jim Meyering <meyering@lucent.com>
+
+ * doc/fileutils.texi: Use `ref_file' in place of `file' to make
+ descriptions of the various --reference=... options clearer.
+
+2000-12-17 Jim Meyering <meyering@lucent.com>
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+
+2000-12-16 Jim Meyering <meyering@lucent.com>
+
+ * src/chown-core.c (uint_to_string): New function.
+ (uid_to_name): Use it.
+ (gid_to_name): Use it.
+ Rename locals, user/group, to uid/gid.
+
+ * src/chown-core.h (enum Change_status): Start with 1.
+
+ * src/chown.c (main): Rename locals, user/group, to uid/gid.
+ * src/chgrp.c (main): Rename local, group, to gid.
+
+ * tests/group-names: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add group-names.
+ * tests/chgrp/basic: Use group-names.
+ * tests/chgrp/deref: Likewise.
+ * tests/chgrp/recurse: Likewise.
+
+ * tests/chgrp/basic: Don't assume that creating a file gives it
+ group $g1.
+
+ * tests/chgrp/Makefile.am (TESTS): Add recurse.
+
+2000-12-15 Jim Meyering <meyering@lucent.com>
+
+ * src/chown-core.h [enum Dereference_symlink] (dereference): Rename
+ from change_symlinks.
+ * src/chown-core.c: Declare lstat.
+ Rename change_symlinks member to `dereference' and use the DEREF_*
+ enum values.
+ (describe_change): Merge the chgrp and chown switch statements.
+ Use xmalloc to form the `user:group' string.
+ (change_file_owner): Record (and later, use) is_symlink and is_directory
+ from the lstat stats, in order to control whether we operate on symlinks
+ and whether (with -R) we traverse symlinks to directories.
+ When dereferencing, use open/fchown (rather than chown) on symlinks.
+ * src/chown.c (main): Reflect renaming: s/dereference/change_symlinks/.
+ * src/chgrp.c (main): Likewise.
+
+ * src/chown-core.c (describe_change): Use `:' (not `.') to separate the
+ username and group in messages evoked by the --verbose and --changes
+ options.
+
+2000-12-09 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (noinst_HEADERS): Add chown-core.h.
+ (chown_SOURCES): Define.
+ (chgrp_SOURCES): Define.
+
+ * src/chgrp.c: Include "chown-core.h".
+ [enum Change_status, enum Verbosity]: Remove declarations.
+ Remove decls of globals that are now part of struct Chown_option.
+ Remove decl of xstat.
+ (describe_change): Remove function.
+ (change_file_group): Likewise.
+ (change_dir_group): Likewise.
+ (parse_group): Don't set global, groupname, here...
+ (main): ... instead, initialize `chopt.group_name' here.
+ Initialize chopt and update uses of the now-members.
+ Set group_name also when it's obtained via a --reference=FILE option.
+ Call change_file_owner (with -1 for uids), not change_file_group.
+
+ * src/chown.c: Don't include pwd.h or grp.h -- no longer needed.
+ Include "chown-core.h".
+ [enum Change_status, enum Verbosity]: Remove declarations.
+ Remove decls of globals that are now part of struct Chown_option.
+ (describe_change): Remove function.
+ (change_file_owner): Likewise.
+ (change_dir_owner): Likewise.
+ (main): Initialize chopt and update uses of the now-members.
+ Set user_name and group_name also when they're obtained via a
+ --reference=FILE option.
+ Pass `chopt' to change_file_owner.
+
+ * src/chown-core.c: Include <pwd.h>, <grp.h>, and "xalloc.h".
+ [!_POSIX_VERSION]: Declare getgrnam and getgrgid.
+ (gid_to_name): New function.
+ (uid_to_name): Likewise.
+ (chopt_free): Likewise.
+
+ Factor out code that's common to chgrp.c and chown.c.
+ * src/chown-core.h: New file.
+ * src/chown-core.c (chopt_init): New function.
+ (describe_change): Extracted/combined from chgrp.c and chown.c.
+ (change_dir_owner): Likewise.
+ (change_file_owner): Likewise.
+ * po/POTFILES.in: Add src/chown-core.c.
+
+ * configure.in (AC_OUTPUT): Add tests/chgrp/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add chgrp.
+ * tests/chgrp: New directory.
+ * tests/chgrp/basic: New test.
+ * tests/chgrp/deref: Likewise.
+ * tests/chgrp/Makefile.am: New file.
+
+ * src/chown.c (change_file_owner): Restore special file permission
+ bits, since calling chown resets them on some systems.
+ Reported by Matt Perry.
+
+2000-12-08 Andreas Schwab <schwab@suse.de>
+
+ * tests/mv/mv-special-1: Don't make the success of the test depend
+ on the order in which directory entries are processed.
+
+2000-12-03 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (gobble_file) [USE_ACL]: Set have_acl member unconditionally
+ to avoid uninitialized memory reference via FILE_HAS_ACL.
+
+ * Makefile.maint (alpha): Use rsync rather than scp, so the destination
+ file is created only after the successful completion of the copy.
+
+2000-12-02 Jim Meyering <meyering@lucent.com>
+
+ * tests/ls/Makefile.am (TESTS): Add follow-slink.
+ * tests/ls/follow-slink: New file.
+
+2000-12-01 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (gobble_file): Do not fall back on lstat if stat
+ fails; POSIX.2 does not allow this. Invoke acl only on
+ non-symlinks, and only if lstat or stat succeeds.
+
+2000-12-02 Jim Meyering <meyering@lucent.com>
+
+ * configure: Regenerate using the very latest version (in CVS) of
+ autoconf.
+
+ * tests/dd/skip-seek: Remove test #2, now that support for the
+ `B' suffix is gone.
+ * tests/dd/Makefile.am (TESTS): Add skip-seek2
+ * tests/dd/skip-seek2: New file.
+
+2000-12-01 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c (skip, dd_copy): Use ssize_t to store result of
+ safe_read, to avoid overflow e.g. on 64-bit Solaris sparc.
+ (dd_copy): Remove unnecessary cast.
+
+2000-12-01 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi: Remove B suffix. Document how to have
+ the desired effect without it.
+
+ * src/dd.c: Undo most of the changes since 2000-11-24, since we've
+ documented a standard way to do it.
+ (skip_bytes, seek_bytes): Remove.
+ (usage): Remove B suffix.
+ (scanargs, skip, dd_copy, main): Remove support for B suffix.
+
+2000-11-28 Jim Meyering <meyering@lucent.com>
+
+ * src/mkdir.c (main): Remove any trailing slash unconditionally.
+ Reported by Volker Borchert.
+ * tests/mkdir/t-slash: Add a test for this.
+
+2000-11-27 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.33.
+
+ * tests/touch/no-rights: Use touch with `-d tomorrow' to avoid a
+ race condition.
+
+ * tests/Fetish.pm (_compare_files): New function.
+ (_process_file_spec): Likewise.
+ (_at_replace): Likewise.
+ (run_tests): Support new keywords, AUX and CMP and associated
+ syntax and semantics.
+
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+
+2000-11-26 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c (skip): Perform the `records < blocksize' test
+ at the top of the loop, not at the bottom.
+
+2000-11-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c (skip): New arg COUNT_BYTES. Read with BLOCKSIZE
+ bytes, but consider RECORDS to be a byte count if COUNT_BYTES
+ is nonzero.
+
+2000-11-25 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi: Document seek=nB and skip=nB.
+
+ * src/dd.c (skip_bytes, seek_bytes): Now booleans, not counts.
+ (seek_records): Renamed from seek_record, for consistency with
+ skip_records and max_records. All uses changed.
+
+ (usage, scanargs): Remove bseek=n and bskip=n; instead, use seek=nB
+ and skip=nB.
+ (enum Unit, Unit): Remove.
+ (skip, dd_copy, main): Undo most recent change.
+ (dd_copy, main): Pass blocksize of 1 as appropriate when
+ skip_bytes or seek_bytes is nonzero.
+ (main): Rework ftruncate failure diagnostic to always use byte count.
+
+2000-11-25 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c: Add new options, bskip and bseek.
+ Based on a patch from Chris Sylvain.
+ * tests/dd/skip-seek: New tests.
+ * tests/dd/Makefile.am (TESTS): Add skip-seek.
+
+2000-11-24 Paul Eggert <eggert@green.twinsun.com>
+
+ * src/dd.c (S_TYPEISSHM): New macro.
+ (main): Report failed fstat.
+ Complain only when ftruncate fails on a regular file,
+ a directory, or a shared memory object.
+
+2000-11-24 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c: Declare a pointer parameters to be `const' as appropriate.
+
+ * src/dd.c (main): Use ftruncate only on regular files.
+ Based on a patch from Michael Stone.
+ Reported by andras@kolumbus.fi at http://bugs.debian.org/77174.
+
+2000-11-23 Jim Meyering <meyering@lucent.com>
+
+ * src/df.c (show_point): Before accepting an entry as a match, make
+ sure that the mount directory exists and has the required device number.
+ Before, e.g., `df /floppy' would mistakenly report on the root
+ partition if /floppy were not listed in /etc/mtab but / was.
+ Patch from Eirik Fuller (http://bugs.debian.org/76923).
+
+ * src/chmod.c (mode_changed): New function.
+ (change_file_mode): Use it to determine accurately when -c should
+ make chmod announce there's been a change.
+ Based on a patch from Michael Stone.
+ Reported by Kai Henningsen as Debian bug #77349.
+
+ * tests/chmod/c-option: New test for the above fix.
+ * tests/chmod/Makefile.am (TESTS): Add c-option
+
+ * tests/sticky-check: New file. Factored out of tests/mkdir/parents.
+ * tests/Makefile.am (EXTRA_DIST): Add sticky-check.
+ * tests/mkdir/parents: Source sticky-check instead of open-coding it.
+
+2000-11-19 Jim Meyering <meyering@lucent.com>
+
+ * tests/chmod/equal-x: Update to use its own directory, and better trap.
+
+2000-11-18 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (BLOCK_SIZE_OPTION, COLOR_OPTION, FORMAT_OPTION,
+ INDICATOR_STYLE_OPTION, QUOTING_STYLE_OPTION,
+ SHOW_CONTROL_CHARS_OPTION, SORT_OPTION, TIME_OPTION): New enum
+ values, to ensure that option values can't collide with chars.
+ (long_options, decode_switches): Use them.
+
+2000-11-18 Paul Eggert <eggert@twinsun.com>
+
+ * src/sys2.h (GETOPT_HELP_CHAR, GETOPT_VERSION_CHAR): Now enum
+ constants rather than macros. Use values that cannot conflict
+ with C characters or with -1, CHAR_MAX + 1, etc.
+
+2000-11-18 Jim Meyering <meyering@lucent.com>
+
+ * src/du.c (count_entry): Don't omit the size of a directory entry
+ merely because we couldn't `chdir' into it. That would give subtly
+ different results in some cases. Reported by Mattias Wadenstein
+ via Michael Stone.
+
+ * src/ls.c: Revert change of 2000-11-11. It inadvertently change
+ the output format of `ls -l --full-time'.
+
+ * src/mkdir.c (main): When failing to create a directory, give only
+ one diagnostic, not two. Reported by Volker Borchert.
+
+ * src/mkdir.c (main): With --parents, remove any trailing slashes
+ from the argument to the final mkdir call. Required for NetBSD.
+ Reported by Volker Borchert.
+ * tests/mkdir/t-slash: New test for this.
+ * tests/mkdir/Makefile.am (TESTS): Add t-slash.
+
+ * tests/mv/mv-special-1: Create and `cd' into temporary directory
+ before anything else. Reported by Volker Borchert.
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+2000-11-17 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (.NOTPARALLEL): Remove target.
+ * GNUmakefile (.NOTPARALLEL): ... put it here instead, since this
+ file is common to these packages: fileutils, sh-utils, textutils.
+
+ * Makefile.am (.NOTPARALLEL): New target. Prevent unwanted parallelism.
+ Suggestion from Ulrich Drepper.
+ * po/Makefile.in.in (Makefile): Likewise.
+
+ * Makefile.maint (sha1): Define.
+ (announcement): Include SHA1 digest of .tar.gz file.
+
+2000-11-14 Jim Meyering <meyering@lucent.com>
+
+ * tests/mkdir/perm: Add an `echo' so that the input to the sed command
+ is NL-terminated. Otherwise, Solaris' /bin/sed generates no output.
+ Reported by Vin Shelton.
+
+2000-11-13 Paul Eggert <eggert@twinsun.com>
+
+ * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should
+ be tested with #ifdef, not with #if.
+
+2000-11-12 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (print_long_format): Remove obsolete comment.
+ From Paul Eggert.
+
+ * doc/texinfo.tex: Update from master repository.
+
+2000-11-11 Paul Eggert <eggert@sic.twinsun.com>
+
+ * src/ls.c (<langinfo.h>): Include if HAVE_LANGINFO_H.
+ (DATE_FMT_LANGINFO): New macro, taken from sh-utils/src/date.c.
+ (print_long_format): Use it to determine "date" format.
+ Do not wrap "%b %e %Y" and "%b %e %H:%M" in _(), as it results in
+ incorrect behavior when LC_ALL is unset, LC_TIME is "C", and
+ LC_MESSAGES or LANG is set to something disagreeing with the POSIX
+ locale.
+
+2000-11-11 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.32.
+
+ * Makefile.maint (GZIP_ENV): Define to --no-name, so the timestamp
+ is not included in the .tar.gz file.
+
+ * tests/mkdir/perm (tests): Use `empty' (instead of just blanks) to
+ indicate no `-m' option. Using just blanks wasn't portable to
+ Solaris2.5.1's /bin/sh.
+
+ * tests/mkdir/perm: Don't put a newline in IFS; that's not portable to
+ NetBSD's /bin/sh. Instead, filter newlines and leading/trailing blanks
+ out of `tests' before the `set -'.
+
+ * Makefile.maint (announcement): Limit depth of ChangeLog `find' to 2.
+
+ * src/ls.c (print_long_format): Wrap the `--full-time' date format
+ string in _(...), so it too may be internationalized.
+ Suggestion from Jungshik Shin.
+
+2000-11-10 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c (main): Interpret a lone numeric argument of 8 or 10
+ digits as a file name, rather than as a date/time in the obsolescent
+ `MMDDhhmm[YY]' format. Reported by Wenjun Zheng.
+ * tests/touch/obsolescent: New test for this.
+ * tests/touch/Makefile.am (TESTS): Add obsolescent.
+
+2000-11-06 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/cp-parents: Move mkdir tests into ../mkdir.
+
+ * doc/fileutils.texi: Use Free Documentation Licence.
+ Change GNU to @sc{gnu} in many places.
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+ * man/help2man: Update from latest version: 1.23.
+
+ * src/mkdir.c: Do not set the permissions of the final directory
+ component if it was not just created.
+ Based on a patch from Volker Borchert.
+
+ * tests/rwx-to-mode: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add rwx-to-mode.
+ * tests/mkdir/parents: New test for the above mkdir.c fix.
+ * tests/mkdir/Makefile.am (TESTS): Add parents.
+ (TESTS_ENVIRONMENT): Define srcdir=$(srcdir).
+
+2000-11-02 Won-kyu Park <wkpark@chem.skku.ac.kr>
+
+ * src/df.c (print_header): Mark strings for translation.
+
+2000-11-05 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.31.
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+ * src/mkdir.c (main): Use make_dir instead of using mkdir directly.
+ Diagnose as failure when mkdir tries to create (without the
+ --parent (-p) option) a directory that already exists.
+ * tests/cp/cp-parents: Add a test for the above fix.
+
+ * tests/mv/mv-special-1: Clean up this test.
+
+2000-11-01 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.30.
+
+ * src/chmod.c (main): Better diagnostics.
+
+2000-10-31 Jim Meyering <meyering@lucent.com>
+
+ * tests/lang-default: Add all the internationalization-related
+ variable names autoconf uses. Set and export them in a loop.
+
+ `mkdir -p' would create parent directories with permissions
+ that did not account for the umask. [introduced with the
+ 2000-09-30 change that became part of fileutils-4.0.28]
+ * src/mkdir.c: Include dirname.h.
+ Compute the parent directory `mode' unconditionally, effectively
+ as `$(umask -S),u+wx'.
+ Use make_path to create only the parent directories, thus using
+ the same code, both with and without -p, to create the final
+ component in each file name. Reported by Bob Proulx.
+
+ Add tests for the above fix.
+ * tests/cp/cp-parents: Add some permission tests.
+ * tests/mkdir/perm: Fix the test so it actually does something.
+ Run each test also with mkdir's `-p' option and check permissions
+ on the parent directories.
+
+2000-10-23 Paul Eggert <eggert@twinsun.com>
+
+ * doc/getdate.texi: Use @sc where appropriate. Document the
+ ranges of supported times more precisely. Correct menu
+ spacing. Document old Latin 12m/12pm tradition. Remove list
+ of alphabetic time zone names, as it wasn't correct and people
+ shouldn't be relying on it anyway. Relative items also
+ account for non-DST adjustments. Fix some misspellings.
+
+2000-10-30 Jim Meyering <meyering@lucent.com>
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+2000-10-29 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0.29.
+
+ * src/cp.c (do_copy): When constructing dst_path for use with the
+ --parents option, first remove any trailing slashes from the command
+ line argument. Otherwise, tests/cp/cp-parent would fail on NetBSD.
+
+ * tests/cp/cp-parents: Add a test.
+
+ * src/ls.c (DT_INIT): Define.
+ [enum filetype]: Remove the #ifdef, and use DT_INIT on the
+ initializers instead. `unknown' was undefined for some systems.
+ Reported by John David Anglin.
+
+ * tests/lang-default (LC_COLLATE): Set it to the empty string and
+ export it. Otherwise, tests/cp/cp-mv-backup would fail e.g., when
+ LC_COLLATE was set to en. Reported by Vin Shelton.
+
+2000-10-28 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (main): In call to gobble_file with `"."', use `directory'
+ as the type, not `unknown'.
+ [enum filetype] (arg_directory): Rather than `100', use
+ a number that should never conflict with another DT_* value.
+ From Ulrich Drepper.
+
+ * Version 4.0.28.
+
+ Make `ls' a lot more efficient on systems (e.g., linux-2.4.*)
+ that store file type information in directory entries.
+
+ * src/ls.c [enum filetype] (unknown):
+ Add members (as yet unused):
+ (HAVE_STRUCT_DIRENT_D_TYPE): Define.
+ (format_needs_type): New global.
+ (main): Set it.
+ (print_dir): Set `type' from directory entry, if possible.
+ (gobble_file): Add a parameter, TYPE.
+ Stat the file only if its type is unknown and we need the type.
+ Patch from Ulrich Drepper.
+
+ Shred can now determine the size of a block devices (e.g. /dev/fd0)
+ by writing until a write operation fails.
+
+ * src/shred.c: Include assert.h.
+ (fillrand): Add a parameter, size_max.
+ Adjust caller.
+ Add an assertion.
+ (dopass): Break out of the `for (;;)' loop if size < offset.
+ That can happen now that dopass is called with SIZE == -1.
+ (do_wipefd): Accept a length of zero only for a regular file.
+ If lseek fails or returns 0 for a non-regular file, let dopass
+ determine the length.
+ Inspired by a patch from Alan Iwi.
+
+ * tests/Makefile.am (EXTRA_DIST): Add lang-default.
+
+ * tests/rm/hash: Factor out the expensive-test-checking code, ...
+ * tests/expensive: ... into this new file.
+ * tests/cp/perm: Disable this test by default; it's expensive.
+ Mark this as an expensive test.
+ * tests/Makefile.am (EXTRA_DIST): Add expensive.
+
+ * doc/fileutils.texi (shred invocation): Give two examples.
+
+2000-10-26 Jim Meyering <meyering@lucent.com>
+
+ * doc/getdate.texi (Authors of getdate): Add Paul Eggert.
+
+2000-10-23 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Add .prev-version.
+
+2000-10-22 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (make_path_private): Add a FIXME comment.
+
+ * tests/lang-default: New file. Set LANG, LC_ALL, and LANGUAGE to ''
+ (rather than to `C') and export them into the environment.
+ Suggestion from Bruno Haible.
+
+ * tests/cp/backup-is-src: Source lang-default rather than open-coding
+ the setting/exporting of LANG, LC_ALL, and LANGUAGE.
+ * tests/cp/cp-mv-backup: Likewise.
+ * tests/cp/same-file: Likewise.
+ * tests/cp/slink-2-slink: Likewise.
+ * tests/cp/symlink-slash: Likewise.
+ * tests/ln/sf-1: Likewise.
+ * tests/ls/symlink-slash: Likewise.
+ * tests/ls/time-1: Likewise.
+ * tests/mv/backup-is-src: Likewise.
+ * tests/mv/diag: Likewise.
+ * tests/mv/force: Likewise.
+ * tests/mv/hard-link-1: Likewise.
+ * tests/mv/i-2: Likewise.
+ * tests/mv/into-self: Likewise.
+ * tests/mv/into-self-2: Likewise.
+ * tests/mv/into-self-3: Likewise.
+ * tests/mv/mv-special-1: Likewise.
+ * tests/mv/part-symlink: Likewise.
+ * tests/mv/partition-perm: Likewise.
+ * tests/rm/r-1: Likewise.
+ * tests/rm/r-2: Likewise.
+
+2000-10-21 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/cp-parents: New test.
+ * tests/cp/Makefile.am (TESTS): Add cp-parents;
+
+2000-10-19 Jim Meyering <meyering@lucent.com>
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+ * depcomp: Likewise.
+
+2000-10-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/part-symlink: Make sure the programs use C-locale formats
+ and translations. Bruno Haible reported that this test would fail
+ when using other locales, because ls printed a translation of `total'.
+
+2000-10-16 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (print_long_format): Wrap date format strings in _(...)
+ so they may be internationalized. Suggestion from Christian Rose.
+
+2000-10-13 Jim Meyering <meyering@lucent.com>
+
+ * src/mv.c (rm_option_init): Remove FIXME-maybe comment.
+
+2000-09-30 Jim Meyering <meyering@lucent.com>
+
+ * tests/du/two-args: Update to use newer template.
+
+ * src/install.c: Remove big, option-describing comment block.
+ (main): Rename local `symbolic_mode' to `specified_mode'.
+
+ * src/mkdir.c (main): Don't set the umask to 0 and hand-apply
+ the previously-set umask unconditionally. Do that only when a
+ MODE has been specified. Otherwise, call mkdir with the full
+ creation mask (0777 or 0666) and let the kernel apply the umask.
+ The difference shows up only on file systems with ACL support
+ when the containing directory has a default ACL.
+ Patch by Andreas Gruenbacher.
+ (main): Rename local `symbolic_mode' to `specified_mode'.
+ * src/mknod.c (main): Likewise (but `call mknod', not mkdir).
+ Also, when MODE is specified, call chmod to ensure that the
+ permission bits are set as specified even when the containing
+ directory has a default ACL.
+ Patch by Andreas Gruenbacher.
+ * src/mkfifo.c (main): Likewise (but `call mkfifo', not mkdir).
+ Patch by Andreas Gruenbacher.
+
+ * tests/mkdir/perm: New test.
+ * tests/mkdir/Makefile.am (TESTS): Add perm.
+
+2000-08-17 Andreas Gruenbacher <ag@bestbits.at>
+
+ * src/chmod.c (change_file_mode): Perform the chmod even if the
+ file mode permission bits are the same as those that should be set.
+ Omitting the chmod call would be alright with minimal 1003.1e DS17
+ ACLs, but eventually there may be other permissions in addition to
+ rwx. E.g., add and delete for directories, and something analogous
+ to NT's take ownership permission.
+
+2000-09-25 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/same-file: Don't use `diff -u'. It's not portable.
+ Reported by Christian Krackowizer.
+ * tests/cp/same-file: Run `diff -c' only if cmp finds a difference.
+ * tests/mv/part-symlink: Likewise. And clean up.
+
+ `shred --exact file1 file2' wouldn't touch `file1'
+ * src/shred.c (long_opts): --exact doesn't take an argument.
+ Reported by Alan Iwi.
+ * tests/shred/exact: New test for this.
+ * tests/shred/Makefile.am (TESTS): Add exact.
+
+ * Makefile.maint (PREV_VERSION): Get the value from a file, rather
+ than trying to derive it from the current version number.
+ This is much more robust.
+ (alpha): Record just-released version number in `.prev-version',
+ and commit (post-tag).
+
+ * Version 4.0.27.
+
+2000-09-24 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi: Update to more closely match changes in 4.0z.
+ * src/cp.c (usage): Match revised documentation better.
+
+2000-09-24 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (main): Tweak a relatively new diagnostic.
+
+2000-09-23 Jim Meyering <meyering@lucent.com>
+
+ * tests/ls/time-1: Output more information when a test fails.
+
+2000-09-22 Jim Meyering <meyering@lucent.com>
+
+ * src/install.c (cp_option_init): Once again make it so install always
+ unlinks an existing destination before trying to open it for writing.
+ Otherwise, installing onto a running shared library would make the
+ running program malfunction.
+ Reported by Dan Pascu via Michael Stone.
+
+ * src/mv.c (do_move): Moving a directory specified with a trailing
+ slash from one partition to another, and giving it a different
+ name at the destination would cause mv to get a failed assertion.
+ Reported by Michael Stone.
+ (strip_trailing_slashes_2): Move function definition to precede
+ new first use.
+ * tests/mv/part-rename: New test for the above fix.
+ * tests/mv/Makefile.am (TESTS): Add part-rename.
+
+ * src/copy.c (copy_internal): Don't try to unlink directories when
+ using --remove-dest with -R.
+ * tests/cp/dir-rm-dest: New test for the above fix.
+ * tests/cp/Makefile.am (TESTS): Add dir-rm-dest.
+
+2000-09-19 Jim Meyering <meyering@lucent.com>
+
+ * doc/fileutils.texi (cp invocation): Describe how --force works.
+ Update description of -P (soon to change meaning to conform w/POSIX).
+ Describe --remove-destination.
+
+ * src/cp.c (main): When used with --force, each of the --link and
+ --symbolic-link options now implies --remove-destination.
+ Reported by Miles Bader via Mike Stone.
+ * tests/cp/link: New file. Test for the above fix.
+ * tests/cp/same-file: Adjust for this change in behavior.
+
+2000-09-15 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am (check-root, root-hint): New targets.
+ (check-recursive): Depend on root-hint.
+ * Makefile.am (check-root): New target.
+
+2000-09-16 Jim Meyering <meyering@lucent.com>
+
+ * doc/perm.texi (Changing Special Permissions): Remove this statement:
+ ``a' in the USERS part of a symbolic mode does not cause the special
+ permissions to be affected'... It doesn't reflect what the code does
+ and isn't required by POSIX. Reported by aldomel@ix.netcom.com via
+ Mike Stone.
+
+2000-09-15 Jim Meyering <meyering@lucent.com>
+
+ * config.sub: Update from master repository.
+
+2000-09-10 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/cp-mv-backup (LC_ALL): Set to `C' and export to ensure
+ that `ls' sorts the same way for everyone. Reported by Vin Shelton.
+
+ * Makefile.maint (b_host): Use freefriends.org, not tug.org.
+
+2000-09-09 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (announcement): Use a stricter regexp for the
+ previous version.
+
+ * Version 4.0z.
+
+ * tests/cp/special-bits: New file.
+ * tests/cp/Makefile.am (TESTS): Add special-bits.
+ (TESTS_ENVIRONMENT): Propagate $MAKE into environment, for special-bits.
+
+ * src/copy.c (SAME_OWNER, SAME_GROUP, SAME_OWNER_AND_GROUP): Define.
+ (copy_internal): Avoid calling chown if we know it's not necessary.
+
+ * src/copy.c (copy_internal): Call chmod also if we've made the
+ preceding chown call and we're supposed to preserve some special
+ permission bit(s) that would have been reset by chown.
+ Reported by Greg Louis.
+
+2000-09-08 Jim Meyering <meyering@lucent.com>
+
+ * src/mkdir.c (S_IRWXUGO): Remove definition.
+ * src/sys2.h (S_IRWXUGO): Define here, instead.
+
+2000-09-07 Jim Meyering <meyering@lucent.com>
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+
+2000-09-05 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/part-symlink: Redirect stdout to stderr before trying to
+ remove the temp directory. Otherwise, the `rm -rf' would get an
+ error because the output file wouldn't be closed and the directory
+ wouldn't be `empty'.
+ * tests/cp/same-file: Likewise.
+
+ * tests/cp/same-file: Remove the `cp -dl sl1 sl2' case,
+ since it's no longer portable (hard link to a symlink).
+ Likewise for the `cp -bdl symlink foo' case.
+
+ * config.guess: Update from master repository.
+
+2000-09-04 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c: Move declaractions of lstat, stat, and rpl_lstat
+ as well as the definition of lstat from here...
+ * src/copy.h: ...to here.
+ * src/copy.c: Remove declaration of lstat, now that it's in copy.h.
+
+ * tests/mv/force: mv's --force (-f) option is no longer needed for
+ this test, now that all it does is cancel --interactive (-i).
+
+ * tests/cp/same-file: Add new tests using cp's --rem option.
+ Reflect the fact that cp's -f option no longer causes cp to remove the
+ destination file before trying to open it.
+ Reflect the fact that `cp -bdl' now makes a backup when copying a
+ symlink onto the file it points to (FIXME: look into this, and why
+ cp -bl does *not* do so).
+
+ * src/ln.c (do_link): Tweak diagnostics.
+
+2000-09-03 Jim Meyering <meyering@lucent.com>
+
+ * src/install.c (cp_option_init): Initialize new members.
+
+ * src/cp.c (enum): Add UNLINK_DEST_BEFORE_OPENING.
+ [long_options]: Add an entry for --remove-destination.
+ (usage): Describe --remove-destination.
+ (do_copy): Use unlink_dest_after_failed_open member, not `force.'
+ (cp_option_init): Initialize new members.
+ (main): Handle UNLINK_DEST_BEFORE_OPENING (aka --remove-destination).
+
+ * src/mv.c: Remove obsolete comment block.
+ (cp_option_init): Initialize new members.
+ (usage): Reflect the fact that --force (-f) relates only to whether
+ mv prompts.
+ (main): Remove uses of old `force' option member.
+
+ * src/install.c (cp_option_init): Reflect
+
+ `force' no longer means unlink-dest-before-opening
+ * src/copy.h (struct cp_options) [force]: Remove member.
+ [unlink_dest_before_opening]: Add member. `cp -f' and `mv -f' used to
+ do this. Now, you must use `cp --remove-destination' to get this
+ behavior. Now, `cp -f' and `mv -f' work as required by POSIX.
+ [unlink_dest_after_failed_open]: Add member.
+ Paul Eggert reported that `cp -f' removes an existing destination
+ file unconditionally, and that is contrary to POSIX.
+
+ * src/copy.c (same_file_ok): New function, extracted from copy_internal,
+ and rewritten.
+ (copy_internal): Unlink destination file when unlink_dest_before_opening
+ option is set, and when the source is neither a regular file nor a
+ directory.
+
+ * tests/mv/Makefile.am (TESTS): Add part-symlink.
+
+ * src/ls.c: Use strcoll (not strcmp) when comparing file names.
+ Suggestion from Ulrich Drepper.
+
+2000-08-27 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_reg): New parameters: X and NEW_DST.
+ Remove the SPARSE_MODE parameter. Update caller.
+ Perform POSIX-mandated (for cp) open-with-O_WRONLY|O_TRUNC when copying
+ a regular source file and the destination file exists; upon failure,
+ unlink that existing file, then open again, but with O_WRONLY|O_CREAT.
+ (copy_internal): `force' is not related to interactive; remove
+ the conjunct.
+ Remove the entire `else if (x->force)' block; justifying
+ removal of the non-directory part is easy: POSIX requires we try
+ to open an existing regular file, so we can't unlink it beforehand.
+ The part that changes the mode on a directory to allow overwriting
+ isn't necessary.
+
+ * src/copy.c (copy_reg): Rename two goto labels.
+ (copy_internal): Set `new_dst' when the move_mode rename fails,
+ since we then unlink the destination file.
+
+ * src/cp.c (usage): --force is independent of --interactive.
+
+2000-08-24 Jim Meyering <meyering@lucent.com>
+
+ Put back the kludge. It's necessary after all.
+ * src/dd.c (buggy_lseek_support): New function.
+ (skip): Use it.
+ Frank Adler reported that although _llseek returns 0, lseek
+ erroneously returns an offset suggesting the operation succeeded
+ even though it fails.
+
+ * install-sh: Double quote as needed, to protect against arguments
+ containing spaces or shell metacharacters. Reported by Bruno Haible.
+
+2000-08-23 Jim Meyering <meyering@lucent.com>
+
+ * tests/dd/not-rewound: New test, for the SEEK_CUR vs. SEEK_SET part
+ of the last change. Based on Paul's example.
+ * tests/dd/Makefile.am (TESTS): Add not-rewound.
+
+2000-08-22 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c (skip):
+ Assume lseek failed if it returned zero, since a zero return is
+ impossible and some buggy drivers return zero.
+
+ Use SEEK_CUR rather than SEEK_SET; this fixes a bug when the
+ file descriptor is not currently rewound.
+
+2000-08-23 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c: Back out my last change. Paul's (above) is better.
+
+2000-08-22 Jim Meyering <meyering@lucent.com>
+
+ Don't even try to use lseek on character devices.
+ * src/dd.c (buggy_lseek_support): New function.
+ (skip): Use it.
+ Reported by Martin Gallant via Michael Stone.
+
+2000-08-21 Jim Meyering <meyering@lucent.com>
+
+ * tests/cp/same-file: Clean up traps. Create files in a subdir.
+
+ * install-sh (oIFS): Remove unmatched double quote, left over from
+ my 2000-08-12 change. From J. David Anglin.
+
+ * Makefile.maint (wget-update): Get the latest version of depcomp.
+
+ * depcomp: Update from automake.
+
+2000-08-20 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0y.
+
+ Add support for cp's new POSIX-mandated -H and -L options.
+ * src/copy.h (enum Dereference_symlink): Define.
+ (struct cp_options) [dereference]: Change type to Dereference_symlink.
+ * src/copy.c: Declare lstat.
+ (copy_dir): Set `xstat' member to lstat so that with `-H' we don't
+ follow symlinks found via recursive traversal.
+ Update uses of `dereference' to compare against new enum member names.
+ * src/cp.c (long_opts): Add --dereference, -L.
+ (usage): Describe -L and -H.
+ (cp_option_init): Initialize to DEREF_UNDEFINED, not `1'.
+ (main): Add `H' and `-L' to getopt spec string.
+ [case 'a']: Initialize `dereference' to DEREF_NEVER, not 0.
+ [case 'd']: Likewise.
+ [case 'H']: New case.
+ [case 'L']: New case.
+ [case 'R']: Don't set dereference to `0' here.
+ If it's not yet defined, set x.dereference to DEREF_NEVER
+ if -R was specified, else set it to DEREF_ALWAYS.
+ Set x.xstat accordingly for -H.
+ * doc/fileutils.texi (cp invocation): Describe -H and -L.
+ * src/mv.c (cp_option_init): Initialize to DEREF_NEVER, not `0'.
+ * src/install.c (cp_option_init): Initialize to DEREF_ALWAYS, not `1'.
+
+ * tests/cp/Makefile.am (TESTS): Add cp-HL.
+ * tests/cp/cp-HL: New test.
+
+ * src/du.c (print_totals): Rename global from opt_combined_arguments.
+
+2000-08-17 Paul Eggert <eggert@twinsun.com>
+
+ * src/copy.c (DO_CHOWN): Do not make a special case for non-root.
+ POSIX.2 requires that cp -p and mv attempt to set the uid of the
+ destination file, even if you're not root. This affects behavior
+ only on hosts that let you give files away via chmod.
+ * NEWS: Describe the above change.
+
+2000-08-15 Jim Meyering <meyering@lucent.com>
+
+ * src/du.c (count_entry): Remember the current directory also for `.'
+ and `..'. Reported by Stephen Smoogen, based on a patch from H.J. Lu.
+ * tests/du/two-args: Add tests for this.
+
+2000-08-14 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_reg): Move declaration of local, `n_read', into
+ the scope where it's used.
+ (copy_internal): In calling copy_reg, pass not the raw `src_mode',
+ but the possibly-umask-relative mode, `get_dest_mode (x, src_mode)'.
+
+2000-08-13 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (get_dest_mode): Rename from new_nondir_mode.
+ Honor the umask for `cp', but not for `mv' or `cp -p'.
+ (copy_reg): New 4th parameter, dst_mode. Pass it as 3rd arg. to open.
+ (copy_internal): Change type of locals `src_mode' and `src_type' from
+ int to mode_t.
+ Remove unnecessary local, `fix_mode'.
+ Combine two if-stmts into one.
+ Pass `src_mode' as 4th arg to copy_reg.
+ If we've just created a new regular file, return early, skipping the
+ chmod step. copy_reg now sets permissions of such files upon creation.
+ Use get_dest_mode, so there's just one chmod call here.
+
+ * tests/cp/Makefile.am (TESTS): Add perm.
+ * tests/cp/perm: New tests, to help ensure the above didn't
+ change anything.
+
+2000-08-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/into-self-2: Remove test for the VERSION_CONTROL and/or
+ SIMPLE_BACKUP_SUFFIX envvars. Source ../envvar-check instead.
+ * tests/mv/i-2: Likewise.
+ * tests/mv/to-symlink: Likewise.
+ * tests/cp/slink-2-slink: Likewise.
+ * tests/mv/partition-perm: Likewise.
+ * tests/cp/cp-mv-backup: Likewise.
+
+ * tests/Makefile.am (EXTRA_DIST): Add envvar-check.
+ * tests/envvar-check: New file.
+
+ * install-sh: Remove trailing blanks.
+ Output diagnostics to stderr, not stdout.
+ Remove many useless curly braces and double quotes.
+
+2000-08-11 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * install-sh: Improve error handling.
+ Do the job even when the target file is `busy' on systems
+ that don't allow such files to be unlinked.
+
+2000-08-12 Jim Meyering <meyering@lucent.com>
+
+ * README: Remove note about how installation can fail and the
+ work-around, now that it's all automated.
+
+2000-08-07 Paul Eggert <eggert@twinsun.com>
+
+ * src/cp.c (usage, main): For cp -P messages, mention the new
+ behavior as well as the old.
+
+2000-08-07 Paul Eggert <eggert@twinsun.com>
+
+ Standardize on "memory exhausted" instead of "Memory exhausted"
+ or "virtual memory exhausted".
+ Invoke xalloc_die instead of printing our own message.
+ * src/chmod.c (main): Likewise.
+ * src/copy.c (copy_dir, copy_internal): Likewise.
+ * src/cp.c (do_copy): Likewise.
+ * src/dircolors.c (xstrndup): Likewise.
+ * src/install.c (main): Likewise.
+ * src/ln.c (do_link): Likewise.
+ * src/mkdir.c (main): Likewise.
+ * src/mkfifo.c (main): Likewise.
+ * src/mknod.c (main): Likewise.
+ * src/mv.c (movefile): Likewise.
+ * src/remove.c (remove_cwd_entries, rm): Likewise.
+ * src/shred.c (quotearg_colon, xmalloc):
+ "virtual memory exhausted" -> "memory exhausted"
+
+2000-08-07 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (enum) [PARENTS_OPTION]: New member.
+ (long_opts): Update "parents" and deprecated "path" entries to use
+ `PARENTS_OPTION', not `P'.
+ (usage): Update --help output.
+ (main): Warn that the meaning of `-P' will soon change.
+
+2000-08-06 Jim Meyering <meyering@lucent.com>
+
+ * doc/fileutils.texi (cp invocation) [-r]: Remove inaccurate mention of
+ `non-symbolic links'.
+
+2000-08-05 Jim Meyering <meyering@lucent.com>
+
+ * config.guess: Update from master repository.
+ * config.sub: Likewise.
+
+ * Regenerate build/config framework to use the latest CVS versions
+ of automake and autoconf.
+
+2000-07-31 Jim Meyering <meyering@lucent.com>
+
+ * src/shred.c [!HAVE_CONFIG_H]: Use `virtual memory exhausted', not
+ `Memory exhausted'.
+
+2000-07-30 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h (ISPRINT): Undef before defining to avoid warning.
+
+ * src/copy.c (copy_internal): Quote the file names that are displayed
+ with --verbose and --backup.
+ * src/remove.c (remove_file): Quote the file names that are displayed
+ with --verbose.
+ (remove_dir): Likewise.
+ * tests/mv/mv-special-1: Add quote marks to match new behavior.
+ * tests/rm/r-1: Likewise.
+ * tests/rm/r-2: Likewise.
+
+ * src/df.c: Convert "`%s'" in format strings to "%s", and wrap each
+ corresponding argument in a `quote (...)' call.
+ * src/dircolors.c: Likewise.
+ * src/du.c: Likewise.
+ * src/mkdir.c: Likewise.
+ * src/mkfifo.c: Likewise.
+ * src/mknod.c: Likewise.
+ * src/shred.c: Likewise.
+ * src/rmdir.c: Likewise.
+ * src/cp-hash.c: Likewise.
+
+ * src/chgrp.c: Convert "`%s'" in format strings to "%s", and wrap each
+ corresponding argument in a `quote (...)' call.
+ Add more precise diagnostics.
+ * src/chmod.c: Likewise.
+ * src/chown.c: Likewise.
+
+ * src/remove.c (remove_cwd_entries): Quote one more file name.
+
+ * src/help-version: Remove file. Move it to ...
+ * tests/help-version: ...here
+ * tests/Makefile.am (TESTS): Set to help-version.
+ (TESTS_ENVIRONMENT): Define.
+ (EXTRA_DIST): Add $(TESTS).
+ * src/Makefile.am (EXTRA_DIST): Remove help-version.
+ (TESTS): Remove definition.
+ (TESTS_ENVIRONMENT): Remove definition.
+
+2000-07-24 Bruno Haible <haible@clisp.cons.org>
+
+ * src/ls.c: Include <limits.h>, <stdlib.h>, <wchar.h>, <wctype.h>.
+ (quote_name): Use mbrtowc to step through the filename string while
+ replacing nonprintables with question marks. Return the screen width,
+ not the strlen length. Do no output if the out stream is NULL.
+ (length_of_file_name_and_frills): Use the quote_name return value.
+
+2000-07-25 Jim Meyering <meyering@lucent.com>
+
+ * src/chgrp.c (change_file_group): Save errno from a possibly failed
+ chown, and use that later. Otherwise, errno itself could be clobbered
+ before used.
+ * src/chmod.c (change_file_mode): Likewise.
+ * src/chown.c (change_file_owner): Likewise.
+
+ * src/mv.c (main): Remove unnecessary "%s" argument.
+
+ * src/ln.c: Convert "`%s'" in format strings to "%s", and wrap each
+ corresponding argument in a `quote (...)' call.
+ Add more precise diagnostics.
+ * src/mv.c: Likewise.
+ * src/cp.c: Likewise.
+ * src/touch.c: Likewise.
+
+2000-07-23 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0x.
+
+ * src/dd.c (main): Give a better diagnostic for e.g.,
+ `dd if=/dev/fd0 seek=100000000000'.
+ Convert "`%s'" in format strings to "%s", and wrap each
+ corresponding argument in a `quote (...)' call.
+ Add many, more precise diagnostics.
+
+ * src/remove.c (ASSIGN_STRDUPA): Remove macro definition.
+ * src/sys2.h (ASSIGN_STRDUPA): New macro (moved here from remove.c).
+
+ Fix cp so that `cp -r DIR1/ DIR2' works once again.
+ * src/cp.c (ASSIGN_BASENAME_STRDUPA): New macro.
+ (do_copy): Use it here (so we always strip trailing slashes before
+ calling base_name). Reported by Branden Robinson via Michael Stone.
+
+ Test for the above fix.
+ * tests/cp/Makefile.am (TESTS): Add dir-slash.
+ * tests/cp/dir-slash: New file.
+
+2000-07-17 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (WGET): Define.
+ (ftp-gnu): Define.
+ (wget-update): New rule, based on the one in autoconf.
+
+ * src/shred.c (usage): Give a little more info.
+ Remove a FIXME comment.
+
+ Avoid warnings.
+ * src/ls.c (struct bin_str): Declare `string' member to be `const'.
+ (put_indicator): Declare local `p' to be `const'.
+
+2000-07-15 Jim Meyering <meyering@lucent.com>
+
+ Begin converting "`%s'" in format strings to "%s", and wrap each
+ corresponding argument in a `quote (...)' call -- if there's only one.
+ If there are two or more, then use `quote_n (0, ...),
+ quote_n (1, ...), ...'.
+
+ Here's the justification, from Paul Eggert (thanks, Paul):
+
+ [Consider] the following, taken from fileutils/copy.c:
+
+ error (0, errno, _("cannot create directory `%s'"), dst_path);
+
+ Now, suppose dst_path is "/'\nrm: removing all files under `/"
+ (expressed in C string syntax). This will cause the user to see
+ the following delightfully ambiguous display:
+
+ cp: cannot create directory `/'
+ rm: removing all files under `/'
+
+ It would be better to rewrite the above line to be something
+ like this:
+
+ error (0, errno, _("cannot create directory %s"), quote (dst_path));
+
+ using the definition of "quote" [in lib/quote.c]. That way,
+ the user will see the following unambiguous display instead:
+
+ cp: cannot create directory `/\'\nrm: removing all files under `/'
+
+ One might object that any user who asks to copy a file with
+ a weird name like that deserves to get confused. But this
+ is not a good objection, as the source of the string may not
+ be under the user's control, or even visible to the user.
+
+ * src/copy.c: Adapt format strings and args as above. Include quote.h.
+ I have deliberately not changed the output of --verbose.
+ FIXME: maybe I should.
+ * src/cp.c: Likewise.
+ * src/remove.c: Likewise.
+ * src/install.c: Likewise. and improve a couple diagnostics.
+
+2000-07-13 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS: Describe --quoting-style=clocale.
+
+ * doc/fileutils.texi: New clocale quoting style.
+ Undo the previous change to the locale quoting style.
+
+2000-07-09 Jim Meyering <meyering@lucent.com>
+
+ * config.guess: Update from FSF.
+ * config.sub: Likewise.
+
+2000-07-05 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi: Don't use ` and ' for quoting.
+
+2000-07-01 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0w.
+
+ * tests/touch/dangling-symlink: Warn about the problem rather
+ than failing, on some very recent (at least 2.3.99) versions of
+ the Linux kernel. Suggestion from Ulrich Drepper.
+ * tests/touch/Makefile.am (TESTS_ENVIRONMENT): Define host_triplet
+ for use in the dangling-symlink test.
+
+2000-06-28 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/i-2: Don't copy `out' into /tmp.
+
+2000-06-26 Paul Eggert <eggert@twinsun.com>
+
+ Now that savedir.c has been cleaned up...
+ * src/chgrp.c (change_dir_group): Don't set errno before
+ invoking savedir, and assume that errno is nonzero if savedir fails.
+ * src/chmod.c (change_dir_mode): Likewise.
+ * src/chown.c (change_dir_owner): Likewise.
+ * src/copy.c (copy_dir): Likewise.
+ * src/du.c (count_entry): Likewise.
+
+2000-06-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/df.c (show_dev): Round disk usage percentage up, not to
+ nearest value. Use integer arithmetic if it's easy. Fix bug
+ when converting twos-complement negative values to floating point.
+
+2000-06-25 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Don't return immediately after a failed
+ copy_dir call -- otherwise, the failure to read a single file in a
+ source directory would cause the containing destination directory
+ not to have the owner and/or permissions set properly.
+ Reported by Piotr and Maciej Kwapulinski.
+ * tests/cp/fail-perm: Test for it.
+ * tests/cp/Makefile.am (TESTS): Add fail-perm.
+
+ * Version 4.0v.
+
+2000-06-18 Jim Meyering <meyering@lucent.com>
+
+ * README-alpha: Update.
+
+2000-06-17 Jim Meyering <meyering@lucent.com>
+
+ * tests/install/basic-1: Don't fail (just exit 77) if strip doesn't
+ work. Suggestion from Ulrich Drepper.
+ Add canonical trap/mkdir/cd, plus exit portability cruft.
+
+2000-06-16 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_reg): Give a slightly better diagnostic upon
+ open failure.
+
+2000-06-15 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/fileutils.texi: df, du, and ls now round disk
+ usage up and disk free space down.
+
+ * src/df.c (df_readable): New arg for rounding style.
+ Round negative numbers correctly.
+ (show_dev): Round disk usage up and disk free space down.
+
+ * src/ls.c (print_dir, gobble_file, print_long_format,
+ print_file_name_and_frills): Round disk usage up.
+ * src/du.c (print_size): Likewise.
+
+2000-06-14 Andreas Schwab <schwab@suse.de>
+
+ * tests/rm/r-1 (framework_failure): Initialize this instead of
+ test_failure.
+
+2000-06-12 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0u.
+
+ * tests/rm/r-1: Clean up.
+ Be careful to remove temp directory upon interrupt.
+
+ * src/mv.c (main): Give the correct diagnostic when using the
+ --target-dir=DIR option, but no arguments.
+ Patch from Michael Stone. Reported by Herbert Xu.
+ * tests/mv/diag: New test for this.
+ * tests/mv/Makefile.am (TESTS): Add diag.
+
+2000-06-08 Brian Youmans <3diff@gnu.org>
+
+ * doc/perm.texi (Multiple Changes): Fix typo.
+ * doc/fileutils.texi: A few typos and minor formatting fixes.
+ * doc/getdate.texi: Likewise.
+
+2000-06-06 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (alpha_subdir): Factor out `gnu/fetish'.
+
+2000-06-04 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0t.
+
+ * src/df.c (show_point) [HAVE_REALPATH && !HAVE_RESOLVEPATH]:
+ Cast undeclared `realpath' to char* to avoid warning.
+
+2000-06-03 Jim Meyering <meyering@lucent.com>
+
+ * src/install.c (usage): Document that -v is a synonym for --verbose.
+ * src/mkdir.c: Allow -v as synonym for --verbose, to be consistent
+ with other fileutils.
+ * src/rmdir.c: Likewise.
+ Suggestion from François Pinard.
+
+2000-06-02 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Danish (da).
+
+2000-05-29 Jim Meyering <meyering@lucent.com>
+
+ Allow `cp -d -u' to copy one symlink onto another that's identical.
+ * src/copy.c (copy_internal): Change the || to ^ in the big sameness
+ test, so copying one symlink onto another, identical one doesn't fail
+ here.
+ If the symlink call fails, don't report the failure if the destination
+ already exists and is a symlink pointing to the proper name.
+ Reported by Andrew Burgess.
+ * tests/cp/slink-2-slink: New test.
+ * tests/cp/Makefile.am (TESTS): Add slink-2-slink.
+ * tests/cp/same-file: Adapt to fit new semantics of `cp -d'.
+
+2000-05-25 Jim Meyering <meyering@lucent.com>
+
+ * src/dd.c (close_stdout_wrapper): Don't dereference NULL pointer.
+ From Bob Proulx.
+
+2000-05-23 Jim Meyering <meyering@lucent.com>
+
+ * tests/shred/remove: Add traps to clean up.
+ Correct broken running-as-root test.
+
+ * tests/mv/i-2: Exit 77 when run as root. Reported by Andreas Schwab.
+
+2000-05-20 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0s.
+
+ * tests/mv/Makefile.am (TESTS): Add i-2, for 2000-05-12 change.
+
+ * tests/rm/r-2: Clean up.
+ * tests/ls/time-1 (LC_ALL): Set it unconditionally.
+
+2000-05-19 Jim Meyering <meyering@lucent.com>
+
+ Save device number as well as inode number for each directory,
+ and use both in comparisons. This makes the directory cycle
+ test more robust, and closes the small remaining hole whereby
+ an attacker could subvert a running `rm -r' command.
+
+ * src/remove.c (struct active_dir_ent) [st_dev]: New member.
+ [st_ino]: Rename from `inum'.
+ (make_active_dir_ent) [device]: New parameter.
+ (hash_compare_active_dir_ents): Compare using SAME_INODE macro.
+ (fspec_init_common): New function, factored out.
+ (fspec_init_file): Initialize have_device member.
+ (fspec_get_full_mode): Remove parameter. Update caller.
+ Set have_device and st_dev members.
+ * src/remove.h (struct File_spec) [have_device, st_dev]: New members
+
+2000-05-18 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (rm): Combine adjacent fputc and fprintf.
+
+ * tests/rm/Makefile.am (TESTS): Add hash.
+ * tests/rm/hash: New test for the fix in lib/hash.c.
+
+2000-05-17 Jim Meyering <meyering@lucent.com>
+
+ * src/remove.c (remove_dir): Detect (and fail upon) attempt to subvert
+ a running `rm -r'. Reported by Morten Welinder.
+
+2000-05-15 Jim Meyering <meyering@lucent.com>
+
+ * src/ln.c (do_link): Use complete strings in diagnostics so they
+ are easier to translate. Reported by Michel Robitaille.
+ (main): Drop support for the case in which S_ISLNK wasn't defined.
+ It was broken in any case.
+
+ * tests/ls/time-1: Set LC_ALL to `C' to avoid failure when the
+ current locale is not C (POSIX). From Matthew Clarke.
+
+2000-05-13 Jim Meyering <meyering@lucent.com>
+
+ * src/help-version: New test.
+ * src/Makefile.am (TESTS): Define.
+ (TESTS_ENVIRONMENT): Likewise.
+ (EXTRA_DIST): Add help-version.
+
+ * src/chgrp.c: Arrange to call close_stdout only upon exit.
+ * src/chmod.c: Likewise.
+ * src/chown.c: Likewise.
+ * src/cp.c: Likewise.
+ * src/df.c: Likewise.
+ * src/dircolors.c: Likewise.
+ * src/du.c: Likewise.
+ * src/install.c: Likewise.
+ * src/ln.c: Likewise.
+ * src/ls.c: Likewise.
+ * src/mkdir.c: Likewise.
+ * src/mkfifo.c: Likewise.
+ * src/mknod.c: Likewise.
+ * src/mv.c: Likewise.
+ * src/rm.c: Likewise.
+ * src/rmdir.c: Likewise.
+ * src/shred.c: Likewise.
+ * src/sync.c: Likewise.
+ * src/touch.c: Likewise.
+
+ * src/dd.c: Include closeout.h.
+ (usage): Don't call close_stdout here.
+ (close_stdout_wrapper): New, kludgey, function and file-scoped global.
+ (main): Register it with atexit.
+
+2000-05-12 Jim Meyering <meyering@lucent.com>
+
+ Unlike for mv, -i doesn't cancel the effect of -f
+ and -f doesn't cancel the effect of -i.
+ * src/cp.c (main) ['f']: Don't reset `x.interactive'.
+ ['i']: Don't reset `x.force'.
+ * src/copy.c (copy_internal): Fix force and interactive tests.
+ Patch from Michael Stone, reported by Jeff Sheinberg.
+
+2000-05-09 Jim Meyering <meyering@lucent.com>
+
+ * src/shred.c: Include sys/types.h in shred.c before including
+ sys/stat.h or system.h. From John David Anglin.
+
+2000-05-08 Jim Meyering <meyering@lucent.com>
+
+ * tests/shred/remove: Don't use touch in root test. Instead, append to
+ the test file, since now touch operates even on files which deny owner
+ write access.
+
+2000-05-06 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (shred_LDADD): Add @LIB_CLOCK_GETTIME@.
+
+ * src/rmdir.c (EEXIST): Remove now-unused definition.
+ (ENOTEMPTY): Likewise.
+ (errno_rmdir_non_empty): Rewrite to use RMDIR_ERRNO_NOT_EMPTY,
+ which is determined by the autoconf test in m4/rmdir-errno.m4.
+
+2000-05-03 Bruno Haible <haible@clisp.cons.org>
+
+ Don't fail when running `make check' with non-`C' locale.
+ * tests/cp/symlink-slash: During ls, set LANGUAGE (for GNU gettext)
+ and LC_ALL (for systems which look at LC_MESSAGES).
+ * tests/rm/r-2: Define LC_ALL instead of LANG, in case the user has
+ LC_CTYPE or LC_ALL set. Define it and LANGUAGE before the first use
+ of sort.
+
+2000-05-03 Jim Meyering <meyering@lucent.com>
+
+ With a recent glibc, _GNU_SOURCE, and -O, strndup may be a macro.
+ * src/sys2.h (!HAVE_DECL_STRNDUP): Declare strndup.
+ * src/dircolors.c: Remove declaration of strndup.
+ Reported by Bruno Haible.
+
+2000-05-02 Jim Meyering <meyering@lucent.com>
+
+ * src/rm.c (usage): Add the answer to `How do I remove a file named -f?'
+
+2000-05-01 Jim Meyering <meyering@lucent.com>
+
+ * src/install.c (change_attributes): Don't even attempt the chmod
+ if the chown fails. Before, when a non-root user ran `install -m 4755
+ -o nobody FILE DEST', DEST would set-uid not to `nobody' but rather to
+ the ID of the installing user. Reported by Marc Olzheim.
+
+2000-04-30 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c (O_NOCTTY): Define if not defined already.
+ (touch): Add O_NOCTTY to the flags passed to open.
+
+2000-04-29 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0r.
+
+ * src/cp.c [LSTAT_FOLLOWS_SLASHED_SYMLINK] (lstat): Define to rpl_lstat.
+
+2000-04-27 Jim Meyering <meyering@lucent.com>
+
+ Clean up.
+ * tests/mkdir/Makefile.am (TESTS_ENVIRONMENT): Set PATH, not MKDIR.
+ * tests/mkdir/p-1: Use mkdir, not $MKDIR.
+ * tests/mkdir/p-2: Likewise.
+
+ * configure.in (AC_OUTPUT): Add tests/du/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add du.
+ * tests/du: New directory.
+ * tests/du/two-args: New test.
+
+ * tests/mkdir/special-1: New test.
+ * tests/mkdir/Makefile.am (TESTS): Add special-1.
+
+2000-04-25 Paul Eggert <eggert@twinsun.com>
+
+ * src/du.c (pop_dir): Remove through_symlink arg; use null cwd
+ for that purpose instead.
+ (count_entry): Also save the directory if we're saving more
+ than one level.
+ Fix file descriptor and memory leak when chdir fails.
+
+2000-04-26 Jim Meyering <meyering@lucent.com>
+
+ * src/mkdir.c: Rename global: s/path_mode/create_parents/.
+ (main): No longer perform explicit chmod when creating
+ parent directories, since make_path now does the chmod.
+
+2000-04-17 Jim Meyering <meyering@lucent.com>
+
+ * src/chown.c: New option: --from=CURRENT_OWNER:CURRENT_GROUP.
+ (enum) [FROM_OPTION]: New member.
+ (long_options): New getopt spec.
+ (change_file_owner): Add old_user, old_group parameters. Use them.
+ (change_dir_owner): Likewise.
+ (usage): Describe.
+ (main): New case.
+ From Andries Brouwer.
+ * doc/fileutils.texi (invoking chown): Document it.
+
+2000-04-16 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c: New option: --strip-trailing-slashes.
+ (enum) [STRIP_TRAILING_SLASHES_OPTION]: New member.
+ (remove_trailing_slashes): New global.
+ (long_opts): New getopt spec.
+ (usage): Describe.
+ (do_copy): Strip trailing slashes on SOURCE names only if the new
+ option has been specified.
+ (main): New case.
+
+ * tests/cp/symlink-slash: New test for the change in behavior.
+ * tests/cp/Makefile.am (TESTS): Add symlink-slash.
+
+ * doc/fileutils.texi (Trailing slashes): Factor out discussion on
+ trailing slashes into its own node.
+ Cross reference from cp and mv.
+
+2000-04-14 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c (touch): Add O_NOCTTY to the list of open-time flags.
+
+2000-04-13 Jim Meyering <meyering@lucent.com>
+
+ Move some code into m4/.
+ * configure.in (_GNU_SOURCE): Don't define here.
+ (AC_SYS_LARGEFILE): Don't use here.
+ (AM_C_PROTOTYPES): Don't use here.
+ * acconfig.h: Remove now-unused file.
+
+2000-04-08 Jim Meyering <meyering@lucent.com>
+
+ * doc/fileutils.texi (cp invocation): Mention that there is an
+ application for cp's --sparse=never option. From Martin Hippe.
+ (cp invocation): Describe how --backup and --force
+ can be useful together.
+
+2000-03-10 Alan Iwi <iwi@atm.ox.ac.uk>
+
+ * src/ls.c: Add support for "ln=target" in the LS_COLORS variable,
+ to colorize links as for the file/directory pointed to.
+ * src/dircolors.hin: Add a few words of documentation of the above.
+
+2000-04-08 Jim Meyering <meyering@lucent.com>
+
+ * src/cp.c (usage): Document that while the --backup option takes an
+ optional argument, the -b option accepts none.
+ (main): Use `backup type' in call to xget_version, not the
+ now-deprecated `--version-control'.
+ * src/install.c: Likewise.
+ * src/ln.c: Likewise.
+ * src/mv.c: Likewise.
+
+2000-03-12 Jim Meyering <meyering@lucent.com>
+
+ Merge from textutils.
+ * src/system.h (O_BINARY, O_TEXT): Define if necessary.
+ (SET_BINARY, SET_BINARY2): Define.
+ (DEV_BSIZE): Define to BBSIZE if appropriate.
+
+2000-03-10 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/mv-special-1: Make the message more like that in the
+ similar touch and shred tests.
+ * tests/touch/fifo: Accommodate SunOS-NFS-mounting-OpenBSD mkfifo
+ bug and `exit 77' if the fifo cannot be created.
+ Report and suggestion from Volker Borchert.
+
+2000-03-03 Jim Meyering <meyering@lucent.com>
+
+ * po/Makefile.in.in (dist distdir): Don't use `ln' (which was just a
+ space optimization anyway) to populate $(distdir). Otherwise, the dist
+ rules that change permissions would end up affecting the master sources.
+
+2000-03-01 Paul Eggert <eggert@twinsun.com>
+
+ * src/df.c (show_point): Ignore shortcuts based on path
+ prefixes that are loop file system mount points, since they
+ yield undesirable output.
+
+2000-02-29 Jim Meyering <meyering@lucent.com>
+
+ * src/ls.c (decode_switches): Remove `e' from getopt_long's list of
+ option characters. Reported by John Summerfield.
+
+2000-02-28 Jim Meyering <meyering@lucent.com>
+
+ * tests/install/basic-1: Use ginstall, not install.
+
+2000-02-27 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0q.
+
+ * src/sys2.h: Guard declaration of strtoull also with
+ `&& HAVE_UNSIGNED_LONG_LONG'.
+
+ * src/sys2.h: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL...'
+ now that autoconf always defines the HAVE_DECL_ symbols.
+
+ * src/install.c (install_file_to_path): Always use install_file_in_file.
+ Based on a patch from Adam Klein via Michael Stone.
+
+ * tests/install/Makefile.am (TESTS): Add create-leading.
+ * tests/install/create-leading: New file.
+
+ * tests/install/basic-1: Clean up.
+ * tests/install/Makefile.am (TESTS_ENVIRONMENT): Add PATH. Remove cruft.
+
+2000-02-26 Jim Meyering <meyering@lucent.com>
+
+ Tranform the generated src/Makefile.in file so it falls back on
+ using /bin/rm when necessary. The old rule didn't always work.
+ This is necessary only on certain losing systems, and because this
+ package builds an `rm' executable and some people put `.' too
+ early in their PATH.
+ * Makefile.am (DISTCLEANFILES): Remove .deps and `FIXME' comment.
+ (EXTRA_DIST): Add .kludge-stamp.
+ (.kludge-stamp): New rule.
+ * src/Makefile.am (AUTOMAKE): Remove definition.
+ (Makefile.in): Remove dependency on automake-wrap script.
+ (EXTRA_DIST): Remove automake-wrap.
+ * src/automake-wrap: Remove file.
+
+ * tests/rm/r-2: Don't make the success of the test depend on the
+ order in which directory entries are processed.
+ Reported by Andreas Schwab.
+
+2000-02-12 Jim Meyering <meyering@lucent.com>
+
+ * po/POTFILES.in: Add lib/userspec.c.
+
+ * doc/fileutils.texi (chown invocation): Deprecate use of `.'.
+
+ * src/chown.c (usage): Mention only `:', and not `.' as the separator,
+ since POSIX allows only the former.
+ Prompted by a report from Manas Garg.
+
+2000-02-11 Jim Meyering <meyering@lucent.com>
+
+ * src/df.c (main): Count the stat'able arguments.
+ Print the header line only if there is at least one valid argument.
+ Reported by Andy Longton <alongton@metamark.com>
+
+2000-02-10 Jim Meyering <meyering@lucent.com>
+
+ Make du work when invoked from an unreadable directory.
+
+ * src/du.c (pop_dir): New function.
+ (count_entry): Factor out common code (pop_dir), and call the new
+ function instead.
+ Move declaration of global, `stat_buf' into this function.
+ (du_files): Don't stat `.' or call save_cwd, since count_entry
+ never returns with a changed working directory.
+
+2000-02-09 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/mv-special-1: Use $null and $dir in place of literals
+ in `here' script.
+ Exit 77 if we can't set up the framework (Volker Borchert reported
+ that this test would fail because mknod failed when run on SunOS4.1.4
+ using NFS-mounted disk from an OpenBSD system).
+
+2000-02-05 Jim Meyering <meyering@lucent.com>
+
+ * src/copy.c (copy_internal): Don't allow mv to move a directory onto
+ a non-directory. Reported by Brian Kimball via Michael Stone.
+
+2000-02-03 Jim Meyering <meyering@lucent.com>
+
+ * tests/mv/Makefile.am (TESTS): Add dir-file.
+ (TESTS_ENVIRONMENT): Remove vestiges of old tests.
+ * tests/mv/dir-file: New file.
+
+2000-02-02 Jim Meyering <meyering@lucent.com>
+
+ * tests/touch/Makefile.am (TESTS): Add fifo.
+ * tests/touch/fifo: New file.
+
+2000-02-01 Jim Meyering <meyering@lucent.com>
+
+ * src/touch.c (O_NDELAY): Define to 0 if not defined.
+ (O_NONBLOCK): Define to O_NDELAY if not defined.
+ (touch): Open with O_NONBLOCK, so one can touch a fifo without hanging.
+ Reported by Eric G. Miller via Michael Stone.
+
+ * man/*.x: Change ." to .\".
+ Reported by Andreas Schwab and Brendan O'Dea.
+
+2000-01-31 Jim Meyering <meyering@lucent.com>
+
+ * man/Makefile.maint (ginstall_filter): Define.
+ ($(man_MANS)): Use it here so that the install.1 man page refers
+ to `install', not `ginstall'. Reported by Andreas Schwab.
+
+2000-01-30 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0p.
+
+ * configure.in: Move library-related tests into m4/lib-check.m4.
+
+ * src/system.h (ST_NBLOCKS): Use st_size only for regular files and
+ for directories. From H. J. Lu.
+
+ * src/dd.c (main): Exit with nonzero status if ftruncate fails.
+
+2000-01-24 Jim Meyering <meyering@lucent.com>
+
+ * src/ln.c (usage): Describe behavior when LINK_NAME is omitted.
+ From Michael Stone.
+
+ * src/mv.c (main): Don't expect array index `n_files - 1' to evaluate
+ to `-1' for unsigned int n_files == 0. Doing so lead to a segfault on
+ alpha. From Michael Stone.
+
+2000-01-23 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (AM_FUNC_OBSTACK): Remove. (move to m4/.)
+ Remove nearly all function checks (moved to m4/.)
+ (AC_SUBST(DF_PROG)): Move this to m4/.
+ (ftruncate test): Move into new file: m4/ftruncate.m4.
+ (AC_HEADER_MAJOR, AC_HEADER_DIRENT): Move into m4/.
+ Remove df-related tests. i.e., move jm_LIST_MOUNTED_FILESYSTEMS,
+ jm_FSTYPENAME, and jm_FILE_SYSTEM_USAGE) into m4/.
+
+2000-01-22 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Move addext.c prerequisites from this file into m4/.
+ (AC_CHECK_HEADERS): Move these checks into m4/.
+
+2000-01-17 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c (interrupt_handler): Likewise.
+ (install_handler): Use SA_NOCLDSTOP, not _POSIX_VERSION,
+ to decide whether to call sigaction; this fixes an old typo.
+
+2000-01-16 Jim Meyering <meyering@lucent.com>
+
+ * lib/Makefile.am: Sync with sh-utils/lib/Makefile.am.
+
+ * configure.in: Remove AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME,
+ jm_FUNC_GROUP_MEMBER, jm_FUNC_GETGROUPS, AC_FUNC_VPRINTF, and
+ AC_FUNC_ALLOCA. They're now in m4/.
+
+ Sync with the version from emacs-20.5.
+ * lib/alloca.c
+ (<string.h>): Include if HAVE_STRING_H.
+ (<stdlib.h>): Include if HAVE_STDLIB_H.
+ (alloca): Abort if malloc fails.
+ Reported by Paul Eggert.
+
+2000-01-15 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (AC_REPLACE_FUNCS): Remove these: euidaccess memcpy
+ memcmp memset mkdir rmdir rpmatch stpcpy strndup strstr strtol
+ strtoul strverscmp. Now they're in m4/.
+
+2000-01-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/shred/remove: Make the warning that this shred test may not
+ be run as root more prominent. Suggestion from Volker Borchert.
+
+2000-01-11 Paul Eggert <eggert@twinsun.com>
+
+ Quote multibyte characters correctly.
+
+ * lib/quotearg.c (ISGRAPH): Remove.
+ (ISPRINT): New macro.
+ (<wchar.h>): Include if HAVE_MBRTOWC && HAVE_WCHAR_H.
+ (isprint, mbrtowc, mbsinit, mbstate_t): New macros,
+ defined if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
+ (quotearg_buffer_restyled): New function, with most of the old
+ quotearg_buffer's contents.
+ Major rewrite to support multibyte characters.
+ (quotearg_buffer): Now just calls quotearg_buffer_restyled.
+
+ * m4/c-bs-a.m4: New file.
+ * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
+ (jm_PREREQ): Use it.
+
+2000-01-11 Paul Eggert <eggert@twinsun.com>
+
+ * lib/modechange.c (mode_compile): Use uintmax_t, not unsigned
+ long, to parse numeric modes. Check for any unknown bits, not
+ just unknown bits left of the leftmost known bit.
+
+2000-01-11 Paul Eggert <eggert@twinsun.com>
+
+ * lib/getdate.y: Update copyright notice.
+
+2000-01-11 Paul Eggert <eggert@twinsun.com>
+
+ * COPYING: Sync with latest FSF version (fixing a minor Y2k problem).
+
+2000-01-11 Paul Eggert <eggert@twinsun.com>
+
+ * lib/exclude.c, lib/exclude.h: Sync to the slightly more
+ general version of GNU tar.
+
+ * src/du.c (count_entry):
+ Adjust to new calling convention for excluded_filename.
+ (main): Likewise, for add_exclude_file.
+
+2000-01-11 Jim Meyering <meyering@lucent.com>
+
+ * lib/memcpy.c (memcpy): Protoize.
+
+ Prepare to sync lib/ directories of fileutils, sh-utils, and textutils.
+ * lib/Makefile.am: s/fu/fetish/
+ * src/Makefile.am: s/libfu/libfetish/
+
+ * lib/hash.c (hash_initialize): Fix typo in comment.
+ From François Pinard.
+
+2000-01-10 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0o.
+
+ * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h.
+
+2000-01-09 Jim Meyering <meyering@lucent.com>
+
+ * Version 4.0n.
+
+ * src/ln.c (do_link): Produce the same sort of one-line output for
+ `--backup --verbose' as cp, mv, install. Before this, the backup
+ file name wasn't printed at all.
+
+ This affects cp, install, and mv.
+ * src/copy.c (copy_internal): When making backup files in verbose
+ mode, print the backup file name on the same line as the rest of the
+ information, e.g., `a -> b (backup: b.~13~)' rather than on a separate
+ line by itself. Suggestion from Karl Berry.
+
+2000-01-08 Jim Meyering <meyering@ascend.com>
+
+ * lib/error.c (error): Use __strerror_r's return value only if
+ HAVE_WORKING_STRERROR_R.
+ (error_at_line): Likewise.
+
+ * Makefile.maint (null_AM_MAKEFLAGS): Define.
+ (my-distcheck): Use it to avoid distributing out of date files
+ whose derivation would require a maintainer tool.
+
+2000-01-07 Jim Meyering <meyering@ascend.com>
+
+ * lib/euidaccess.c: Sync with the GNU C library.
+
+ * tests/dir/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix
+ to exported PATH value (though not strictly necessary, here).
+ * tests/dd/Makefile.am: Likewise.
+ * tests/dircolors/Makefile.am: Likewise.
+ * tests/rm/Makefile.am: Likewise.
+ * tests/rmdir/Makefile.am: Likewise.
+ * tests/shred/Makefile.am: Likewise.
+ * tests/touch/Makefile.am: Likewise.
+ * tests/shred/Makefile.am: Likewise.
+
+2000-01-06 Jim Meyering <meyering@ascend.com>
+
+ * man/help2man: Import version 1.020.
+
+ * lib/strftime.c: Sync with the GNU C Library.
+
+2000-01-06 Paul Eggert <eggert@set.twinsun.com>
+
+ * tar/lib/getdate.y: Sync tm_diff with the GNU C Library.
+ (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN. All uses changed.
+ (tm_diff): Renamed from difftm. All uses changed.
+ Replace body with that taken from GNU C Library 2.1.3pre1.
+ (get_date): Prefer tm_gmtoff to tm_diff if available.
+
+2000-01-04 Paul Eggert <eggert@twinsun.com>
+
+ * savedir.c (savedir): Don't store past the end of an array if
+ name_size is zero and the directory is empty.
+
+ * Makefile.maint (PREV_VERSION): Tweak so it handles e.g., 2.0a -> 2.0.
+ (alpha): Create xdelta diffs.
+
+2000-01-02 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0m.
+
+ * src/mv.c: New option: --strip-trailing-slashes.
+
+ 1999-11-18 Paul Eggert <eggert@twinsun.com>
+
+ * lib/strftime.c (my_strftime): Some old compilers object to
+ '\a', so don't bother optimizing for it.
+
+2000-01-01 Paul Eggert <eggert@twinsun.com>
+
+ Fix bug: `df PATH' sometimes misbehaves when there is an
+ inaccessible mount point unrelated to PATH.
+ * configure.in (AC_CHECK_FUNCS): Add realpath, resolvepath.
+ * src/df.c (#pragma alloca): Add if _AIX is defined.
+ (path-concat.h): Include.
+ (show_point): If HAVE_REALPATH or HAVE_RESOLVEPATH is defined,
+ find the real absolute path for PATH, and use that to find the
+ mount point.
+
+ (show_point): Prefer non-dummy entries in shortcuts, too.
+ Disable bogus mount dirs instead of restatting them each time.
+
+1999-12-30 Jim Meyering <meyering@ascend.com>
+ 1999-12-17 Kalle Olavi Niemitalo <tosi@stekt.oulu.fi>
+
+ * src/rmdir.c (remove_parents, main): Don't pass errno to error
+ when printing "removing directory" message. Failure of rmdir is
+ handled elsewhere.
+
+1999-12-23 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Remove clock_gettime tests.
+ Now they're in m4/jm-macros.m4.
+
+ * src/ln.c (usage): Correct typos.
+ List new --target-directory=... usage.
+ Reported by Göran Uddeborg
+
+ * src/mv.c (usage): List new --target-directory=... usage.
+
+1999-12-22 Jim Meyering <meyering@ascend.com>
+
+ * lib/getdate.y (get_date): Fix typo in time_t overflow test.
+ From Michael Stone.
+
+1999-12-21 Andreas Schwab <schwab@suse.de>
+
+ * tests/shred/remove: Use $file, not $tmp/file. Exit 77 if run as
+ root.
+
+1999-12-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/df.c (ceil_percent): Remove.
+ (show_dev): Avoid overflow problems when calculating percent.
+ Do not display negative percents.
+
+1999-12-19 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0l.
+
+ * doc/fileutils.texi: Clarify and combine descriptions of -c and of
+ --time=ctime.
+ Likewise for -u/--time=atime.
+
+ * src/ls.c [! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Use lstat wrapper.
+ [Notice the new configure-time test in m4/lstat-slash.m4. ]
+ (main): Back out change from 1999-02-19 that made ls remove
+ trailing slashes from command line arguments to accommodate early
+ versions of Linux. Now, `ls symlink-to-dir/' acts like
+ `ls symlink-to-dir/.' thus following the symbolic link, as POSIX says
+ it should. Suggestion from Bruno Haible and Andreas Schwab.
+
+ * lib/xstat.in (slash_aware_lstat): New function.
+ (rpl_@xstat@): Use it.
+ * lib/Makefile.am (lstat.c): Adapt rule to handle new parts of xstat.in.
+ (lstat.c): Likewise.
+
+ Make sure ls does the right thing with symlinks and trailing slashes.
+ * tests/ls/Makefile.am (TESTS): Add symlink-slash.
+ * tests/ls/symlink-slash: New test, for above-fixed bug.
+
+1999-12-18 Jim Meyering <meyering@ascend.com>
+
+ * src/shred.c (wipename): When repeatedly renaming a file, making the
+ name shorter and shorter, skip to the next shorter length length if a
+ rename fails (e.g. due to permission denied). Otherwise, this loop
+ would iterate for so long that shred would appear to be stuck in an
+ infinite loop for any but the shortest file names.
+ Reported by Joe Orton.
+
+ * configure.in (AC_OUTPUT): Add tests/shred/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add shred.
+ * tests/shred: New directory
+ * tests/shred/remove: New file. Tests for the above-fixed bug.
+
+1999-12-13 Jim Meyering <meyering@ascend.com>
+
+ * lib/makepath.c (make_path): Consistently use `error' to output
+ the verbose, `created directory ...' messages.
+ Reported by Bernhard Rosenkraenzer.
+
+1999-12-12 Jim Meyering <meyering@ascend.com>
+
+ Move 120+ lines of stat.h-related macros from system.h (not shared)
+ to sys2.h, which is shared between fileutils, sh-utils, textutils.
+ * src/system.h: Move them from here...
+ * src/sys2.h: ... to here.
+
+ * src/system.h (S_IRUSR, S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH): Define
+ if not defined. This was necessary on a NeXT Turbostation running
+ Mach 3.3. Reported by Nelson H. F. Beebe.
+
+ * src/ls.c (decode_switches): If -c or -u is specified and not -l
+ (or any other option that implies -l), and no sort-type was specified,
+ then sort by the ctime (-c) or atime (-u). Part of this change reverts
+ the 1998-01-10 delta.
+ (usage): Update to reflect this change.
+ Reported by Paul Slootman via Michael Stone.
+
+1999-12-09 Jim Meyering <meyering@ascend.com>
+
+ * src/df.c (BLOCK_SIZE_OPTION, SYNC_OPTION, NO_SYNC_OPTION): Define
+ these and use them instead of `CHAR_MAX + n'.
+ * src/du.c (BLOCK_SIZE_OPTION, EXCLUDE_OPTION, MAX_DEPTH_OPTION):
+ Likewise.
+ * src/touch.c (TIME_OPTION): Likewise.
+ * src/rmdir.c (IGNORE_FAIL_ON_NON_EMPTY_OPTION): Likewise.
+
+ * tests/ls/time-1: Test more of the framework (touch's -a and -m
+ options) before running the actual ls test.
+
+1999-12-07 Jim Meyering <meyering@ascend.com>
+
+ * tests/cp/cp-mv-backup: Use 1>&2 rather than `1<&-'.
+ Suggestion from Volker Borchert.
+
+1999-12-05 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.maint: Remove ftp.enst.fr.
+
+1999-12-04 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0k.
+
+ * tests/mv/into-self-2: Adapt to reflect this change in behavior.
+ Make sure the VERSION_CONTROL envvar is not set.
+ Run diff if comparison fails.
+
+ * src/copy.c (copy_internal): In move mode, if the rename attempt
+ fails, then unlink any existing destination file. This makes a
+ cross-device `mv' more consistent with the intra-device behavior.
+ This change is required by POSIX to make a cross-device move act with
+ semantics similar to those of the rename syscall. For example now
+ `mv' can move a file onto a symlink to itself when that symlink
+ is on a separate partition. With fileutils-4.0j, it would fail with
+ a diagnostic saying they were the same file.
+ Reported by Bruno Haible.
+
+ * tests/mv/to-symlink: New file. Adds test for the above.
+ * tests/mv/Makefile.am (TESTS): Add to-symlink.
+
+ * tests/cp/cp-mv-backup (trap): Be careful to close $actual before
+ removing the containing directory. Otherwise, on some systems rmdir
+ fails to remove the containing directory.
+
+ * tests/ls/time-1: List --full-time dates upon failure.
+
+1999-12-02 Andreas Schwab <schwab@suse.de>
+
+ * src/ls.c (check_symlink_color): New variable.
+ (main): Set it if we need to check for dangling symlinks when
+ displaying colors.
+ (gobble_file): Check check_symlink_color instead of print_with_color.
+
+1999-11-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (usage): Shorten help for --show-control-chars.
+
+1999-11-30 Jim Meyering <meyering@ascend.com>
+
+ Give the right diagnostic when failing to create a file in an
+ unwritable directory.
+ * src/touch.c (touch): Record errno upon failed errno and use that
+ saved value if a subsequent fstat, stat or utime call fails.
+ Reported by Wichert Akkerman via Michael Stone.
+
+1999-11-27 Jim Meyering <meyering@ascend.com>
+
+ Clean up test scripts.
+ * tests/mv/setup: Don't set/use DF or MKDIR. Use df and mkdir instead.
+ * tests/mv/mv-special-1: Likewise for these: LS MV MKDIR MKNOD RM TOUCH
+ * tests/mv/backup-is-src: Likewise for RM and MV.
+ * tests/mv/hard-link-1: Likewise.
+ * tests/mv/into-self: Likewise.
+ * tests/mv/into-self-3: Likewise.
+
+ Add test for 1999-05-23 change to src/copy.c (copy_internal).
+ * tests/mv/partition-perm: New file.
+ * tests/mv/Makefile.am (TESTS): Add partition-perm.
+
+ * Version 4.0j.
+
+1999-11-22 Paul Eggert <eggert@twinsun.com>
+
+ * src/df.c (df_readable): Now returns char const *, not char *.
+ New arg NEGATIVE.
+ (ceil_percent): Now returns double, not int.
+ Be more careful about adding 1 to a wild value.
+ (show_dev): Don't filter out wild sizes from the underlying operating
+ system; instead, show them to the user as faithfully as possible.
+
+1999-11-23 Jim Meyering <meyering@ascend.com>
+
+ * doc/getdate.texi (Calendar date item): Correction regarding 0..68/
+ 69-99 split for 1900 vs 2000. From Peter Moulder.
+
+1999-11-22 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c.
+
+1999-11-20 Jim Meyering <meyering@ascend.com>
+
+ * src/rmdir.c (errno_rmdir_non_empty): New function to encapsulate
+ errno comparison.
+ (remove_parents): Use it.
+ (main): Use it.
+
+ * tests/cp/cp-mv-backup: Run `diff -c' if the test fails.
+
+ * tests/ls/time-1: Use `ls' and `touch', not $LS and $TOUCH.
+ * tests/ls/Makefile.am (TESTS_ENVIRONMENT): Specify PATH, etc.
+
+ * src/chgrp.c: Declare lstat; needed on e.g. SunOS4.
+ Reported by Tom Tromey.
+
+1999-11-19 Jim Meyering <meyering@ascend.com>
+
+ * lib/strstr.c (strstr): Include config.h.
+ Add a `;' between shloop label and `}'.
+ From Akim Demaille.
+
+1999-11-17 Jim Meyering <meyering@ascend.com>
+
+ * src/mkdir.c (S_IRWXUGO): Define if necessary.
+ (main): Use chmod to set the permissions if bits other than those
+ of S_IRWXUGO were requested. Reported by Sami Farin.
+
+1999-11-14 Paul Eggert <eggert@twinsun.com>
+
+ * touch.c (touch): Simplify code a tad, using fd == -1 instead
+ of separate valid_fd variable.
+
+1999-11-13 Jim Meyering <meyering@ascend.com>
+
+ * src/touch.c (touch): Don't fail just because we couldn't open
+ an existing file. This makes it so that touching a read-only
+ file now works. Also clean up and simplify.
+ Based on a patch from Chip Salzenberg.
+ * tests/touch/no-rights: New test for this.
+ * tests/touch/Makefile.am (TESTS): Add no-rights.
+
+1999-11-12 Jim Meyering <meyering@ascend.com>
+
+ * src/remove.c (print_nth_dir): Write one fewer byte so we don't print
+ a trailing slash.
+ (rm): Fix bugs in (and test, this time) the very rarely used code
+ to warn about directory cycles.
+ Reported by michael@roka.net.
+
+1999-11-11 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c (copy_internal): Treat src and dest as the `same' in
+ `mv src symlink-to-src' when src and dest are on different partitions.
+ Otherwise, that `mv' command would silently remove `src'.
+ Reported by Michael Stone.
+ * tests/mv/into-self-2: Add a test for this fix.
+
+ * lib/makepath.c (make_path): Fix long-latent bug: s/&&/||/ (others
+ just like that also dated back to 1992 were fixed in 1998-01-02).
+ Richard Braakman reported that using `install -d -g foo 1/2`
+ only sets the group on the intermediate directory, not the final
+ component. From Michael Stone.
+
+1999-11-07 Paul Eggert <eggert@set.twinsun.com>
+
+ * human.c (default_block_size): New function.
+ (humblock): Use it if no block size is specified.
+ (human_block_size): If the specified block size is zero, report an
+ error if report_errors is nonzero; otherwise use the default.
+
+1999-11-07 Jim Meyering <meyering@ascend.com>
+
+ * src/dircolors.hin: Add several more TERM types.
+ Add .bz2 suffix.
+ Add .png for real this time.
+ Change the image types colors to be visible in a black-on-white xterm.
+ From Michael Stone.
+
+ * src/chgrp.c (xstat): New global.
+ (main): Define it.
+ (change_file_group): Use it. Before this change, when running chgrp
+ on a symlink without --dereference (-h) and when the requested group
+ is the same as the group for the *symlink*, chgrp would do nothing.
+ Now it changes the group of the file referenced through the symlink.
+ Reported by Martin Mitchell.
+
+ * src/chmod.c: Use REFERENCE_FILE_OPTION instead of bare `CHAR_MAX + 1'.
+ * src/chown.c: Define and use REFERENCE_FILE_OPTION and
+ DEREFERENCE_OPTION in place of bare `CHAR_MAX + N'.
+ * src/chgrp.c: Likewise.
+
+ * tests/ln/misc: Add hard-link-to-symlink test.
+ Move framework_failure test to the end.
+ Fix a typo: s/||/&&/.
+
+ * src/ln.c (do_link): Warn that making a hard link to a symbolic link
+ is not portable.
+
+ * tests/ln/misc: Use --b=simple, not the now-deprecated `-V simple'.
+ * tests/ln/backup-1: Likewise.
+
+ * configure.in (AC_OUTPUT): Add tests/rmdir/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add rmdir.
+ * tests/rmdir: New directory
+ * tests/rmdir/ignore: New file.
+
+ * src/rmdir.c (remove_parents): Use the correct test (just as in
+ main) in handling --ignore-fail-on-non-empty. From Michael Stone.
+ (usage): Improve description of --parents. Based on suggestion from
+ Torsten Landschoff.
+
+1999-11-06 Jim Meyering <meyering@ascend.com>
+
+ Allow hard links to symlinks on systems that support it.
+ * src/ln.c (STAT_LIKE_LINK): Define.
+ (do_link): Use STAT_LIKE_LINK, rather than bare `stat', and perform
+ the extra lstat only on systems where LINK_FOLLOWS_SYMLINKS.
+
+ * src/ls.c (long_options): Correct typo (s/'F'/'p'/) so that `-p' is
+ accepted as the short form of --file-type, per the documentation.
+ From James Sneeringer.
+
+ * src/ln.c (do_link): Fix typo (in which the function name `symlink'
+ was tested instead of the variable `symbolic_link') that could make
+ ln perform an unneeded `stat' call.
+
+1999-11-05 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h: Use HAVE_STRUCT_STAT_ST_BLOCKS, not deprecated
+ HAVE_ST_BLOCKS.
+ * src/copy.c: Likewise.
+ * lib/fileblocks.c: Likewise.
+
+ * configure.in: Move some type/header/member tests into
+ m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of
+ fileutils, textutils, and sh-utils.
+
+1999-11-02 Jim Meyering <meyering@ascend.com>
+
+ * man/help2man: Import version 1.018.
+ * man/Makefile.maint ($(man_MANS)): Remove use of --name=... option.
+ * man/*.x: Include one-line summary in [NAME] section.
+ * man/Makefile.summ: Remove the one-line summaries.
+ Suggestion for clean-up from Akim Demaille.
+
+ * configure.in (ALL_LINGUAS): Add Galician (gl).
+
+1999-11-01 Jim Meyering <meyering@ascend.com>
+
+ * src/cp.c (usage): Warn about mixing use of `-r' with FIFOs and
+ other special files like /dev/zero.
+
+ * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES).
+
+1999-10-31 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.maint (my-distcheck): Remove $(DEPDIR) to work around
+ automake bug.
+
+ * doc/fileutils.texi: Document new --backup[=METHOD] option for
+ cp, mv, ln, and install.
+
+ * src/ln.c: Convert --backup to take an optional argument.
+ Deprecate --version-control (-V) in comments.
+ (usage): Remove mention of --version-control.
+ (main): Make -V warn then fall through into --backup case.
+ [--backup case]: Handle optional arg.
+ * src/install.c: Likewise.
+
+1999-10-24 Jim Meyering <meyering@ascend.com>
+
+ * src/cp.c (do_copy): Constify `dest', and cast-away the new
+ const in assignment to new_dest.
+
+1999-10-23 Jim Meyering <meyering@ascend.com>
+
+ * tests/touch/Makefile.am (TESTS): Add dangling-symlink.
+ * tests/touch/dangling-symlink: New file.
+
+1999-10-23 Paul Eggert <eggert@twinsun.com>
+
+ * src/touch.c (full_write): Remove unused decl.
+ (open_maybe_create): Remove.
+ (touch): Don't record whether the file was created; this isn't
+ possible to do reliably and portably without race conditions.
+ If the file was created and if amtime_now is nonzero, this
+ change means we'll have to do another utime system call, but
+ that's no more harmful than the previous version of this code.
+ Reported by Gabor Z. Papp.
+
+1999-10-21 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Japanese (pa).
+
+1999-10-17 Jim Meyering <meyering@ascend.com>
+
+ * tests/mv/backup-is-src: Remove use of mv's now-deprecated
+ -V option. Use --b=simple instead of -b -V simple.
+
+ * src/mv.c: Convert --backup to take an optional argument.
+ Deprecate --version-control (-V) in comments.
+ (usage): Remove mention of --version-control.
+ (main): Make -V warn then fall through into --backup case.
+ [--backup case]: Handle optional arg.
+
+ Accept new option: --target-directory=DIR
+ * src/cp.c (TARGET_DIRECTORY_OPTION): Define.
+ (SPARSE_OPTION): Define.
+ (usage): Describe it.
+ (do_copy): Change meanings/names of first two parameters: use `n_files'
+ in place of `argc - optind', and `file' instead of `argv + optind'.
+ Add parameter, target_directory.
+ (main): Pass new arg, target_directory.
+
+1999-10-16 Jim Meyering <meyering@ascend.com>
+
+ * tests/cp/backup-is-src: Remove use of cp's now-deprecated -V option.
+ Use --b=simple instead of -b -V simple.
+ * tests/cp/backup-1: Replace use of cp's now-deprecated
+ --version-control option with use of --backup=simple.
+
+ * src/cp.c: Convert --backup to take an optional argument.
+ Deprecate --version-control (-V) in comments.
+ (usage): Remove mention of --version-control.
+ (main): Make -V warn then fall through into --backup case.
+ [--backup case]: Handle optional arg.
+
+ * tests/cp/Makefile.am (TESTS): Add cp-mv-backup.
+ * tests/cp/cp-mv-backup: New file.
+
+1999-10-11 Jim Meyering <meyering@ascend.com>
+
+ * lib/getopt.c: Merge changes from latest glibc.
+ * lib/getopt.h: Likewise.
+ * lib/getopt1.c: Likewise.
+
+1999-10-09 Jim Meyering <meyering@ascend.com>
+
+ Accept new option: --target-directory=DIR
+ * src/ln.c (TARGET_DIRECTORY_OPTION): Define.
+ (usage): Describe it.
+ (main): Implement it.
+ Make code clearer: use new variable `n_files' in place of
+ `argc - optind'. Use `file' instead of `argv + optind'.
+
+1999-10-04 Jim Meyering <meyering@ascend.com>
+
+ * depcomp: New file, for automake's new dependency support.
+ * missing: New version, from automake's user-dep-gen-branch.
+
+ * lib/xalloc.h (__attribute__): Apply 1999-10-03 change here, too.
+ * src/sys2.h (__attribute__): Likewise.
+ Wrap with #ifndef __attribute__.
+
+1999-10-03 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.y (__attribute__): Define to empty if GCC claims to
+ be before 2.8; this is needed for OPENStep 4.2 cc. Also,
+ define to empty if strict ANSI.
+
+1999-10-03 Jim Meyering <meyering@ascend.com>
+
+ Accept new option: --target-directory=DIR
+ * src/mv.c (TARGET_DIRECTORY_OPTION): Define.
+ (usage): Describe it.
+ (main): Implement it.
+ Remove unused variable, stdin_tty.
+ Make code clearer: use new variable `n_files' in place of
+ `argc - optind'. Use `file' instead of `argv + optind'.
+
+1999-09-28 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h: Do s/#ifdef HAVE_/#if HAVE_/ -- solely for aesthetics.
+ Do the same for other config.h macros like CLOSEDIR_VOID and MAJOR_*.
+ * src/sys2.h: Likewise.
+
+ * lib/xalloc.h (__attribute__): Protect against redefinition.
+ From Akim Demaille.
+
+1999-09-26 Jim Meyering <meyering@ascend.com>
+
+ * lib/xmalloc.c (xalloc_die): Rename from xalloc_fail and
+ update callers.
+ Use explicit exit to help avoid warnings.
+ From Akim Demaille.
+
+ * lib/path-concat.c (DIRECTORY_SEPARATOR): Define.
+ (ISSLASH): Define.
+ (path_concat): Allow parameter DIR to be NULL.
+ (xpath_concat): New function.
+ From Akim Demaille.
+
+ * lib/xalloc.h (__attribute__): Define.
+ (ATTRIBUTE_NORETURN): Define.
+ (xalloc_die): Declare.
+ (NEW): Define as yet unused macro.
+ (XFREE): Likewise
+ (CCLONE): Likewise.
+ (CLONE): Likewise.
+ From Akim Demaille.
+
+ * lib/basename.c (base_name): Add prototype. From Akim Demaille.
+
+1999-09-19 Jim Meyering <meyering@ascend.com>
+
+ * lib/lchown.c [STAT_MACROS_BROKEN] (S_ISLNK): Undefine.
+ (S_ISLNK): Define if necessary.
+ This is necessary on a NEC SX-4 with SUPER-UX 9.1.
+ Based on a patch from Holger Berger.
+
+ * src/dd.c (siginfo_handler): Mark parameter with ATTRIBUTE_UNUSED.
+ Change many counter and index variables to be of unsigned type.
+ (dd_copy): Add new unsigned variable, n_bytes_read, in place of
+ many uses of `nread'.
+
+ * src/sys2.h (__attribute__): Define.
+ (ATTRIBUTE_NORETURN): Remove #else clause.
+ (ATTRIBUTE_UNUSED): Define.
+
+1999-09-17 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AC_REPLACE_FUNCS): Remove strdup, now that this
+ is done in m4/jm-macros.m4.
+
+1999-09-09 Jim Meyering <meyering@ascend.com>
+
+ * src/touch.c (usage): Remove misleading sentence in --help output.
+ From Karl Heuer.
+
+ * src/Makefile.am (EXTRAdir): Remove unused variable.
+
+1999-09-03 Paul Eggert <eggert@twinsun.com>
+
+ * lib/lchown.h (ENOSYS): Don't use ENOMSG; it's not in NeXTStep3.3.
+ Use EINVAL instead.
+
+1999-09-01 Jim Meyering <meyering@ascend.com>
+
+ * src/cp.c: Remove declaration of xstrdup.
+ * src/df.c: Likewise.
+ * src/ls.c: Likewise.
+
+1999-09-01 Akim Demaille <akim@epita.fr>
+
+ * lib/xmalloc.c (xalloc_fail_func): Use `PARAMS'.
+ * lib/xalloc.h (xalloc_fail_func): Likewise.
+ (xstrdup): Add protoype.
+
+ * lib/version-etc.c (version_etc_copyright): Default copyright string.
+ (version_etc): Use it.
+ * lib/version-etc.h: Declare it.
+
+1999-08-29 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AC_YACC): Remove use, now that we require bison.
+
+ * src/dircolors.hin: Add .rpm, .png, and .fli.
+ From Andres Soolo.
+
+1999-08-28 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.y: Add copyright notice.
+
+ (number): Handle `Nov 11 1996' example; see Risks Digest 20.55
+ http://catless.ncl.ac.uk/Risks/20.55.html#subj18
+ (1999-08-27)
+
+ (<stdio.h>): Include only if testing.
+ (ISUPPER): Remove.
+ (ISLOWER, PC): New macros.
+ (<string.h>): Include if HAVE_STRING_H, not USG.
+ (bcopy): Remove.
+ (yymaxdepth, ..., yycheck): Don't bother to redefine, since we assume
+ bison.
+ (EPOCH_YEAR): Renamed from EPOCH.
+ (table): Renamed from TABLE.
+ (meridian): Now an anonymous enum.
+ (struct parser_control): New type.
+ (YYLEX_PARAM, YYPARSE_PARAM, YYSTYPE): New macros.
+ (yyInput, ..., yyRelYear): Migrated into struct parser_control.
+ (%pure_parser): Added, so that the parser is pure.
+ (%union): Removed; the type is now just plain int.
+ All %type directives removed.
+ (tLOCAL_ZONE): New %token.
+ (month_day_table): Renamed from MonthDayTable.
+ (gmtime, localtime, mktime, time): Declare only if not defined.
+ (meridian_table): New table.
+ (dst_table): New table.
+ (units_table): renamed from UnitsTable.
+ (relative_time_table): Renamed from OtherTable.
+ (time_zone_table): Renamed from TimezoneTable. Modernized data.
+ (military_table): Renamed from MilitaryTable.
+ (to_hour): Renamed from ToHour.
+ (to_year): Renamed from ToYear.
+ (lookup_zone): New function.
+ (LookupWord): Renamed from lookup_word.
+ Use lookup_zone for time zones.
+ (yylex): Now reentrant. All callers changed.
+ (get_date): Add support for local time zone abbreviations.
+ Make it reentrant.
+
+1999-08-22 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h (IF_LINT): Define new macro.
+ * src/df.c (main): Rename locals i and j.
+ Use IF_LINT macro instead of #ifdef lint...
+
+ * src/dd.c (parse_integer): Add `const' to char* parameter and
+ add a separate `suffix' variable.
+
+1999-08-20 Jim Meyering <meyering@ascend.com>
+
+ * src/chown.c (usage): Tweak --help output to make it more consistent
+ with that of chgrp.
+ * src/chgrp.c (usage): Tweak --help output to make it more consistent
+ with that of chown.
+
+1999-08-17 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Remove check for rename and the code that would
+ enable building of the `mvdir' program.
+ * src/Makefile.am (libexec_PROGRAMS): Remove reference to @MVDIR@.
+ (EXTRA_PROGRAMS): Remove obsolete mvdir.
+ * lib/rename.c: Remove obsolete file. (it had a bug, too)
+ * src/mvdir.c: Remove obsolete file.
+ * po/POTFILES.in: Remove mvdir.c
+
+ * doc/fileutils.texi (chown, chgrp invocation): Make these sections
+ consistent with each other.
+
+1999-08-16 Jim Meyering <meyering@ascend.com>
+
+ * src/chown.c (groupname): Declare to be `const'.
+ (change_dir_owner): Declare statp parameter to be `const'.
+ (usage): Make the output be more consistent with that from chgrp.
+
+ This change is nearly identical to the chown.c change of 1998-05-24
+ * src/chgrp.c: Accept new option, --dereference.
+ --no-dereference is now the default. Include lchown.h.
+ (enum Change_status) [CH_NOT_APPLIED]: New member.
+ (change_symlinks): Enable this by default, now.
+ (describe_change): Handle new case.
+ (change_file_group): Add new parameter: cmdline_arg. Update callers.
+ Reorganize to reflect changed semantics.
+ (LCHOWN): Remove definitions.
+ From Bruno Haible.
+
+1999-08-10 Jim Meyering <meyering@ascend.com>
+
+ * po/POTFILES.in: Add lib/quotearg.c.
+
+1999-08-09 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/fileutils.texi, src/ls.c (usage):
+ Add ls --quoting-style=locale.
+
+ * lib/argmatch.c (ARGMATCH_QUOTING_STYLE):
+ Change from escape_quoting_style to locale_quoting_style.
+ (argmatch_invalid): Use new quotearg_style primitive for simplicity.
+ Also, use ARGMATCH_QUOTING_STYLE to quote, instead of quoting ourselves.
+
+ * lib/quotearg.h (locale_quoting_style): New enum value.
+ (quotearg_n_style, quotearg_style): New decls.
+
+ * lib/quotearg.c: Include <libintl.h> if ENABLE_NLS.
+ (_): New macro.
+ (quoting_style_args, quoting_style_v, quotearg_buffer): Add support
+ for locale_quoting_style, using _("`") and _("'") for open and close
+ quote symbols.
+ Do not quote spaces in escape_quoting_style.
+ (quotearg_n_style, quotearg_style): New functions.
+
+1999-08-08 Jim Meyering <meyering@ascend.com>
+
+ * src/touch.c (usage): Clarify description of --time=WORD.
+ From Karl Berry.
+
+ * lib/savedir.c (savedir): Change type of name_size parameter to off_t.
+ * lib/savedir.h (savedir): Update prototype.
+ * src/chmod.c (change_dir_mode): Remove cast of savedir arg.
+ * src/chown.c (change_dir_owner): Likewise.
+ * src/chgrp.c (change_dir_group): Likewise.
+ * src/copy.c (copy_dir): Likewise.
+ * src/du.c (count_entry): Likewise.
+ Suggestion from Bob Proulx.
+
+1999-08-07 Jim Meyering <meyering@ascend.com>
+
+ * po/POTFILES.in: Add lots of lib/*.c files.
+ Remove src/cp-hash.c, since it doesn't use _().
+
+1999-08-04 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Remove getline-testing code. Now it's in m4/.
+
+1999-08-01 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS.
+
+1999-07-30 Jim Meyering <meyering@ascend.com>
+
+ * src/ls.c (usage): Explain about default wrt --hide-control-chars and
+ --show-control-chars. Reported by Germano Leichsenring.
+
+1999-07-28 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR).
+
+1999-07-24 Jim Meyering <meyering@ascend.com>
+
+ * src/dd.c (PTR_ALIGN, ROUND_UP_OFFSET): New macros.
+ (dd_copy): Use those to page-align both the input and output buffers.
+
+1999-06-01 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am: Make envvar-check depend on check-recursive rather
+ than on `check' so that its tests are performed before any real tests.
+
+1999-07-15 Jim Meyering <meyering@ascend.com>
+
+ * src/dd.c: Include getpagesize.h.
+ (dd_copy): Page-align the input buffer.
+ Based on a patch from Scott Lurndal.
+
+ * getpagesize.h: New file.
+ * lib/Makefile.am (noinst_HEADERS): Add getpagesize.h.
+
+ * lib/fsusage.c (get_fs_usage) [STATFS_TRUNCATES_BLOCK_COUNTS]:
+ Work around SunOS botch also when block size is different from 1k.
+ From Jürgen Fluk.
+
+1999-07-10 Jim Meyering <meyering@ascend.com>
+
+ * man/help2man: Import version 1.012.
+
+1999-07-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/xstrtol.c [!defined strtoumax]: Declare strtoumax.
+
+1999-07-04 Paul Eggert <eggert@twinsun.com>
+
+ * lib/xstrtol.c (__strtol): Remove decl; it doesn't work if __strtol
+ expands to a macro, which occurs in HP-UX 10.20 with strtoumax.
+ (strtol, strtoul): New decls (for pre-ANSI hosts), to replace
+ the above decl.
+
+1999-06-27 Paul Eggert <eggert@twinsun.com>
+
+ Fix some incompatibilities between `df -P' and POSIX.2.
+
+ * lib/human.h (enum human_inexact_style): New enum.
+ (human_readable_inexact): New decl.
+
+ * lib/human.c (human_readable): New function.
+ (human_readable_inexact): Renamed from human_readable, with new arg
+ INEXACT_STYLE. Add support for ceiling and floor.
+
+ * src/df.c (print_header): Conform to POSIX if posix_format).
+ (df_readable): Take ceiling if posix_format.
+ (ceil_percent): New function.
+ (show_dev): Take ceiling of percent if posix_format.
+ Align with POSIX-conforming header if posix_format.
+
+ * doc/fileutils.texi: Document these changes.
+
+1999-05-27 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix.
+
+1999-05-23 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c (copy_internal): Don't apply the umask in move_mode.
+ Otherwise, `mv' would not preserve the permissions when copying
+ between partitions. Reported by David Godfrey
+
+ * Version 4.0i.
+
+ * tests/cp/same-file: Correct erroneous expected output from
+ the `cp -f foo foo' tests.
+ * po/POTFILES.in: Add same.c.
+ * lib/same.h: New file.
+ * lib/same.c: New file (function extracted from ln.c).
+ * lib/Makefile.am (libfu_a_SOURCES): Add same.c.
+ (noinst_HEADERS): Add same.h.
+ * src/copy.c: Include same.h.
+ * src/ln.c (same_name): Remove function.
+ <same.h>: Include this instead.
+ <dirname.h>: No longer include this.
+ * tests/mv/force: Be sure we still allow `mv -f FILE LINK-TO-FILE'.
+
+ * src/copy.c (copy_internal): Make it so `cp/mv -f FILE FILE' does not
+ remove FILE. Suggestion from Chris Yeo.
+ * tests/mv/force: New test, for the above fix.
+ * tests/mv/Makefile.am (TESTS): Add force.
+ (TESTS_ENVIRONMENT): Change PATH to be absolute.
+
+ * tests/mv/force (mv): New test.
+
+1999-05-17 Paul Eggert <eggert@twinsun.com>
+
+ * lib/getdate.y (get_date): Let mktime deduce tm_isdst if we
+ have an absolute timestamp, or if the relative timestamp
+ mentions days, months, or years. Reported by Volker Borchert.
+
+ * lib/human.c (human_readable): Allow from_block_size to be zero.
+
+1999-05-14 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (envvar-check): Renamed from check-local.
+ (check): Depend on envvar-check so the envvar check is performed
+ before all other tests. Reported by Volker Borchert.
+ * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects,
+ so CDPATH is mentioned in the message. Reported by Volker Borchert.
+
+ * src/df.c (main): When asking for info on an explicit file name,
+ just warn rather than failing if the table of mounted filesystems
+ cannot be read. Based on a patch from Mark Kettenis.
+
+ * lib/version-etc.c (version_etc): Put version info and author names
+ on the first two lines respectively rather than putting the three
+ lines of copyright info between them.
+
+ * src/touch.c (open_maybe_create): Handle Solaris' failure mode when
+ FILE is a directory. Reported by Vin Shelton.
+
+ * lib/human.c: Include <string.h> or <strings.h> for strlen prototype.
+ * lib/getline.h [__GLIBC__ >= 2]: #if-out prototypes.
+ * src/remove.c (pop_dir): Cast length to `int' to avoid a warning on
+ 64-bit systems. From Ulrich Drepper.
+
+1999-05-12 Jim Meyering <meyering@ascend.com>
+
+ * src/shred.c (main): Put `u' for -u in getopt_long's string argument.
+ Remove the `R'.
+
+1999-05-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0h.
+
+ * tests/touch/dir-1: New test.
+ * tests/touch/Makefile.am (TESTS_ENVIRONMENT): Remove individual
+ upper-case program names. Add a definition of PATH.
+ (TESTS): Add dir-1.
+
+ * src/mkdir.c (main): Use better wording in diagnostic: `cannot
+ create directory' rather than `cannot make directory'. The former
+ also matches the one in makepath.c.
+
+ * src/dd.c (apply_translations): Use TOUPPER and TOLOWER,
+ not toupper and tolower.
+
+1999-05-05 Jim Meyering <meyering@ascend.com>
+
+ * lib/makepath.c (make_dir): When reporting a mkdir failure and the
+ target cannot be `stat'ed, use the errno from the failed mkdir call,
+ not the one from the stat call. Before this change, running
+ `mkdir -p /no-dir/no-dir' as an unprivileged user would wrongly
+ elicit `No such file or directory' instead of `Permission denied'.
+
+ * lib/strtol.c (TYPE_SIGNED, TYPE_MAXIMUM, TYPE_MINIMUM): Define.
+ (ULONG_LONG_MAX, LONG_LONG_MAX, LONG_LONG_MIN): Define if not defined.
+ Based on a patch from Kaveh Ghazi.
+
+ * src/ls.c (USE_ACL): Define this only #if
+ (HAVE_SYS_ACL_H && HAVE_ACL && defined GETACLCNT).
+ Use `USE_ACL' in place of `HAVE_ACL' everywhere else. From Kaveh Ghazi.
+
+1999-05-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/makepath.c: Include makepath.h libintl.h, not after it.
+ Otherwise, we'd get the wrong definition of PARAMS from libintl.h.
+ (The method of defining PARAMS in libintl.h doesn't check PROTOTYPES,
+ which is necessary on Irix4 since cc doesn't define __STDC__.)
+ From Kaveh Ghazi.
+
+1999-04-30 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.maint: Define several tag-related make variables.
+ (cvs-dist): Use the make variables instead of shell ones.
+ (announcement): Automatically generate diffs for all ChangeLog files,
+ not just the top level one.
+
+1999-04-30 Paul Eggert <eggert@twinsun.com>
+
+ * lib/dup2.c: New file.
+
+1999-04-30 Jim Meyering <meyering@ascend.com>
+
+ * src/touch.c (touch): Only do the fstat if we need to.
+ Resort to calling stat for directories, but only when necessary.
+ (usage): Mention --no-create.
+
+ * src/copy.c (copy_internal): Move the one-file-system test so that
+ it follows the `if (new_dst || !S_ISDIR (dst_sb.st_mode))' block.
+ Prior to this change, `cp --one-file-system' would traverse a file-
+ system boundary if the destination directory existed. From Ton Hospel.
+
+1999-04-27 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c: Always use STDIN_FILENO for input and STDOUT_FILENO
+ for output, to avoid confusion with closed input and output fds.
+ (input_fd, output_fd): Remove; all uses changed to STDIN_FILENO
+ and STDOUT_FILENO.
+ (open_fd): New function.
+ (main): Use it, instead of open, to ensure that file descriptors
+ don't get confused.
+
+1999-04-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/ls.c (decode_switches): Use STDIN_FILENO, STDOUT_FILENO instead
+ of 0, 1.
+
+ * src/dd.c (skip): Don't fstat the input file; the result is
+ no longer used.
+
+1999-04-26 Jim Meyering <meyering@ascend.com>
+
+ * tests/mv/into-self-2: Update to reflect this change by reversing
+ the order of arguments so the symlink is the source, not the
+ destination (otherwise, the mv command would now succeed).
+
+ * src/copy.c (copy_internal): Don't make `mv foo symlink-to-foo' fail.
+ That is, even though source and destination are `the same,' don't fail
+ if the destination is a symlink. From Peter Samuelson.
+
+1999-04-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/dd.c (main): If you can't open an output file (with
+ seek=...) read-write, then open it for write and report an
+ error if we can't seek.
+
+ * lib/filemode.c (setst, ftypelet, mode_string):
+ * lib/mkdir.c (mkdir):
+ * lib/makepath.c (make_path):
+ * lib/modechange.c (make_node_op_equals, mode_compile,
+ mode_create_from_ref, mode_adjust):
+ * lib/modechange.h (mode_adjust):
+ * src/chmod.c (describe_change, change_file_mode):
+ * src/copy.c (copy_reg, copy_internal):
+ * src/copy.h (struct cp_options.umask_kill):
+ * src/cp.c (do_copy, cp_option_init, main):
+ * src/dd.c (main):
+ * src/install.c (mode, cp_option_init, DIR_MODE):
+ * src/mkdir.c (main):
+ * src/mkfifo.c (main):
+ * src/mknod.c (main):
+ * src/mv.c (cp_option_init):
+ * src/touch.c (open_maybe_create):
+ Use proper mode_t types and macros.
+ Don't assume the traditional Unix values for mode bits.
+
+ * lib/filemode.c (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH,
+ S_IXOTH): Define if not defined.
+ (rwx): Remove.
+ * lib/mkdir.c (S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined.
+ * lib/makepath.c (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRWXU):
+ Define if not defined.
+ * src/system.h (S_ISUID, S_ISGID, S_ISVTX, S_IRWXU, S_IRWXG, S_IRWXO):
+ Define if not defined.
+ (CHMOD_MODE_BITS): New macro.
+ * src/install.c (isodigit): Remove unused macro.
+
+ * src/mkfifo.c, src/mknod.c (usage):
+ Use symbolic mode as default, not octal.
+
+ * lib/utime.c (utime_null):
+ Don't pass 0666 to open; it's not needed and isn't
+ guaranteed to be portable.
+
+ * lib/filemode.h: <config.h>, <sys/types.h>: Include for mode_t.
+ (mode_string): Now takes mode_t.
+
+ * lib/modechange.h: Include <config.h>, <sys/types.h> for mode_t.
+ (struct mode_change): Members affected and value are now mode_t instead
+ of unsigned short.
+
+ * doc/fileutils.texi, doc/perm.texi:
+ Don't assume traditional Unix mode numbering.
+
+ * lib/modechange.c: modechange.h now includes sys/types.h.
+ Include xstrtol.h.
+ (isodigit, oatoi): Remove.
+ (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP,
+ S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG,
+ S_IRWXO): Define if not defined.
+ (CHMOD_MODE_BITS): New macro.
+ (mode_compile): Convert from octal with xstrtoul, not our own routine.
+
+1999-04-24 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0g.
+
+1999-04-22 Jim Meyering <meyering@ascend.com>
+
+ * src/shred.c (word32): Don't use `#error'; it runs afoul of
+ SunOS 4.1.4 cc. From Paul Eggert.
+
+ * lib/strtoull.c: Guard strong_alias and weak_alias with #ifdef _LIBC.
+
+1999-04-20 Paul Eggert <eggert@twinsun.com>
+
+ Replace our temporary hack implementation of strtoumax with
+ something very close to the real code in glibc.
+
+ * lib/xstrtoumax.c: Remove the temporary strtoumax replacement;
+ we now have a true replacement in strtoumax.c.
+ (__strtol): Always define to strtoumax.
+ (<stdlib.h>): No need to include.
+ (PARAMS): Remove.
+ (my_strtoumax): Move this to strtoumax.c,
+ rename it to strtoumax, and simplify.
+
+ * lib/strtoull.c, lib/strtoumax.c: New files.
+
+ * lib/strtol.c: Update to glibc 2.1.1 version.
+
+1999-04-20 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (EXTRA_DIST): s/posix-warn/env-warn/.
+ (check-local): Also test and warn if CDPATH is set.
+
+1999-04-20 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_CANONICAL_HOST): Add; needed for new AC_LFS's
+ cross-compilation.
+ * config.guess: New file (from autoconf).
+ * config.sub: New file (from autoconf).
+
+ * src/shred.c <config.h>: Include first, since it can do
+ things like #define const, and this must be done before
+ including any system headers.
+
+ * lib/xstrtoumax.c (my_strtoumax): Fix typo in computing
+ whether overflow occurred. Improve overflow-detection to use
+ only one conditional branch total, rather than 2N+1
+ conditional branches for an N-digit number.
+
+1999-04-18 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AC_CHECK_FUNCS): Remove strtoull, strtoumax, and
+ strtouq, now that they're checked in m4/xstrtoumax.m4.
+
+1999-04-18 Paul Eggert <eggert@twinsun.com>
+
+ * doc/fileutils.texi, src/shred.c (main, longopts):
+ Use -u instead of -R for --remove, so that we can preserve
+ future compatibility with rm.
+
+1999-04-18 Jim Meyering <meyering@ascend.com>
+
+ * src/shred.c [!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536.
+ (do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize
+ member directly.
+
+1999-04-18 Paul Eggert <eggert@twinsun.com>
+
+ Fix shred to do the right thing with off_t longer than long.
+ Merge large-integer parsing code with similar code in dd.c,
+ and put the resulting in lib/xstrtoumax.c so that other programs
+ can use it. Instead of adding a new lib/xstrtoumax.h I thought
+ it cleaner to put all the xstroto* declarations into a single
+ header, which for now is lib/xstrtol.h for lack of a better place.
+ (Mayby lib/xstdlib.h would be better? :-)
+
+ I thought of several other problems with shredding regular files;
+ shredding devices is much more reliable. So I changed the defaults
+ to be more suitable for shredding devices; this should help encourage
+ users to do the right thing.
+
+ pfstatus isn't portable to environments with varying width
+ fonts, or with internationalized environments where the byte
+ count of the message is not the same as its print width.
+ Rather than deal with this, I just simplified it to not do
+ tricks with carriage-returns and spaces. (I'm also worried
+ that vprintf may not return the right value on some hosts; I
+ vaguelly recall this being a problem.) As a result, -v and -
+ no longer conflict.
+
+ When removing a special file, try to truncate it first, but don't
+ worry if this reports an error.
+
+ Try to find the size of a non-regular file by seeking to its end.
+
+ Various porting fixes, mostly because of a port to SunOS 4.1.4 cc.
+
+ Some other minor bug fixes.
+
+ * lib/xstrtoul.h: Remove this file.
+ * lib/xstrtoumax.c: New file.
+
+ * configure.in (AC_CHECK_FUNCS): Add strtoull, strtoumax, strtouq.
+
+ * lib/xstrtoul.c (STRING_TO_UNSIGNED): Remove.
+ (__strtol, __strtol_t, __xstrtol): New macros.
+
+ * lib/xstrtol.c (__strtol, __strtol_t, __xstrtol):
+ New macros to specify the
+ underlying function, its returned type, and our function. Default to
+ values suitable for xstrtol.
+
+ Include <ctype.h>, since we use its macros.
+
+ (ULONG_MAX, LONG_MAX, ISBLANK): Remove: no longer needed.
+ (ISSPACE): New macro.
+
+ (bkm_scale, bkm_scale_by_power, __xstrtol, main): __unsigned long int
+ -> __strtol_t.
+
+ (__xstrtol): Depend on whether __strtol_t is an unsigned type, not on
+ whether STRING_TO_UNSIGNED is defined. Skip isspace chars, not
+ isblank chars, to match strtol. When returning
+ LONGINT_INVALID_SUFFIX_CHAR, store the value that we computed into
+ *val.
+
+ * lib/xstrtol.h (__xstrtol, __strtol, __unsigned): Remove macro decls.
+ <inttypes.h>: Include if HAVE_INTTYPES_H.
+ (_DECLARE_XSTRTOL): New macro.
+ (xstrtol, xstrtoul, xstrtoumax): Declare all three functions, so that
+ we need only one include file, not three.
+ (_STRTOL_ERROR): Do not undef, as this is no longer needed.
+ Reword overflow message so that it's independent of type.
+
+ * lib/Makefile.am (libfu_a_SOURCES): Add xstrtoumax.c.
+ (noinst_HEADERS): Remove xstrtoul.h.
+
+ * lib/xmalloc.c (xalloc_fail):
+ Pass xalloc_msg_memory_exhausted through gettext.
+
+ * lib/getdate.y:
+ <stdlib.h>: Include if HAVE_STDLIB_H, since bison 1.27 invokes "free".
+ (LookupWord, yylex): Don't pass negative char to ctype macros.
+
+ * doc/fileutils.texi:
+ Explain why shredding devices is more reliable, and why the
+ default options are more suitable for devices.
+
+ Remove withdrawn options -b or --no-contents, -c or --freed-contents,
+ -C or --all-contents, -k or --no-links, -l or --ordinary-links, -L or
+ --all-links.
+
+ Add -R or --remove, -s or --size.
+
+ -v can no longer be doubled.
+
+ `file system' --> `filesystem' uniformly.
+
+ * src/chgrp.c: Include xstrtol.h, not obsolete file xstrtoul.h.
+
+ * src/shred.c: Include xstrtol.h, not obsolete file xstrtoul.h.
+ "human.h", "xalloc.h": Include.
+ (attribute): Remove; no longer needed.
+ (xstrdup): New decl.
+ (STDOUT_FILENO): New macro.
+ (O_NOCTTY): Make sure it's always defined, even if HAVE_CONFIG_H.
+
+ The following changes have effect only if !HAVE_CONFIG_H.
+ <ctype.h>: New include.
+ (RETSIGTYPE): Remove bogus semicolon at end.
+ (STDOUT_FILENO, uintmax_t, human_readable, LONGEST_HUMAN_READABLE):
+ New macros.
+ (xstrtoumax): Renamed from xstrtoul, with corresponding type changes.
+ Handle suffixes like the real routine does.
+ (error): Remove bogus assignment of errno to errnum.
+ (xmalloc, xstrdup): New functions.
+
+ (O_NOCTTY): Define even if !HAVE_CONFIG_H.
+ (S_ISFIFO, S_ISSOCK): New macros, if not already defined.
+ (OUTPUT_BLOCK_SIZE): New macro.
+ (struct Options.verbose): Now a boolean, since we no longer have two
+ levels of verbosity.
+ (long_opts, usage, main): Remove -D or --device option. Invert -p or
+ --preserve option, and rename it to -R or --remove.
+ (usage): Describe G suffix.
+ (usage): "-" no longer conflicts with -v.
+ (UCHAR_MAX): Indent `#error' so that SunOS 4.1.4 cc doesn't reject it.
+ (ind): Portability fixes: return word32, not unsigned; multiply by
+ sizeof (word32) instead of shifting left by 2.
+ (isaac_refill, isaac_mix): Comment out size of array parameter, as
+ ansi2knr mishandles this.
+ (status_visible, status_pos, pfstatus, flushstatus): Remove, since
+ pfstatus isn't portable to users with varying width fonts, or
+ internationalized messages, and vfprintf is problematic. All callers
+ of pfstatus changed to use error instead; this removes incompatibility
+ of -v with -. All calls to flushstatus removed.
+ (dopass, do_wipefd): Do not translate non-English msgs with gettext.
+
+ (dopass): Cast lseek constant arguments to (off_t) for benefit
+ of pre-ANSI compilers; fix one lseek call whose args were interchanged.
+ Remove unnecessary casts to (off_t). Do not check for EIO
+ when determining file size; this was just my earlier wild guess.
+ Use human_readable to print off_t, instead of casting to unsigned long
+ (which doesn't work in Solaris 2.6, where off_t is longer than long).
+ Output human-readable sizes, instead of always using "K".
+ Check for offset overflow (it happened to me in SunOS 4.1.4).
+ (do_wipefd): Do not insist on regular files, but do check for special
+ files that cannot possibly be shredded.
+ Use xmalloc instead of malloc + check.
+ Do not inspect st_size for non-regular files.
+ Try to find the size of a non-regular file by seeking to its end.
+ Do not assume that a regular file of size-0 has unknown size.
+ Check for regular files with negative sizes,
+ and for overflow after rounding to next block.
+ Always try to truncate, even for special files, but do not report an
+ error if truncation fails on a special file.
+
+ (dopass, wipefile): Do not return 1 for special files; the caller
+ doesn't care any more.
+
+ (wipefd): Remove unnecessary (and nonportable) check for
+ whether the file descriptor is read-only. Remove
+ no-longer-needed check for `-v -'.
+
+ (incname): Return 1 for carry bit, like the documentation says.
+
+ (wipename, wipefile): Accept new argument, specifying the
+ quoted file name. All callers changed.
+
+ (wipename): Use xstrdup instead of strdup+error check.
+
+ (wipefile): Check for ENOTDIR when opening /dev/fd/NNN. Check for
+ errors in NNN more carefully. Restore errno after the check.
+ Check for errors when closing the file descriptor.
+ Use more consistent wording when unable to remove a file.
+
+ (main): Do not remove files by default.
+ Use xstrtoumax instead of xstrtoul uniformly, since xstrtoul won't
+ exist if !HAVE_CONFIG_H.
+ In diagnostics, quote invalid operands to -n and -s options.
+ Allow T, P, E, Z, and Y suffixes in -s operand.
+ flags.verbose is now a boolean, not a counter.
+ Use STDOUT_FILENO instead of 1, for clarity.
+
+ * lib/human.c:
+ Include xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the
+ xstrto... functions.
+
+ * src/dd.c: Include xstrtol.h.
+ (parse_integer): Migrate most of the work into the new xstrtoumax fn.
+
+ * lib/xstrtoumax.c: New file.
+
+1999-04-18 Jim Meyering <meyering@ascend.com>
+
+ * src/dd.c (main): Open the output file with *read* access
+ only if we might need to read to satisfy a `seek=' request.
+ From Matthias Urlichs.
+
+1999-04-10 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.maint (alpha): Add trailing slash for ncftp.
+
+ * Version 4.0f.
+
+ * configure.in (AC_OUTPUT): Add tests/dd/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add dd.
+ * tests/dd: New directory
+ * tests/dd/misc: New file.
+
+ `ls --color' would segfault
+ * src/ls.c: Include assert.h.
+ (color_indicator[]): Add an entry for the type, `door.'
+ (main): Assert that the lengths of the color_indicator and
+ indicator_name arrays are appropriately related.
+ Reported by John Gotts.
+
+ * src/dd.c (scanargs): Fix bug introduced with last change: now that
+ the loop is gone, manually decrement argc and increment argv.
+ Reported by Andreas Jaeger and jvogel@linkny.com.
+
+1999-04-07 Jim Meyering <meyering@ascend.com>
+
+ * lib/getdate.y (difftm): Protoize.
+
+1999-04-06 Jim Meyering <meyering@ascend.com>
+
+ * lib/strftime.c: Update from master source in libc.
+
+1999-04-04 Jim Meyering <meyering@ascend.com>
+
+ * tests/ln/misc: Comment out the test added on 1999-01-31.
+
+ * Makefile.maint (url_dir_list): Define properly.
+ (real_dir_list): Likewise.
+
+ * src/shred.c: Don't include string.h.
+ [!HAVE_CONFIG_H]: Include string.h here.
+ [!HAVE_CONFIG_H]: Hard-code RETSIGTYPE to `int'.
+ (sigill_handler): Change return type and type of local `oldhandler' to
+ RETSIGTYPE.
+ (isaac_seed_machdep): Change and type of local `oldhandler' to
+ RETSIGTYPE.
+ From Colin Plumb.
+
+ * Version 4.0e
+
+ * tests/cp/same-file: Change the sed command used to extract the
+ filename from ls -l output, to accommodate the change in format.
+
+ * src/ls.c (print_long_format): Add a space between %s and %3u. This
+ assures that even when modebuf has the trailing `+' and there are more
+ than 99 hard links to a file, the permissions string and the link count
+ will be separated.
+
+1999-04-03 Jim Meyering <meyering@ascend.com>
+
+ * src/shred.c (dopass): add curly braces to avoid warning about
+ ambiguous `else'.
+ (wipefd): Add parentheses suggested by gcc.
+ (do_wipefd): Remove declaration of unused local.
+
+1999-04-02 Colin Plumb <colin@nyx.net>
+
+ * shred.c [!HAVE_CONFIG_H] (xstrtoul, error, close_stdout): Added stubs
+ to allow standalone compilation.
+
+ (wipefile): Added support for emulating /dev/fd/# files even if
+ the OS doesn't support them. From Paul Eggert.
+
+ (main, usage): Changed --device short option to -D.
+
+ (wipefd, do_wipefd): Renamed function to do_wipefd and added
+ separate wipefd that performs sanity checks on externally-opened file
+ descriptors, such as not append-only. From Paul Eggert.
+
+ (do_wipefd, isaac_seedfd): Do not read file for any reason.
+ if the file is low-entropy, it's a security hole.
+ (wipefile) Changed to open O_WRONLY and chmod to write-only when
+ forcing.
+ (isaac_seedfd) Function deleted as unnecessary.
+ From Paul Eggert.
+
+ (dopass): Dynamically fall back to fsync() if fdatasync() fails,
+ since POSIX, in their infinitesimal wisdom, encourage implementations
+ that return constant -1, making compile-time testing useless.
+ From Paul Eggert.
+
+ (dopass): Changed to support a size of -1 to mean "unknown".
+ This entailed changing to a counting-up offset rather than couting-down
+ cursize for the central state variable. Also changed size argument to
+ be call-by-reference so that it can be passed back once known.
+ (sizer) Function deleted as unnecessary.
+ (wipefd): Changed to match. From Paul Eggert
+
+ (dopass): Try to skip over bad blocks in destination files.
+ Also added ftruncate() for more complete destruction of metadata.
+
+ (main, usage): Changed "-" to stand for standard output.
+ (wipefd): Added error message to detect conflict with -v.
+
+ (dopass): Added periodic fsync() calls to keep the pass progress
+ display in sync with reality. Hopefully they're sufficiently far spaced
+ that throughput isn't affected. It might be a good thing to do even in
+ non-verbose mode, to avoid filling up the kernel caches with dirty data.
+ Also added ftruncate() for more complete destruction of metadata.
+
+ (quotearg_colon): New function to print
+ pathological filenames properly.
+ [!HAVE_CONFIG_H] (quotearg_colon_buf) New internal helper function
+ that does most of the work.
+ (wipefd, do_wipefd, dopass) Now take a qname (pre-quoted name) argument.
+ (wipename, wipefile, main) Changed diagnostics to use quotearg_colon.
+ Error messages are also in a more uniform format.
+ From Paul Eggert.
+
+ (struct Options, main, do_wipefd): Added -s/--size=N flag.
+ (xstrtoul): Added support for valid_suffixes to help this.
+ (usage) Documented it.
+
+ (error): Changed some arguments from N_() to _(), since error()
+ does not translate its argument. I think this is a bug.
+
+ (struct Options do_wipefd, wipefd, wipefile, main): moved passes
+ argument into the Options structure as n_iterations, which is now a
+ size_t. From Paul Eggert.
+
+ (isaac_seed_start, isaac_seed_data, isaac_seed_finish): New functions
+ to manage seeding of RNG with arbitrary-sized data.
+ (isaac_init): commented out as dead code.
+ (isaac_seed): changed to use new functions to prevent any possibility of
+ a buffer overflow.
+
+ (isaac_seed): Added support for Solaris' gethrtime()
+ configure.in: Corresponding feature test. From Paul Eggert.
+
+ (wipename): Change remove() to unlink() for speed & portability.
+ Use lstat() instead of access() to see if a filename is taken. This
+ works even on dangling symlinks and avoids the suid problems of
+ access(2). From Paul Eggert.
+
+ (isaac_seed_machdep): New function for reading cycle counters
+
+1999-04-02 Paul Eggert <eggert@shade.twinsun.com>
+
+ * configure.in (AC_CHECK_FUNCS): Add gethrtime.
+
+ * src/shred.c (isaac_seed): Don't overrun the s->mm buffer.
+ Use gethrtime if available. Don't assume that clock_gettime succeeds.
+ Put most random sources first.
+
+1999-04-02 Paul Eggert <eggert@twinsun.com>
+
+ shred: Add new options -bcCklL and fix some porting problems.
+ Remove options -dp. Do not read output files.
+
+ * src/shred.c (long_opts, usage, main, wipefile): Adjust to
+ new options.
+ ("human.h", "quotearg.h"): New includes.
+ (struct Options): New members contents, links, n_iterations.
+ Remove allow_devices, remove_file. Change n_iterations to size_t.
+ All uses changed.
+ (output_block_size): New var.
+ (usage): Declare __noreturn__ attribute.
+ (fdatasync): Define to -1 if not present, since we need to invoke both
+ fdatasync and fsync if both are present. All invokers of fdatasync
+ now try fdatasync, then fsync.
+ (MIXIN): New macro.
+ (isaac_seed): Use it to mix in values. Add uid, gid to mix.
+ Don't use gettimeofday, as it has too many porting problems.
+ (isaac_seedfd): Remove, since we no longer read the output files.
+ (sizefd): Remove; we now determine size by writing sequentially.
+ (dopass, wipename, wipefile, main): Clean up error messages.
+ (dopass): Keep track of offset relative to start of file, not
+ end, since we may not know how large the file is. If size is
+ negative, write until we fall off the end of the file.
+ (wipefd): Do not read output file.
+ Return 0 if successful, -1 if not; do not make a special case for
+ non-regular files, since our callers have that info now.
+ (wipename): Now static. Return errno if error.
+ (main): "-" now stands for standard output.
+ Do not shred append-only standard output.
+ (wipefile): Do not grant read permission to file when wiping it.
+ Use symbolic permission (S_IWUSR), not octal.
+
+ * src/system.h (S_IWUSR): Define if not already defined.
+
+ * configure.in (AC_SEARCH_LIBS): Prefer rt to posix4, for Solaris 7.
+ (AC_CHECK_FUNCS): Remove gettimeofday.
+
+ * doc/fileutils.texi: Document recent changes.
+
+1999-04-01 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AC_CHECK_FUNCS): Add acl.
+ (AC_CHECK_HEADERS): Add sys/acl.h.
+ * src/ls.c [HAVE_SYS_ACL_H]: Include sys/acl.h.
+ (struct fileinfo): New member `have_acl'.
+ (gobble_file): Initialize it.
+ (print_long_format): Use it.
+ Mostly from Alen Muzinic.
+
+ * src/touch.c (open_maybe_create): New function.
+ (touch): Rewrite not to use `creat' and to eliminate a race
+ condition that could make touch truncate a nonempty file.
+ Report and suggestions from Andrew Tridgell.
+
+1999-03-31 Jim Meyering <meyering@ascend.com>
+
+ * src/du.c: Remove prototypes and tsort function definitions.
+
+ * src/chown.c (main): Move the declaration of `e' into the scope
+ where it's used and make it `const'.
+
+ * src/install.c (main): Qualify a char* with the `const' keyword.
+ (install_file_in_dir): Likewise.
+ * src/ln.c (main): Likewise.
+ * src/mkdir.c (main): Likewise.
+ * src/mkfifo.c (main): Likewise.
+ * src/mknod.c (main): Likewise.
+ * src/mv.c (main): Likewise.
+ * src/touch.c (touch): Likewise.
+
+1999-03-30 Jim Meyering <meyering@ascend.com>
+
+ * src/*.c: Don't include closeout.h or version-etc.h explicitly.
+ Now, they're included via sys2.h.
+
+1999-03-29 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (GNU_PACKAGE): Remove related code -- now it's in
+ the catch-all for shared autoconf code, m4/jm-macros.m4.
+ (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use
+ this instead.
+
+1999-03-29 Paul Eggert <eggert@twinsun.com>
+
+ Minor lint removal in code that forks and execs.
+
+ * lib/mkdir.c (mkdir): Use pid_t instead of int; check status
+ against zero. This is to improve portability.
+ * lib/rename.c (rename): Likewise.
+ * lib/rmdir.c (rmdir): Likewise.
+
+ * lib/rename.c (rename):
+ (rename): Do not print any error messages, so that the messages
+ are internationalized properly.
+
+ * src/install.c (strip): Use standard "cannot fork" message.
+ Check for strip nonzero exit status.
+
+1999-03-28 Jim Meyering <meyering@ascend.com>
+
+ `chmod =OP' did not properly apply the umask
+ * lib/modechange.c (make_node_op_equals): New function.
+ (mode_append_entry): Likewise.
+ (mode_compile): When none of [ugoa] is specified in an `=OP' change
+ mode request, insert a `=0' entry into the linked list so that all
+ bits are cleared first. Use the new functions.
+ Reported by Andrew Dalke.
+
+ New test for the above.
+ * configure.in (AC_OUTPUT): Add tests/chmod/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add chmod.
+ * tests/chmod: New directory
+ * tests/chmod/equal-x: New file.
+
+1999-03-27 Jim Meyering <meyering@ascend.com>
+
+ * lib/modechange.c (mode_compile): Upon allocation failure, free
+ everything starting with the head, not the tail.
+
+ * src/install.c (strip): Use pid_t, not int. From John Bley.
+
+1999-03-26 Jim Meyering <meyering@ascend.com>
+
+ * src/dd.c (PROGRAM_NAME, AUTHORS): Define
+ (long_options): Remove unused struct.
+ (scanargs): Remove useless loop.
+ (main): Use PROGRAM_NAME and AUTHORS in call to parse_long_options.
+ * src/mvdir.c: Likewise.
+ * src/sync.c (PROGRAM_NAME, AUTHORS): Define and use.
+
+1999-03-25 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c.
+ (noinst_HEADERS): Add version-etc.h.
+
+ * lib/long-options.c (parse_long_options): Remove version-, copyright-,
+ and author-printing code. Do it via version_etc.
+
+ * lib/version-etc.c: New file.
+ * lib/version-etc.h: Prototype for same.
+
+ * src/sys2.h (GETOPT_HELP_CHAR): Define.
+ (GETOPT_VERSION_CHAR): Define.
+ (GETOPT_HELP_OPTION_DECL): Define.
+ (GETOPT_VERSION_OPTION_DECL): Define.
+ (case_GETOPT_HELP_CHAR): Define.
+ (case_GETOPT_VERSION_CHAR): Define.
+
+ * src/chgrp.c: No longer include long-options.h.
+ Include version-etc.h instead.
+ (PROGRAM_NAME, AUTHORS): Define.
+ [long_options]: Add entries for --help and --version.
+ Remove parse_long_options call.
+ (main) [getopt switch]: Add a case for each of --help and --version.
+ * src/chgrp.c: Likewise.
+ * src/chmod.c: Likewise.
+ * src/cp.c: Likewise.
+ * src/df.c: Likewise.
+ * src/dircolors.c: Likewise.
+ * src/du.c: Likewise.
+ * src/install.c: Likewise.
+ * src/ln.c: Likewise.
+ * src/ls.c: Likewise.
+ * src/mkdir.c: Likewise.
+ * src/mkfifo.c: Likewise.
+ * src/mknod.c: Likewise.
+ * src/mv.c: Likewise.
+ * src/rm.c: Likewise.
+ * src/rmdir.c: Likewise.
+ * src/shred.c: Likewise.
+ * src/touch.c: Likewise.
+
+1999-03-24 Jim Meyering <meyering@ascend.com>
+
+ * man/help2man: Import version 1.010.
+
+1999-03-22 Jim Meyering <meyering@ascend.com>
+
+ * src/chmod.c (usage): Add one-liner. Suggestion from Karl Berry.
+
+1999-03-19 Jim Meyering <meyering@ascend.com>
+
+ * src/automake-wrap: Rewrite the automake-generated rule for
+ clean-binPROGRAMS so that it removes rm even with a losing PATH on a
+ losing system (PATH with `.' before /bin on a system where you can't
+ unlink a running executable). Reported by William Bader.
+
+ * configure.in: Use jm_WINSIZE_IN_PTEM.
+ * src/ls.c [WINSIZE_IN_PTEM]: Include sys/stream.h and sys/ptem.h.
+ Required by SCO ODT 2.0 systems. Reported by William Bader.
+
+1999-03-18 Jim Meyering <meyering@ascend.com>
+
+ * src/remove.c (remove_cwd_entries): Reflect changes in hash_insert.
+ (remove_init): Call hash_initialize with one more argument.
+
+1999-03-15 Jim Meyering <meyering@ascend.com>
+
+ Revamp to allow fine-tuning to control when and by how
+ much the table grows and shrinks.
+ * lib/hash.c (next_prime): Don't assert.
+ (hash_reset_tuning): New function.
+ (check_tuning): New function.
+ (hash_initialize): Accept and use new tuning parameter.
+ (hash_rehash): Rewrite, updating for tuning.
+ (hash_insert): Honor tuning semantics.
+ (hash_delete): Likewise.
+ From François Pinard.
+
+ * lib/hash.h (struct hash_tuning): Define.
+ (struct hash_table) [tuning]: Add member.
+ (hash_initialize): Add `tuning' parameter.
+
+ * lib/hash.c (hash_insert): Remove last parameter and change semantics.
+ * lib/hash.h (hash_insert): Update prototype.
+
+ * lib/hash.c (hash_insert): Don't increment n_entries unconditionally --
+ otherwise, we'd do so even when the insertion failed.
+ From François Pinard.
+
+1999-03-07 Jim Meyering <meyering@ascend.com>
+
+ * lib/xmalloc.c (xalloc_fail): Use "%s" format so the message doesn't
+ have to be scanned for % signs. Suggestion from François Pinard.
+
+ * Makefile.maint: Add two more URLs and the loops to use them.
+
+ * lib/long-options.c (parse_long_options): Include `Copyright...' line
+ in --version output.
+ Add the `...NO warranty...' message.
+
+1999-03-03 Jim Meyering <meyering@ascend.com>
+
+ * lib/long-options.c (_): Define it.
+ (parse_long_options): Accept new parameter, authors, and print it.
+
+ * lib/long-options.h: Update prototype.
+
+ * src/chgrp.c: Include long-options.h
+ [long_options]: Remove the "help" and "version" entries.
+ (main): Use parse_long_options, including author name(s).
+ Remove the show_version and show_help blocks.
+ * src/chmod.c: Likewise.
+ * src/chown.c: Likewise.
+ * src/cp.c: Likewise.
+ * src/dd.c: Likewise.
+ * src/df.c: Likewise.
+ * src/dircolors.c: Likewise.
+ * src/du.c: Likewise.
+ * src/install.c: Likewise.
+ * src/ln.c: Likewise.
+ * src/ls.c: Likewise.
+ * src/mkdir.c: Likewise.
+ * src/mkfifo.c: Likewise.
+ * src/mknod.c: Likewise.
+ * src/mv.c: Likewise.
+ * src/mvdir.c: Likewise.
+ * src/rm.c: Likewise.
+ * src/rmdir.c: Likewise.
+ * src/shred.c: Likewise.
+ * src/sync.c: Likewise.
+ * src/touch.c: Likewise.
+
+1999-02-18 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.y: <alloca.h>: Include if HAVE_ALLOCA_H, not FORCE_ALLOCA_H.
+ The FORCE_ALLOCA_H was a relic of the bad old pre-autoconf Emacs days.
+
+1999-02-17 Jim Meyering <meyering@ascend.com>
+
+ * src/shred.c (wipename): Fix string thinko. Now, shredding files
+ in subdirectories works (dir/file). From Janos Farkas.
+
+1999-02-13 Jim Meyering <meyering@ascend.com>
+
+ * src/dircolors.c (dc_parse_stream): Don't try to dereference
+ NULL if there's an error in our built-in list.
+ Suggestion from François Pinard.
+
+1999-02-13 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * src/install.c (main): Set x.backup_type only if backups are requested.
+ (cp_option_init): Initialize backup_type.
+ (backup_type): Remove unused variable.
+
+ * doc/fileutils.texi: Fix use of @item vs @itemx.
+
+1999-02-08 Jim Meyering <meyering@ascend.com>
+
+ * src/dircolors.c (slack_codes): Add "DOOR".
+ (ls_codes): Add corresponding "do".
+ Reported by John Gotts.
+
+ * configure.in (ALL_LINGUAS): Add Italian (it).
+
+1999-02-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0d (aka 4.1-b4).
+
+ * Makefile.maint (my-distcheck): Don't depend on dist, now that this
+ is hooked up to the distcheck rule.
+ * Makefile.am (distcheck-hook): New target and rule -- link to shared
+ rule, my-distcheck, in Makefile.maint.
+
+ * doc/fileutils.texi (shred invocation): New section. From Colin Plumb.
+
+ * configure.in (jm_FUNC_GETGROUPS): Move the test into a new file,
+ group-member.m4, and just use this new macro.
+ Use `.$ac_objext', not the literal `.o'.
+
+1999-02-02 Jim Meyering <meyering@ascend.com>
+
+ * src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR):
+ Define to zero if not already defined.
+ (HAVE_SYMLINKS): Define.
+ (gobble_file): Remove #ifdef.
+ (get_link_name, make_link_path): Guard these with #if HAVE_SYMLINKS
+ rather than #ifdef S_ISLNK.
+ (print_type_indicator): Remove #ifdefs and reorganize.
+ (print_color_indicator): Remove #ifdefs.
+ (length_of_file_name_and_frills): Likewise.
+
+1999-02-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * src/dircolors.hin: Handle DOOR.
+
+ * src/ls.c (print_type_indicator): Print doors as '>'.
+ (length_of_file_name_and_frills): Account for this.
+ (indicator_no): Define C_DOOR.
+ (indicator_name): Add corresponding name.
+
+ * lib/filemode.c (ftypelet): Handle doors.
+
+ * lib/filemode.c, src/system.h (S_ISDOOR): Define if missing.
+
+1999-02-01 Jim Meyering <meyering@ascend.com>
+
+ * lib/strcasecmp.c (STRXCASECMP_FUNCTION): Don't increment within macro
+ argument list. From Akim Demaille.
+
+1999-01-31 Jim Meyering <meyering@ascend.com>
+
+ * doc/fileutils.texi: Wrap the @top node in @ifnottex instead of
+ @ifinfo so `makeinfo --html ...' works. From Karl Berry.
+
+ * tests/ln/misc: Add test for this.
+ * src/ln.c (do_link): Allow creation of a hard link to a dangling
+ symlink. Reported by Alexey Solovyov.
+
+ * src/copy.c (copy_internal): Describe any backup-related renaming
+ operations when in verbose mode.
+ (copy_internal): Likewise.
+ Based on changes from Marty Leisner.
+
+ * lib/lchown.c: Declare chown.
+
+1999-01-30 Jim Meyering <meyering@ascend.com>
+
+ * acconfig.h: Remove uintmax and STAT* #undefs.
+ * configure.in: Require autoconf 2.13.
+ Remove test for AFS.
+ Use 3-argument form of AC_DEFINE*.
+
+1999-01-28 Jim Meyering <meyering@ascend.com>
+
+ * po/POTFILES.in: Add src/shred.c.
+
+ * src/system.h: Use TIME_WITH_SYS_TIME-based #if test rather than
+ TM_IN_SYS_TIME based one (for shred).
+
+ * acconfig.h: Remove lots of `#undef's, now that we use the
+ 3-argument forms of AC_DEFINE* macros.
+
+1999-01-25 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (fdatasync): Use AC_CHECK_FUNCS instead of
+ AC_REPLACE_FUNCS.
+ (AC_CHECK_FUNCS): Add clock_gettime.
+
+ * src/shred.c (isaac_seed): Guard clock_gettime with test of
+ HAVE_CLOCK_GETTIME, not CLOCK_REALTIME.
+ (wipename): Rename local dirfd to dir_fd to avoid shadowing the
+ function declared in Linux's dirent.h.
+
+1999-01-25 Akim Demaille <demaille@inf.enst.fr>
+
+ * lib/argmatch.h (ARRAY_CARDINALITY): Define.
+ (ARGMATCH_ASSERT): New macro.
+
+ * lib/argmatch.c (program_name): Remove dcl.
+ Include error.h.
+ (argmatch_invalid): Use error rather than fprintf.
+
+1999-01-24 Jim Meyering <meyering@ascend.com>
+
+ * src/ansi2knr.c: Exit nonzero upon failed write to stdout.
+ New version from L. Peter Deutsch.
+
+ * lib/quotearg.c (quotearg_n_options): Revert type of parameter `n'
+ (and hence that of the local `n1', too) to `int' at Paul's request.
+
+ * lib/closeout.c: Add comments.
+
+ * src/shred.c (fdatasync): Remove function. instead, ...
+ (fdatasync) [! HAVE_FDATASYNC]: Define to fsync.
+ From Colin Plumb.
+
+1999-01-23 Jim Meyering <meyering@ascend.com>
+
+ * src/Makefile.am (bin_PROGRAMS): Add shred.
+ * src/shred.c: New file.
+ Portability tweaks.
+ Internationalize.
+ (wipename): Print the `FILE: deleted' and `FILE: deleting' messages
+ only when in verbose mode.
+ (fdatasync) [! HAVE_FDATASYNC]: New function.
+
+ * man/Makefile.am (man_MANS): Add shred.1.
+ * man/Makefile.summ (shred-summary): Define.
+ * man/shred.x: New file.
+
+ * src/shred.c: New file. From Colin Plumb.
+ Include config.h, getopt.h, system.h and error.h.
+ Use #else/#if, not #elif.
+
+1998-11-05 Paul Eggert <eggert@twinsun.com>
+
+ * lib/mktime.c (__mktime_internal): Adopt the traditional (and
+ problematic) notion of what to do when tm_isdst doesn't match.
+
+1999-01-17 Jim Meyering <meyering@ascend.com>
+
+ * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set PATH here, rather
+ than setting RM and CP.
+ * tests/cp/*: Now that PATH is set properly, use rm and cp rather
+ than $RM and $CP.
+
+ * tests/ln/Makefile.am (TESTS): Add backup-1.
+ (TESTS_ENVIRONMENT): Set PATH here, rather than setting LN.
+ * tests/ln/*: Now that PATH is set properly, use ln rather than $LN.
+ * tests/ln/backup-1: New test for this.
+ * src/ln.c (do_link): Try to remove DEST even after renaming it.
+ This fixes a bug reported by Jamie Lokier.
+
+ * src/ln.c (same_name): Use SAME_INODE rather than open coding it.
+
+1999-01-16 Jim Meyering <meyering@ascend.com>
+
+ * lib/argmatch.c (ARGMATCH_DIE_DECL): Use it.
+
+ * acconfig.h: Remove @BOTTOM@ section.
+ Instead, add the define and decl via m4/jm-macros.m4.
+
+ * src/ls.c: Don't declare base_name.
+ Use function-style XARGMATCH once again.
+ * src/touch.c: Likewise.
+ * acconfig.h: Add a @BOTTOM@ section.
+ (ARGMATCH_DIE) [@BOTTOM@]: Define to usage(1).
+ Declare usage.
+ From Akim Demaille.
+
+ * src/cp.c: Remove declarations of base_name and get_version.
+ (main): Don't call getenv ("VERSION_CONTROL"); xget_version does it.
+ Use xget_version and function-style XARGMATCH.
+ * src/mv.c (main): Likewise.
+ * src/ln.c (main): Likewise.
+ * src/install.c (main): Likewise.
+ * lib/quotearg.c (quotearg_n_options): Declare n1 to be of type
+ unsigned int, not just int.
+ * lib/backupfile.h (get_version): Adjust prototype.
+ (xget_version): Add prototype.
+ (base_name): Remove prototype.
+ * lib/backupfile.c [!HAVE_DECL_GETENV]: Declare getenv.
+ (backup_args): Reorder enum members.
+ (backup_types): Likewise.
+ (get_version): Take an additional parameter, `context'.
+ (xget_version): Like get_version, but if the `version' argument is NULL,
+ use the value of the envvar VERSION_CONTROL.
+ (base_name): Declare.
+ Mostly from Akim Demaille.
+
+ * lib/addext.c (base_name): Declare.
+ * src/sys2.h: Add prototype for base_name.
+
+ * lib/argmatch.c: s/argmatch_exit_failure/argmatch_die/
+ * lib/argmatch.h: Likewise.
+
+ * lib/argmatch.h (XARGMATCH): Define to return a value once again.
+ (XARGCASEMATCH): Likewise.
+
+ * lib/argmatch.c (EXIT_FAILURE): Define.
+ (ARGMATCH_DIE): Provide default.
+ (__xargmatch_internal): New function.
+ s/rogram_name/program_name.
+ From Akim Demaille.
+
+1999-01-14 Akim Demaille <demaille@inf.enst.fr>
+
+ * src/touch.c (usage): Don't make it static so that it can be
+ called from libfu.a by xargmatch.
+ * src/chgrp.c (usage): Likewise
+ * src/chmod.c (usage): Likewise
+ * src/chown.c (usage): Likewise
+ * src/cp.c (usage): Likewise
+ * src/dd.c (usage): Likewise
+ * src/df.c (usage): Likewise
+ * src/dircolors.c (usage): Likewise
+ * src/du.c (usage): Likewise
+ * src/install.c (usage): Likewise
+ * src/ln.c (usage): Likewise
+ * src/ls.c (usage): Likewise
+ * src/mkdir.c (usage): Likewise
+ * src/mkfifo.c (usage): Likewise
+ * src/mknod.c (usage): Likewise
+ * src/mv.c (usage): Likewise
+ * src/mvdir.c (usage): Likewise
+ * src/rm.c (usage): Likewise
+ * src/rmdir.c (usage): Likewise
+ * src/sync.c (usage): Likewise
+
+1999-01-12 Akim Demaille <demaille@inf.enst.fr>
+
+ * lib/backupfile.c (get_version): added the parameters KIND.
+ (xget_version): like get_version, but if argument is NULL, honor
+ the envvar VERSION_CONTROL.
+ * src/cp.c: Remove declarations of base_name and get_version.
+ (main): Use xget_version.
+ * src/mv.c (main): Likewise.
+ * src/ln.c (main): Likewise.
+ * src/install.c (main): Likewise.
+
+1999-01-12 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Greek (el).
+ * po/el.po: New file.
+
+ * install-sh: New version from autoconf.
+ * missing: New version from automake.
+ * src/ansi2knr.c: Likewise.
+ * lib/getopt.c: New version from glibc.
+ * lib/getopt.h: Likewise.
+ * lib/getopt1.c: Likewise.
+ * lib/regex.c: Likewise.
+ * lib/regex.h: Likewise.
+ * lib/ylwrap: Remove unused file.
+
+1999-01-10 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0c (aka 4.1-b3).
+
+ * Upgrade to autoconf-2.13 and automake-1.3b.
+
+ * src/copy.c (copy_internal): Handle two more values of errno from
+ failed rename of a directory into a subdirectory of itself.
+ Thanks to Volker Borchert for testing many types and combinations
+ of systems.
+
+ * lib/argmatch.c (ARGMATCH_QUOTING_STYLE): Change from c_quoting_style
+ to escape_quoting_style.
+ (argmatch_invalid): Now that the quoted quantity is no longer double
+ quoted, remove the code that removed leading and trailing double quotes.
+
+ * src/ls.c (decode_switches): Now that escape_quoting_style no longer
+ escapes the SPACE character, arrange for SPACEs to be quoted here.
+ * lib/quotearg.c (quotearg_buffer): Change escape_quoting_style so that
+ it no longer escapes ` '.
+ Suggestion from Paul Eggert.
+
+1999-01-05 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (space): Add `for' in message of statvfs check.
+ From Ulrich Drepper.
+
+1999-01-04 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.1-b2.
+
+1999-01-02 Jim Meyering <meyering@ascend.com>
+
+ * lib/argmatch.c (argmatch_invalid): Remove double quotes from the
+ offending quoted argument before using it in explanatory diagnostic.
+ Use a single fprintf stmt.
+
+ * lib/argmatch.h (XARGMATCH): Don't return a value; instead,
+ modify a parameter. Add a `Die_stmt' parameter.
+ Add parentheses.
+ * lib/argmatch.c (__xargmatch_internal): Remove now-unused function.
+ (argmatch_to_argument): Add `const' attribute to first parameter.
+
+ * configure.in (AC_REPLACE_FUNCS): Remove strcasecmp (now it's
+ done in m4/jm-macros.m4).
+
+ * lib/backupfile.c (get_version): Adapt to use new interface to
+ XARGMATCH.
+ * src/cp.c: Likewise.
+ * src/ls.c: Likewise.
+ * src/touch.c: Likewise.
+
+1999-01-01 Jim Meyering <meyering@ascend.com>
+
+ * lib/makepath.c (make_dir): New function, factored out of make_path.
+ (make_path): Use make_dir rather than open-coding it twice.
+ This effectively reverses the order of the latter pair of stat/mkdir
+ calls and fixes a race condition bug whereby one of two concurrent
+ `mkdir -p' processes could fail with EEXIST.
+ Include locale.h and libintl.h, and define `_()'.
+ Mark translatable strings.
+
+ * lib/xmalloc.c: Add comments.
+ (xcalloc, xmalloc, xrealloc): Remove prototypes.
+ (xcalloc): Remove `#ifdef NOT_USED' that used to hide this function.
+ * lib/xalloc.h: Add comments.
+ (PARAMS, XMALLOC, XCALLOC, XREALLOC): Define.
+ (xcalloc, xmalloc, xrealloc): Add prototypes here.
+ Based on changes from Akim Demaille.
+
+ * lib/quotearg.c (quotearg_buffer): Cast -1 to size_t before comparing.
+ (quotearg_n): Change type of 1st parameter from int to unsigned int.
+ (quotearg_n_options): Likewise.
+ * lib/quotearg.h (quoting_style_vals): New public array.
+ From Akim Demaille.
+ (quotearg_n_options): Declare `options' parameter to be `const'.
+
+ * lib/human.c (humblock): Use ARGMATCH in place of argmatch.
+
+ * lib/backupfile.c (get_version): Use XARGMATCH in place of
+ argmatch & co.
+
+1998-12-31 Jim Meyering <meyering@ascend.com>
+
+ * src/ls.c (indicator_style_types): New variable.
+ (format_types): Rename from `formats'.
+ (color_args): Remove unnecessary `no' string.
+ (color_types): Remove corresponding `color_never' entry.
+ (main): Use ARGMATCH_TO_ARGUMENT.
+ (decode_switches): Use ARGMATCH instead of argmatch code
+ in each of several cases.
+ From Akim Demaille.
+
+ * src/cp.c (main): Use XARGMATCH in place of argmatch & co.
+ * src/touch.c (main): Likewise.
+ * lib/backupfile.c (get_version): Likewise.
+ From Akim Demaille.
+
+ * lib/strncasecmp.c: New file.
+ * lib/strcasecmp.c: Add #ifdefs so it can be used for strncasecmp, too.
+ * lib/argmatch.c (strncasecmp): Move to a separate file.
+ Add curly braces around some one-stmt-but-multiline blocks.
+
+ * lib/argmatch.c: Improvements from Akim Demaille.
+ * lib/argmatch.h: Likewise.
+
+ * lib/addext.c (addext): Protoize.
+ Indent cpp directives to match nesting.
+
+ Fix warnings from gcc -W -Wall
+ * lib/posixtm.c (posix_time_parse): Change type of index `i' from
+ int to unsigned int.
+ * lib/getdate.y (__attribute__): Define.
+ (ATTRIBUTE_UNUSED): Define.
+ (yyerror): Mark parameter as unused with ATTRIBUTE_UNUSED.
+ (MonthDayTable): Add initializers for last entry.
+ (UnitsTable): Likewise.
+ (OtherTable): Likewise.
+ (MilitaryTable): Likewise.
+
+1998-12-22 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.1-b1.
+
+ * configure.in (ALL_LINGUAS): Add chinese (zh).
+
+1998-12-19 Jim Meyering <meyering@ascend.com>
+
+ * tests/ln/misc: Use absolute path for final rm.
+
+ * Makefile.maint (my-distcheck): Run make with
+ CFLAGS='-Wformat -Werror'.
+
+1998-12-18 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c (copy_internal): Remove errnoeous `%s: ' prefix
+ from format string. From Michiel Bacchiani.
+
+ * src/chgrp.c (MAXGID): Define.
+ Use gid_t (not int) as the type for `group' variables.
+ (parse_group): Use MAXGID, not INT_MAX.
+
+ * src/install.c (UID_T_MAX, GID_T_MAX): Remove definitions.
+ * src/sys2.h (UID_T_MAX, GID_T_MAX): Define them here instead.
+
+1998-12-13 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (EXTRA_DIST): Add xstat.in.
+
+1998-12-12 Jim Meyering <meyering@ascend.com>
+
+ 1998-10-15 Akim Demaille <demaille@inf.enst.fr>
+ * src/ls.c: Group DIRED's code together.
+ (full_time, inhibit_group, col_ext_type): Declare static.
+ (dired_dump_obstack): Apply sizeof to variable, instead of its type.
+ (parse_ls_color): Rename ext2 as e2. Move into the block where it
+ is used.
+
+ 1998-10-15 Akim Demaille <demaille@inf.enst.fr>
+ * src/ls.c: In order to distinguish col(umn|or):
+ (init_column_info): Renamed from init_col_info.
+ (struct column_info): Renamed from struct col_info.
+ (struct color_ext_type): Renamed from struct col_ext_type.
+
+1998-12-11 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in.
+ (stat.c): Likewise.
+ * lib/stat.c: Remove file.
+ * lib/lstat.c: Remove file.
+ * lib/xstat.in (xstat@): New file.
+
+ * lib/quotearg.c (quotearg_buffer): Use `7' as the mask, not `3'.
+ From Bruno Haible.
+ * tests/ls-2/tests: Add a test for this.
+
+ * man/help2man: import version 1.006.
+
+1998-12-07 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c: Use dir_name, not dirname. Include dirname.h.
+ * src/cp.c: Likewise.
+ * src/df.c: Likewise.
+ * src/install.c: Likewise.
+ * src/ln.c: Likewise.
+ * src/mvdir.c: Likewise.
+
+ * lib/dirname.c (dir_name): Rename from dirname.
+ Make argument `const'. Include "dirname.h"
+ * lib/dirname.h: New file.
+ * lib/Makefile.am (noinst_HEADERS): Add dirname.h.
+
+1998-12-06 Jim Meyering <meyering@ascend.com>
+
+ * lib/rpmatch.c (rpmatch) [!ENABLE_NLS]: Hard-code tests to use
+ `^[yY]' and `^[nN]' (avoiding regex). From Karl Heuer.
+
+ * lib/*.c: Ansideclify.
+
+ Fix `ls -R .' formatting bug that broke mktexlsr.
+ * src/ls.c: Include path-concat.h.
+ (basename_is_dot_or_dotdot): New function, derived from
+ is_not_dot_or_dotdot.
+ (is_not_dot_or_dotdot): Remove function.
+ (extract_dirs_from_files): Use `!basename_is_dot_or_dotdot'
+ instead of is_not_dot_or_dotdot and use path_concat instead of attach.
+
+ * tests/ls-2/tests: New file (renamed from quoting),
+ with new test for the `ls -R .' fix.
+ * tests/ls-2/quoting: Remove file.
+ * tests/ls-2/Makefile.am (TESTS): s/quoting/tests/.
+
+1998-11-29 Jim Meyering <meyering@ascend.com>
+
+ * src/remove.c (DOT_OR_DOTDOT): Move definition from this file...
+ * src/sys2.h (DOT_OR_DOTDOT): ...to this one.
+
+ * src/dd.c (dd_copy): Rename function from `copy'.
+
+ * src/cp.c (do_copy): Rename local: s/unused/copy_into_self/.
+
+ Per Kristian Hove reported that a certain move-directory-into-self
+ wasn't properly diagnosed.
+
+ * tests/mv/into-self-3: New file.
+ * tests/mv/Makefile.am (TESTS): Add into-self-3.
+ * src/copy.c (copy_internal): Remove earlier (but less effective)
+ test for move/copy-into-self.
+ Instead, deduce the move-into-self condition from errno==EINVAL
+ after a failed rename.
+ * src/mv.c (do_move): Don't arrange to remove DEST in the
+ copied-into-self case.
+
+1998-11-15 Jim Meyering <meyering@ascend.com>
+
+ Bob McCracken reported that mv couldn't handle certain combinations
+ of hard linked source files.
+
+ * tests/mv/hard-link-1: New file.
+ * tests/mv/Makefile.am (TESTS): Add hard-link-1.
+ * src/mv.c (movefile): Don't free new_dest.
+
+ * lib/error.c (error): Don't use strerror_r's return value.
+ From Johan Danielsson.
+
+1998-11-14 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0.
+
+ * Makefile.maint (cvs-dist): Search for `$tag:' rather than just $tag
+ to avoid matching a prefix of another tag.
+
+1998-11-10 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Greek (el).
+ * po/el.po: New file.
+
+1998-11-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-b7.
+
+ Accommodate the Hurd (defining lstat to rpl_lstat via config.h didn't
+ work on Hurd systems because of an inline definition of lstat in a
+ system header file). This also makes it so that you may run `ls '' '
+ on systems that let l?stat operate on the empty string.
+
+ * src/remove.c [HAVE_LSTAT_EMPTY_STRING_BUG]: Define lstat to rpl_lstat
+ and declare the latter.
+ * lib/stat.c [stat]: Remove #undef.
+ (rpl_stat): Protoize.
+ * lib/lstat.c [lstat]: Remove #undef.
+ (rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent
+ with lib/stat.c.
+ * acconfig.h: Remove #undef's for lstat and stat.
+
+1998-10-31 Jim Meyering <meyering@ascend.com>
+
+ * tests/rm/Makefile.am (TESTS): Add new test `empty-name',
+ but comment it out.
+ * tests/rm/empty-name: New file.
+
+ * acconfig.h (stat): New #undef.
+ This omission was uncovered when Mark Kettenis reported that
+ `rm -r ''' got a failed assertion on the Hurd. This change
+ doesn't fix *that* problem -- see above.
+
+1998-10-25 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-b6.
+
+ * README: Man pages will now be supported to the extent that
+ people send patches.
+
+ * tests/rm/unreadable: Two new tests.
+ * tests/rm/Makefile.am (TESTS): Add new test `unreadable'. But comment
+ it out since we're so close to release and since the test compares the
+ text of diagnostics that are likely to vary between systems.
+ (TEST_ENVIRONMENT): Add required framework.
+
+ * src/remove.c (remove_cwd_entries): Don't apply CLOSEDIR to a NULL
+ pointer. (provoke with `mkdir -m 0100 x; rm -rf x')
+ Upon CLOSEDIR failure, set `status' to RM_ERROR, not RM_OK.
+ (remove_dir): Return `status', rather than always RM_OK.
+
+1998-10-18 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-b5.
+
+ * lib/mktime.c: Update from libc with this additional change from Paul.
+ * lib/strftime.c: Likewise.
+
+ 1998-10-17 Paul Eggert <eggert@twinsun.com>
+
+ Don't invoke localtime_r or gmtime_r unless it's the GNU C
+ library's localtime_r and gmtime_r; there are too many buggy
+ implementations of localtime_r and gmtime_r out there, and
+ it's not worth keeping track of all the different bugs.
+
+ * mktime.c (__EXTENSIONS__, HAVE_LOCALTIME_R): Remove.
+ (my_mktime_localtime_r): Renamed from localtime_r; all uses changed.
+ Base it on localtime unless _LIBC.
+
+ * strftime.c (__EXTENSIONS__): Remove.
+ (my_strftime_gmtime_r): Renamed from gmtime_r; all uses changed.
+ (my_strftime_localtime_r): Renamed from localtime_r; all uses changed.
+ Base them on localtime/gmtime if not _LIBC.
+
+1998-10-17 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-b4.
+
+ * lib/mktime.c: Declare localtime_r if necessary.
+ * lib/strftime.c: Likewise.
+
+ * tests/Fetish.pm (run_tests): Run $prog with --version only
+ if $verbose.
+
+1998-10-11 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-b3.
+
+1998-10-08 Paul Eggert <eggert@twinsun.com>
+
+ * mktime.c (__mktime_internal): When the requested time falls
+ in a spring-forward gap of size DT, return a time that is DT
+ away from the requested time, preferring a time whose tm_isdst
+ differs from the requested value. Bump the max number of
+ probes from 4 to 6 to account for the extra probes needed to
+ discover a spring-forward gap in the worst case.
+
+1998-10-08 Paul Eggert <eggert@twinsun.com>
+
+ * mktime.c (my_mktime_localtime_r): Renamed from localtime_r.
+ Define also if HAVE_LOCALTIME_R && defined (localtime_r), with
+ a body that merely expands localtime_r; this works around a
+ bug in Digital Unix 4.0A and 4.0D.
+
+1998-10-05 Jim Meyering <meyering@ascend.com>
+
+ * po/Makefile.in.in (uninstall): Remove (historical?) command that
+ removed po-Makefile.in.in. From Akim Demaille.
+
+ * src/install.c (long_options): Add entry for --suffix=SUFFIX option.
+ From aldomel.
+
+1998-10-04 Jim Meyering <meyering@ascend.com>
+
+ * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define PERL.
+ From Kaveh Ghazi.
+
+1998-10-03 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-b2.
+
+ * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Add PATH.
+
+ * man/Makefile.maint ($(man_MANS)): Don't depend on actual executables.
+ Instead, depend on corresponding source file and on configure.in.
+ Based on suggestion and code from Akim Demaille.
+ Factor out irregular men into Makefile.summ.
+
+ * man/Makefile.am (EXTRA_DIST): Add Makefile.summ.
+
+ * man/Makefile.summ: New file.
+ * man/Makefile.maint: Include it.
+
+ * tests/Fetish.pm: Make `DEBUG' be a little more verbose.
+
+ * tests/mv/Makefile.am (TESTS): Add i-1.
+ * tests/mv/i-1: New test.
+
+1998-10-02 Jim Meyering <meyering@ascend.com>
+
+ * tests/ls-2/Makefile.am (EXTRA_DIST): Remove run-test.
+ * tests/ls-2/run-test: Remove file.
+ * tests/ls-2/quoting: Include /bin/sh driver framework.
+
+ * tests/dircolors/simple: Remove file.
+ * tests/dircolors/run-test: Embed it here instead.
+ * tests/dircolors/simple: Rename from run-test.
+
+1998-10-01 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (EXTRA_DIST): Remove README.
+ From Akim Demaille.
+
+1998-09-28 Jim Meyering <meyering@ascend.com>
+
+ * Version 4.0-pre1.
+
+ * Use automake-1.3b. See notes in README.
+
+ * src/copy.c (copy_internal): Do honor `n' reply in move-mode.
+ Otherwise, `touch a b; echo n|mv -i a b' would remove b.
+ From Bernd Leibing.
+
+1998-09-27 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16z.
+
+ * Makefile.maint (alpha): New target.
+ (my-distcheck): Tweak.
+
+ * lib/backupfile.h: Protect against multiple inclusion.
+ From Akim Demaille.
+
+ * configure.in: Remove use of AC_FUNC_FNMATCH and associated code.
+ Now, it is invoked through jm_MACROS.
+
+ * lib/strftime.c (my_strftime): Update from FSF.
+
+1998-09-26 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c (copy_internal): Don't preserve hard-linked directories
+ to avoid damaging the destination filesystem when copying from a
+ Netapp snapshot directory. With code from Kjetil Torgrim Hollstein
+ and Paul Eggert.
+
+1998-09-24 Jim Meyering <meyering@ascend.com>
+
+ * man/Makefile.maint ($(man_MANS)): Correct typo: s/-tmp/-t/.
+ From Akim Demaille.
+
+1998-09-21 Jim Meyering <meyering@ascend.com>
+
+ * man/Makefile.maint ($(man_MANS)): Remove `echo'.
+
+1998-09-20 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16y.
+
+ * src/install.c (install_file_to_path) [-D]: Create any leading
+ directories with permissions of 0755.
+
+1998-09-19 Jim Meyering <meyering@ascend.com>
+
+ * src/install.c (install_file_to_path): Copy the file after creating
+ any leading directories.
+ (main) [case 'v']: Set `x.verbose' to 1, not 0.
+ Reported by Marty Leisner.
+
+ * man/Makefile.am (transform): Define.
+ (man_MANS): Include ginstall.1, not install.1, to match the name
+ of the executable in ../src.
+ * man/ginstall.x: New file.
+ * man/install.x: Remove file.
+ * man/Makefile.maint (ginstall-summary): Renamed from install-summary.
+
+ * man/Makefile.am (EXTRA_DIST): Add Makefile.maint and GNUmakefile.
+ Reported by Akim Demaille.
+
+ * lib/modechange.c: Fix post-protoization typo.
+
+ * lib/posixtm.h (PARAMS): Define and use.
+ From Kaveh Ghazi.
+
+1998-09-12 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16x.
+
+ * src/remove.c (remove_cwd_entries): Declare to be static.
+
+ Automatically generate man pages from combination of --help
+ output and the contents of new, man/*.x files.
+ * man/Makefile.am (HELP2MAN): Define.
+ (man_aux): Define.
+ (EXTRA_DIST): Add $(HELP2MAN) and $(man_aux).
+ (MAINTAINERCLEANFILES): Add $(man_MANS).
+ * man/*.x: New files.
+ * man/GNUmakefile: New file.
+ * man/Makefile.maint: New file.
+ * man/help2man: New file.
+
+1998-09-09 Jim Meyering <meyering@ascend.com>
+
+ * lib/modechange.c: Protoize.
+
+1998-09-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16w.
+
+ * src/df.c (show_dev) [!posix_format]: When using --print-type,
+ let the device path and the file system type share a single (wider)
+ field if their combined lengths allow it. From Andries Brouwer.
+
+ * tests/touch/empty-file: Upon failure, suggest how to rerun the test
+ with longer delay, in case NFS clock skew was the cause of the failure.
+ Reported by Kaveh Ghazi.
+
+ * tests/ls-2/quoting: Add tests.
+ * tests/Fetish.pm (run_tests): Add simple PRE/POST hooks.
+ (_create_file): Don't include $$ in temp file name.
+ (run_tests): Use shorter suffixes for temp file names.
+
+1998-09-06 Jim Meyering <meyering@ascend.com>
+
+ * src/touch.c: Include posixtm.h.
+ (usage): Correct the description of the format of the
+ date string argument to -t option.
+ (main): Update to use rewritten posixtime function.
+ Reported by Andries Brouwer.
+
+ * lib/Makefile.am (libfu_a_SOURCES): Change posixtm.y to posixtm.c.
+ (noinst_HEADERS): Add posixtm.h.
+
+ * lib/posixtm.h: New file.
+ * lib/posixtm.c: New file. Rewritten based on posixtm.y.
+ * lib/posixtm.y: Remove file.
+
+1998-09-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/ls.c (print_dir_name): Put back.
+ (print_dir): Also print directory name header if print_dir_name is
+ true.
+
+1998-08-29 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16v.
+
+ * src/du.c (long_options): Use corresponding short-option character
+ in place of `1', and `NULL' in place of pointer in initialization.
+ * src/cp.c (long_opts): Likewise.
+ * src/ln.c (long_options): Likewise.
+ * src/mkdir.c (longopts): Likewise.
+ * src/rmdir.c (longopts): Likewise.
+ * src/chown.c: Replace 12 and 13 with CHAR_MAX + 1 and CHAR_MAX + 2
+ respectively.
+ * src/chmod.c (long_options): Replace 12 with CHAR_MAX + 1.
+ * src/chgrp.c (long_options): Replace 12 with CHAR_MAX + 1.
+
+ * tests/Fetish.pm: New file -- moved from ls-2/.
+ * configure.in (AC_OUTPUT): Add tests/dircolors/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add dircolors.
+ (EXTRA_DIST): Add Fetish.pm.
+ * tests/dircolors: New directory
+
+ * src/ls.c (print_dir_name): Remove global variable.
+ (print_dir): When trace_dirs is set, always print the directory
+ name header.
+
+1998-08-26 Jim Meyering <meyering@ascend.com>
+
+ * src/dircolors.c (dc_parse_stream): Don't segfault when a line
+ contains only one token. Reported by Olav Morkrid.
+
+1998-08-24 Paul Eggert <eggert@twinsun.com>
+
+ * src/system.h (CHAR_MIN, CHAR_MAX):
+ Renamed from SCHAR_MIN, SCHAR_MAX, since these
+ macros apply to char, not signed char.
+
+ * src/df.c, src/du.c, src/touch.c (long_options, main):
+ Don't assume ASCII.
+
+1998-08-18 Paul Eggert <eggert@twinsun.com>
+
+ Port nanosecond-resolution times to UnixWare 2.1.2 and
+ pedantic Solaris 2.6.
+
+ * configure.in (AC_STRUCT_ST_MTIM_NSEC): Renamed from AC_STRUCT_ST_MTIM.
+ * acconfig.h (ST_MTIM_NSEC): New #undef.
+ * src/system.h (ST_TIME_CMP_NS, ATIME_CMP, CTIME_CMP, MTIME_CMP):
+ Use new ST_MTIM_NSEC macro.
+
+1998-08-16 Jim Meyering <meyering@ascend.com>
+
+ * lib/filemode.h (PARAMS): Define and use.
+ From Kaveh Ghazi.
+
+1998-08-15 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16u.
+
+ * Makefile.maint (announcement): New target.
+
+ * tests/mv/into-self: Update to reflect changed behavior of mv.
+ * src/mv.c (do_move): Fail upon attempt to move a directory into itself.
+ With prodding from François Pinard :-)
+
+ * tests/ls-2/Fetish.pm: New file
+ * tests/ls-2/run-test: New file
+
+ * src/copy.c (copy_internal) [one-file-system]: Do copy mount point
+ directories (but none of their entries). This makes `cp --archive
+ --one-file-system' use the same policy `tar --one-file-system' does.
+ From Marty Leisner.
+
+ * src/ls.c (qmark_funny_chars): Add comment from Paul eggert.
+
+1998-08-14 Jim Meyering <meyering@ascend.com>
+
+ * tests/mv/setup: Work around another bug in Ultrix4.3a's /bin/sh.
+ Reported by Christian von Roques.
+
+ * configure.in (AC_OUTPUT): Add tests/ls-2/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add ls-2.
+ * tests/ls-2: New directory
+
+1998-08-14 Christian von Roques <roques@pond.sub.org>
+
+ * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNT]: Don't
+ infloop on getmnt(2) returning 0.
+
+ * tests/cp/backup-is-src: Avoid bug in Ultrix4.3a /bin/sh,
+ not initializing output redirection of : command.
+ * tests/mv/backup-is-src: Likewise.
+ * tests/rm/i-1: Likewise.
+
+1998-08-12 Jim Meyering <meyering@ascend.com>
+
+ * po/Makefile.in.in: Provide automake-style DESTDIR support.
+ From Johan Danielsson.
+ (DISTFILES): Remove ChangeLog.
+ po/ChangeLog: Remove empty file.
+
+ * configure.in (AC_STRUCT_ST_DM_MODE): Use it.
+
+ * src/ls.c: Include filemode.h.
+ * src/chmod.c: Likewise.
+
+ * lib/filemode.c (ftypelet): Add comments for Cray DMF support.
+ From Johan Danielsson.
+ Protoize. Tsort function definitions and remove prototypes of
+ static functions.
+ (mode_string): Remove prototype.
+ * lib/filemode.h (mode_string): New file.
+ * lib/Makefile.am (noinst_HEADERS): Add filemode.h.
+
+1998-08-09 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16t.
+
+1998-07-31 Paul Eggert <eggert@twinsun.com>
+
+ Add support for filesystems whose timestamps have better resolution
+ than 1 second (e.g. Solaris 2.6, recent Linux kernels).
+
+ * configure.in (AC_STRUCT_ST_MTIM): Add.
+
+ * src/copy.c (copy_internal): Compare time stamps with
+ subsecond resolution if available.
+
+ * src/ls.c (compare_ctime, rev_cmp_ctime, compare_mtime,
+ rev_cmp_mtime, compare_atime, rev_cmp_atime): Compare time
+ stamps with subsecond resolution if available.
+
+ * src/system.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP,
+ CTIME_CMP, MTIME_CMP): New macros.
+
+1998-08-01 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add slovak (sk) and norwegian (no).
+
+1998-07-28 Paul Eggert <eggert@twinsun.com>
+
+ * lib/mountlist.c (read_filesystem_list): Remove all_fs
+ argument, but put the necessary information into the result so
+ that the caller can ignore filesystems that he's not
+ interested in.
+
+ * lib/mountlist.h (struct mount_entry):
+ New members me_dummy, me_remote.
+ (read_filesystem_list): Remove all_fs argument.
+ (REMOTE_FS_TYPE): Remove.
+ (ME_DUMMY, ME_REMOTE): New macros.
+
+ * lib/xstrtol.c: Remove duplicate include of <stdio.h>.
+
+ * src/df.c (show_all_fs):
+ Revert to boolean value; the old negative value is
+ now in show_local_fs.
+ (show_local_fs): New variable.
+ (show_dev): New args me_dummy and me_class. Use show_local_fs
+ and boolean show_all_fs in combination with these new args
+ to decide whether to show a device.
+ (show_disk): Pass flags to show_dev.
+ (show_point): Use a non-dummy mount entry if possible.
+ (show_all_entries): Pass flags to show_dev.
+ (main): --local sets show_local_fs now. Ask for file system types if
+ show_local_fs is nonzero, since ME_REMOTE might need them.
+
+1998-07-27 Jim Meyering <meyering@ascend.com>
+
+ * tests/install/Makefile.am (TESTS_ENVIRONMENT): Set LS, MKDIR, and RM.
+
+ * tests/install/basic-1: Add a test for this.
+ * src/install.c: Make copy create each destination file initially
+ with mode 0600 so strip will work, then apply specified mode.
+ Arne Henrik Juul reported that `./ginstall -s -c -m 555 dd /tmp' failed.
+
+1998-07-25 Jim Meyering <meyering@ascend.com>
+
+ * src/mv.c (chown): Remove unused definition.
+ Reported by Kaveh Ghazi.
+
+ * src/rmdir.c (main): rmdir fails with EEXIST on some systems.
+ Handle that, so --ignore-fail-on-non-empty works.
+ (EEXIST): Define to zero if not defined.
+ (ENOTEMPTY): Likewise.
+
+ * tests/cp/same-file: Remove `diff' I'd put in for debugging.
+ Exit with the status from cmp.
+
+ * Version 3.16s.
+
+ * tests/cp/same-file: Skip three more unportable tests.
+ These failed on SunOS4.1.4.
+
+ * src/copy.c (SAME_INODE): Remove definition.
+ * src/sys2.h (SAME_INODE): Define it here instead.
+
+ * src/remove.c (same_file): New function.
+ (remove_dir): Use it to give a better diagnostic when rmdir fails
+ because it can't remove the current directory.
+
+ * src/df.c (long_options): Changes table entries not to use this form:
+ {"all", no_argument, &show_all_fs, 1},
+ but rather this form:
+ {"all", no_argument, NULL, 'a'},
+ Using the latter, all the option handling in one place: the getopt loop.
+
+ * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNTINFO]:
+ Use fsp_to_string.
+ (fsp_to_string): Don't xmalloc return value (yet).
+ (xatoi): Ansideclify.
+ (fstype_to_string): Ansideclify.
+ * lib/mountlist.h: Define and use PARAMS macro.
+
+ * lib/utime.c: New file.
+ * src/touch.c (utime_now): Moved into m4/utimes.m4.
+ (touch) [!HAVE_UTIME_NULL]: Remove #ifdef and the use of utime_now
+ in the if-block.
+
+ * configure.in (jm_FUNC_UTIME): Use this, not AC_FUNC_UTIME.
+
+1998-07-22 Paul Eggert <eggert@twinsun.com>
+
+ * lib/human.c (human_readable): amt -> damt, to fix typo when
+ computing which power to use after overflow occurs during
+ multiplication.
+
+ * lib/xstrtol.c: Include <stdio.h> if NDEBUG is not defined;
+ needed on SunOS 4.
+
+1998-07-21 Paul Eggert <eggert@twinsun.com>
+
+ Add df -l or --local option.
+ * doc/fileutils.texi: Document it.
+ * lib/mountlist.h (REMOTE_FS_TYPE): New macro.
+ * lib/mountlist.c (read_filesystem_list):
+ If all_fs is negative, omit non-local filesytems.
+
+ * src/df.c (show_dev): Omit local devices if show_all_fs is negative.
+ (show_all_fs): If negative, omit non-local filesystems.
+ All uses of (all_fs != 0) changed to (all_fs > 0).
+ (long_options, usage, main): Add -l or --local option.
+ (main): When asking for df of an explicit file name, get all
+ the mount points, so that we're more likely to find it when
+ we look it up.
+
+1998-07-18 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c (copy_internal): Add another exclusion from the
+ sameness test: when --force has been specified, the destination
+ is unlinked before any copy.
+ (copy_internal): Add yet another: when both src and dest are symlinks.
+
+ * tests/touch: New subdir.
+ * tests/Makefile.am (SUBDIRS): Add touch.
+ * configure.in (AC_OUTPUT): Add tests/touch/Makefile.
+
+ * tests/mv/into-self-2: New test.
+ * tests/mv/Makefile.am (TESTS): Add into-self-2.
+
+1998-07-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * lib/mountlist.c (read_filesystem_list): Fix more memory leaks on
+ failure.
+
+1998-07-16 Jim Meyering <meyering@ascend.com>
+
+ Work around failure of chown calls on m68k-motorola-sysv systems.
+ * src/chown.c: Include lchown.h.
+ * lib/Makefile.am (noinst_HEADERS): Add lchown.h.
+ * lib/lchown.h: New file, just to define ENOSYS on systems that lack it.
+ * lib/lchown.c: Include lchown.h.
+ Reported by and with suggestions from Manfred Hollstein.
+
+1998-07-12 Paul Eggert <eggert@twinsun.com>
+
+ * src/df.c (print_header): Print "1k-blocks", not "1.0k-blocks".
+
+1998-07-07 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h [HAVE_FCLOSE_UNLOCKED]: Remove unnecessary block.
+ Suggestion from Ulrich Drepper.
+
+1998-07-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/safe-read.c (safe_read): Change type of pointer parameter to
+ `void' to avoid Irix4 cc errors. Reported by Kaveh Ghazi.
+ * lib/safe-read.h: Update prototype.
+
+ * src/dircolors.c (parse_line): Add casts to avoid errors from
+ Irix4's `cc' C compiler. From Kaveh Ghazi.
+
+ * lib/xstrtol.c: Include stdio.h. Required on some systems when
+ using assert. From Kaveh Ghazi.
+
+ * tests/mv/backup-is-src: Use cmp, not diff.
+ Reported by Kaveh Ghazi.
+
+1998-07-03 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16r.
+
+ * src/remove.c (remove_dir): Use fprintf (not error) to avoid
+ newline in prompt.
+
+1998-06-30 Paul Eggert <eggert@shade.twinsun.com>
+
+ * lib/mountlist.c (read_filesystem_list):
+ Don't leak memory on failure.
+ Don't create a dummy struct mount_entry entry;
+ use the address-of-the-tail-address method instead.
+ Preserve errno if possible on failure, setting it to 0 if inapplicable.
+ Close file descriptor leak if the F_SETLKW failed.
+ Report an error if SVR4 lock file cannot be opened for some reason
+ other than a nonexistent lock file.
+
+1998-07-03 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AM_WITH_REGEX): Remove. Now the replacement
+ macro, jm_WITH_REGEX, is bundled with the rest in jm_MACROS.
+ * acconfig.h (WITH_REGEX): Remove undef.
+ * lib/Makefile.am (noinst_HEADERS): Add regex.h.
+ * lib/rpmatch.c: Remove #ifdef around <regex.h> inclusion.
+ * lib/rx.c: Remove file.
+ * lib/rx.h: Remove file.
+
+ * src/df.c (df_readable): Rename local so as not to shadow global.
+
+ * src/copy.c (SAME_INODE): New macro.
+ Use it to replace open-coded equivalents.
+ (copy_internal): Rename variable and reverse sense of tests
+ to make the code a little clearer.
+
+1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/copy.c (copy_internal): Try harder identifying a relative
+ symbolic link in the current directory.
+
+ * src/copy.c (copy_internal): Don't skip test for same file if
+ creating a hardlink from symlink over a non-symlink while making
+ backups.
+ * tests/cp/same-file: Skip tests that depend on link(2) not
+ following symlinks.
+
+1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/copy.c (copy_internal): Don't call chown on a symlink.
+
+1998-07-01 Jim Meyering <meyering@ascend.com>
+
+ * lib/xstrtol.c: Don't define NDEBUG here, now that it's done via
+ configure's --disable-assert option.
+
+1998-06-29 Paul Eggert <eggert@twinsun.com>
+
+ * lib/mountlist.c (read_filesystem_list):
+ Plug file descriptor leak on failure.
+ Report failure if lock file can't be opened for some reason
+ other than nonexistence.
+
+1998-06-29 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16q.
+
+ * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT2]:
+ Always close stream and file descriptor before returning.
+
+ * src/df.c (main): Move the test of the result of the
+ read_filesystem_list call up out of if-block -- code in the
+ else-block depends on it too.
+
+1998-06-29 Paul Eggert <eggert@twinsun.com>
+
+ * lib/mountlist.c (read_filesystem_list): If SVR4, lock
+ /etc/.mnttab.lock if available, to avoid race conditions
+ (e.g. with the automounter on Solaris 2.6).
+
+ Include <errno.h>, <fcntl.h>, <unistd.h>.
+
+1998-06-29 Jim Meyering <meyering@ascend.com>
+
+ * lib/mountlist.c (fstype_to_string): Guard with
+ #if ! HAVE_F_FSTYPENAME_IN_STATFS.
+
+1998-06-28 Paul Eggert <eggert@twinsun.com>
+
+ Add support for new --block-size option and
+ BLOCK_SIZE. DF_BLOCK_SIZE, etc. variables to `df', `du', and `ls'.
+ Adjust df output slightly to accommodate larger filesystems.
+
+ * lib/human.c, lib/human.h (human_readable): Coalesce last two args
+ into one, for convenience. All callers changed.
+ (human_block_size): New function.
+ * lib/human.c: Include <config.h> only if HAVE_CONFIG_H.
+ Include <stdlib.h> if HAVE_STDLIB_H;
+ declare getenv unless HAVE_DECL_GETENV.
+ (_): New macro.
+ Include <argmatch.h>, <error.h>, <xstrtoul.h>.
+ (DEFAULT_BLOCK_SIZE): New macro.
+ (block_size_args, block_size_types): New constants.
+ (humblock): New function.
+ * lib/xstrtol.h (__ZLONG_MAX): Remove.
+ * lib/xstrtol.c (bkm_scale): Don't assume that you can convert
+ unsigned long to double without losing information.
+ (bkm_scale_by_power): New function.
+
+ * lib/xstrtol.c (__xstrtol), src/dd.c (parse_integer):
+ Add support for SI-like suffixes like "GB" and "TD".
+ * src/dd.c (usage): Describe it.
+
+ * src/df.c, src/du.c, src/ls.c (human_readable_base, output_units):
+ Remove; replace with new variable output_block_size. All uses changed.
+ (long_options, usage, main): Add --block-size.
+ (main, decode_switches): Use new human_block_size function to
+ initialize output block size consistently with other programs.
+
+ * src/df.c (print_header, show_dev): Shrink some columns and expand
+ others, to squeeze in support for today's larger filesystems.
+ (print_header): Print output block size using power-of-1024 SI format.
+ (df_readable): Coalesce last two args into one, for convenience.
+ All callers changed.
+ (main): Remove check for portable output format and larger
+ or human-readable block sizes.
+
+ * NEWS, doc/fileutils.texi: Describe above changes.
+
+1998-06-28 Jim Meyering <meyering@ascend.com>
+
+ * src/ls.c (usage): Make --kilobytes description consistent with
+ that in du and df. From Göran Uddeborg.
+
+ * lib/mountlist.c (fsp_to_string): Clean out some crufty #ifdefs
+ now that we're using the jm_FSTYPENAME autoconf macro.
+ James Tanis reported the old version didn't compile on BSDI3.
+
+ * configure.in: Move big block of list_mounted_fs checks into
+ new jm_LIST_MOUNTED_FILESYSTEMS macro.
+ Use new jm_FSTYPENAME macro.
+
+ * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers.
+ * src/ls.c: Add DIRED_ prefix to the macros: PUTCHAR, FPUTS, and
+ FPUTS_LITERAL
+
+1998-06-27 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.c (copy_reg): Detect identical source and dest here.
+ (copy_internal): Make the test symmetric.
+
+ * tests/cp/same-file: New file.
+ * tests/cp/Makefile.am (TESTS): Add it.
+
+1998-06-26 Jim Meyering <meyering@ascend.com>
+
+ * src/remove.c (remove_file): Remove `non-directory' part of
+ `removing non-directory FILE' verbose message.
+
+1998-06-23 Jim Meyering <meyering@ascend.com>
+
+ * src/df.c (show_dev): Increase field width for blocks, used,
+ and available columns from 7 to 8.
+
+1998-06-21 Jim Meyering <meyering@ascend.com>
+
+ * aclocal.m4: Regenerate with fixed gettext.m4 installed.
+ See README-alpha for details.
+
+1998-06-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/automake-wrap: Quote `&' in sed replacement text.
+
+1998-05-31 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16p.
+
+ * src/install.c (main): Fix argv-handling bug in my 1998-05-09 change.
+ Reported by Don Parsons.
+
+1998-05-30 Jim Meyering <meyering@ascend.com>
+
+ * tests/ls/time-1: Clean up ctime test. Note that it fails also
+ on Solaris5.5.1 tmpfs file systems.
+
+ Solve the `rm -f rm' problem more cleanly.
+ * src/.rm-warning: Remove file.
+ * src/automake-wrap: New file.
+ * src/Makefile.am (AUTOMAKE): Define to use automake-wrap.
+ (Makefile.in): Depend on automake-wrap.
+ (EXTRA_DIST): Add automake-wrap.
+ (DISTCLEANFILES): Remove definition.
+ (rm_DEPENDENCIES): Likewise.
+ (.rm-warn-stamp): Remove rule.
+
+1998-05-27 Jim Meyering <meyering@ascend.com>
+
+ * tests/ls/Makefile.am (TESTS): s/cr-1/rt-1/
+ * tests/ls/rt-1: New file, renamed from cr-1.
+
+1998-05-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/Makefile.am (.rm-warn-stamp): Cope with $(srcdir) != ".".
+
+ * tests/ls/cr-1: Don't use the ctime for testing, it is impossible
+ to set it reliably.
+
+1998-05-25 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (_GNU_SOURCE): AC_DEFINE it here.
+ * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section.
+ [!_GNU_SOURCE]: Add #undef instead.
+
+1998-05-24 Jim Meyering <meyering@ascend.com>
+
+ * Version 3.16o.
+
+ * src/ansi2knr.c: Use new version from automake-1.3.
+
+ * src/chown.c: Accept new option, --dereference.
+ --no-dereference is now the default.
+ (enum Change_status) [CH_NOT_APPLIED]: New member.
+ (change_symlinks): Enable this by default, now.
+ (describe_change): Handle new case.
+ (change_file_owner): Add new parameter: cmdline_arg. Update callers.
+ Reorganize to reflect changed semantics.
+ (LCHOWN): Remove definitions.
+
+ * lib/lchown.c: New file.
+
+1998-05-21 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add russian (ru).
+
+1998-05-16 Jim Meyering <meyering@ascend.com>
+
+ * src/remove.c (hash_compare_strings): Return true or false, not 1/0.
+ (remove_cwd_entries): Use RM_OK, not equivalent literal `1'.
+
+ * lib/hash.c (is_prime): Ansideclify.
+ (next_prime): Ansideclify. Add an assertion.
+
+ * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS='
+ lines from the m4/*.m4 macros, so the hack of including some
+ custom-replaced C source file names here is no longer needed.
+
+ * configure.in (jm_MACROS): New wrapper macro.
+ Remove uses of most jm_* macros.
+
+ * acconfig.h (HAVE_STRUCT_UTIMBUF): Remove #undef. Now it's handled
+ as part of utimbuf.m4.
+ (memcmp): Add #undef.
+
+1998-05-12 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Use my replacement AC_ISC_POSIX rather than
+ open-coding it.
+
+ * src/copy.c (copy_internal): Plug a small leak.
+
+1998-05-10 Jim Meyering <meyering@ascend.com>
+
+ * src/mv.c (do_move): Remove lots of code that was duplicated in
+ copy.c (copy), now that copy() has better support for mv. This fixes
+ a bug with cross-filesystem `mv -i' whereby you could get two prompts
+ for the same destination file and eventually remove the destination
+ file even though one of the responses was negative.
+ Reported by Dirk Lattermann.
+
+ * src/copy.h: Better support for mv:
+ [struct cp_options] (move_mode): New member.
+ * src/copy.c (copy_internal): Use new move_mode member.
+ Add parameter.
+ (copy): Add parameter.
+
+ * tests/cp/Makefile.am (TESTS): Add backup-is-src.
+ * tests/mv/Makefile.am (TESTS): Likewise.
+
+ * lib/userspec.c: Don't declare strdup if it's defined as a macro.
+ Reported by Lorne Baker.
+
+ * src/Makefile.am (ginstall_SOURCES): Add copy.c and cp-hash.c.
+
+ * src/mv.c (cp_option_init): Initialize new members.
+ * src/cp.c (cp_option_init): Likewise.
+ (main): Set new preserve_* options.
+
+1998-05-09 Jim Meyering <meyering@ascend.com>
+
+ * src/copy.h: Support for install:
+ [struct cp_options] (failed_unlink_is_fatal): New member.
+ (preserve_owner_and_group): New member.
+ (preserve_chmod_bits): New member.
+ (preserve_timestamps): New member.
+ (preserve): Remove member.
+ (set_mode): New member.
+ (mode): New member.
+ * src/copy.c (new_nondir_mode): New function. Use where appropriate.
+ Use more-specific preserve_* members in place of removed `preserve'.
+ (copy_internal): Honor failed_unlink_is_fatal.
+
+ * src/install.c (main): Rewrite argv-handling to be clearer.
+ (copy_file): Rewrite to use copy.c (copy).
+ (change_attributes): Get rid of now-(with chown wrapper)-unnecessary
+ `no_need_to_chown' parameter. Fix caller.
+ (install_file_in_file): Remove now-unnecessary `to_created' parameter.
+ (cp_option_init): New function.
+ Update several functions to take new parameter specifying copy options.
+
+ * tests/install: New subdir, with one basic test.
+ * tests/Makefile.am (SUBDIRS): Add install.
+ * configure.in (AC_OUTPUT): Add tests/install/Makefile.
+
+ * src/dd.c: Include safe-read.h.
+ Don't declare safe_read.
+ * src/touch.c: Likewise.
+
+ * configure.in (jm_TYPE_SSIZE_T): Use it.
+ * acconfig.h (ssize_t): Add undef.
+
+1998-05-03 Jim Meyering <meyering@ascend.com>
+
+ * po/: Update from gettext-0.10.35.
+ * intl/: Likewise.
+ * configure.in: Remove use of AC_LINK_FILES.
+ (AC_OUTPUT): Remove po/Makefile-generating sed command.
+
+1998-04-28 Jim Meyering <meyering@ascend.com>
+
+ * src/dircolors.c (parse_line): Use ISSPACE, not isspace.
+ Use unsigned char * pointers, not potentially signed ones, to avoid
+ sign extension.
+
+1998-04-26 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Use jm_ASSERT.
+ * acconfig.h: Add NDEBUG.
+
+ * src/mv.c: Don't define NDEBUG.
+ * src/cp.c: Likewise.
+
+1998-04-14 Jim Meyering <meyering@ascend.com>
+
+ * src/.rm-warning: New file.
+ * src/Makefile.am (EXTRA_DIST): Add .rm-warning
+ (DISTCLEANFILES): Add .rm-warn-stamp.
+ (rm_DEPENDENCIES): Depend on .rm-warn-stamp.
+ (.rm-warn-stamp): New rule.
+ (rm_prep): Comment out rule.
+
+ * src/df.c (main): Use STREQ in string equality tests, not strcmp.
+ * src/dircolors.c (dc_parse_stream): Likewise.
+ (dc_parse_file): Likewise.
+ * src/du.c (main): Likewise.
+ * src/ls.c (decode_switches): Likewise.
+ * src/remove.c (hash_compare_strings): Likewise.
+ * src/touch.c (main): Likewise.
+
+1998-04-13 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (noinst_HEADERS): Add safe-read.h.
+
+1998-04-11 Jim Meyering <meyering@ascend.com>
+
+ * lib/hash.c: Add curly braces around statements in
+ if/else/while/do/etc. that span more than a line -- even around
+ multiline simple statements or single-line simple statements
+ preceded by a comment line.
+
+1998-04-09 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Don't use AC_PATH_PROG to check for perl, now that
+ we use jm_PERL.
+
+1998-04-06 Jim Meyering <meyering@ascend.com>
+
+ * src/cp-hash.c (cph_hash_insert): Rename from now-conflicting
+ hash_insert. Also declare to be static.
+ * src/cp-hash.h (hash_insert): Remove declaration.
+
+ * lib/hash.c: Lots of minor spec and name changes, and new comments.
+ (hash_rehash): Rewrite to be easier on the allocator.
+ From François Pinard.
+ * lib/hash.h: More comments.
+ * src/remove.c: Change names/usage of hash-related functions to work
+ with the above.
+
+1998-04-05 Jim Meyering <meyering@ascend.com>
+
+ * lib/regex.c (WIDE_CHAR_SUPPORT): Define.
+ This now depends on HAVE_BTOWC so systems that lack btowc (like
+ solaris-2.5.1) don't lose.
+
+1998-04-04 Jim Meyering <meyering@eng.ascend.com>
+
+ * GNUmakefile: Add conditionals so that running `make' in an
+ unconfigured source directory will get a reasonable diagnostic.
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal
+ know about the m4/ subdirectory.
+ * Makefile.maint (aclocal-files): Remove now-unnecessary (with
+ automake-1.2h and the above change) aclocal-related rules and includes.
+
+1998-04-01 Jim Meyering <meyering@eng.ascend.com>
+
+ * tests/ls/cr-1: New file.
+ * tests/ls/Makefile.am (TESTS): Add cr-1.
+
+1998-03-31 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/system.h (TYPE_MAXIMUM): Cast result to `(t)' so this macro
+ works with `unsigned char'.
+ From Greg Wooledge.
+ (SCHAR_MIN, SCHAR_MAX, SHRT_MIN, SHRT_MAX, LONG_MAX, ULONG_MAX): Define.
+
+ * lib/xstrtol.c: Merge with the version from textutils.
+
+ * lib/memcmp.c (rpl_memcmp): Rename from memcmp.
+
+1998-03-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/ls.c (compare_ctime, rev_cmp_ctime, compare_mtime,
+ rev_cmp_mtime, compare_atime, rev_cmp_atime, compare_size,
+ rev_cmp_size): Use file name as secondary sort key to get
+ consistent sorting.
+
+1998-03-28 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/copy.c: Add copyright.
+ * src/remove.c: Add copyright.
+ [_AIX]: Add #pragma alloca.
+
+1998-03-27 Jim Meyering <meyering@eng.ascend.com>
+
+ * Makefile.maint ($(ACLOCAL_M4)): Replace old rule with this
+ dependency and the := assignment of ACLOCAL to make the default
+ rule use the `-I m4' option.
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h.
+
+1998-03-23 Jim Meyering <meyering@eng.ascend.com>
+
+ * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4
+ automatically handles it.
+
+1998-03-21 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/quotearg.h: Update from patch-2.5.3.
+ * lib/quotearg.c: Likewise.
+ * src/ls.c (decode_switches): Pass a null pointer instead of address
+ of quotearg_quoting_options.
+
+1998-03-19 Paul Eggert <eggert@twinsun.com>
+
+ * lib/fsusage.h (struct fs_usage): New member
+ fsu_bavail_top_bit_set.
+ * lib/fsusage.c: Include <limits.h>.
+ (CHAR_BIT, EXTRACT_TOP_BIT, PROPAGATE_TOP_BIT): New macros.
+ (get_fs_usage): If top bit of system variable corresponding to
+ fsu_bavail is set, then set fsu_bavail_top_bit_set, and
+ sign-extend the value when storing it into fsu_bavail.
+ * src/df.c (show_dev): If fsu_bavail_top_bit_set is nonzero,
+ assume the original value corresponding to fsu_bavail was negative.
+ Reported by Arne Juul.
+
+1998-03-18 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/Makefile.am (rm-prep): Add dependency and rule to save users
+ with `.' too early in their PATH from the `rm: cannot unlink `rm':
+ Text file busy' error. Suggestion from Philippe De Muyter.
+
+1998-03-15 Jim Meyering <meyering@eng.ascend.com>
+
+ * Version 3.16n.
+
+ * lib/chown.c: Use #if, not #ifdef with HAVE_ macros.
+ * lib/closeout.c: Likewise.
+ * lib/dirname.c: Likewise.
+ * lib/euidaccess.c: Likewise.
+ * lib/fileblocks.c: Likewise.
+ * lib/filemode.c: Likewise.
+ * lib/ftruncate.c: Likewise.
+ * lib/group-member.c: Likewise.
+ * lib/isdir.c: Likewise.
+ * lib/long-options.c: Likewise.
+ * lib/mountlist.c: Likewise.
+ * lib/path-concat.c: Likewise.
+ * lib/save-cwd.c: Likewise.
+ * lib/savedir.c: Likewise.
+ * lib/strcasecmp.c: Likewise.
+ * lib/strdup.c: Likewise.
+ * lib/userspec.c: Likewise.
+ * lib/yesno.c:: Likewise.
+
+ * src/chgrp.c: Use #if, not #ifdef with HAVE_ macros.
+ Use #if !, not #ifndef with HAVE_ macros.
+ * src/chown.c: Likewise.
+ * src/copy.c: Likewise.
+ * src/dd.c: Likewise.
+ * src/dircolors.c: Likewise.
+ * src/install.c: Likewise.
+ * src/ls.c: Likewise.
+ * src/mv.c: Likewise.
+ * src/touch.c: Likewise.
+
+ * configure.in: Use jm_PREREQ.
+
+1998-03-14 Jim Meyering <meyering@eng.ascend.com>
+
+ Revert most `getdate.h -> get-date.h' changes of 1998-02-20.
+ With automake-1.2f, that hack is no longer needed.
+
+ * src/remove.c: Use `virtual memory exhausted' message, not
+ `Memory exhausted' to be consistent with the majority of other
+ such messages.
+ Say `removing all...', not `removing any...'.
+ * src/rmdir.c (remove_parents): Be consistent with documentation of
+ --verbose option and with remove.c in saying `removing...' before
+ the operation is attempted.
+ (main): Likewise.
+ Suggestions from Santiago Vila.
+
+ * src/copy.c (copy_dir): Add new parameter, copy_into_self, and set it.
+ (copy_internal): Likewise.
+ (copy): Likewise.
+ Update all callers.
+ * src/copy.h (copy): Update prototype.
+ * src/cp.c (do_copy): Add unused arg in calls to copy.
+ * src/mv.c (do_move): Add &copy_into_self arg in call to copy.
+ Don't remove source directory when copy_into_self is nonzero.
+ Reported by Arne Henrik Juul.
+
+ * tests/mv/into-self: Test for the above.
+ * tests/mv/Makefile.am (TESTS): Add into-self.
+
+1998-02-28 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * userspec.c (parse_user_spec) [__DJGPP__]: Make function know
+ about any arbitrary user and group by pretending to be the user
+ and to belong to the group specified in `spec_arg' argument.
+
+ * idcache.c (getuidbyname) [__DJGPP__]: Make function know about
+ any arbitrary user name.
+ (getgidbyname) [__DJGPP__]: Make function know about any arbitrary
+ group name.
+
+1998-02-24 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/xstrtol.c (TYPE_SIGNED): Define.
+ (TYPE_MAXIMUM): Define.
+ (ULONG_MAX): Use TYPE_MAXIMUM.
+ (LONG_MAX): Use TYPE_MAXIMUM.
+
+ * lib/fnmatch.c: Update from libit.
+ * lib/idcache.c: Update from libit.
+
+1998-02-23 Paul Eggert <eggert@twinsun.com>
+
+ * lib/quotearg.h, lib/quotearg.c: New files.
+ * lib/Makefile.am (libfu_a_SOURCES): Add quotearg.c.
+ (noinst_HEADERS): Add quotearg.h.
+
+ * src/ls.c: Include new file quotearg.h.
+ (enum indicator_style): Rename all to classify, and not_programs
+ to file_type, to match option spellings. All users changed.
+ (indicator_style_args): New constant.
+ (quote_funny_chars, quote_as_string, quote_shell): Remove;
+ (filename_quoting_options, dirname_quoting_options): Use these
+ variables instead.
+ (long_options): Add --indicator-style, --quoting-style,
+ --show-control-chars. Remove --quote-shell.
+ (dired_dump_obstack): Remove style parameter and don't output style.
+ (main): Go back to previous method of outputting //DIRED//
+ and //SUBDIRED// lines, without style. But add a new
+ //DIRED-OPTIONS// line that does output style.
+ (decode_switches, usage): Add --indicator-style, --quoting-style,
+ --show-control-chars. Remove --quote-shell.
+ (decode_switches): Default from QUOTING_STYLE environment variable.
+ Set new quoting vars.
+ (quote_name): Renamed from quote_filename.
+ Take new arg specifying quoting options.
+ Always print; do not have a special case for null FILE * argument.
+ All callers changed.
+ Move the guts of this function to new file quotearg.c.
+ (length_of_file_name_and_frills): Use quotearg_buffer instead
+ of (old) quote_filename to find length of file name.
+
+ (decode_switches, parse_ls_color, print_dir, gobble_file,
+ get_link_name): Quote output in diagnostics.
+
+ * NEWS, doc/fileutils.texi: Describe above changes.
+ * doc/fileutils.texi: Mention that control characters are output
+ as question marks if output is a terminal.
+
+1998-02-22 Jim Meyering <meyering@eng.ascend.com>
+
+ * Version 3.16m.
+
+ * ChangeLog-1997: New file.
+ * Makefile.am (EXTRA_DIST): Add ChangeLog-1997.
+
+1998-02-21 Jim Meyering <meyering@eng.ascend.com>
+
+ * configure.in (AC_OUTPUT): Add tests/mv/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add mv.
+ * tests/mv: New directory
+ * tests/mv/mv-special-1: New test.
+
+1998-02-20 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/touch.c: Include get-date.h.
+ Remove get_date decl.
+
+ * lib/getdate.h: Removed. Could cause confusion with an
+ automake-generated `.y.h' rule.
+ * lib/get-date.h: Renamed from getdate.h.
+ * lib/getdate.y: s/getdate.h/get-date.h/
+ * lib/Makefile.am (noinst_HEADERS): s/getdate.h/get-date.h/
+
+1998-02-19 Jim Meyering <meyering@eng.ascend.com>
+
+ 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
+ * lib/fileblocks.c [__DJGPP__]: Add missing typedef for daddr_t.
+
+1998-02-13 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/mv.c (cp_option_init): Set copy_as_regular to 0, not 1.
+ Otherwise, mv tries to open special files.
+ Reported by Kjetil Torgrim Homme.
+
+1998-02-08 Jim Meyering <meyering@eng.ascend.com>
+
+ * Makefile.maint (cvs-dist): Update po/ to clear modified status
+ of *.po files before running cvs tag -c.
+
+ * src/ln.c (usage): Reword to use `TARGET' and `LINK_NAME' in
+ description.
+
+1998-02-07 Jim Meyering <meyering@eng.ascend.com>
+
+ * GNUmakefile: New file.
+ * Makefile.am (EXTRA_DIST): Add GNUmakefile.
+ Don't include Makefile.maint from here. It's included from GNUmakefile.
+
+ * configure.in: Don't use AM_MAINTAINER_MODE.
+ (jm_PERL): Use this.
+
+ * src/Makefile.am (EXTRA_DIST): Remove dcgen.pl. Add dcgen.
+ (CLEANFILES): Remove dcgen.
+ (dircolors.h): Use $(PERL).
+ (.pl): Remove rule.
+
+1998-02-01 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * POTFILES.in: Add remove.c. Reported by Santiago Vila.
+
+1998-01-28 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/df.c (print_header): Tweak format to align heading over
+ last column of `df -i' output. From Andreas Schwab.
+
+1998-01-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * Makefile.am: Include Makefile.maint from $(srcdir).
+
+1998-01-25 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 3.16l.
+
+ * Makefile.maint: New file.
+ * Makefile.am: Move rules common to textutils, fileutils, sh-utils
+ into Makefile.maint.
+ Include Makefile.maint.
+ (EXTRA_DIST): Add Makefile.maint.
+
+ * src/cp.c (re_protect): Don't fail for non-root when chown fails
+ due not only to lack of permission (EPERM), but also to lack of
+ support (EINVAL). Reported by Bengt Martensson.
+ * src/copy.c (DO_CHOWN): Likewise.
+
+1998-01-24 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/ls/time-1 (test_failure): Rename does not update ctime;
+ link does -- so use ln, not mv.
+ Note that the SunOS4.1.4 failure of the ctime test is expected.
+
+ * src/system.h (TYPE_MINIMUM): Add extra outer cast to work around
+ bug in Cray C 5.0.3.0 when T == time_t.
+
+ * tests/rm/r-1: Adjust expected output for changed format of
+ `rm --verbose'.
+ * tests/rm/r-2: Likewise.
+
+1998-01-23 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/mktime.c (__mktime_internal): Work around bug in Irix4.0.5's
+ C compiler. From Kaveh Ghazi.
+ (TYPE_MINIMUM): Define.
+ (TYPE_MAXIMUM): Define.
+ (TIME_T_MIN): Use TYPE_MINIMUM.
+ (TIME_T_MAX): Use TYPE_MAXIMUM.
+
+1998-01-22 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/dd.c: Reorder functions to obviate forward dcls.
+ (quit): Declare to be inline to stifle compile warning.
+
+ * src/cp.c (do_copy): Add unreachable `return 0' to stifle warning.
+
+ * tests/rm/sunos-1: Don't use -f. Do adjust $RM if it's a
+ relative path.
+
+ * tests/ls/time-1: Use GNU touch to work around problems with NFS
+ caching and/or clock skew. Reported by Kaveh Ghazi.
+
+ * tests/ls/Makefile.am (TESTS_ENVIRONMENT): Add TOUCH.
+
+ * src/Makefile.am (noinst_HEADERS): Add remove.h.
+ (mv_SOURCES): Define.
+ (rm_SOURCES): Define.
+
+1998-01-21 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/install.c: Declare new global, backup_type.
+ (main): Initialize backup_type unconditionally.
+ (copy_file): Call find_backup_file_name with new argument, backup_type.
+ * src/ln.c: Declare new global, backup_type.
+ (main): Initialize backup_type unconditionally.
+ (do_link): Call find_backup_file_name with new argument, backup_type.
+
+ * src/copy.c (copy_internal): Use x->backup_type, not the global.
+ (valid_options): Use VALID_BACKUP_TYPE and VALID_SPARSE_MODE.
+
+ * src/copy.h (VALID_SPARSE_MODE): Define.
+ [struct cp_options] (backup_type): New member.
+
+ * src/cp.c [NDEBUG]: Comment out definition.
+ (do_copy): Use x->backup_type, not the global.
+
+ * src/remove.c: New file. Contains guts of old rm.c.
+ (remove_init): New function.
+ (remove_fini): New function.
+ (rm): Take third argument, specifying options.
+ * src/remove.h: New file. Associated dcls.
+ * src/rm.c: Remove and minimally librarify guts for use in mv.c.
+ (main): Pass options (`&x') to rm.
+ Call remove_init and remove_fini instead of open-coding them.
+
+ * src/mv.c (rm_option_init): New function.
+ (cp_option_init): New function.
+ (copy_reg): Remove now-unused function.
+ (do_move): Set up for and use `copy.c (copy)' in place of copy_reg.
+ Set up for and use `remove.c (rm)' in place of unlink.
+
+1998-01-20 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/backupfile.c: Use ANSI function definitions.
+ Remove global declaration of backup_type.
+ (simple_backup_suffix): Default to `~', not `.orig'.
+ Use PARAMS, not __BACKUPFILE_P.
+ (find_backup_file_name): Add parameter, backup_type.
+ * lib/backupfile.h: Remove extern declaration of backup_type.
+ Use PARAMS, not __BACKUPFILE_P.
+ (VALID_BACKUP_TYPE): Define.
+ (find_backup_file_name): Adjust prototype.
+
+1998-01-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/df.c (print_header): Fix inode format header to line it up
+ with the rest of the output.
+
+1998-01-13 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/stat.c: Set errno to ENOENT, not EINVAL. This is consistent
+ with most other implementations.
+
+1998-01-12 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/fileblocks.c: Include sys/param.h only #if HAVE_SYS_PARAM_H.
+ Move function-spanning `#if ...BSIZE' directive to follow inclusion
+ of sys/param.h since BSIZE is sometimes defined in sys/param.h.
+ Reported by Philippe De Muyter.
+
+1998-01-10 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 3.16k.
+
+ * src/install.c (install_file_to_path): New function.
+ FIXME: update fileutils.texi.
+ (main): Handle new option, -D.
+ Based on a patch from Marty Leisner.
+ (usage): Describe -D.
+
+ * src/ls.c (decode_switches) [-u]: Fix bug whereby -u worked only
+ with -l or -t. Now, -u (like -c) implies --sort=time.
+ (usage): Correct descriptions of --sort, --time, and -t.
+ Suggestions from Andreas Schwab.
+
+ Add test for the above fix.
+ * configure.in (AC_OUTPUT): Add tests/ls/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add ls.
+ * tests/ls: New directory.
+ * tests/ls/Makefile.am: New file.
+ * tests/ls/time-1: New file.
+
+ * lib/makepath.c (make_path): Reformat 3 if-stmts to test
+ `if (newly_created_dir)' only once. Suggestion from Andreas Schwab.
+
+1998-01-06 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getdate.y: Move inclusion of getdate.h and dependent extern
+ declarations down so getdate.h's prototype follows the sometimes-
+ enabled definition of `const' to nothing. Otherwise, the prototype
+ wouldn't match the definition because of the defined-away `const'.
+ From Kaveh Ghazi.
+ (get_date): ANSI-fy definition.
+ Add %expect directive.
+
+1998-01-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * lib/makepath.c (make_path): Put only newly created directories
+ on the LEADING_DIRS list.
+
+1998-01-05 Paul Eggert <eggert@twinsun.com>
+
+ * lib/fsusage.c (PROPAGATE_ALL_ONES): New macro.
+ (get_fs_usage): If a value consists entirely of 1 bits,
+ propagate this info to the output by setting it to (uintmax_t) -1.
+ * src/df.c (df_readable): New function.
+ (show_dev): If a value consists entirely of 1 bits, or is derived
+ from some other value that consists entirely of 1 bits, report "-".
+ Check inode and block counts more carefully for plausibility,
+ to avoid arithmetic overflow when computing percentages.
+
+1998-01-04 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 3.16j.
+
+ * lib/Makefile.in: Regenerated with patched automake-1.2d.
+ See README-alpha.
+
+ * src/chgrp.c: Use a single enumerated type, Verbosity, instead of
+ the two booleans, verbose and changes_only. This fixes a bug whereby
+ --change had the same effect as --verbose.
+ * src/chmod.c: Likewise.
+ * src/chown.c: Likewise.
+ Reported by Paul Eggert.
+
+1998-01-04 Paul Eggert <eggert@twinsun.com>
+
+ Check for write errors more carefully.
+
+ * lib/Makefile.am (libfu_a_SOURCES): Add closeout.c.
+ (noinst_HEADERS): Add closeout.h.
+ * lib/closeout.c, lib/closeout.h: New files.
+ * lib/long-options.c (parse_long_options),
+ src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c,
+ src/df.c, src/dircolors.c, src/du.c, src/install.c, src/ln.c,
+ src/ls.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c,
+ src/mvdir.c, src/rm.c, src/rmdir.c, src/sync.c, src/touch.c
+ (main, usage): Check for write error to stdout before exiting.
+ Include "closeout.h".
+
+1998-01-03 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/df.c (show_dev): Treat `fsu.fsu_bavail == (unsigned long) -1'
+ just like `fsu.fsu_blocks == 0' as an indicator that usage information
+ is invalid. This happens with Solaris-5.5.1 CD-ROM mount points.
+
+ * lib/save-cwd.h: Guard PARAMS-enabling definition with
+ `defined PROTOTYPES || (defined __STDC__ && __STDC__)' to avoid
+ problems with Irix4's cc. From Kaveh Ghazi.
+ * lib/getdate.h: Likewise, but just to be consistent.
+
+ * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so
+ those files will be built via the ANSI2KNR-filtering rules if necessary.
+ Reported by Kaveh Ghazi.
+
+1998-01-02 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 3.16i.
+
+ Fix problem with `install -d'. Reported by Marty Leisner.
+
+ * src/install.c (get_ids): When otherwise unspecified,
+ set uid and gid to -1.
+ * lib/makepath.c (make_path): Try to change ownership only if we've
+ just created the directory. Fix latent bug (s/&&/||/ in two places --
+ also, note that it could not be exercised via install or mkdir)
+ whereby chown would not be invoked when only one of owner/group is
+ not -1.
+
+1998-01-01 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/rm.c (remove_cwd_entries): Initialize the entry-name obstack
+ only once and never free it.
+
+
+ -----
+
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006 Free Software
+ Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.
diff --git a/old/fileutils/ChangeLog-1997 b/old/fileutils/ChangeLog-1997
new file mode 100644
index 0000000..72655cc
--- /dev/null
+++ b/old/fileutils/ChangeLog-1997
@@ -0,0 +1,6166 @@
+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.
+
+
+ -----
+
+ Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
+ Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.
diff --git a/old/fileutils/NEWS b/old/fileutils/NEWS
new file mode 100644
index 0000000..5adff8f
--- /dev/null
+++ b/old/fileutils/NEWS
@@ -0,0 +1,760 @@
+[4.1.11]
+* `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10]
+[4.1.10]
+* rm once again gives a reasonable diagnostic when failing to remove a file
+ owned by someone else in a sticky directory [introduced in 4.1.9]
+* df now rounds all quantities up, as per POSIX.
+* New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
+* Any time style can be preceded by "posix-"; this causes "ls" to
+ use traditional timestamp format when in the POSIX locale.
+* The default time style is now posix-long-iso instead of posix-iso.
+ Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 thru 4.1.9.
+* `rm dangling-symlink' doesn't prompt [introduced in 4.1.9]
+* stat: remove support for --secure/-s option and related %S and %C format specs
+* stat: rename --link/-l to --dereference/-L.
+ The old options will continue to work for a while.
+[4.1.9]
+* rm can now remove very deep hierarchies, in spite of any limit on stack size
+* new programs: link, unlink, and stat
+* New ls option: --author (for the Hurd).
+* `touch -c no-such-file' no longer fails, per POSIX
+[4.1.8]
+* mv no longer mistakenly creates links to preexisting destination files
+ that aren't moved
+[4.1.7]
+* rm: close a hole that would allow a running rm process to be subverted
+[4.1.6]
+* New cp option: --copy-contents.
+* cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the
+ traditional (and rarely desirable) cp -r behavior.
+* ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format
+* The obsolete usage `touch [-acm] MMDDhhmm[YY] FILE...' is no longer
+ supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead.
+* cp and inter-partition mv no longer give a misleading diagnostic in some
+ unusual cases
+[4.1.5]
+* cp -r no longer preserves symlinks
+* The block size notation is now compatible with SI and with IEC 60027-2.
+ For example, --block-size=1MB now means --block-size=1000000,
+ whereas --block-size=1MiB now means --block-size=1048576.
+ A missing `B' (e.g. `1M') has the same meaning as before.
+ A trailing `B' now means decimal, not binary; this is a silent change.
+ The nonstandard `D' suffix (e.g. `1MD') is now obsolescent.
+* -H or --si now outputs the trailing 'B', for consistency with the above.
+* Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2.
+* New df, du short option -B is short for --block-size.
+* You can omit an integer `1' before a block size suffix,
+ e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'.
+* The following options are now obsolescent, as their names are
+ incompatible with IEC 60027-2:
+ df, du: -m or --megabytes (use -BM or --block-size=1M)
+ df, du, ls: --kilobytes (use --block-size=1K)
+[4.1.4]
+* df --local no longer lists smbfs file systems whose name starts with //
+* dd now detects the Linux/tape/lseek bug at run time and warns about it.
+[4.1.3]
+* ls -R once again outputs a blank line between per-directory groups of files.
+ This was broken by the cycle-detection change in 4.1.1.
+* dd once again uses `lseek' on character devices like /dev/mem and /dev/kmem.
+ On systems with the linux kernel (at least up to 2.4.16), dd must still
+ resort to emulating `skip=N' behavior using reads on tape devices, because
+ lseek has no effect, yet appears to succeed. This may be a kernel bug.
+[4.1.2]
+* cp no longer fails when two or more source files are the same;
+ now it just gives a warning and doesn't copy the file the second time.
+ E.g., cp a a d/ produces this:
+ cp: warning: source file `a' specified more than once
+* chmod would set the wrong bit when given symbolic mode strings like
+ these: g=o, o=g, o=u. E.g., `chmod a=,o=w,ug=o f' would give a mode
+ of --w-r---w- rather than --w--w--w-.
+[4.1.1]
+* mv (likewise for cp), now fails rather than silently clobbering one of
+ the source files in the following example:
+ rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c
+* ls -R detects directory cycles, per POSIX. It warns and doesn't infloop.
+* cp's -P option now means the same as --no-dereference, per POSIX.
+ Use --parents to get the old meaning.
+* When copying with the -H and -L options, cp can preserve logical
+ links between source files with --preserve=links
+* cp accepts new options:
+ --preserve[={mode,ownership,timestamps,links,all}]
+ --no-preserve={mode,ownership,timestamps,links,all}
+* cp's -p and --preserve options remain unchanged and are equivalent
+ to `--preserve=mode,ownership,timestamps'
+* mv and cp accept a new option: --reply={yes,no,query}; provides a consistent
+ mechanism to control whether one is prompted about certain existing
+ destination files. Note that cp's and mv's -f options don't have the
+ same meaning: cp's -f option no longer merely turns off `-i'.
+* remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for
+ 64-bit systems)
+* mv now prompts before overwriting an existing, unwritable destination file
+ when stdin is a tty, unless --force (-f) is specified, as per POSIX.
+* mv: fix the bug whereby `mv -uf source dest' would delete source,
+ even though it's older than dest.
+* chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works
+* cp now ensures that the set-user-ID and set-group-ID bits are cleared for
+ the destination file when when copying and not preserving permissions.
+* `ln -f --backup k k' gives a clearer diagnostic
+* ls no longer truncates user names or group names that are longer
+ than 8 characters.
+* ls's new --dereference-command-line option causes it to dereference
+ symbolic links on the command-line only. It is the default unless
+ one of the -d, -F, or -l options are given.
+* ls -H now means the same as ls --dereference-command-line, as per POSIX.
+* ls -g now acts like ls -l, except it does not display owner, as per POSIX.
+* ls -n now implies -l, as per POSIX.
+* ls can now display dates and times in one of four time styles:
+
+ - The `full-iso' time style gives full ISO-style time stamps like
+ `2001-05-14 23:45:56.477817180 -0700'.
+ - The 'iso' time style gives ISO-style time stamps like '2001-05-14 '
+ and '05-14 23:45'.
+ - The 'locale' time style gives locale-dependent time stamps like
+ 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale).
+ - The 'posix-iso' time style gives traditional POSIX-locale
+ time stamps like 'May 14 2001' and 'May 14 23:45' unless the user
+ specifies a non-POSIX locale, in which case it uses ISO-style dates.
+ This is the default.
+
+ You can specify a time style with an option like --time-style='iso'
+ or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21
+ and later can parse ISO dates, but older Emacs versions cannot, so
+ if you are using an older version of Emacs outside the default POSIX
+ locale, you may need to set TIME_STYLE="locale".
+
+* --full-time is now an alias for "-l --time-style=full-iso".
+
+Changes in release 4.1:
+[4.0.45]
+* dd conv=sync,block now pads only with spaces
+* ls's -1 option no longer cancels the effect of a preceding -l
+* regenerate configure using a patched version of autoconf-2.49e to work
+ around a bug in its test for a working memcmp function
+* ls: fix off-by-one error introduced with the previous change
+[4.0.44]
+* ls: When given two or more arguments but the only one that exists is a
+ directory, don't treat it as if it were the only argument. Before,
+ `mkdir d; ls no-dir d 2>/dev/null' would act like `ls d' and produce
+ no output. Now, it prints `d:'.
+* touch -d 'last friday' would use a time stamp that was one hour off
+ (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday)
+ when run such that the current time and the target date/time fall on
+ opposite sides of a daylight savings time transition.
+ This problem arises only with relative date strings like `last monday'.
+ It is not a problem with strings that include absolute dates.
+[4.0.43]
+* regenerate configure-related files using autoconf-2.49d
+[4.0.42]
+* Using ls's short-named `-H' option evokes the warning that the
+ meaning of `-H' will soon change. Use `--si' instead.
+[4.0.41]
+* fix bug in rm introduced in 4.0.38: `chmod 0 f; rm f' would no longer prompt
+ before removal.
+[4.0.40]
+* portability fixes, mainly for UnixWare 7.1.1
+[4.0.39]
+* cp and mv accept --strip-trailing-slashes, not just --strip-trailing-slash
+[4.0.38]
+* ls --full-time now implies -l; before, without -l it was a no-op
+[4.0.37]
+* portability fixes for SunOS4.1.1, Fujitsu (f300-fujitsu-uxpv4.1_ES),
+ and Unicos (alphaev5-cray-unicosmk2.0.5.X)
+[4.0.36]
+* `mv dir/ new-name' no longer fails on SunOS4.1.1U
+* attempting to use mv to move a symlink onto itself no longer removes
+ the symlink
+* `cp -R directory file' no longer removes `file'. now it fails and gives
+ a diagnostic
+* The manual now warns that ls's --full-time format string is planned
+ to change in a future release.
+* ls -l's time stamp format now depends on LC_TIME, not LC_MESSAGES,
+ as POSIX requires.
+* ls -l now reports the year for files even slightly in the future, as
+ POSIX requires. This helps warn users about clock skew problems.
+* `cp -d file symlink-to-some-other-file' no longer fails
+* performance improvements for ls
+[4.0.35]
+* ln --backup=simple --suffix=SUFFIX once again uses SUFFIX
+* install: Likewise.
+[4.0.34]
+* fix a bug (introduced in 4.0z) that made `chown 123:456 file' act like
+ `chown 123:123 file'. Other uses with a numeric group ID would cause
+ chown to fail when it shouldn't have.
+* the chown and chgrp programs preserve set-uid and set-gid bits, even on
+ systems for which the chown function call resets those bits.
+* `ls -L dangling-symlink' now fails (per POSIX) rather than printing the
+ link name
+* dd no longer honors the just-added `B' suffix on skip= and seek= arguments.
+* `mkdir no-such-dir/' no longer fails on NetBSD systems
+[4.0.33]
+* dd now accepts skip=nB and seek=nB, to advance past some number of bytes, n,
+ that need not be a multiple of the block size.
+* dd (without conv=notrunc) now complains only when ftruncate fails on a
+ regular file, a directory, or a shared memory object -- not when it fails
+ to truncate other types of files, like /dev/fd0.
+* chmod --changes (-c) once again issues diagnostics only for the files
+ with changed permissions
+* mkdir now gives one diagnostic (rather than two) for certain failures
+* mkdir portability fix for NetBSD
+[4.0.32]
+* touch now interprets a lone numeric argument of 8 or 10 digits as a file name,
+ rather than as a date/time in the obsolescent `MMDDhhmm[YY]' format.
+* mkdir no longer sets the permissions of the final directory component
+ if it already exists (this bug, too, was introduced recently)
+* ls's --full-time format string is now locale dependent
+[4.0.31]
+* mkdir: fix a bug introduced in 4.0.30 whereby `mkdir existing-dir' would
+ succeed. Now it fails, as it should (and used to).
+[4.0.30]
+* mkdir: fix a bug introduced in 4.0.28 whereby parent directories created
+ via `mkdir -p' would have permissions that did not account for the umask
+[4.0.29]
+* ls.c wouldn't compile on some systems: fix it
+* `cp -R --parents dir1/ dir2' failed on NetBSD, due to a portability problem
+[4.0.28]
+* ls is much more efficient on systems (e.g., linux-2.4.*) that store file
+ type information in directory entries.
+* shred now automatically determines the size of each block device argument
+* ls's date/time format strings are now locale dependent
+* mkdir, mknod, mkfifo, and chmod work better in conjunction with ACLs
+* `cp --parents dir1/ dir2' no longer gets a failed assertion
+* shred now determines the size of block devices like /dev/fd0
+* `shred --exact file1 file2' now erases `file1', too
+[4.0.27]
+* install once again unlinks an existing destination before trying to open it
+* mv no longer gets a failed assertion when moving a directory (specified with
+ a trailing slash) from one partition to another, and giving it a different
+ name at the destination.
+* `cp --link -f src existing-dest' no longer fails (bug introduced in 4.0z)
+* cp's new --remove-destination option now works with -R
+[4.0z]
+* `cp -p' once again preserves `special' permission bits (this bug was
+ introduced in 4.0y)
+* mv's --force (-f) option now controls solely whether mv prompts (per POSIX)
+* `cp -f' now first attempts to open an existing destination file, and only
+ if that fails does it resort to unlinking the file and retrying the open.
+ Before, it would unlink the file before trying to open it.
+* cp accepts a new option, --remove-destination, that provides the old behavior
+* cp's -f option no longer cancels the effect of --interactive (-i) (per POSIX)
+* when ls sorts directory entries, it now honors the current locale settings
+* dd's `skip=BLOCKS' operator once again works on systems with a buggy lseek
+ function (Linux, at least on SCSI tape devices)
+* fix a typo in install-sh
+[4.0y]
+* cp now accepts the POSIX-mandated -H and -L options.
+* cp -p and mv now try to preserve uid even if you're not root, as per POSIX.2.
+ This affects behavior only on hosts that let you give files away via chmod.
+* du would fail when given `.' or `..' followed by other command line arguments
+* Using cp's short-named `-P' option evokes the warning that the
+ meaning of `-P' will soon change. Use `--parents' instead.
+* chgrp, chmod, and chown: when used with the --verbose option, might give an
+ invalid diagnostic (due to clobbered errno) when failing.
+[4.0x]
+* Fix cp so that `cp -r DIR1/ DIR2' works properly once again.
+* New ls option --quoting-style=clocale acts like --quoting-style=locale,
+ except that it quotes "like this" by default instead of `like this'.
+[4.0w]
+* When `cp -pR' fails to copy a file, it now preserves permissions, owner,
+ and group of the containing directory.
+[4.0v]
+* df, du, and ls now round disk usage up and disk free space down
+* df, du, ls: --block-size=N now works for values of N that are e.g.,
+ not a multiple of the file's block size
+[4.0u]
+* give proper diagnostic for mv usage error
+* fix compile problem with lib/strnlen.c
+[4.0t]
+* `cp -d -u' no longer fails with certain existing destination symlinks
+* rmdir and mkdir accept -v as synonym for --verbose
+[4.0s]
+* rm no longer segfaults on certain very deep hierarchies
+* IMPORTANT SECURITY FIX: a running `rm -r' may no longer be subverted to
+ remove unintended directories
+* cp can now remove unwritable files in interactive mode; contrary to how mv
+ works, cp's --interactive (-i) option does *not* cancel the effect of a
+ preceding --force (-f) option.
+* all programs fail when printing --help or --version output to a full device
+* install no longer performs chmod if chown fails (see ChangeLog for example)
+[4.0r]
+* `du dir/subdir1 dir/subdir2' no longer fails
+* chown accepts new option: --from=CURRENT_OWNER:CURRENT_GROUP
+* cp accepts new option: --strip-trailing-slashes
+* install --directory (-d) may now be used to set special bits
+ e.g., `install -m a=rwx,o+t -d DIR' now honors the `o+t' part
+* cp, mv, ln, install: document that while the --backup option takes an
+ optional argument, the -b option accepts none
+* `ls -e' fails with a more useful diagnostic
+* df produces better output for loop file system mount points
+[4.0q]
+* install -D bug is fixed
+* chown now works properly when the specified login name contains a period
+ This is at the expense of always looking up the entire USER.GROUP string
+ as a login name first, and only then (upon failure) interpreting the `.'
+ as a separator and looking up `USER'. To avoid the extra getpwnam call,
+ always use the POSIX-mandated `:' character as the separator.
+* `du some-other-dir' no longer fails if it can't open the current directory
+* `mv DIR EXISTING-FILE' no longer removes EXISTING-FILE. Now it gets an error
+ as POSIX says it must.
+* touch no longer hangs on fifos
+[4.0p]
+* various tools: quote multibyte characters correctly in diagnostics
+* mv: portability fix for alpha
+* dd: portability fix
+* unified lib/: now that directory and most of the configuration framework
+ is common between fileutils, textutils, and sh-utils
+[4.0o]
+* Include lib/nanosleep.h.
+[4.0n]
+* cp, install, ln, and mv: when making backup files in verbose mode, these
+ commands now print the backup file name on the same line as the rest of the
+ information, e.g., `a -> b (backup: b.~13~)' rather than on a separate line
+ as all but ln used to do. ln didn't output the backup file name at all.
+[4.0m]
+* mv accepts new option: --strip-trailing-slashes (soon, many other
+ programs will, too)
+* df no longer hangs when there is an inaccessible mount point unrelated to PATH
+* rmdir --verbose no longer prints extra, bogus diagnosic upon failure
+* fix df bug that made it print bogus values in the `Use%' column.
+* touch -d once again parses dates with `hh:mm ZONE' time zone info.
+[4.0l]
+* ls -l honors a trailing slash on a symlink argument, per POSIX.
+* shred no longer appears to infloop when asked to remove files in
+ unwritable directories
+* `ls -ul' and `ls -uc' sort by name once again, as they should
+[4.0k]
+* mv may now be used to move a file onto a symlink to itself when that
+ symlink is on a separate partition. With fileutils-4.0j, it would
+ fail with a diagnostic saying they were the same file.
+* touch would fail with the misleading diagnostic `no such file' when asked
+ to create a file in an unwritable directory. Now it says something like
+ `permission denied' or `read-only file system'.
+[4.0j]
+* mkdir may now be used to set special bits e.g., `mkdir -m o+t dir' works
+* touch can now change the time(s) of a file you own even if you don't have
+ read or write access to it
+* rm no longer dumps core after warning about directory cycles
+* mv now refuses to move a file onto a symlink to itself when that symlink
+ is on a separate partition. Before, it would remove the file and leave
+ only the symlink.
+* `install -d -g foo 1/2' now sets the `group' of the final component as well
+ as that of the leading one.
+* df, du, and ls no longer divide by zero when an invalid block size is
+ specified through an environment variable
+* under certain conditions, chgrp would fail to affect files referenced
+ through symlinks. Now it does.
+* ln now makes hard links to symlinks on systems that support it.
+* touch: no longer infloop on dangling symlinks
+* cp, install, ln, mv: deprecate the --version-control option. Use --backup's
+ new optional argument instead. The old option still works, but now evokes a
+ warning.
+* cp, install, ln, mv: the --backup option now accepts an optional argument
+* cp, install, ln, mv: accept new option: --target-directory=DIR
+* chgrp: accept new option, --dereference. --no-dereference is now the default.
+* New ls option --quoting-style=locale acts like --quoting-style=c, except
+ with locale-specific quoting symbols (` and ' by default) instead of ".
+* `df DIR' is less likely to hang due to bad NFS mounts
+* As per POSIX.2, `df -P' now uses ceiling rather than rounding, and its
+ header now says `1024-blocks ... Capacity' instead of `1k-blocks ... Use%'.
+[4.0i]
+* `cp -f FILE FILE' and `mv -f FILE FILE' no longer remove FILE
+* touch works once again (DST-wise) when certain `--date DATE-TIME'
+ values are specified.
+* shred's -u option (short form of --remove) is now accepted
+[4.0h]
+* cp --one-file-system (-x) no longer crosses filesystem boundaries.
+* touch can once again operate on directories
+[4.0g]
+* New large-file support for AIX and HP-UX, and for cross-compiles.
+* shred's default options are now suitable for devices, not files, since
+ shred is more reliable on devices. shred now does not remove by default;
+ the old -p or --preserve option was inverted and renamed to -u or --remove.
+* shred -u now attempts to truncate devices before removing them.
+* shred -v no longer outputs carriage-returns; shred -vv has no extra effect;
+ shred -v now outputs to stderr.
+* shred now tries to find the size of a non-regular file by seeking to its end.
+* dd now opens the output file for *read* access only if `seek=' is used.
+[4.0f]
+* `ls --color' no longer segfaults
+* dd works once again
+[4.0e]
+* shred --devices option renamed to -D so that -d, -i and -r can be
+ compatible with rm.
+* shred -s/--size=N option added to specify the size of the object to be
+ shredded.
+* `shred -' now shreds stdout rather than stdin. This is incompatible with -v.
+* shred now does not need to read from its output file, so opens it O_WRONLY
+* `ls -l' uses `+' to designate each file that has a custom ACL
+* eliminate race condition that could make touch truncate a nonempty file
+* No longer use *_unlocked I/O macros on systems (like solaris5.5.1) where
+ they're not declared, so selected executables (e.g., rm) that are linked
+ with shared libraries will once again run on solaris5.6 systems.
+[4.0d (aka 4.1-b3)]
+* ls recognizes solaris 2 `doors'
+* new program: shred
+* ln: Allow creation of a hard link to a dangling symlink
+* cp, mv, install: --verbose now prints a message for each backup-related
+ renaming
+* portability fixes for copy.c's code to detect move-directory-into-self
+* upgrade to automake-1.3b
+* upgrade to autoconf-2.13, and...
+* remove some of the kludges in m4/*.m4 that permitted
+[4.1-b2]
+* concurrent `mkdir -p' processes no longer fail when creating the
+ same hierarchy
+* argmatch.c has been fixed so that the unambiguous usage `ls --color=n'
+ no longer evokes an error.
+* now, specifying an improper argument for an option that accepts enumerated
+ values evokes diagnostics like this:
+ $ src/touch --time=x file
+ src/touch: invalid argument `x' for `--time'
+ Valid arguments are:
+ - `atime', `access', `use'
+ - `mtime', `modify'
+ Try `src/touch --help' for more information.
+[4.1-b1]
+* ls --quoting-style=c prints correct octal escapes for certain nonprinting
+ characters in file names.
+* fix `ls -R .' formatting bug that broke mktexlsr
+* moving a directory into itself is properly diagnosed in more cases
+* moving a directory containing hard-linked files now works
+
+Changes in release 4.0:
+[4.0-b7]
+* rm -rf '' no longer gets a failed assertion on the Hurd
+[4.0-b6]
+* rm simply fails as it should (rather than segfaulting) for
+ `mkdir -m 0100 x; rm -rf x'
+[4.0-b5]
+* still *more* mktime.c portability tweaks
+[4.0-b4]
+* mktime.c portability tweak for headers with GNU libc 5.4.44.
+[4.0-b3]
+* mktime.c works around problems with Digital Unix 4.0A and 4.0D.
+* mktime.c handles dates in the spring-forward gap the same way other
+ implementations do
+* install accepts long option --suffix=SUFFIX
+[4.0-b2]
+* man/Makefile.maint framework tweaks
+* add test for `mv -i' bug
+[4.0-pre1]
+* fix serious bug whereby `touch a b; echo n|mv -i a b' would remove b.
+[3.16z]
+* portability tweaks
+* avoid `root `cp -a' from Netapp snapshot' corruption
+[3.16y]
+* `install -D' now works
+* distribute maintainer Makefiles in man/
+[3.16x]
+* man pages are now automatically generated from a combination of --help
+ output and the contents of new (though mostly empty), man/*.x files.
+[3.16w]
+* touch now interprets `-t TIME-DATE' as POSIX specifies
+* `ls EMPTY-DIR EMPTY-DIR' once again outputs the directory names
+[3.16v]
+* portability fixes
+* `ls -R EMPTY-DIR' now outputs the name of the directory
+[3.16u]
+* mv now fails (as it should) upon attempt to move a directory into itself
+* `cp -a --one-file-system' now copies any mount point directories it
+ encounters on the selected file system.
+[3.16t]
+* cp (with --update) and ls compare time stamps with subsecond resolution when
+ available (e.g., on systems with recent Linux kernels and on Solaris 2.6).
+* install once again does the -m-specified chmod *after* running strip
+ (this fixes another bug introduced in 3.16o)
+[3.16s]
+* df accept a new option --local (-l)
+* touch works around a system-specific bug so it now affects existing,
+ zero-length files on certain systems
+* chown now works even on certain SVR3 systems where it used to fail
+[3.16r]
+* include gettext's m4 macros
+* minor cp bug fixed
+* non-portable cp tests removed
+* --without-included-regex now means don't compile regex.c
+* rx support removed
+[3.16q]
+* `df', `du', and `ls' now accept a new option --block-size=SIZE,
+ where SIZE can be a positive integer block size, followed by an
+ optional SI prefix (e.g. `k' for kilo, `M' for Mega), followed by an
+ optional `B' (for ``byte'', indicating powers of 1024, which is the
+ default) or `D' (for ``decimal byte'', indicating powers of 1000).
+ SIZE can also be `human-readable' (for -h or --human-readable
+ behavior) or `si' (for -H or --si behavior).
+* These suffixes can also be used by `dd'; e.g. `dd bs=1MB' is equivalent
+ to `dd bs=1048576'.
+* The default block size for the `df' command is now obtained from the
+ DF_BLOCK_SIZE environment variable or, if that is not set, from BLOCK_SIZE.
+ Similarly for `du' and `ls'.
+* The output columns of `df' have been adjusted slightly to accommodate
+ larger filesystems.
+* fix gettext-related link failures seen when configuring certain ways
+[3.16p]
+* fix install bug introduced in 3.16o
+* build/test changes only
+[3.16o]
+* chown accepts new option, --dereference. --no-dereference is now the default.
+* install now shares core copying code with mv and cp
+* mv (between distinct filesystems) now uses more of the core copying code
+* fixed a bug or two in mv
+* df once again displays negative numbers when that's what's returned
+ by get_fs_usage
+[3.16n]
+* `mv dir dir' once again does *not* remove dir/
+* ls accepts new options:
+ --indicator-style=none (no indicators, the default)
+ --indicator-style=classify (all indicators)
+ (equivalent to -F or --classify)
+ --indicator-style=file-type (file type indicators)
+ (equivalent to -p or --file-type)
+
+ --quoting-style=literal (do not quote output)
+ --quoting-style=shell (minimally quote output for the shell)
+ --quoting-style=shell-always (always quote output with '' for the shell)
+ --quoting-style=c (quote output as for a C-language string)
+ (equivalent to -Q or --quote-name)
+ --quoting-style=escape (like c but omit enclosing "")
+ (equivalent to -b or --escape)
+
+ --show-control-chars is the opposite of --hide-control-chars
+ This option can be useful if output is to a terminal,
+ to override the default beahvior of hiding control characters.
+
+* The QUOTING_STYLE environment variable can now be used to specify the
+ default value for ls's --quoting-style option. If not specified,
+ the default quoting style is 'literal', but this default may change to
+ 'shell' in a future version of this package.
+* ls's quoting style now affects operands in diagnostics, too.
+* ls's --dired option now outputs the quoting style
+ using the format of the new --quoting-style option.
+* ls's -e or --quote-shell option (introduced in 3.16j) has been removed;
+ use --quoting-style=shell to get its functionality.
+[3.16m]
+* mv can move (and doesn't read) special files
+* remove maintainer mode
+[3.16l]
+* mv can finally move non-regular files between partitions
+[3.16k]
+* install accepts new option, -D
+[3.16j]
+* du accepts new options, --exclude=PAT and --exclude-from=FILE (-X FILE)
+* ls now quotes file names for the shell by default, if they contain
+ characters that need quoting. Use -N to get the old default behavior.
+ The new behavior is also enabled by the new option -e or --quote-shell.
+* ln --backup is now consistent with cp and mv in that --force is no longer
+ required when the destination is an existing non-directory.
+* install accepts new option, --verbose (-v)
+* mkdir -p is a lot faster when creating very deep directories on some systems
+* rm -i no longer exits with status indicating failure solely because the
+ user declines to remove a file
+* rm -r is a lot faster on some systems when removing deep hierarchies
+* chgrp, chmod, and chown no longer give contradictory output when --verbose
+ is used and an operation fails
+* ls's multicolumn option now uses variable width columns to conserve
+ vertical space
+* install accepts new option, --preserve-timestamps
+* du --megabytes --total now shows total in megabytes
+* ls accepts new option, -h or --human-readable
+* df, du, and ls now accept new option, -H or --si, for powers of 1000 not 1024
+* df, du, and ls now consistently round to nearest, with ties going to even
+* df, du, and ls now use `k' instead of `K' for `kilo',
+ and support larger abbreviations T(era), P(eta), E(xa), Z(etta), Y(otta)
+* touch -d DATE now works on Unicos
+* du accepts new option --max-depth=N
+* rmdir accepts new options: --ignore-fail-on-non-empty and --verbose
+* on most hosts df, du, and ls now overflow at 2**64 bytes, not 2**31 bytes
+* all programs now work on large files on LFS systems like Solaris 2.6 and
+ Linux with the pre-2.1 development version of GNU libc.
+* df now works with OpenBSD 2.1 beta
+* cp -d FILE SYMLINK-TO-FILE doesn't erase FILE. Now it gives an error.
+
+Changes in release 3.16:
+* du --megabytes (-m) works
+* ls -l works even on systems with non-POSIX strftime in their C library
+
+Changes in release 3.15:
+* touch --date=DATE bug (due to broken getdate.y) has been fixed
+* ls -l no longer misformats the date when run in a locale for which the
+ locale's abbreviated week-day name (strftime's %a format) is shorter or
+ longer than the `normal' three bytes (with LANG=de it's a two-byte string).
+* Using --program-prefix no longer applies the prefix twice
+* ls --color properly restores color attributes upon completion when the
+ normal (`no') color attribute is not the default color.
+* with ls -s --color, the `total' and size of the first file are printed
+* ls --color stats symlinks and distinguishes between regular symlinks
+ and orphan ones.
+* cp --preserve preserves owner and group of symlinks on Linux when run
+ with EUID == 0
+* dircolors no longer accepts --print-data-base (alternate spelling of
+ --print-database)
+
+Changes in release 3.14:
+* ls --color highlights based on suffix rules only for regular files
+* touch --date=DATE accepts dates like those in an RCS log listing, e.g.,
+ `1992/11/01 05:44:34'.
+* install SRC DST no longer rejects non-regular, non-directory SRC
+* df accepts -F as a synonym for -t for compatibility with Solaris
+* cp -i /dev/null existing-file now prompts before overwriting the target
+* ls --color highlights orphaned symlinks text on terminals that support it
+* ls -l honors current locale with respect to abbreviated month names (and,
+ with --full-time day names) on systems with a locale-supporting strftime
+ function, e.g., ones based on recent versions of the GNU C library
+* ls -l recognizes Cray's migrated dmf files.
+* chgrp no longer aborts when given a group number larger than INT_MAX
+* chgrp now fails when run by root with an unrecognized group name
+* when possible, cp -p preserves owner/group even on symlinks in case
+ they're in a directory that has the sticky-bit set.
+* cp --recursive --parents SRC DEST works when SRC is an absolute file name.
+
+Changes in release 3.13:
+* ls properly determines window size on SunOS and Solaris systems
+* ls accepts new option --color[=WHEN] where WHEN is `always', `never',
+ or `auto'. --color=never is the default. --color is equivalent
+ to --color=always.
+* new program: dircolors
+* ls allows 0 as argument to --tabsize (-T) option. Using --tabsize=0
+ inhibits the use of TAB characters for separating columns.
+* you can create a backup of FILE with cp --force --backup FILE FILE. Before,
+ that command failed saying that ``FILE' and `FILE' are the same file'.
+* uses automake-generated Makefile templates
+* chown and chgrp accept new option --no-dereference (-h)
+* ln -f FILE FILE fails with a diagnostic rather than silently removing FILE
+* when building on systems that have getopt_long (most GNU-oriented ones),
+ the system-provided function will be used -- so executables may be a
+ little smaller
+* cp -p, and mv modify owner and/or group of symlinks on systems
+ (like Solaris) that provide the lchown system call.
+* df no longer invokes the sync system call by default. You can use the
+ --sync option to make df invoke sync before getting file system sizes.
+* internationalized diagnostic messages
+* mkdir accepts new option: --verbose
+* `cp file D/' uses the full file name `D/file' instead of `D//file'.
+* cp --backup a~ a fails instead of silently destroying the source file
+* df and du have new options --human-readable (-h) and --megabytes (-m).
+* install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and
+ --version-control=WORD (-V WORD) options just as cp, ln, and mv do.
+* ln --verbose output is less prone to misinterpretation
+* ls -o works like -lG; for compatibility with other versions of ls
+* cp has a new option to control creation of sparse files:
+ --sparse={auto,always,never}. --sparse=auto is the default.
+* rm -rf '' behaves properly on SunOS 4 systems
+* touch: rename long option name, --file, to --reference.
+ `touch --file' will continue to work a little longer.
+* df fails if the same file system type is both selected and excluded.
+* df works around SunOS statfs brokenness wrt filesystems larger than 2GB
+* df better handles inconsistent mtab entries
+* `ls -lDR dir dir2' works
+* `ls -c' does what it's supposed to
+* all programs include program name in --version output
+* `ls --quote-name' works
+* mv properly determines whether src and dest are the same file
+ Before, it could (though with very low probability) fail to do the move,
+ reporting that distinct source and destination are the same file.
+* du --dereference (-L) works with directory symlinks
+* du works on SunOS 4 systems even when accounting is enabled
+* many programs that convert strings to integers now use strtol or strtoul
+ and detect overflow
+
+User-visible changes in release 3.12:
+* None.
+User-visible changes in release 3.11:
+* None.
+User-visible changes in release 3.10:
+* mkdir -p now ignores arguments that are existing directories. Before,
+ (contrary to POSIX spec) it would attempt to change ownership and/or
+ protections of existing directories listed on the command line. And
+ it would fail when such a directory was owned by another user.
+* Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir'
+ incorrectly change the permissions on directory, dir.
+* df accepts a new option, --no-sync, that inhibits the default invocation
+ of the sync system call.
+* ls accepts a new option, --dired, that makes emacs' dired mode more efficient
+* skeletal texinfo documentation (mainly just the `invoking' nodes)
+* ln accepts a new option: --no-dereference (-n). With this option,
+ if the destination command line argument is a symlink to a directory,
+ use that as the destination instead of the file in the directory.
+* `ln -i no-such-file existing-file' gives a diagnostic and fails.
+ Before, if you responded `yes' to the prompt it would both remove
+ `existing-file' and fail to make a link.
+* du no longer requires read access to all of the directory components
+ of the current working directory on systems with fchdir.
+* touch -d 'date' is no longer off by one hour.
+* New program: sync.
+* Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly
+ create `r' as a symlink instead of as a regular file.
+* du's -S and -c options now work when used together.
+ Before, the grand total was always reported to be zero.
+
+Major changes in release 3.9:
+* --help gives a one-line description of each option and shows the
+ correspondence between short and long-named options.
+* work around systems with BROKEN_STAT_MACROS
+* work around problem where $(srcdir)/config.h was used instead of
+ ../config.h -- this happened only when building in a subdirectory
+ and when config.h remained in $(srcdir) from a previous ./configure.
+* GNU chmod treats symlinks the same way other vendor's versions do.
+ 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.
+* configure uses config.h, so DEFS won't exceed preprocessor limits of
+ some compilers on the number of symbols defined via -D.
+* ls and cp can handle mount points on more systems
+* cp, mkdir, and rmdir long option --path renamed to --parents; --path
+ will still work for a while
+* cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory.
+ This change affects only the two-argument form of the commands. It makes
+ such commands fail when the target has a trailing slash but is not a
+ directory or symlink to a directory and the source is not a directory.
+ They used to succeed, ignoring the implicitly contradictory trailing slash.
+
+Major changes in release 3.8:
+* install isn't as likely to produce spurious errors
+* avoid redundant compilations for `dir' and `vdir';
+* configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer
+ running OSx 5.1
+
+Major changes in release 3.7:
+* none
+Major changes in release 3.6:
+* `ln -s dir_pathname .' works when the pathname has a trailing slash
+* with the --version option programs print the version and exit immediately
+* GNU ls -f works like Unix ls -f
+* mktime replacement works
+
+Major changes in release 3.5:
+* adds support for DEC Alpha under OSF/1
+* configuring with gcc uses CFLAGS='-g -O' by default
+* all programs accept --help and --version options
+* long-named options must be introduced with `--'; `+' is no longer
+ accepted since it is incompatible with the POSIX.2 standard
+* chmod accepts long-named options
+* dd conv=unblock doesn't hang
+* new df option --exclude=fstype
+* new ls option --full-time
+
+Major changes in release 3.4:
+* cp -p and mv preserve setuid and setgid bits
+* chown works on systems where sizeof(uid_t) != sizeof(int)
+ or sizeof(uid) != sizeof(gid)
+* catch errors from spurious slashes at ends of arguments
+
+Major changes in release 3.3:
+* df sped up by not calling sync for every filesystem
+* df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed
+* df -i now also prints the total number of inodes per filesystem
+* ls sped up by not reading symlink contents unnecessarily
+* du doesn't die on POSIX systems when the root filesystem is NFS mounted
+* cp and mv report chown Permission denied errors when run by root
+
+========================================================================
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/old/sh-utils/ChangeLog b/old/sh-utils/ChangeLog
new file mode 100644
index 0000000..f95975d
--- /dev/null
+++ b/old/sh-utils/ChangeLog
@@ -0,0 +1,4866 @@
+2006-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * ChangeLog: Add copyright notice.
+ * ChangeLog.0: Likewise.
+ * NEWS: Likewise.
+
+2002-08-08 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.15.
+
+2002-08-05 Paul Eggert <eggert@twinsun.com>
+
+ Fix some minor time-related bugs with POSIX time arguments.
+ Some valid time stamps were being rejected (notably -1, and
+ time stamps before 1900 on 64-bit hosts). And some invalid
+ time stamps were being accepted, e.g. September 31.
+
+ * src/date.c (main): Adjust to posixtime signature change.
+
+2002-08-05 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Change $am_cv_sys_posix_termios to
+ $ac_cv_sys_posix_termios. From Andreas Schwab.
+
+2002-08-04 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.14.
+
+2002-07-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/chroot.c (main): Exit with status 126 or 127 when execvp or
+ execv fails, for consistency with POSIX commands like env and nice.
+ * src/su.c (run_shell): Likewise.
+
+2002-07-29 Paul Eggert <eggert@twinsun.com>
+
+ * src/nohup.sh: Change behavior to conform to POSIX 1003.1-2001:
+ - Do not adjust scheduling priority.
+ - Redirects stderr to stdout, if stderr is not a terminal.
+ - Exit status is now 126 if command was found but not invoked,
+ 127 if nohup failed or if command was not found.
+ Fix bug: command was run if nohup.out wasn't writeable.
+ * NEWS, doc/coreutils.texi: Document the above.
+
+2002-07-28 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Require automake-1.6b.
+
+2002-07-27 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.13.
+
+ * src/who.c (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Remove definitions.
+ Now they're defined in readutmp.h.
+ (print_deadprocs): Remove obsolete FIXME comment.
+
+2002-07-07 Paul Eggert <eggert@twinsun.com>
+
+ * src/nohup.sh: Port to POSIX 1003.1-2001 "nice", which
+ requires the option "-n 5" rather than "-5". This matters
+ with GNU "nice" if the user has set the _POSIX2_VERSION
+ environment variable.
+
+2002-07-24 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt false.
+
+2002-07-20 Jim Meyering <meyering@lucent.com>
+
+ * Upgrade to cvs automake -- required to work with 2.53b.
+ * configure.ac: Require automake-1.6a.
+
+ * tests/Makefile.am (TESTS_ENVIRONMENT): Remove now-unused parts
+ of this definition.
+ (EXTRA_DIST): Add priv-check.
+ * tests/priv-check: New file.
+
+ * Upgrade to gettext-0.11.3.
+ * Upgrade to autoconf-2.53b.
+
+2002-07-18 Jim Meyering <meyering@lucent.com>
+
+ * src/uname.c (main): Test sysctl(...) >= 0, not == 0, since
+ on NetBSD the return value may well be positive.
+ Use one-line aggregate initializations.
+ Use tightly scoped static buffers to avoid warnings about
+ unused variables on some systems.
+
+2002-05-07 Paul Eggert <eggert@twinsun.com>
+
+ Add support for BSD-style sysctl to get the strings needed for
+ uname -p and uname -i. Unfortunately the different BSDs vary,
+ but I've surveyed FreeBSD, NetBSD, and OpenBSD.
+
+ * src/uname.c (UNAME_HARDWARE_PLATFORM, UNAME_PROCESSOR): New macros.
+ (main): Use them, along with sysctl, to support uname -i and uname -p
+ on BSD hosts.
+
+2002-07-17 Jim Meyering <meyering@lucent.com>
+
+ * src/uptime.c (print_uptime): Restore use of (equivalent, but
+ more readable) `>=' from Bruno's patch.
+
+ * configure.ac (jm_BOOT_TIME): Remove. (moved/renamed to m4/boottime.m4)
+ Use the replacement: GNULIB_BOOT_TIME.
+
+2002-07-13 Bruno Haible <bruno@clisp.org>
+
+ * src/uptime.c: Include sys/sysctl.h.
+ (print_uptime): Add support for determining the boot time on FreeBSD.
+
+2002-07-15 Jim Meyering <meyering@lucent.com>
+
+ * src/uptime.c (print_uptime): Use STREQ in place of !strcmp.
+
+ * src/uname.c (main): Remove unnecessary uses of `defined' when
+ operating on `HAVE_...' symbols. Remove unnecessary parentheses.
+
+2002-07-02 Jim Meyering <meyering@lucent.com>
+
+ * src/basename.c, src/chroot.c, src/date.c, src/dirname.c (usage):
+ Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.
+ * src/echo.c, src/env.c, src/expr.c, src/factor.c: Likewise.
+ * src/hostname.c, src/id.c, src/kill.c, src/logname.c: Likewise.
+ * src/nice.c, src/pathchk.c, src/pinky.c, src/printenv.c: Likewise.
+ * src/printf.c, src/pwd.c, src/seq.c, src/sleep.c, src/stty.c: Likewise.
+ * src/su.c, src/tee.c, src/test.c, src/true.c, src/tty.c: Likewise.
+ * src/uname.c, src/uptime.c, src/users.c, src/who.c: Likewise.
+ * src/whoami.c, src/yes.c: Likewise.
+
+ * src/Makefile.am (.sh): Also substitute @PACKAGE_BUGREPORT@.
+ * src/groups.sh (usage): Use @PACKAGE_BUGREPORT@, rather than
+ hard-coding a deprecated address.
+ * src/nohup.sh (usage_help): Likewise.
+
+ * src/date.c (usage): Mention that the expansions of %p and %P are
+ empty in many locales. From matthew arnison.
+
+2002-06-22 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Invoke AC_GNU_SOURCE very early.
+
+2002-05-24 Jim Meyering <meyering@lucent.com>
+
+ * tests/nice: Move this file...
+ * tests/misc/nice: ...to here.
+ * tests/Makefile.am (TESTS): Remove nice.
+ * tests/misc/Makefile.am (TESTS): Add nice.
+ * configure.ac (AC_CONFIG_FILES): Add tests/misc/Makefile.
+
+ * src/pathchk.c (validate_path): Compare the result of the function --
+ not its (constant) address -- against zero.
+ Patch from Tim J. Robbins <tjr@FreeBSD.ORG>
+ * tests/misc/pathchk1: New test for the above.
+ * tests/misc: New directory.
+ * tests/Makefile.am (SUBDIRS): Add misc.
+ * tests/misc/Makefile.am: New file.
+
+2002-05-03 Jim Meyering <meyering@lucent.com>
+
+ * src/uptime.c (print_uptime): Use ngettext for day/days and user/users.
+ Suggestion from Karl Eichwalder.
+
+ * src/kill.c (usage): Add a little to the description of --list.
+ Uncapitalize first word and remove period at end of each one line
+ option description.
+
+ * src/who.c (usage): Tweak description of --users.
+ From Karl Eichwalder.
+
+2002-04-29 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.12.
+
+ Avoid warnings from gcc.
+ * src/who.c (PIDSTR_DECL_AND_INIT): Cast ut_pid value to int.
+ (make_id_equals_comment): Cast sizeof expression (used as field
+ width argument) to `int'.
+
+ * configure, config.hin, Makefile.in, etc.: Regenerate using
+ autoconf-2.53a.
+
+2002-04-28 Jim Meyering <meyering@lucent.com>
+
+ * src/who.c: Don't include xalloc.h.
+ It's already included via system.h.
+
+2002-04-28 Paul Eggert <eggert@twinsun.com>
+
+ * src/kill.c: Rewrite from scratch. Support everything
+ required by POSIX 1003.1-2001; when this conflicts with Bash,
+ stick with POSIX. The conflicts are kill -l output format,
+ and lower case signal names preceded by `-' (e.g., "kill -hup"
+ is no longer supported). Remove -L or --long-list option.
+ Add -t or --table option. Rename --sigspec to --signal;
+ remove --signum and do not advertise obsolescent option -n.
+ Use str2sig and str2sig to convert between signal names and
+ numbers.
+
+ * doc/coreutils.texi (kill invocation): Document the above.
+ Document POSIX signals better.
+
+ * lib/sig2str.h, lib/sig2str.c: New files.
+ * configure.ac (AC_CHECK_DECLS): Add str2signal, strtoimax,
+ sys_siglist, _sys_siglist.
+ * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
+ * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
+ * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
+ (jm_PREREQ_SIG2STR): New macro.
+
+2002-04-28 Jim Meyering <meyering@lucent.com>
+
+ * src/test.c (test_syntax_error): Add `const' to paramater
+ declarations to avoid new warning from gcc.
+ (integer_expected_error): Likewise.
+
+2002-04-25 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac (AM_GNU_GETTEXT): Add external arg.
+ (AC_CONFIG_FILES): Remove intl/Makefile.
+ * Makefile.am (SUBDIRS): Remove intl.
+ * src/Makefile.am (INCLUDES): Remove -I../intl.
+
+2002-04-16 Jim Meyering <meyering@lucent.com>
+
+ * src/who.c (BOOT_TIME): Define.
+ (NEW_TIME): Define to 0, not INT_MAX.
+ (UT_PID, UT_ID, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
+ Replace literal uses of ut_pid, ut_id, and ut_exit members with
+ uses through macros.
+ (make_id_equals_comment): New function, factored out of three others.
+ (UT_TYPE_UNDEF, UT_TYPE, IS_USER_PROCESS): Define.
+ (print_line): Use "%-8.8s" for the format: the user name is not
+ always NUL terminated.
+ (scan_entries) [need_users]: Use IS_USER_PROCESS, so that this works
+ even on systems without ut_type.
+
+2002-04-15 Jim Meyering <meyering@lucent.com>
+
+ * src/who.c: Include xalloc.h.
+ Use xmalloc everywhere, not malloc.
+
+2002-04-12 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (LDADD): List ../lib/libfetish.a both before
+ and after @LIBINTL@. Thanks to Paul Eggert for the fix and to
+ Bruno Haible for diagnosing the problem.
+
+2002-02-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/test.c (age_of): Return -1 and 0 rather than 0 and 1.
+ Might as well keep it simple, and like bash.
+ (binary_operator): Fix bug with -nt and -ot, when one of the
+ files did not exist. We want to be compatible with the ksh93
+ documentation, and with Bash.
+
+2002-03-17 Jim Meyering <meyering@lucent.com>
+
+ * src/seq.c (usage): Mention that --format=FORMAT must be
+ a *floating-point* format, also in description of that option.
+ Reported by Karl Eichwalder.
+ (usage): Also add the `=' signs here: --format=FORMAT,
+ --separator=STRING.
+
+2002-03-16 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (datadir): Don't override $(datadir)
+ which might be set by --datadir and different from $(prefix)/share.
+ Patch from Albert Chin-A-Young.
+
+2002-03-10 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac (AM_INIT_AUTOMAKE): Specify here the required version
+ of automake (1.6), and options (gnits dist-bzip2), rather than...
+ * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition.
+
+2002-03-09 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Remove config/config.rpath,
+ now that automake knows about it.
+
+2002-03-05 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Add config/config.rpath.
+
+2002-03-02 Jim Meyering <meyering@lucent.com>
+
+ * tests/nice: Export _POSIX2_VERSION=199209, so we can continue
+ to exercise the now-obsolete options.
+
+ * Makefile.maint (strftime-check): Add `N'.
+
+2002-02-27 Paul Eggert <eggert@twinsun.com>
+
+ * doc/coreutils.texi (Time directives): Add %N for nanoseconds.
+ This documents the recent change to 'ls'. But for this to
+ be accurate we also have to update 'date', as follows:
+
+ * src/Makefile.am (date_LDADD): New macro.
+
+ * src/date.c: Include timespec.h.
+ (strftime, time, stime): Remove declarations; no longer needed.
+ (usage): Document %N.
+ (main): Use gettime rather than time to get the time of day,
+ so that we can get fractional times.
+ Similarly for settime and stime, so that we can set fractional times
+ (though this currently is not available to the user since we don't
+ parse fractional times; add FIXMES for that).
+ Check for gettime failures; e.g. this can occur if it
+ is past 2038 and we are a 32-bit app running on a 64-bit OS.
+ Get fractional part of file time stamps.
+ Do not falsely report failures just because time_t happens to be -1
+ (e.g. a file time stamp 1 second before the epoch).
+ (show_date): 2nd arg is now struct timespec, not time_t.
+ All uses changed. Use nstrftime rather than strftime, so that
+ we can format fractional seconds.
+
+2002-02-24 Jim Meyering <meyering@lucent.com>
+
+ * src/nice.c: Include posixver.h.
+ * src/date.c: Likewise.
+
+2002-02-17 Jim Meyering <meyering@lucent.com>
+
+ * ABOUT-NLS, intl/*: Update to Gettext 0.11.
+ * INSTALL: Update to Autoconf 2.52h.
+
+ * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@,
+ per Gettext-0.11.
+ (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11.
+
+ * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation.
+ (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11.
+
+ * config: New subdirectory, containing the following files from .:
+ config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs.
+ Move the following files here from doc: texinfo.tex, mdate-sh.
+
+2002-02-15 Paul Eggert <eggert@twinsun.com>
+
+ Add support for _POSIX2_VERSION, which lets you pick which POSIX
+ version you want the utilities to conform to. Remove warnings about
+ failure to conform to a future POSIX version.
+
+ * src/date.c (ISO_8601_OPTION): Remove; no longer needed.
+ All uses changed to back to the corresponding short options.
+ (short_options): Remove; no longer needed.
+ (COMMON_SHORT_OPTIONS): New macro.
+
+ * src/date.c (usage): Document only the intersection of the
+ old and new behaviors, to encourage portability.
+ (main): Parse options using POSIX 1003.1-2001 rules if
+ conforming to that standard. Do not warn of obsolete options.
+ * src/nice.c (usage, main): Likewise.
+
+2002-02-11 Paul Eggert <eggert@twinsun.com>
+
+ * src/nice.c (main): Output warnings only if OBSOLETE_OPTION_WARNINGS.
+
+2002-02-11 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (usage): Describe %F, %g, %G, %P, and %R.
+ Tweak the description of %p.
+
+ * tests/stty/basic-1: Use `tail -n +2', rather than `tail +2'.
+
+2002-02-03 Paul Eggert <eggert@twinsun.com>
+
+ Add more support for POSIX 1003.1-2001, which requires removal
+ for support of obsolete "-DIGITS" option syntax in nice, and
+ which prohibits options with optional arguments like date's
+ -I option.
+
+ * NEWS, coreutils.texi: Document this.
+
+ * src/date.c (ISO_8601_OPTION): New enum value.
+ (long_options): Use it.
+ (short_options): New constant.
+
+ * src/date.c (usage): Document the change.
+ * src/nice.c (usage): Likewise.
+
+ * src/date.c (main): Conform to POSIX 1003.1-2001 if
+ POSIX2_VERSION says to, otherwise warn of obsolete usage if
+ OBSOLETE_OPTION_WARNINGS is nonzero and if not POSIXLY_CORRECT.
+ * src/nice.c (main): Likewise.
+
+2002-02-02 Bruno Haible <bruno@clisp.org>
+
+ * printf.c (print_esc): Call print_unicode_char with exit_on_error =
+ false.
+
+2002-01-28 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d.
+ * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro.
+
+2002-01-22 Jim Meyering <meyering@lucent.com>
+
+ * po/POTFILES.in: Add lib/xmemcoll.c and src/sys2.h.
+
+2002-01-21 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (strftime-check): New rule.
+ (local-check): Convert this target to a list. Update uses.
+ Mark them as .PHONY.
+ (header-check): New rule.
+ (local-check): Add header-check.
+
+ * src/dirname.c: Don't include "xalloc.h", as system.h already
+ does that via sys2.h.
+ * src/expr.c: Likewise.
+
+2002-01-19 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Remove code that set LIBOBJS in support of ansi2knr.
+ The latest version of autoconf objected to it, and besides, I don't
+ care too much about K&R support these days.
+
+2002-01-14 Paul Eggert <eggert@twinsun.com>
+
+ * src/date.c, src/logname.c, src/pathchk.c: Comment fixes
+ to bring us up to date with respect to POSIX 1003.1-2001.
+ In particular, POSIX.2 is now obsolete.
+
+2001-12-28 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac (ALL_LINGUAS): Add Catalan (ca).
+
+2001-12-17 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (real_dir): Remove unused variable.
+ (url_dir_list): Don't set define it here, but...
+ * Makefile.cfg (url_dir_list): ...define it here instead.
+ (hosts, a_host, b_host): Remove now-unused variables.
+ (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables.
+
+2001-12-15 Jim Meyering <meyering@lucent.com>
+
+ * src/basename.c, src/chroot.c, src/date.c, src/dirname.c, src/echo.c,
+ * src/env.c, src/expr.c, src/factor.c, src/hostid.c, src/hostname.c,
+ * src/id.c, src/kill.c, src/logname.c, src/nice.c, src/pathchk.c,
+ * src/pinky.c, src/printenv.c, src/printf.c, src/pwd.c, src/seq.c,
+ * src/sleep.c, src/stty.c, src/su.c, src/tee.c, src/test.c, src/true.c,
+ * src/tty.c, src/uname.c, src/uptime.c, src/users.c, src/who.c,
+ * src/whoami.c, src/yes.c (usage): Use fputs, not printf.
+ Split --help output into smaller pieces.
+ Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION
+ instead of hard-coding --help and --version descriptions.
+
+2001-12-08 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's
+ no longer available at that location.
+
+2001-11-25 Jim Meyering <meyering@lucent.com>
+
+ * basename.c, dirname.c, expr.c, factor.c, hostname.c (usage):
+ * logname.c, printenv.c, printf.c, pwd.c, sleep.c, test.c (usage):
+ * true.c, whoami.c, yes.c (usage):
+ Indent --help and --version strings to start in the 7th column.
+
+2001-11-17 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Replace use of the one-arg form of AC_INIT
+ with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR.
+
+2001-11-11 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (printf_LDADD): Reflect spelling change:
+ s/POW_LIBM/POW_LIB/.
+ (sleep_LDADD): Likewise.
+
+2001-11-10 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (usage): Document %u. Reported by Albert Hopkins.
+
+2001-11-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no
+ arguments.
+
+2001-09-28 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Tell automake to use the file name `config.hin'
+ rather than the two-`.' config.h.in.
+
+2001-09-26 Jim Meyering <meyering@lucent.com>
+
+ * man/Makefile.am (common_dep): Define it, so we depend on configure.ac.
+
+ * configure.ac: Renamed from configure.in.
+
+2001-09-25 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am:
+ (factor_DEPENDENCIES, printf_DEPENDENCIES seq_DEPENDENCIES):
+ (sleep_DEPENDENCIES uptime_DEPENDENCIES su_DEPENDENCIES):
+ Remove unnecessary definitions. They can cause trouble
+ when @INTLLIBS@ expands to -lintl.
+
+2001-09-23 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (SUBDIRS): When using newer gettext (in which
+ intl/libintl.h is created by rules intl/Makefile)
+ `intl' must precede `lib'.
+
+2001-09-17 Jim Meyering <meyering@lucent.com>
+
+ * src/printf.c (main): Change the `ignoring excess arguments' diagnostic
+ to list the first one we're ignoring. Suggestion from Karl Berry.
+
+2001-09-16 Jim Meyering <meyering@lucent.com>
+
+ * src/stty.c (usage): Prefix each line with a space, so that
+ help2man produces a better stty.1 man page.
+ From Colin Watson, via Michael Stone. http://bugs.debian.org/95816
+
+ * src/test.c (usage): Describe -h option.
+ From Colin Watson, via Michael Stone. http://bugs.debian.org/99272
+
+ * man/pwd.x: Add note to help people understand that this documentation
+ may not refer to the (shell built-in) command they're running.
+ * man/echo.x: Likewise.
+ * man/printf.x: Likewise.
+ From Michael Stone.
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5.
+
+ * man/Makefile.am: Revamp this file, as for fileutils.
+
+2001-09-11 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Move HOST_OPERATING_SYSTEM code from this file
+ into a new macro defined in m4/host-os.m4.
+
+2001-09-09 Jim Meyering <meyering@lucent.com>
+
+ * src/test.c (binary_operator): Correct typo in diagnostic.
+ From Jochen Hein.
+
+2001-09-03 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS: New 'uname' options -i or --hardware-platform,
+ and -o or --operating-system.
+ 'uname -a' now outputs -i and -o information at the end.
+ New uname option --kernel-version is an alias for -v.
+ Uname option --release has been renamed to --kernel-release,
+ and --sysname has been renamed to --kernel-name;
+ the old options will work for a while, but are no longer documented.
+
+ * configure.in (HOST_OPERATING_SYSTEM): New macro; set it
+ from $host_os with a translation table and other heuristics.
+
+ * src/uname.c: Correct copyright notice as per latest coding standards.
+ Remove list of options in comment, which wasn't
+ worth maintaining separately from usage().
+
+ (print_element): Move definition up, avoiding the need for
+ declaration and allowing inlining on some platforms.
+ Keep track of whether something has been printed; this is more
+ natural than modifying `toprint'.
+
+ (PRINT_KERNEL_NAME): Renamed from PRINT_SYSNAME.
+ (PRINT_KERNEL_RELEASE): Renamed from PRINT_RELEASE.
+ (PRINT_KERNEL_VERSION): Renamed from PRINT_VERSION.
+ (PRINT_HARDWARE_PLATFORM, PRINT_OPERATING_SYSTEM): New macros.
+ (toprint): Remove global var; now local in `main'.
+ (long_options, usage, main): Implement changes described in NEWS.
+ Reorder options to reflect output order.
+ (main): Use buffers one byte longer, for compatibility with Solaris 8.
+ Output newline at end. -a sets `toprint' to -1 now; this is simpler.
+ Do not bother invoking system calls like uname if the resulting
+ information does not need to be printed.
+ Do not fail if sysinfo fails; just print "unknown".
+
+2001-08-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/tee.c (full_write): Remove decl; not needed.
+
+2001-06-19 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS: expr now uses LC_COLLATE for string comparison, as per POSIX.
+ * src/expr.c (nextarg): Use strcoll, not strcmp.
+
+2001-08-24 Jim Meyering <meyering@lucent.com>
+
+ * src/pinky.c (main): Fail if -l is specified with no username.
+
+ * src/pinky.c (usage): Clarify description of -l. From Clark Morgan.
+
+2001-06-21 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS: 'expr' now requires '+' rather than 'quote' to quote tokens.
+
+ * src/expr.c (posixly_correct): Remove; no longer needed.
+ (main): Do not worry about POSIXLY_CORRECT, as it's OK for
+ expr to have options (so long as they do not begin with digits).
+ (eval6, usage): Use "+" rather than "quote" to quote tokens.
+
+2001-08-19 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (bin_PROGRAMS): Add kill.
+ * src/kill.c: New program. Written by Marcus Brinkmann.
+
+2001-08-19 Jim Meyering <meyering@lucent.com>
+
+ * po/POTFILES.in: Add src/kill.c
+
+2001-06-21 Paul Eggert <eggert@twinsun.com>
+
+ * src/expr.c (nextarg): Advance ARGS by one if the next token matches.
+ All callers changed.
+
+2001-06-21 Paul Eggert <eggert@twinsun.com>
+
+ * src/expr.c (isstring): Remove.
+ (eval2): Do comparisons as strings first, before trying to convert to
+ integer. This avoids loss of information and wrong result, e.g. for
+ "expr '00' '<' '0!'", where you don't want to convert '00' to '0'.
+
+2001-08-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/expr/basic (00): New test for the above.
+
+2001-06-21 Paul Eggert <eggert@twinsun.com>
+
+ * src/expr.c: Code cleanup to avoid tricky macros and
+ old-style function declarations.
+
+ (cmpf, less_than, less_equal, equal, not_equal, greater_equal,
+ greater_than, arithf, arithdivf, plus, minus, multiply, divide, mod):
+ Remove.
+
+ (eval4, eval3, eval2): Rewrite to avoid the need for the above macros
+ and functions.
+
+2001-08-18 Jim Meyering <meyering@lucent.com>
+
+ * src/test.c (binary_operator): Move declarations of lt,rt `down'
+ into the scopes where they're actually used.
+ (unary_operator): Likewise for `fd'.
+
+2001-06-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/test.c (isint, binary_operator, unary_operator):
+ Use intmax_t for argument integers, not long.
+ (age_of, binary_operator): Use time_t for times, not long.
+ (unary_operator): If N is out of int range, -t N now returns false.
+
+2001-06-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/expr.c (main): Handle a leading "--" option as POSIX requires.
+
+2001-08-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/expr/basic: Add a test for the above.
+
+2001-06-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/expr.c (toarith): Don't accept plain "-" as a valid integer.
+
+2001-06-20 Paul Eggert <eggert@twinsun.com>
+
+ Modify 'expr' so that it uses intmax_t, not int, to calculate
+ the value of integer expressions.
+
+ * src/expr.c (struct valinfo.i): Now intmax_t, not int.
+ (docolon, int_value, str_value, isstring, nextarg, toarith,
+ freev, tostring, trace): Remove unnecessary forward decls.
+ (int_value, printv, tostring, toarith, arithf, arithdivf, docolon,
+ eval6, eval4, eval3): Do integer arithmetic using intmax_t, not int.
+ (docolon): Don't assume size_t fits in int.
+
+2001-08-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/expr/basic: New test for the above.
+ * tests/expr/Makefile.am: New file.
+ * tests/expr: New directory.
+ * tests/Makefile.am (SUBDIRS): Add expr.
+ * configure.in (AC_OUTPUT): Add tests/expr/Makefile.
+
+2001-08-18 Jim Meyering <meyering@lucent.com>
+
+ Revert part of last change and solve the problem a better way.
+ * src/date.c (show_date) [--rfc-822]: Set LC_ALL=C just before
+ calling strftime and restore it just afterwards.
+ Suggestion from Ulrich Drepper.
+
+2001-08-18 H. Peter Anvin <hpa@transmeta.com>
+
+ * src/date.c (show_date) [--rfc-822]: Don't space-pad the day of
+ the month.
+ Set only LC_TYPE to the "C" locale. Setting LC_ALL is overkill,
+ and would have unwanted side effects if there is an error message.
+
+2001-08-16 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (main): When there are too many non-option arguments,
+ include the first offending argument in the diagnostic.
+ Suggestion from Karl Berry.
+
+2001-08-14 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include
+ the new, generated file, unlocked-io.h.
+
+ * tests/Makefile.am (TESTS_ENVIRONMENT): Remove first definition
+ of this variable, and move its RHS into the RHS of the second.
+ Thanks, automake!
+
+ * src/su.c (xputenv): Remove parameter's const qualifier.
+
+ * src/dirname.c, src/env.c, src/id.c, src/pathchk.c, src/pinky.c,
+ * src/printenv.c, src/sleep.c, src/tee.c, src/test.c, src/uptime.c,
+ * src/users.c, src/who.c: (AUTHORS): Mark string for translation,
+ since it contains the English word `and'.
+
+2001-08-12 Jim Meyering <meyering@lucent.com>
+
+ * src/pathchk.c (PATH_MAX_FOR): Use pathconf via wrapper.
+ (NAME_MAX_FOR): Likewise.
+ Guard the above pathconf-using definitions with `#if HAVE_PATHCONF'
+ rather than with `#ifdef _POSIX_VERSION'.
+ (pathconf_wrapper): New function.
+ (validate_path): Declare length variables to be `long', not `int'.
+ Adjust corresponding printf-style specs to use %ld.
+ Reported by Neal H Walfield.
+
+2001-08-07 Jim Meyering <meyering@lucent.com>
+
+ * src/printf.c (cfcc_msg): Remove now-inaccurate part of comment.
+ From Bruno Haible.
+
+2001-07-04 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.cfg: New file with package-specific definitions.
+ * Makefile.am (EXTRA_DIST): Add Makefile.cfg.
+
+2001-06-09 Jim Meyering <meyering@lucent.com>
+
+ (PIDSTR_DECL_AND_INIT): Define.
+
+2001-06-05 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Turkish (tr).
+
+2001-05-27 Jim Meyering <meyering@lucent.com>
+
+ * src/dirname.c (main): Add `const' to declaration of local, `result'.
+
+2001-04-01 Jim Meyering <meyering@lucent.com>
+
+ Add options to make `who' more POSIX compliant.
+ * who.c: Accept new options: --all (-a), --boot (-b), --dead (-d),
+ --login, --process (-p), --runlevel (-r), --short (-s), --time (-t),
+ --users (-u).
+ The -u option now produces POSIX-specified results and is the same as
+ the long option `--users'. --idle is no longer the same as -u.
+ (time_string, print_line, print_boottime, print_deadprocs, print_login,
+ print_initspawn, print_clockchange, print_runlevel): New functions.
+ (print_user): Renamed from print_entry and reworked.
+ (search_entries): Remove function.
+ (who_am_i): Likewise.
+ (usage): Describe new options.
+ (main): Handle new options.
+ Mostly from Michael Stone.
+
+2001-05-11 Paul Eggert <eggert@twinsun.com>
+
+ dirname code cleanup. base_name now behaves more compatibly
+ with POSIX basename when given file names that have trailing
+ slashes, and similarly for dir_name. Add new primitives
+ base_len and dir_len. Put the directory-name-related decls
+ into dirname.h.
+
+ * basename.c: Include "dirname.h".
+ (base_name, strip_trailing_slashes): Remove decls; now in dirname.h.
+ (main): Use base_len instead of strip_trailing_slashes to strip
+ trailing slashes.
+
+ * dirname.c (strip_trailing_slashes): Remove decl;
+ now in dirname.h.
+ (main): Use dir_len rather than dir_name_r.
+
+ * su.c: Include "dirname.h".
+ (base_name): Remove decl; now in dirname.h.
+
+2001-04-20 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi (false invocation): Describe how --help and
+ --version are treated with and without POSIXLY_CORRECT.
+ (true invocation): Likewise. Forwarded by Michael Stone.
+
+2001-03-18 Jim Meyering <meyering@lucent.com>
+
+ * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL
+ to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a
+ suggestion from Eli Zaretskii.
+
+2001-03-10 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi (date invocation): Correct the description of how
+ date works when given no format. Reported by Ole Laursen.
+
+ * src/factor.c: Include wheel-size.h.
+ (WHEEL_START): Adjust definition.
+ (wheel_tab[]): Remove body of definition.
+ Include generated file, wheel.h, instead.
+
+ * src/wheel-gen.pl: New file.
+ * src/Makefile.am (noinst_HEADERS): Add wheel.h wheel-size.h.
+ (EXTRA_DIST): Add wheel-gen.pl.
+ (PERL): Define.
+ (wheel-size.h, wheel.h): New rules.
+ (BUILT_SOURCES): Add wheel.h and wheel-size.h.
+ (MAINTAINERCLEANFILES): Define.
+
+2001-03-09 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (my_distdir): Define new variable, and use this
+ in place of most old uses of $(distdir).
+
+ * src/date.c (usage): Describe %C.
+ * doc/sh-utils.texi (Date directives): Likewise.
+
+ * tests/help-version: Ensure that /dev/full is a character device
+ (using test -c) as well as being writable, before trying to write to it.
+ Otherwise, the test could mistakenly append a newline to an existing,
+ regular, writable, /dev/full file.
+ Suggested by Ulrich Drepper.
+
+2001-03-07 Jim Meyering <meyering@lucent.com>
+
+ * tests/stty/Makefile.am (EXTRA_DIST): Remove input-tty.
+ * tests/Makefile.am (EXTRA_DIST): Add input-tty.
+
+ * tests/stty/basic-1: Reflect change in location of input-tty.
+ * tests/stty/row-col: Likewise.
+ * tests/stty/input-tty: Move this file...
+ * tests/input-tty: ... to here.
+
+2001-02-24 Paul Eggert <eggert@twinsun.com>
+
+ * doc/sh-utils.texi: Fix typo: '-d=1may' -> '-d 1may'.
+ Fix and clarify time zone usage in 'date' examples.
+
+2001-02-04 Jim Meyering <meyering@lucent.com>
+
+ * src/factor.c (usage): Tweak --help output: it prints the _prime_
+ factors, not just any factors.
+
+2001-02-03 Jim Meyering <meyering@lucent.com>
+
+ Improve the performance of `factor' (more than 2x speed-up for large N).
+ * src/factor.c (wheel_tab): New global table.
+ (WHEEL_START, WHEEL_END): Define.
+ (factor): Remove the loop that special-cased `2'.
+ Instead of incrementing by `2', use the offsets from the wheel table.
+ From Michael Steffens.
+
+2000-11-27 Prashant TR <rprash@wilco-int.com>
+
+ * src/test.c (eaccess) [__MSDOS__]: Just use access.
+
+2001-01-26 Jim Meyering <meyering@lucent.com>
+
+ * src/dirname.c (main): Declare local result as non-const, now
+ that it's freed.
+
+2001-01-20 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Remove jm_CHECK_ALL_TYPES.
+ Now it's invoked by jm_MACROS.
+
+2001-01-04 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (main): Fail when --rfc-822 (-R) is specified along
+ with a format string. Reported by Jochen Hein.
+
+2000-12-17 Jim Meyering <meyering@lucent.com>
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+
+ * djgpp: New directory.
+ * djgpp/*: New files.
+ * Makefile.am (SUBDIRS): Add djgpp.
+ * configure.in (AC_OUTPUT): Add djgpp/Makefile.
+ From Prashant TR.
+
+2000-12-08 Jim Meyering <meyering@lucent.com>
+
+ * src/dirname.c: Include xalloc.h.
+ (main): Use dir_name rather than the underlying dir_name_r.
+ The former now handles cwd-relative names with drive-letter prefixes.
+
+2000-12-02 Jim Meyering <meyering@lucent.com>
+
+ * src/seq.c (valid_format): Move pre-increment to a separate statement
+ to avoid a warning.
+
+ * src/id.c: Move dcls of globals used only in main...
+ (main): ...to here.
+ (usage): Clarify option descriptions.
+
+2000-11-18 Jim Meyering <meyering@lucent.com>
+
+ * po/Makefile.in.in: Sync with the one from fileutils.
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+2000-11-17 Jim Meyering <meyering@lucent.com>
+
+ * GNUmakefile (.NOTPARALLEL): New target. Prevent unwanted parallelism.
+ Suggestion from Ulrich Drepper.
+
+ * src/pinky.c: Explicitly include sys/types.h before including system.h.
+ * src/uptime.c: Likewise.
+ * src/users.c: Likewise.
+ * src/who.c: Likewise.
+
+2000-11-13 Paul Eggert <eggert@twinsun.com>
+
+ * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should
+ be tested with #ifdef, not with #if.
+
+2000-11-12 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (show_date): Add a comment explaining why the
+ format string must not be translatable via _(). From Paul Eggert.
+
+2000-10-31 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi: Clean up indentation and punctuation.
+ Fix a couple typos. From Brian Youmans.
+
+2000-10-30 Jim Meyering <meyering@lucent.com>
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+2000-10-29 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.11.
+
+2000-10-27 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (usage): Mention the time zone, UTC, and write the date
+ in ISO format in the description of %s. Suggestion from Karl Berry.
+
+2000-10-25 Jim Meyering <meyering@lucent.com>
+
+ * src/dirname.c: Include dirname.h.
+ (main): Use dir_name_r rather than open-coding it.
+
+2000-10-23 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Add .prev-version.
+
+2000-10-18 Paul Eggert <eggert@twinsun.com>
+
+ * src/date.c (universal_time): Remove; it's just a temptation to
+ do the wrong thing.
+ (main): The -u option now just sets TZ; it doesn't do anything else.
+ (show_date): Do not do anything special if -u is set.
+ This affects the behavior of the -I and -R options.
+ * doc/sh-utils.texi: Document the above.
+
+2000-10-18 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi (Examples of date): Fix a typo.
+
+2000-10-11 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi (Time directives) [%S]: Range is 0..60, not 0..61.
+
+2000-10-06 Paul Eggert <eggert@twinsun.com>
+
+ Undo the effect of the 1997-07-12 change to date.c; it
+ broke "date -u MMDDhhmm" and it wasn't documented.
+ This reverts to the behavior of the 1996-01-03 patch.
+
+ * src/date.c (TZ_UTC0, MAYBE_SET_TZ_UTC0, set_tz): Remove.
+ (batch_convert): Don't futz with TZ.
+ (main): -u now parses all dates as UTC, not just some.
+ Reported by Karl-Michael Schneider.
+ * tests/date/Test.pm (utc-0, utc-1, relative-2): Adjust to
+ above change.
+
+2000-09-29 Jim Meyering <meyering@lucent.com>
+
+ * src/yes.c (usage): Add a separate usage line, just for `OPTION'.
+ Suggestion from M. P. Suzuki.
+
+2000-09-09 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (usage): Make the second `Usage' line more precise
+ (also making it match the texinfo documentation).
+ From Karl Eichwalder.
+
+ * doc/sh-utils.texi (Setting the time): Correct the capitalization of
+ `HHMM' in the info-rendering of the texinfo documentation.
+ Reported by Karl Eichwalder.
+
+2000-08-14 Jim Meyering <meyering@lucent.com>
+
+ * src/tee.c (main): Remove incorrect `FIXME' comment.
+
+2000-08-07 Paul Eggert <eggert@twinsun.com>
+
+ * src/su.c (xputenv): Invoke xalloc_die instead of printing
+ our own message.
+
+2000-07-30 Jim Meyering <meyering@lucent.com>
+
+ * src/tee.c (tee): Use SET_BINARY and SET_BINARY2.
+ From Prashant TR.
+
+ * src/help-version: Remove file. Move it to ...
+ * tests/help-version: ...here
+ * tests/Makefile.am (TESTS): Add help-version.
+ (TESTS_ENVIRONMENT): Define.
+ * src/Makefile.am (EXTRA_DIST): Remove help-version.
+ (TESTS): Remove definition.
+ (TESTS_ENVIRONMENT): Remove definition.
+
+2000-07-23 Jim Meyering <meyering@lucent.com>
+
+ * src/help-version (su_args): Punt, so we don't try to start a shell.
+
+ * src/su.c: Include <sys/param.h> if HAVE_SYS_PARAM_H is defined,
+ rather than if _POSIX_VERSION is defined. Remove declarations of
+ getpwuid, getgrgid, and getuid, now that they're in sys2.h.
+ Prompted by a report from John David Anglin.
+
+ * src/sys2.h [!HAVE_DECL_GETPWUID]: Declare getpwuid.
+ [!HAVE_DECL_GETGRGID]: Declare getgrgid.
+ [!HAVE_DECL_GETUID]: Declare getuid.
+
+2000-07-19 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (batch_convert): Free `initial_TZ' only if it was set.
+ Reported by Michael Hohn.
+
+2000-07-17 Jim Meyering <meyering@lucent.com>
+
+ * src/stty.c (visible): Don't mark `<undef>' for translation.
+ The standard requires that exact string.
+
+2000-07-09 Jim Meyering <meyering@lucent.com>
+
+ * config.guess: Update from FSF.
+ * config.sub: Likewise.
+
+ * src/Makefile.am (seq_LDADD): Don't hard-code `-lm' -- some systems
+ don't have/need it. From Bruno Haible.
+
+2000-07-06 Jim Meyering <meyering@lucent.com>
+
+ * src/help-version: Punt on `groups' test, since all it does
+ is run `id -Gn', and groups fails if GNU id is not installed.
+ Reported by Christian Krackowizer.
+
+2000-07-05 Bruno Haible <haible@clisp.cons.org>
+
+ * tests/nice: Avoid syntax error in "test" when `nice` generates
+ no output.
+
+2000-07-04 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0j.
+
+ * tests/date/Test.pm (test_vector): Disable test #2 for all systems,
+ even though it fails only on SunOS4.
+
+2000-07-01 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (jm_DUMMY_1): Wrap a snippet in a macro definition
+ so we can use AC_REQUIRE.
+ (jm_BOOT_TIME): Likewise.
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * configure.in: Add pinky, users, who to OPTIONAL_BIN_PROGS if either
+ <utmp.h> or <utmpx.h> exists. Add uptime only if either <utmp.h> or
+ <utmpx.h> exists.
+ * src/Makefile.am (bin_PROGRAMS): Remove pinky, users, who from here...
+ (EXTRA_PROGRAMS): ... and add them here.
+
+2000-06-26 Jim Meyering <meyering@lucent.com>
+
+ `id -Gn' (invoked by groups) would fail without giving a diagnostic
+ on malconfigured systems.
+ * src/id.c (print_user): Give a diagnostic if number->name lookup fails.
+ (print_group): Likewise.
+
+2000-06-25 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Danish (da).
+
+2000-06-21 Jim Meyering <meyering@lucent.com>
+
+ * tests/stty/basic-1: New test for that.
+ * src/stty.c (valid_options): Don't segfault on `stty erase -'.
+ Patch from Harry Liu.
+
+2000-06-15 Jim Meyering <meyering@lucent.com>
+
+ * tests/date/Test.pm: Add tests for getdate.y fix.
+
+2000-06-14 Jim Meyering <meyering@lucent.com>
+
+ * src/help-version: Punt on nohup; give it --version.
+
+2000-06-10 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi: Typo-fixes and some clean-up from Brian Youmans.
+
+2000-05-29 Jim Meyering <meyering@lucent.com>
+
+ * tests/nice: Remove now-unused reference to srcdir.
+
+ * src/help-version: Use `WARNING', not just `Warning' in the
+ broken-/bin/sh diagnostic, to be consistent with other such warnings.
+
+2000-05-21 Jim Meyering <meyering@lucent.com>
+
+ * tests/nice: Disable test on djgpp.
+
+2000-05-15 Jim Meyering <meyering@lucent.com>
+
+ * tests/date/Test.pm (test_vector): Skip the %c test on SunOS4 systems.
+ Suggested by Paul Eggert. Reported by Volker Borchert.
+
+2000-05-13 Jim Meyering <meyering@lucent.com>
+
+ * src/groups.sh: Detect and report write failure of --help/--version.
+ * src/nohup.sh: Likewise.
+
+2000-05-11 Jim Meyering <meyering@lucent.com>
+
+ * src/date.c (usage): Don't call close_stdout_status directly,
+ since that didn't cover --version output.
+ (main): Instead, call close_stdout_set_status and arrange to
+ call close_stdout via atexit.
+ * src/printenv.c: Likewise.
+ * src/tty.c: Likewise.
+
+ * src/true.c (usage): Don't call close_stdout directly, since that
+ didn't cover --version output.
+ (main): Arrange to call close_stdout via atexit, instead.
+ * src/yes.c: Likewise.
+ * src/sleep.c: Likewise.
+
+2000-05-09 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h (case_GETOPT_VERSION_CHAR): Don't call close_stdout.
+ * src/help-version: New test.
+ * src/Makefile.am (TESTS): Define.
+ (TESTS_ENVIRONMENT): Likewise.
+ (EXTRA_DIST): Add help-version.
+
+2000-05-08 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0i.
+
+2000-05-07 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0h.
+
+ * src/basename.c: Include "closeout.h".
+ (main): Call atexit with close_stdout.
+ * src/chroot.c: Likewise.
+ * src/dirname.c: Likewise.
+ * src/echo.c: Likewise.
+ * src/env.c: Likewise.
+ * src/expr.c: Likewise.
+ * src/factor.c: Likewise.
+ * src/hostid.c: Likewise.
+ * src/hostname.c: Likewise.
+ * src/id.c: Likewise.
+ * src/logname.c: Likewise.
+ * src/nice.c: Likewise.
+ * src/pathchk.c: Likewise.
+ * src/pinky.c: Likewise.
+ * src/printf.c: Likewise.
+ * src/pwd.c: Likewise.
+ * src/seq.c: Likewise.
+ * src/stty.c: Likewise.
+ * src/su.c: Likewise.
+ * src/test.c: Likewise.
+ * src/uname.c: Likewise.
+ * src/uptime.c: Likewise.
+ * src/users.c: Likewise.
+ * src/who.c: Likewise.
+ * src/whoami.c: Likewise.
+ * src/tee.c: Likewise. Remove explicit close_stdout.
+
+ * src/yes.c Include "closeout.h".
+ (usage): Call close_stdout just before exit.
+ * src/sleep.c: Likewise.
+ * src/true.c: Likewise.
+ * src/date.c (usage): Call close_stdout_status.
+ * src/printenv.c (usage): Likewise.
+
+ * tests/date/Test.pm ($Test::env{'rfc822-1'}): Add TZ=UTC0.
+
+2000-05-06 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (sleep_LDADD): Add @LIB_CLOCK_GETTIME@ and
+ @LIB_NANOSLEEP@.
+
+ * src/tty.c (main): Warn about arguments, don't fail.
+ (usage): Call close_stdout_status from here as well as from main.
+
+2000-05-05 Jim Meyering <meyering@lucent.com>
+
+ Exit nonzero upon write failure.
+ * src/printf.c: Include "closeout.h".
+ (main): Call close_stdout.
+ Reported by Ian Jackson via Michael Stone.
+
+2000-05-04 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (my-distcheck): Remove spurious blank line.
+ Remove $(DEPDIR) *after* making distclean, not before.
+
+2000-04-30 Jim Meyering <meyering@lucent.com>
+
+ * src/yes.c: Detect and terminate upon write failure.
+
+2000-04-14 Jim Meyering <meyering@lucent.com>
+
+ * src/seq.c: Shorten `#ifdef HAVE_...' to `#if HAVE_...' and
+ remove unnecessary uses of `defined' (aesthetics).
+
+2000-04-12 Jim Meyering <meyering@lucent.com>
+
+ Move some code into m4/.
+ * configure.in (_GNU_SOURCE): Don't define here.
+ (AC_SYS_LARGEFILE): Don't use here.
+ (AM_C_PROTOTYPES): Don't use here.
+ (AC_DEFINE): Use 3-arg form.
+ * acconfig.h: Remove now-unused file.
+
+2000-04-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Estonian (et).
+
+2000-04-01 Jochen Hein <jochen@jochen.org>
+
+ * src/date.c: Use the "C" locale when using --rfc-822 (-R), as
+ required by rfc822. Before, in the de_DE locale, date would
+ print the German weekday and month abbreviations.
+
+ * tests/date/Test.pm: Add test for rfc822 format and foreign
+ locale settings.
+
+2000-04-04 Jim Meyering <meyering@lucent.com>
+
+ * man/Makefile.am (man_MANS): Add uptime.1.
+ * man/uptime.x: New file.
+
+ * man/Makefile.am (man_MANS): Add factor.1.
+ * man/factor.x: New file.
+
+ * tests/seq/basic: Split a long line and tweak for font-lock mode.
+ * tests/factor/basic: Likewise.
+ * tests/basename/basic: Likewise.
+
+2000-03-29 Paul Eggert <eggert@twinsun.com>
+
+ * src/date.c: Include <langinfo.h> if it exists.
+ (DATE_FMT_LANGINFO): New macro.
+ (show_date): Use it to get the locale-specific default format for
+ "date" if it exists.
+
+2000-03-19 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0g.
+
+ * doc/sh-utils.texi (chroot invocation): Include a couple tips and
+ a simple example.
+
+ * doc/getdate.texi (Calendar date item): Fix typos.
+ From Per Cederqvist.
+
+2000-03-18 Jim Meyering <meyering@lucent.com>
+
+ * src/uptime.c (print_uptime): Use `buf' only if fgets succeeds.
+
+2000-03-12 Jim Meyering <meyering@lucent.com>
+
+ Merge from textutils.
+ * src/system.h (O_BINARY, O_TEXT): Define if necessary.
+ (SET_BINARY, SET_BINARY2): Define.
+ (DEV_BSIZE): Define to BBSIZE if appropriate.
+
+2000-03-11 Jim Meyering <meyering@lucent.com>
+
+ * tests/date/Test.pm: Set the default TZ value to UTC0, not UTC.
+ The latter didn't have any effect on alphaev56-dec-osf4.0f.
+
+ Final merge with fileutils.
+ * src/system.h: Use standard `#if TIME_WITH_SYS_TIME...' block
+ rather than `#if TM_IN_SYS_TIME' one.
+
+2000-02-02 Bruno Haible <haible@clisp.cons.org>
+
+ * printf.c: Include "unicodeio.h".
+ (usage): Mention \u and \U directives. \x outputs a byte, not a
+ character.
+ (print_esc): Implement \u and \U.
+ * Makefile.am (printf_LDADD): Add @LIBICONV@.
+
+2000-03-03 Jim Meyering <meyering@lucent.com>
+
+ Make it so stty's rprnt attribute works on HPUX 10.20.
+ * src/stty.c [CREPRINT && !CRPRNT] (CRPRNT): Define.
+ (control_info): Recognize HPUX's CREPRINT.
+
+2000-03-02 Jim Meyering <meyering@lucent.com>
+
+ * doc/sh-utils.texi (printf invocation): Describe new unicode syntax.
+ From Bruno Haible.
+
+ Unify with fileutils/src/system.h.
+ * src/system.h (ST_NBLOCKS): Sync with recent changes in fileutils.
+ [!_POSIX_VERSION]: Remove declarations of getlogin, ttyname, geteuid.
+ * src/sys2.h: Declare them here, if needed.
+
+2000-03-01 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Include GNUmakefile.
+
+ * src/seq.c (get_width_format): Fix portability problem with
+ `-0' vs. `0'.
+
+2000-02-22 Jim Meyering <meyering@lucent.com>
+
+ * tests/date/Test.pm (datevtime-1): New test.
+ From John Kendall.
+
+2000-02-15 Jim Meyering <meyering@lucent.com>
+
+ * man/Makefile.maint ($(man_MANS)): Remove $@-t1.
+
+2000-02-13 Jim Meyering <meyering@lucent.com>
+
+ * tests/Fetish.pm (run_tests): Discard stderr.
+ Reverse diff args, so `expected' is last, as in mk-script.
+
+2000-02-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/mk-script: Invoke `diff' when differences are found.
+ * tests/Fetish.pm (run_tests): Likewise.
+
+2000-02-09 Jim Meyering <meyering@lucent.com>
+
+ * src/su.c (correct_password): Correct HAVE_STRUCT_* name in #if guard
+ to go along with corrected autoconf test: Reported by Gaël Quéri.
+
+2000-02-05 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0f.
+
+ * src/who.c: Use UT_USER in place of hard-coded `->ut_name' here, too.
+ * src/pinky.c: Likewise.
+ Reported by Tom Tromey and Andreas Schwab.
+ * src/uptime.c (print_uptime): Likewise.
+ * src/users.c (list_entries_users): Likewise.
+
+2000-01-30 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0e.
+
+ * src/su.c (correct_password): Guard with `HAVE_GETSPNAM &&
+ HAVE_STRUCT_PASSWD_SP_PWDP', rather than just `#ifdef HAVE_SHADOW_H'.
+
+ * po/POTFILES.in: Add lib/makepath.c, lib/obstack.c, lib/rpmatch.c,
+ and lib/same.c.
+
+2000-01-29 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Move library-related tests into m4/lib-check.m4.
+ Remove lib-check for cposix now that we use m4/isc-posix.m4.
+
+ * src/seq.c: Back out most of the 2000-01-21 and 01-22 changes.
+ [Instead, merely give examples showing how to accomplish the same
+ task with fewer limitations using existing tools. ]
+ Suggestion from Bruno Haible.
+ (valid_format): Rename from check_format.
+ * tests/seq/basic: Remove associated tests and add two equal-width ones.
+
+ * tests/stty/row-col-1: Set COLUMNS envvar, just to be safe.
+
+2000-01-28 Jim Meyering <meyering@lucent.com>
+
+ * src/stty.c (wrapf): Emit a newline only if 0 < current_col.
+ (screen_columns): Use xstrtol, not atoi.
+ If get_win_size fails and $COLUMNS == 0, then return 80, not `0'.
+
+2000-01-23 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
+ AC_SUBST these not here, but rather in m4/, so that the now-shared
+ lib/Makefile.am are all the same.
+ (AC_CHECK_FUNCS): Remove check for utmpname, since it's already
+ in m4/prereq.m4.
+ Remove many function checks (moved to m4/.)
+
+ * configure.in (AM_FUNC_STRTOD): Move to m4/.
+ (AC_SUBST(POW_LIBM)): Likewise.
+
+ * configure.in (SEQ_LIBM): Remove AC_SUBST of a constant.
+ * src/Makefile.am (seq_LDADD): Add -lm rather than constant $(SEQ_LIBM).
+
+2000-01-22 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h [! HAVE_DECL_STRTOUL]: Declare strtoul.
+ [! HAVE_DECL_STRTOULL]: Declare strtoull.
+ Required for some AIX systems. Reported by Christian Krackowizer.
+
+ * configure.in (ALL_LINGUAS): Add Slovenian (sl).
+ (AC_CHECK_HEADERS): Move these checks into m4/.
+
+ * src/seq.c (enum Format_type): Declare.
+ (format_type): New global to take place of intconv.
+ (format_str): Move global declaration...
+ (main): ... to here.
+ (check_format): Rename parameter to avoid shadowing global.
+ (DO_printf): New macro.
+ (main): Use it.
+ Topologically sort the functions and remove fwd declarations.
+
+2000-01-21 Bruno Haible <haible@linuix.math.u-bordeaux.fr>
+
+ Add support for octal and hexadecimal output.
+ * seq.c (intconv): New variable.
+ (usage): Update.
+ (main): Call scan_arg instead of scan_double_arg. Call check_format
+ before scan_arg.
+ (scan_int_arg, scan_arg): New functions.
+ (check_format): Add intconv argument. Accept %d, %u, %o, %x, %X.
+ (print_numbers): If intconv is true, pass an int argument to printf.
+
+2000-01-21 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Galician (gl).
+
+2000-01-16 Jim Meyering <meyering@lucent.com>
+
+ * lib/Makefile.am: Sync with fileutils/lib/Makefile.am.
+
+ * src/date.c (usage): Correct error in %V description.
+ From Wolfram Kleff.
+
+ * configure.in: Remove jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
+ AM_FUNC_GETLOADAVG, jm_SYS_PROC_UPTIME, AM_SYS_POSIX_TERMIOS,
+ jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL.
+
+2000-01-15 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (AC_REPLACE_FUNCS): Remove gethostname, getusershell,
+ memcpy, and memset. Now that's done in m4/.
+ Remove these, too: stime strcspn stpcpy strstr strtol strtoul.
+
+2000-01-12 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Remove the tests that are now in jm_PREREQ_CANON_HOST.
+
+2000-01-11 Jim Meyering <meyering@lucent.com>
+
+ Sync lib/ directories of sh-utils, and textutils.
+
+ * lib/Makefile.am (libfetish_a_SOURCES): Add diacrit.c, hard-locale.c,
+ linebuffer.c, md5.c, memcasecmp.c, memcoll.c, obstack.c, safe-read.c
+ (noinst_HEADERS): Add bumpalloc.h, diacrit.h, hard-locale.h,
+ linebuffer.h, md5.h, memcasecmp.h, memcoll.h, obstack.h, safe-read.h.
+
+ * lib/Makefile.am: s/su/fetish/
+ * src/Makefile.am: s/libsu/libfetish/
+
+2000-01-10 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0d.
+
+ * src/Makefile.am (sleep_LDADD): Add @POW_LIBM@, for systems that use
+ lib/strtod.c and need -lm to resolve its pow reference.
+
+2000-01-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 2.0c.
+
+ * tests/basename/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix
+ to exported PATH value (though not strictly necessary, here).
+ * tests/factor/Makefile.am (TESTS_ENVIRONMENT): Likewise.
+ * tests/seq/Makefile.am (TESTS_ENVIRONMENT): Likewise.
+ * tests/stty/Makefile.am (TESTS_ENVIRONMENT): Likewise.
+
+2000-01-06 Paul Eggert <eggert@set.twinsun.com>
+
+ * tar/lib/getdate.y: Sync tm_diff with the GNU C Library.
+ (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN. All uses changed.
+ (tm_diff): Renamed from difftm. All uses changed.
+ Replace body with that taken from GNU C Library 2.1.3pre1.
+ (get_date): Prefer tm_gmtoff to tm_diff if available.
+
+2000-01-05 Paul Eggert <eggert@twinsun.com>
+
+ Minor code cleanup.
+ * src/sleep.c (clock_get_realtime): Return argument, for convenience.
+ (main): Use this to simplify main sleep loop.
+
+2000-01-05 Jim Meyering <meyering@ascend.com>
+
+ Some systems lack a definition of struct timespec (AIX, Ultrix)
+ Reported by Christian Krackowizer.
+ * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h.
+ * lib/nanosleep.h: New file.
+ * lib/nanosleep.c: Include it.
+ Don't include time.h or sys/time.h here.
+ * src/sleep.c: Include it.
+ (AUTHORS): Add Paul Eggert.
+
+2000-01-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/nanosleep.c: Include both time.h and sys/time.h only
+ #if TIME_WITH_SYS_TIME.
+
+2000-01-03 Paul Eggert <eggert@twinsun.com>
+
+ Fix some porting and rounding problems with the new `sleep' code.
+
+ * configure.in (AC_CHECK_HEADERS): Add fenv.h.
+ (FESETROUND_LIBM): New macro.
+
+ * lib/xstrtod.c: Add #pragma STDC FENV_ACCESS ON if C99.
+ * src/sleep.c: Likewise.
+
+ * src/Makefile.am (sleep_LDADD, sleep_DEPENDENCIES): New macros.
+
+ * src/sleep.c (<fenv.h>): Include if available.
+ (main): Always round floating-point interval calculations upwards,
+ as we must sleep for at least the specified time.
+ Do the right thing with NaNs.
+
+ (main): Sleep forever if the time calculations overflow.
+ (apply_suffix): Don't assert that *s <= TIME_T_MAX.
+
+ (clock_get_realtime): Fix typo; address was improperly taken.
+
+2000-01-02 Jim Meyering <meyering@ascend.com>
+
+ * Version 2.0b.
+
+ * lib/Makefile.in: Regenerate.
+
+ * Version 2.0a.
+
+1999-12-26 Jim Meyering <meyering@ascend.com>
+
+ * lib/nanosleep.c (nanosleep): New file.
+
+1999-12-23 Jim Meyering <meyering@ascend.com>
+
+ * src/sleep.c (USE_CLOCK_GETTIME): Define.
+ [USE_CLOCK_GETTIME]: Include sys/time.h.
+ (timespec_subtract): New function.
+ (clock_get_realtime): New function.
+ (sighandler): Remove function.
+ (main): Reimplement again, using nanosleep and clock_gettime.
+
+ * configure.in: Remove check for gettimeofday.
+ Now it's in m4/jm-macros.m4
+
+ * man/Makefile.summ: Remove now-unused summaries.
+
+1999-12-22 Jim Meyering <meyering@ascend.com>
+
+ * lib/getdate.y (get_date): Fix typo in time_t overflow test.
+ From Michael Stone.
+
+ * tests/date/Test.pm (regress-1): New test for the above.
+
+1999-12-18 Jim Meyering <meyering@ascend.com>
+
+ * src/who.c (print_entry): Correct do_lookup test so that who
+ prints whatever host information it has, even without --lookup.
+ Reported by Bill Peters.
+
+1999-12-12 Jim Meyering <meyering@ascend.com>
+
+ Move 120+ lines of stat.h-related macros from system.h (not shared)
+ to sys2.h, which is shared between fileutils, sh-utils, textutils.
+ * src/system.h: Move them from here...
+ * src/sys2.h: ... to here.
+
+1999-11-27 Jim Meyering <meyering@ascend.com>
+
+ Rewrite to allow fractional seconds and to handle SIGCONT.
+ * src/sleep.c (main): Rewrite.
+ (sighandler): New function.
+ (apply_suffix): New function.
+ (timeval_subtract): New function.
+ Reported by Raul Miller.
+
+ * src/sleep.c (argdecode): Move definition to precede use.
+ Remove prototype.
+ (usage): Add elipses to show that sleep allows more than one argument.
+
+1999-11-22 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c.
+
+1999-11-09 Jim Meyering <meyering@ascend.com>
+
+ * src/expr.c (NEW): Undefine to avoid warning about redefinition.
+ (NEW): Redefine in terms of XMALLOC.
+
+ * lib/xalloc.h (XMALLOC): Correct misnamed macro parameter name:
+ s/N_bytes/N_items/.
+ (XCALLOC): Likewise.
+ (XREALLOC): Likewise.
+
+1999-11-05 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h: Use HAVE_STRUCT_STAT_ST_BLOCKS, not deprecated
+ HAVE_ST_BLOCKS.
+
+ * configure.in: Move some type/header/member tests into
+ m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of
+ fileutils, textutils, and sh-utils.
+
+1999-11-01 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES).
+
+1999-10-07 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Japanese (ja).
+
+1999-10-04 Jim Meyering <meyering@ascend.com>
+
+ * depcomp: New file, for automake's new dependency support.
+ * missing: New version, from automake's user-dep-gen-branch.
+
+1999-09-28 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h: Update from the system.h from fileutils.
+ Now they're finally almost identical...
+
+1999-09-09 Jim Meyering <meyering@ascend.com>
+
+ * src/Makefile.am (EXTRAdir): Remove unused variable.
+ (installed_su): Use `$(DESTDIR)$(bindir)' in place of $(bindir).
+ (install-exec-local): Likewise.
+ (.sh): Substitute `$(bindir)' rather than @bindir@.
+ Based on a patch from Andreas Schwab.
+
+1999-09-08 Andreas Schwab <schwab@suse.de>
+
+ * tests/nice: Instead of failing, exit with 77 if running niced.
+
+1999-09-08 Jim Meyering <meyering@ascend.com>
+
+ * src/su.c: Remove declaration of xstrdup.
+
+1999-09-02 Jim Meyering <meyering@ascend.com>
+
+ * src/expr.c: Remove xstrdup declaration.
+ * src/date.c: Likewise.
+ * src/pathchk.c: Likewise.
+ * src/su.c: Likewise.
+
+1999-08-29 Jim Meyering <meyering@ascend.com>
+
+ * tests/nice: Use `nice' instead of $nice.
+ * tests/Makefile.am (TESTS_ENVIRONMENT): Prepend ../src to PATH so
+ the above works.
+
+ * src/env.c (main): Call exit explicitly to avoid warning from gcc.
+ * src/nice.c (main): Likewise.
+ Include "xstrtol.h".
+ (isinteger): Remove function and prototype.
+ (main): Use xstrtol in place of atoi. Remove associated FIXME comments.
+
+ * configure.in (AC_YACC): Remove use, now that we require bison.
+
+ * tests/date/Test.pm (test_vector): Add a test for the Risks-reported
+ problem with syntax like this: Nov 11 1996.
+
+ * lib/getdate.y (get_date): Rename outermost local `probe' to `quarter'.
+ (get_date): Rename latter local `tm' to probe_tm.
+
+ * lib/getdate.y (relative_time_table): Change `type' of `THIS' from
+ tMINUTE_UNIT to tUNUMBER. From Urs Thuermann.
+ * tests/date/Test.pm (test_vector): Add tests for use of `this'.
+
+1999-08-25 Jim Meyering <meyering@ascend.com>
+
+ * man/Makefile.summ (seq-summary): Define.
+ * man/Makefile.am (man_MANS): Add seq.1.
+ Reported by Dirk-Jan Faber.
+
+1999-08-23 Jim Meyering <meyering@ascend.com>
+
+ * src/pathchk.c (longopts): Restore accidentally-removed entry for
+ `--portability' long option.
+ * src/chroot.c (usage): Correct --help message.
+ * src/hostid.c (usage): Likewise.
+ * src/hostname.c (usage): Likewise.
+ * src/logname.c (usage): Likewise.
+ * src/nice.c (usage): Likewise.
+ * src/printenv.c (usage): Likewise.
+ * src/sleep.c (usage): Likewise.
+ * src/stty.c (usage): Likewise.
+ Reported by Daniel Bergstrom.
+
+1999-08-22 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h (ATTRIBUTE_NORETURN): Define.
+ * src/test.c: Use ATTRIBUTE_NORETURN instead of NO_RETURN_ATTRIBUTE.
+ (NO_RETURN_ATTRIBUTE): Remove definition.
+
+ * src/su.c (run_shell): Declare with gcc's noreturn attribute.
+ Use an explicit exit(1) rather than doing that through error.
+
+ * src/sys2.h (IF_LINT): Define new macro.
+ * src/date.c (batch_convert): Use IF_LINT macro instead of #ifdef lint.
+ * src/pathchk.c (validate_path): Likewise.
+
+1999-08-21 Jim Meyering <meyering@ascend.com>
+
+ * src/hostid.c (usage): Remove the ` [-v]' from the Usage: line.
+ Reported by Daniel Bergstrom.
+
+1999-08-17 Jim Meyering <meyering@ascend.com>
+
+ * tests/stty/input-tty: New file, containing code factored out of
+ the two test scripts. Mention `at' and `batch' in addition to `rsh'.
+ * tests/stty/basic-1: Source it.
+ * tests/stty/row-col-1: Source it.
+ * tests/stty/Makefile.am (EXTRA_DIST): Add input-tty.
+
+1999-08-14 Jim Meyering <meyering@ascend.com>
+
+ * Version 2.0.
+
+ * tests/stty/basic-1: Fail-77 if stdin is not a tty.
+ * tests/stty/row-col-1: Likewise.
+ Suggestion from Volker Borchert.
+
+1999-08-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.16m.
+
+ * Makefile.maint (po-check): New rule.
+ (alpha): Make it.
+
+ * po/POTFILES.in: Add the following from lib/: argmatch.c, closeout.c,
+ error.c, getopt.c, human.c, long-options.c, version-etc.c, xmalloc.c.
+ Add these from src/: false.c, hostid.c, true.c.
+
+ * lib/getdate.y (OtherTable[]): Use tDAY_UNIT for `tomorrow,'
+ `yesterday,' `today,' and `now' rather than tMINUTE_UNIT. Of course
+ with correspondingly smaller numbers for tomorrow and yesterday.
+ This change does not change the way the code works, since the
+ grammar rules for the two symbols are analogous.
+ From Tadayoshi Funaba.
+
+1999-08-04 Jim Meyering <meyering@ascend.com>
+
+ false and true once again generate --help and --version output
+ * src/true.c: Honor --help and --version once again, bug ignore
+ those options when POSIXLY_CORRECT is set.
+ * src/false.c: Fail even for --help and --version.
+ * src/Makefile.am (false.c): Generate automatically from true.c.
+ (BUILT_SOURCES): Add false.c.
+ * man/Makefile.am (EXTRA_DIST): Remove false.1in and true.1in.
+ * man/Makefile.summ: Remove the rules added on 1999-07-31.
+ * man/Makefile.maint: Likewise.
+ * man/true.1in: Removed.
+ * man/false.1in: Removed.
+
+ * configure.in: Remove getline-testing code. Now it's in m4/.
+
+1999-08-01 Jim Meyering <meyering@ascend.com>
+
+ * src/date.c (usage): Correct description of %S; (00..60, not 00..61).
+ From Ken Pizzini.
+
+1999-08-01 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS.
+
+1999-07-31 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.16l.
+
+ false and true are now C programs rather than shell scripts
+ * src/true.c: New file.
+ * src/false.c: New file.
+ * src/true.sh: Removed.
+ * src/false.sh: Removed.
+ * src/Makefile.am (bin_PROGRAMS): Add true and false.
+ (bin_SCRIPTS): Remove true and false.
+ (EXTRA_DIST): Remove false.sh and true.sh.
+ * man/true.1in: New file.
+ * man/false.1in: New file.
+ * man/Makefile.am (EXTRA_DIST): Remove extra (shadowed) assignment.
+ (EXTRA_DIST): Add false.1in and true.1in.
+ * man/Makefile.maint (helpful-men): Define.
+ * man/Makefile.summ ($(helpless-men)): New manual-generating rules to
+ accommodate the fact that false and true no longer accept --help.
+ * doc/sh-utils.texi: Include a couple of sentences from the
+ truefalse package.
+ Prompted by Christi Alice Scarborough's truefalse package.
+
+1999-07-30 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR).
+
+1999-07-26 Jim Meyering <meyering@ascend.com>
+
+ * src/tee.c (tee): Convert from open/fds to using fopen/streams for
+ output, in preparation for addition of new compression option.
+
+1999-07-21 Jim Meyering <meyering@ascend.com>
+
+ * tests/stty/basic-1 (options): Avoid Solaris' broken /usr/ucb/tr by
+ removing offending use of tr altogether and removing hyphens with sed.
+ Reported by Kaveh Ghazi.
+
+1999-06-01 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am: Make envvar-check depend on check-recursive rather
+ than on `check' so that its tests are performed before any real tests.
+
+1999-07-15 Jim Meyering <meyering@ascend.com>
+
+ * src/false.sh: Always exit unsuccessfully, even with
+ --help and --version. Suggested by Felix Lee.
+
+1999-07-12 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h (mempcpy): Define only if not already defined.
+ Reported by Collin Rogowski.
+
+1999-05-27 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix.
+
+1999-05-25 Jim Meyering <meyering@ascend.com>
+
+ * tests/stty/basic-1: Fix non-portable use of `tr' that caused
+ this test to fail when run with a SysV-style tr.
+ Based on a patch from Kaveh Ghazi.
+
+1999-05-21 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.16k.
+ * configuration fixes: see m4/ChangeLog.
+
+1999-05-16 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.16j.
+
+ * configure.in (AC_SEARCH_LIBS): Set LIB_CRYPT to $ac_cv_search_crypt,
+ to go along with the new macro in m4/search-libs.m4.
+
+1999-05-14 Jim Meyering <meyering@ascend.com>
+
+ * lib/getugroups.c (getugroups): Don't dereference a null pointer when
+ running `id USER' for some USER that is listed on the RHS in /etc/group.
+ From Sander van Malssen.
+ Add some curly braces, use STREQ, reverse the sense of a test
+ and use `continue' to save a level of nesting.
+
+ * tests/Makefile.am (envvar-check): Renamed from check-local.
+ (check): Depend on envvar-check so the envvar check is performed
+ before all other tests. Reported by Volker Borchert.
+ * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects,
+ so CDPATH is mentioned in the message. Reported by Volker Borchert.
+
+1999-05-10 Jim Meyering <meyering@ascend.com>
+
+ * src/uptime.c (AUTHORS): add Kaveh.
+
+ Expand each `&' character in the gecos field.
+ * src/pinky.c (count_ampersands): New function.
+ (create_fullname): New function.
+ (print_entry): Use create_fullname here.
+ (print_long_entry): Use it here, too.
+ From Kaveh Ghazi.
+
+1999-05-09 Jim Meyering <meyering@ascend.com>
+
+ * lib/regex.c: Update from libc.
+
+ * Version 1.16i.
+
+ * configure.in: Clean up checks for libraries so that we don't add
+ -lshadow unless necessary. Reported by Joseph S. Myers.
+
+1999-05-05 Jim Meyering <meyering@ascend.com>
+
+ Add definitions to help read utmpx on systems with utmpname.
+ * lib/readutmp.h (UTMP_NAME_FUNCTION): Define.
+ (SET_UTMP_ENT): Likewise.
+ (GET_UTMP_ENT): Likewise.
+ (END_UTMP_ENT): Likewise.
+ * lib/readutmp.c (read_utmp): Use the new definitions.
+ From Kaveh Ghazi.
+
+ * src/date.c (show_date): Change an automatic aggregate initializer
+ to be a static one. For SunOS4's cc. From Kaveh Ghazi.
+
+1999-05-03 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Remove duplicate use of jm_FUNC_GNU_STRFTIME.
+ Kaveh Ghazi reported that strftime.o was listed twice in the command
+ to build libsu.a.
+
+1999-05-02 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.16h.
+
+ * src/hostname.c (main): Give a better diagnostic when we fail to
+ set the hostname.
+
+ * man/Makefile.summ (hostid-summary): Use correct description.
+ Reported by Joseph S. Myers.
+
+ * lib/readutmp.c (read_utmp): Ignore the return value from utmpname.
+
+1999-04-30 Jim Meyering <meyering@ascend.com>
+
+ * src/dirname.c (main): Manually handle `--', since we no longer
+ call getopt. Reported by Joseph S. Myers.
+ * src/basename.c (main): Likewise.
+ * src/factor.c (main): Likewise.
+
+1999-04-25 Jim Meyering <meyering@ascend.com>
+
+ * src/seq.c (main): Handle the case in which seq is given no args.
+ Reported by John Gotts.
+ (main): Revert last change.
+ Instead, loop on `optind < argc' to protect use of argv[optind].
+
+ * lib/human.c <inttypes.h>: Don't include it here.
+ * lib/human.h <inttypes.h>: Include it here instead.
+ <config.h>: Include it here too.
+ Reported by Andreas Jaeger.
+
+ * src/nice.c [NDEBUG]: Remove definition.
+ Reported by Andreas Jaeger.
+
+1999-04-24 Jim Meyering <meyering@ascend.com>
+
+ * src/who.c (print_entry): Use `#if', not `#ifdef HAVE_UT_HOST'.
+
+ * Version 1.16g.
+
+ * configure.in: Use AC_CANONICAL_HOST.
+
+1999-04-20 Jim Meyering <meyering@ascend.com>
+
+ Update factor to use `uintmax_t'.
+ * src/factor.c <xstrtol.h>: Include this, not xstrtoul.h.
+ <human.h>: Include.
+ Use uintmax_t in place of unsigned long.
+ Use human_readable to convert to strings for printing.
+ * lib/xstrtoumax.c: New file.
+ * lib/human.c: New file.
+ * lib/human.h: New file.
+ * lib/Makefile.am (libsu_a_SOURCES): Add human.c and xstrtoumax.c.
+ (noinst_HEADERS): Add human.h. Remove xstrtoul.h.
+
+1999-04-19 Jim Meyering <meyering@ascend.com>
+
+ * src/seq.c (main): Restore `+' in getopt_long string. Otherwise,
+ commands like `seq 10 -2 0' wouldn't work. From Andreas Schwab.
+ * tests/seq/basic: Add tests for that.
+
+1999-04-17 Jim Meyering <meyering@ascend.com>
+
+ * tests/seq: New directory and basic tests.
+ * tests/Makefile.am (SUBDIRS): Add seq.
+ * configure.in (AC_OUTPUT): Add tests/seq/Makefile.
+
+1999-04-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * configure.in: Check for localeconv.
+
+ * src/seq.c (decimal_point): New variable.
+ (main): Set it to locale's decimal point. Fix recognition of
+ negative number as argument.
+ (get_width_format): Correctly handle a negative min_val or step
+ when computing fraction width. Use decimal_point.
+
+1999-04-08 Jim Meyering <meyering@ascend.com>
+
+ 1999-03-25 James R. Van Zandt <jrv@vanzandt.mv.com>
+ * doc/sh-utils.texi (Options for date): Document --iso-8601
+ * src/date.c: Accept new option: --iso-8601.
+ * lib/Makefile.am (libsu_a_SOURCES): Add argmatch.c and quotearg.c.
+ (noinst_HEADERS): Add argmatch.h and quotearg.h.
+ * lib/argmatch.c: New file.
+ * lib/argmatch.h: New file.
+ * lib/quotearg.c: New file.
+ * lib/quotearg.h: New file.
+
+1999-03-30 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h: Include "closeout.h" and "version-etc.h"
+
+ * src/*.c (PROGRAM_NAME, AUTHORS): Define and use.
+
+ * src/date.c: No longer include long-options.h.
+ [long_options]: Add entries for --help and --version.
+ Remove parse_long_options call.
+ (main) [getopt switch]: Add a case for each of --help and --version.
+ * src/env.c: Likewise.
+ * src/id.c: Likewise.
+ * src/pinky.c: Likewise.
+ * src/seq.c: Likewise.
+ * src/su.c: Likewise.
+ * src/sys2.h: Likewise.
+ * src/tee.c: Likewise.
+ * src/tty.c: Likewise.
+ * src/uname.c: Likewise.
+ * src/who.c: Likewise.
+
+1999-03-29 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (GNU_PACKAGE): Remove related code -- now it's in
+ the catch-all for shared autoconf code, m4/jm-macros.m4.
+ (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use
+ this instead.
+
+1999-03-28 Jim Meyering <meyering@ascend.com>
+
+ * src/test.c (PROGRAM_NAME): Rename from COMMAND_NAME.
+
+1999-03-28 Paul Eggert <eggert@twinsun.com>
+
+ * lib/getdate.y (get_date): Reuse tm_isdst of first localtime
+ call; this is an improvement on a bug fix suggested by
+ martin@dresden.nacamar.de. Do not assume that localtime and
+ gmtime return non-null.
+
+1999-03-27 Jim Meyering <meyering@ascend.com>
+
+ * src/false.sh (usage): Change `[OPTION]...' to `[OPTION]' to show
+ that only one of --help or --version is recognized at a time.
+ Reported by Meelis Roos.
+ * src/true.sh: Likewise.
+
+ * src/id.c (print_user): Use uid_t instead of int.
+ (print_group): Use gid_t instead of int.
+ From John Bley.
+
+1999-03-26 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c.
+ (noinst_HEADERS): Add version-etc.h.
+
+1999-03-20 Jim Meyering <meyering@ascend.com>
+
+ * src/nohup.sh: Don't modify PATH just to get GNU nice. Instead,
+ try to find an absolute path for GNU nice. From Bruno Haible.
+
+1999-03-19 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Use new macro, jm_WINSIZE_IN_PTEM, instead of
+ open-coding it.
+
+1999-03-17 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Italian (it) and Slovak (sk).
+
+1999-03-13 Jim Meyering <meyering@ascend.com>
+
+ * lib/basename.c (base_name): If NAME is all slashes, return `/' (in
+ conformance with the single unix spec). Reported by Peter Moulder.
+
+1999-03-10 Jim Meyering <meyering@ascend.com>
+
+ * src/uptime.c: Declare getloadavg so I can build with -Werror.
+
+ * tests/stty/basic-1: Skip failing tests: parenb, -parenb, -cread.
+
+ * lib/canon-host.c (canon_host): Don't use he->h_addr directly.
+ Based on a patch from Savochkin Andrey Vladimirovich.
+
+1999-03-09 Jim Meyering <meyering@ascend.com>
+
+ Running `id USER' doesn't report any groups if there is no entry
+ for USER in /etc/group. Always include the one from /etc/passwd.
+ * src/id.c (xgetgroups): Take new parameter, gid, and pass
+ it to getugroups.
+ (print_group_list): Call getpwuid and adjust calls to xgetgroups
+ to include new parameter.
+ * lib/getugroups.c (getugroups): Take new parameter, gid.
+ Add gid to the list of groups.
+ From Ulrich Drepper.
+ * lib/getgroups.c (getgroups): Protoize.
+
+1999-03-08 Jim Meyering <meyering@ascend.com>
+
+ * tests/basename: New directory and tests.
+ * tests/Makefile.am (SUBDIRS): Add basename.
+ * configure.in (AC_OUTPUT): Add tests/basename/Makefile.
+
+1999-03-06 Jim Meyering <meyering@ascend.com>
+
+ * src/date.c (batch_convert): Use a `%s' format in error call,
+ in case the argument string contains a `%'.
+
+ * man/Makefile.am (man_MANS): Add pinky.1.
+ * man/Makefile.summ (pinky-summary): Define.
+
+ * src/date.c: Include long-options.h.
+ [long_options]: Remove the "help" and "version" entries.
+ Remove declarations of show_help and show_version.
+ (main): Use parse_long_options, including author name(s).
+ Remove the show_version and show_help blocks.
+ * src/env.c: Likewise.
+ * src/id.c: Likewise.
+ * src/logname.c: Likewise.
+ * src/pathchk.c: Likewise.
+ * src/pinky.c: Likewise.
+ * src/printenv.c: Likewise.
+ * src/seq.c: Likewise.
+ * src/sleep.c: Likewise.
+ * src/su.c: Likewise.
+ * src/tee.c: Likewise.
+ * src/tty.c: Likewise.
+ * src/uname.c: Likewise.
+ * src/uptime.c: Likewise.
+ * src/users.c: Likewise.
+ * src/who.c: Likewise.
+ * src/whoami.c: Likewise.
+
+1999-03-04 Jim Meyering <meyering@ascend.com>
+
+ * src/basename.c (main): Include author name argument in call to
+ parse_long_options.
+ * src/chroot.c: Likewise.
+ * src/dirname.c: Likewise.
+ * src/echo.c: Likewise.
+ * src/expr.c: Likewise.
+ * src/factor.c: Likewise.
+ * src/hostid.c: Likewise.
+ * src/hostname.c: Likewise.
+ * src/nice.c: Likewise.
+ * src/printf.c: Likewise.
+ * src/pwd.c: Likewise.
+ * src/stty.c: Likewise.
+ * src/test.c: Likewise.
+ * src/yes.c: Likewise.
+
+1999-03-02 Jim Meyering <meyering@ascend.com>
+
+ * lib/readutmp.c (read_utmp) [HAVE_UTMPNAME]: Rewrite.
+
+1999-02-15 Jim Meyering <meyering@ascend.com>
+
+ * src/stty.c (main): #ifdef-out unreachable code.
+
+ * src/pinky.c (usage): Add a one-line description.
+ Suggestion from Karl Berry.
+
+1999-02-08 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Czech (cs).
+
+1999-02-07 Jim Meyering <meyering@ascend.com>
+
+ * tests/stty/basic-1: Run all tests even if some fail.
+ Don't use trap.
+
+ * tests/stty/basic-1: Use `stty', not $STTY.
+ Fix typo in VERBOSE code: s/\$RM/stty/.
+ * tests/stty/row-col-1: Likewise.
+
+ * tests/stty/Makefile.am (TESTS_ENVIRONMENT): Set PATH, not STTY.
+
+ Include stdio.h before defining `_unlocked' macros.
+ * src/pinky.c: Include stdio.h.
+ * src/uptime.c: Likewise.
+ * src/users.c: Likewise.
+ * src/who.c: Likewise.
+ * lib/readutmp.c: Include stdio.h here...
+ * lib/readutmp.h: ...not here.
+ From Ulrich Drepper.
+
+ * Version 1.16f.
+
+ * Makefile.maint (my-distcheck): Don't depend on dist, now that this
+ is hooked up to the distcheck rule.
+ * Makefile.am (distcheck-hook): New target and rule -- link to shared
+ rule, my-distcheck, in Makefile.maint.
+
+ * configure.in (jm_FUNC_GETGROUPS): Move the test into a new file,
+ group-member.m4, and just use this new macro.
+
+1999-01-31 Jim Meyering <meyering@ascend.com>
+
+ * doc/sh-utils.texi: Wrap the @top node in @ifnottex instead of
+ @ifinfo so `makeinfo --html ...' works. From Karl Berry.
+
+ * src/chroot.c (main): Call chdir ("/") after chroot.
+ Suggestion from James Youngman.
+
+ * src/uptime.c (print_uptime): Use the C numeric locale for sscanf
+ of /proc/uptime data, then restore.
+ * lib/getloadavg.c: Include locale.h.
+ [!HAVE_SETLOCALE]: Define-away setlocale.
+ (getloadavg): Ensure the sscanf of /proc/getloadavg data uses the
+ `C' numeric locale. Restore afterwards.
+ Based on a suggestion from Thomas Quinot.
+
+ * lib/strtod.c: Protoize.
+
+1999-01-30 Jim Meyering <meyering@ascend.com>
+
+ * acconfig.h: Remove lots of now-unnecessary #undefs.
+
+ * configure.in: Require autoconf 2.13.
+
+ * doc/Makefile.am (DISTCLEANFILES): Arrange to remove sh-utils.fl.
+
+ * configure.in (ALL_LINGUAS): Add Greek (el).
+ * po/el.po: New file.
+
+1999-01-25 Jim Meyering <meyering@ascend.com>
+
+ * src/date.c (usage): Remove static attribute.
+ Move function be the first in the file.
+ * src/env.c: Likewise.
+ * src/id.c: Likewise.
+ * src/nice.c: Likewise.
+ * src/pathchk.c: Likewise.
+ * src/tty.c: Likewise.
+ * src/uname.c: Likewise.
+
+ * src/*.c (usage): Remove static attribute.
+
+1999-01-14 Jim Meyering <meyering@ascend.com>
+
+ * src/date.c: Include closeout.h.
+ (main): Use close_stdout_status.
+ * src/printenv.c: Likewise.
+ * src/tty.c: Likewise.
+
+ * src/hostid.c: Include closeout.h.
+ (main): Use close_stdout.
+ * src/tee.c: Likewise.
+
+1999-01-10 Jim Meyering <meyering@ascend.com>
+
+ * src/Makefile.am (pinky_LDADD, pinky_DEPENDENCIES, who_LDADD,
+ who_DEPENDENCIES): Remove definitions.
+
+ * lib/Makefile.am (BUILT_SOURCES): Add lstat.c and stat.c.
+ (lstat.c, stat.c): New rules.
+
+ * lib/canon-host.c (main) [TEST_CANON_HOST]: Add a simple test driver.
+
+ * configure.in: Require autoconf-2.13.
+ Use new AC_SEARCH_LIBS to see if we need nsl or inet libraries
+ to resolve gethostbyname.
+
+1998-12-22 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add chinese (zh).
+
+1998-12-13 Jim Meyering <meyering@ascend.com>
+
+ * lib/putenv.c: Don't include stdlib.h and declare malloc and free.
+ This works around Solaris 5.7's conflicting prototype.
+ Reported by Karl Berry.
+
+ * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in.
+ (stat.c): Likewise.
+ (EXTRA_DIST): Add xstat.in.
+ * lib/stat.c: Remove file.
+ * lib/lstat.c: Remove file.
+ * lib/xstat.in (xstat@): New file.
+
+1998-12-10 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * src/date.c (main): Arrange to exit unsuccessfully when stime fails.
+
+1998-12-07 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Russian (ru).
+
+1998-10-31 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (EXTRA_DIST): Add Fetish.pm.
+ * tests/Fetish.pm: New file.
+
+ * tests/factor/Makefile.am: Rewrite to use new testing framework.
+ * tests/factor/Test.pm: Remove file.
+ * tests/factor/factor-tests: Remove file.
+ * tests/factor/basic: New file (rewrite of Test.pm).
+
+ * acconfig.h (stat): New #undef.
+
+1998-10-03 Jim Meyering <meyering@ascend.com>
+
+ * man/Makefile.am: Switch to using help2man.
+ (EXTRA_DIST): Add Makefile.summ.
+
+ * man/help2man: Invoke program with --manhelp option only if
+ --name=STRING not specified. Otherwise, this would fail with `yes'.
+ * man/Makefile.summ: New file.
+ * man/Makefile.maint: Include it.
+ * man/help2man: New file.
+ * man/GNUmakefile: New file.
+ * man/Makefile.maint: New file.
+ * man/*.x: New files.
+ * man/*.1: Remove files.
+
+ * src/Makefile.am (install-exec-local): Change comments to use `##'
+ to avoid automake warning.
+
+ * lib/Makefile.am (noinst_HEADERS): s/posixtm.c/posixtm.h/
+ (libsu_a_SOURCES): s/posixtm.y/posixtm.y/
+ (libsu_a_SOURCES): Remove getdate.c. Add fnmatch.h.
+
+ * src/date.c (main): Update to use new version of posixtime.
+ * lib/posixtm.c: New file.
+ * lib/posixtm.h: New file.
+ * lib/posixtm.y: Remove file.
+
+ * lib/fnmatch.c: New file. (unused)
+ * lib/fnmatch.h: New file. (unused)
+
+1998-09-27 Jim Meyering <meyering@ascend.com>
+
+ * src/seq.c (main): Decrement optind when we find an `option' that
+ looks like -N. Reported by Clark Morgan.
+
+1998-09-26 Jim Meyering <meyering@ascend.com>
+
+ * lib/xstrtol.c (__xstrtol) [STRING_TO_UNSIGNED]: Return
+ LONGINT_INVALID for strings that begin with `-'.
+
+ * tests/factor/Test.pm: Add a test for negative argument.
+ Tweak postprocessing framework.
+
+1998-09-19 Jim Meyering <meyering@ascend.com>
+
+ * src/stty.c (main): Revamp option processing, again.
+ stty couldn't parse some of its options.
+ * tests/stty/basic-1: New test.
+ * tests/stty/Makefile.am (TESTS): Add basic-1.
+
+1998-08-29 Jim Meyering <meyering@ascend.com>
+
+ * src/su.c (longopts): Use corresponding short-option character
+ in place of `1', and `NULL' in place of pointer in initialization.
+
+1998-08-11 Jim Meyering <meyering@ascend.com>
+
+ * src/uptime.c (usage): Correct description. Reported by John Murphy.
+
+1998-07-16 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (noinst_HEADERS): Add lchown.h.
+ * lib/lchown.h: New file, just to define ENOSYS on systems that lack it.
+ * lib/lchown.c: Include lchown.h.
+
+1998-07-15 Jim Meyering <meyering@ascend.com>
+
+ * src/seq.c (check_format): Add `5' to the list of digits.
+ Reported by Donni Erpel.
+
+1998-07-12 Jim Meyering <meyering@ascend.com>
+
+ * tests/test: New directory and tests.
+ * tests/Makefile.am (SUBDIRS): Add test.
+ * configure.in (AC_OUTPUT): Add tests/test/Makefile.
+
+1998-07-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (libsu_a_SOURCES): Remove regex.c, now that it's
+ automatically discovered by automake.
+ (noinst_HEADERS): Remove unused safe-read.h.
+
+ * src/Makefile.am (CLEANFILES): Put $(SCRIPTS) here rather than in
+ DISTCLEANFILES.
+ (CLEANFILES): Add su, since we build it unconditionally, yet it's
+ never put in @OPTIONAL_BIN_PROGS@.
+
+1998-06-29 Jim Meyering <meyering@ascend.com>
+
+ * src/uptime.c: Include system.h only after error.h and readutmp.h
+ so we don't get redefinition warnings about getc, etc.
+ * src/who.c: Likewise.
+ * src/users.c: Likewise.
+
+1998-06-28 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers.
+
+1998-06-06 Jim Meyering <meyering@ascend.com>
+
+ * src/test.c (unary_operator): Fail if the operand to -t is not valid.
+ (posixtest): Treat `test -t' the same as `test -t 1'.
+
+1998-05-26 Jim Meyering <meyering@ascend.com>
+
+ * src/test.c (two_arguments): Don't test argv[pos][2] if it's
+ past end of string.
+
+1998-05-25 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (_GNU_SOURCE): AC_DEFINE it here.
+ * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section.
+ [!_GNU_SOURCE]: Add #undef instead.
+
+1998-05-16 Jim Meyering <meyering@ascend.com>
+
+ * lib/readutmp.c (read_utmp): Add variant for systems that have
+ the utmpname function.
+ Ansideclify.
+ * configure.in: Check for utmpname.
+
+ * configure.in (jm_MACROS): New wrapper macro.
+ Remove uses of most jm_* macros.
+
+ * acconfig.h (chown): Add undef.
+ (D_INO_IN_DIRENT): Likewise.
+ (D_TYPE_IN_DIRENT): Likewise.
+ (ssize_t): Likewise.
+
+ * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS='
+ lines from the m4/*.m4 macros, so the hack of including some
+ custom-replaced C source file names here is no longer needed.
+
+1998-05-03 Jim Meyering <meyering@ascend.com>
+
+ * po/: Update from gettext-0.10.35.
+ * intl/: Likewise.
+ * configure.in: Remove use of AC_LINK_FILES.
+ (AC_OUTPUT): Remove po/Makefile-generating sed command.
+
+1998-05-02 Jim Meyering <meyering@ascend.com>
+
+ * src/seq.c (check_format): Use ISDIGIT, not isdigit.
+
+1998-04-26 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Use jm_ASSERT.
+ * acconfig.h: Add NDEBUG.
+
+1998-04-13 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/Makefile.am (noinst_HEADERS): Add safe-read.h.
+
+1998-04-09 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AM_MAINTAINER_MODE): Remove it.
+ No longer use AC_PATH_PROG to check for perl.
+ (jm_PERL): Use this instead.
+
+1998-04-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/readutmp.h (PARAMS): Define.
+
+ * tests/Makefile.am (SUBDIRS): Add stty.
+ * tests/stty/row-col-1: New file.
+ * tests/stty: New directory.
+ * configure.in (AC_OUTPUT): Add tests/stty/Makefile.
+
+ * src/stty.c: Use STREQ in place of strcmp everywhere.
+ (valid_options): Indent.
+ Parenthesize assignment in while expr.
+ (main): s/case 'f':/case 'F':/
+ Tweak error messages to make them consistent.
+ Remove #if-0'd block.
+ Move dcl of `fdflags' into scope where it's used.
+ Remove dcl of unused `cp'.
+ Use "%s", not device_name, as the format string, in case the
+ latter contains `%'.
+
+ [1998-03-31 Theodore Ts'o <tytso@rsts-11.mit.edu>]
+ * src/stty.c (valid_options): New function.
+ (main): Fix broken options parsing that worked only
+ by serendipity (getopt_long_only already parsed short options; no
+ need to parse them again manually!). Add support for the --file
+ option, which allows the user to specify the device whose line
+ settings are to be set. This is necessary because POSIX ttys will
+ block waiting for carrier detect to go high if CLOCAL is not set,
+ unless the device is opened with the O_NONBLOCK flag.
+ Unfortunately, the shell doesn't use this flag, so users lose.
+ Opening the device in stty is the easist way to fix this.
+ (speeds): Add support for 230400 and 460800 line speeds, which are
+ supported by Linux.
+
+ * acconfig.h (uintmax_t): Add #undef.
+
+ * configure.in (jm_AC_HEADER_INTTYPES_H): Use it.
+ (jm_AC_TYPE_UINTMAX_T): Use it.
+ (jm_PREREQ): Use it.
+
+ * src/system.h: Sync with system.c from fileutils.
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal
+ know about the m4/ subdirectory.
+ * Makefile.maint (aclocal-files): Remove now-unnecessary (with
+ automake-1.2h and the above change) aclocal-related rules and includes.
+
+1998-04-03 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/closeout.c: New file.
+ * lib/closeout.h: New file.
+ * lib/Makefile.am (libsu_a_SOURCES): Add closeout.c.
+ (noinst_HEADERS): Add closeout.h.
+
+1998-03-27 Jim Meyering <meyering@eng.ascend.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h.
+
+1998-03-26 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/date.c (batch_convert): Remove spurious space in error message.
+ Reported by Karl Berry.
+
+1998-03-13 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/getugroups.c (getugroups): Don't add a group number if it
+ would be a duplicate. From Ulrich Drepper.
+
+1998-02-22 Jim Meyering <meyering@eng.ascend.com>
+
+ * tests/Makefile.am (EXTRA_DIST): Add mk-script.
+ * tests/Makefile.am.in (EXTRA_DIST): Remove mk-script.pl.
+ (mk_script): Set to ../mk-script.
+ (x-tests): Use `$(PERL) -w -- $(mk_script)', not ./mk-script.
+ Remove @MAINT@ cruft.
+ (Makefile.am): Likewise.
+ Remove @MAINT@ cruft. Now `missing' will explain the failure
+ when people don't have Perl yet modify a file whose rebuilding
+ would lead to the use of Perl.
+
+ * src/Makefile.am (pinky_LDADD): Explicitly add @GETHOSTBYNAME_LIB@.
+ (who_LDADD): Likewise.
+ (pinky_DEPENDENCIES): Set to $(LDADD)
+ (who_DEPENDENCIES): Likewise.
+
+1998-02-20 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/getdate.h: Removed. Could cause confusion with an
+ automake-generated `.y.h' rule.
+ * lib/get-date.h: Renamed from getdate.h.
+ * lib/getdate.y: s/getdate.h/get-date.h/
+ * lib/Makefile.am (noinst_HEADERS): s/getdate.h/get-date.h/
+ * src/date.c: s/getdate.h/get-date.h/
+
+1998-02-16 Jim Meyering <meyering@eng.ascend.com>
+
+ * configure.in (jm_FUNC_LSTAT): Use it.
+ (jm_FUNC_STAT): Use it.
+ * acconfig.h: Add lstat.
+ * lib/Makefile.am (EXTRA_DIST): Add lstat.c and stat.c.
+
+1998-02-06 Jim Meyering <meyering@eng.ascend.com>
+
+ * tests/nice: Fail immediately if this test is run with `nice'
+ level different from zero. Reported by Philippe De Muyter.
+
+1998-02-03 Philippe De Muyter <phdm@macqel.be>
+
+ * src/id.c (xgetgroups): Guard function defn with #if HAVE_GETGROUPS.
+
+ * lib/putenv.c (sys/types.h): Include to get size_t on some systems.
+ (NULL): Define if needed.
+
+1998-01-31 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_LFS): Use it.
+
+1998-01-25 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.maint: New file.
+ * Makefile.am: Move rules common to textutils, fileutils, sh-utils
+ into Makefile.maint.
+ Include Makefile.maint.
+ (EXTRA_DIST): Add Makefile.maint.
+
+1998-01-03 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (AUTOMAKE_OPTIONS): Define to ../src/ansi2knr.
+
+ * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so
+ those files will be built via the ANSI2KNR-filtering rules if necessary.
+
+1997-12-25 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * 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-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/date.c: s/__P/PARAMS/
+ * src/env.c: Likewise.
+ * src/expr.c: Likewise.
+ * src/id.c: Likewise.
+ * src/nice.c: Likewise.
+ * src/pathchk.c: Likewise.
+ * src/seq.c: Likewise.
+ * src/sleep.c: Likewise.
+ * src/stty.c: Likewise.
+ * src/tee.c: Likewise.
+ * src/test.c: Likewise.
+ * src/tty.c: Likewise.
+ * src/uname.c: Likewise.
+
+ * src/system.h: Merge in several things from fileutils' version of
+ this file.
+
+ * src/factor.c: Don't include limits.h.
+ (UINT_MAX): Don't define.
+ (INT_MAX): Don't define.
+ These are all done in system.h now.
+ * src/hostname.c: Don't include limits.h.
+ * src/id.c: Don't include limits.h or sys/param.h.
+ * src/pathchk.c: Don't include limits.h.
+ * src/su.c: Likewise.
+
+1997-12-10 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/su.c (main): Make sure pw->pw_shell is non-NULL before trying
+ to strdup it.
+ Patch from Dick Streefland.
+
+1997-11-17 Paul Eggert <eggert@twinsun.com>
+
+ * lib/mktime.c, lib/strftime.c (_REENTRANT): #define,
+ as some hosts need this to declare localtime_r properly.
+
+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.
+
+ * m4/Makefile.am (EXTRA_DIST): Add mktime.m4.
+ * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not the one from automake.
+
+ * m4/strftime.m4: Check for %F format.
+
+1997-11-14 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * m4/mktime.m4: Temporarily add a copy of this file from the automake
+ distribution.
+ (jm_AM_FUNC_MKTIME): Renamed from AM_FUNC_MKTIME.
+ (irix_6_4_bug): New function based on code from Ariel Faigon.
+ (bigtime_test): New function from Paul Eggert to detect SunOS4.1.4's
+ infinite looping mktime.
+ Portability tweaks from Paul Eggert.
+
+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>
+
+ * configure.in (AC_CHECK_FUNCS): Add mempcpy.
+ * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define.
+ * src/date.c (batch_convert): Use mempcpy rather than 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-02 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acconfig.h: Add malloc and realloc.
+
+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.
+ (jm_FUNC_REALLOC): Use it.
+ * lib/Makefile.am (noinst_HEADERS): Add xalloc.h.
+ (EXTRA_DIST): Add realloc.c.
+ (EXTRA_DIST): Add malloc.c.
+
+ * lib/malloc.c: New file.
+ * m4/malloc.m4: New file.
+ * m4/Makefile.am (EXTRA_DIST): Add malloc.m4.
+
+ * 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-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.
+ [STREQ]: Define.
+ * src/date.c: Remove stpcpy decl.
+ * src/expr.c: Remove strstr decl.
+ * src/test.c [STREQ]: Undef then redefine.
+ 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-07 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/*.c: Update bug-reporting address.
+ * src/*.sh: Update bug-reporting address.
+
+1997-10-02 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/date/Test.pm (test_vector): Remove _%Z from test `9'.
+ The timezone string was too system dependent.
+
+1997-09-25 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/echo.c: Make echo conform to POSIX. By default, don't
+ interpret backslash escape sequences.
+ [V9_DEFAULT]: Don't #define.
+ (usage): Document -e option.
+ (main): Recognize options iff POSIXLY_CORRECT is not set.
+ From Bruno Haible.
+
+1997-09-19 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getusershell.c (IN_CTYPE_DOMAIN): Define.
+ (ISSPACE): Define.
+ (readname): Use ISSPACE, not isspace.
+ * lib/strtod.c (IN_CTYPE_DOMAIN): Define.
+ (ISSPACE): Define.
+ (ISDIGIT): Define.
+ (TOLOWER): Define.
+ Use upper-case versions of ctype macros.
+ * lib/strtol.c (IN_CTYPE_DOMAIN): Define.
+ (ISSPACE): Guard with IN_CTYPE_DOMAIN.
+ (ISDIGIT): Guard with IN_CTYPE_DOMAIN.
+ (TOUPPER): Guard with IN_CTYPE_DOMAIN.
+ From Bruno Haible.
+
+1997-09-17 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/yes.c (main): Call parse_long_options only if POSIXLY_CORRECT
+ is *not* set. Reported by Frank T Lofaro.
+
+ * src/hostid.c: New file.
+ * src/Makefile.am (EXTRA_PROGRAMS): Add hostid.
+ * configure.in (OPTIONAL_BIN_PROGS): Check for gethostid,
+ and if found add hostid to the list.
+ * man/hostid.1: New file.
+ * man/Makefile.am (man_MANS): Add hostid.1.
+
+1997-08-31 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/who.c (main): New option --lookup (-l).
+ (print_entry): Only call canon_host if user explicitly asks for it.
+ (usage): Describe --lookup.
+ From Galen Hazelwood.
+
+ * configure.in (ALL_LINGUAS): Add Spanish (es).
+
+1997-08-02 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/Makefile.am (bin_PROGRAMS): Add pinky.
+
+ * src/pinky.c: New file. From Kaveh Ghazi.
+ * po/POTFILES.in: Add pinky.c.
+
+1997-07-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/date.c (show_date): Don't hang if strftime produces an empty
+ string.
+
+1997-07-16 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/groups.sh: Exit with status from subsidiary `id' command.
+ Don't print `$name : $groups' if id fails.
+ Reported by Austin Donnelly.
+
+1997-07-15 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getloadavg.c: Merge in changes from FSF.
+
+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-12 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * po/Makefile.in.in (DISTFILES): Remove ChangeLog.
+ * po/POTFILES.in: Add who.c, users.c, uptime.c.
+ Remove who-users.c.
+
+ * src/who.c: Rename lots of `this' locals.
+ Make some parameters `const'.
+ (who): Update read_utmp caller.
+ (search_entries): Take additional param: utmp_buf.
+ Update read_utmp caller.
+ (who_am_i): Update read_utmp caller.
+
+ * src/users.c (users): Update read_utmp caller.
+ * src/uptime.c (uptime): Update read_utmp caller.
+
+ * lib/readutmp.h (PARAMS): Update prototype.
+ (utmp_contents): Remove dcl.
+
+ * lib/readutmp.c (read_utmp): Take new params: count and buffer.
+ Return boolean indicating failure.
+ Now, caller must give diagnostic upon failure.
+
+1997-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * lib/readutmp.c, lib/readutmp.h: New files implementing shared
+ functionality from src/who-users.c.
+
+ * lib/Makefile.am (libsu_a_SOURCES): Add readutmp.c.
+ (noinst_HEADERS): Add readutmp.h.
+
+ * src/who.c, src/users.c, src/uptime.c: Split these so they no
+ longer derive from the template source file who-users.c. Use
+ shared functionality from lib/readutmp.c instead.
+
+ * src/Makefile.am: Remove rules to build who.c, users.c and
+ uptime.c from template source file who-users.c. Handle these
+ files as stand-alone sources.
+
+ * src/who-users.c: Remove file. It is no longer used.
+
+1997-07-12 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/date.c (MAYBE_SET_TZ_UTC0): New macro.
+ (set_tz): New function.
+ (batch_convert): If necessary, save the initial value of TZ and
+ for each date in the file, restore it before each call to get_date,
+ then set it to UTC0 before each show_date call.
+ (main): Don't set TZ before calling get_date.
+ Set TZ after get_date call and before show_date call.
+ Reported by Matthew Braun.
+ * tests/date/Test.pm: Add new tests for this bug.
+ Add tests based on new examples in documentation.
+
+ * stpcpy.c: New file.
+ * configure.in (AC_REPLACE_FUNCS): Add stpcpy.c
+
+1997-07-05 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/Makefile.am (EXTRA_PROGRAMS): Add su here.
+ (bin_PROGRAMS): Remove su here.
+ (install-exec-local): Rewrite rule so that su is installed only if
+ it can be made setuid root. Before it was always installed and then
+ removed if it could *not* be made setuid root. That had the potential
+ undesirable side effect of removing (and not replacing) a working
+ version of su.
+ (all_local): New target. Dependend on su. Required now that su is
+ no longer in bin_PROGRAMS.
+ (uninstall-local): Remove su only if it comes from the GNU sh-utils.
+
+ * src/su.c: Redefine/undef getusershell around inclusion of <unistd.h>
+ (via system.h) so Cray's int-returning prototype doesn't conflict
+ with our char*-returning one. Reported by Johan Danielsson.
+
+1997-07-04 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/Makefile.am.in (Makefile.am): Clean up and enable rule to
+ generate tests/*/Makefile.am.
+
+ * configure.in (ALL_LINGUAS): Add Norwegian (no).
+
+ * tests/date/mk-script.pl (validate): Create test files in $(srcdir),
+ not in build dir.
+ * tests/Makefile.am.in ($x-tests): Create $x-tests in $(srcdir),
+ not in build dir.
+ * Makefile.am (aclocal-files): Look in source directory, not build dir.
+ From Andreas Schwab.
+
+1997-07-03 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/date/Test.pm (test_vector): Remove bogus TZ=GMT environment
+ setting.
+
+Wed Jul 2 11:05:09 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/printf.c (STRTOX): Convert function header in macro definition
+ to K&R-style. Otherwise, ansi2knr would fail to convert the function
+ definitions to K&R for old style compilers. From Kaveh Ghazi.
+
+Tue Jul 1 06:28:00 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/putenv.c [putenv]: Undefine before including system headers.
+ Otherwise, the declaration of *rpl_putenv* conflicts with the system
+ prototype on at least Irix5.3. From Marcus Daniels.
+
+Sun Jun 29 07:18:25 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/putenv.c (rpl_putenv): Renamed from putenv.
+ [putenv]: Remove definition and subsequent #undef hack that avoided
+ conflicts with system prototypes. That didn't let the definition of
+ putenv to rpl_putenv from config.h get through.
+ Suggestion from Marcus Daniels.
+
+ * configure.in (LIB_CRYPT): AC_SUBST new variable. Use it to add
+ crypt-related library (-lufc or -lcrypt) only for the program that
+ needs it (su), rather than to all executables.
+ * src/Makefile.am (su_LDADD): Set to `$(LDADD) @LIB_CRYPT@'.
+ Suggestion from Ulrich Drepper.
+
+ * tests/date/mk-script.pl: Set and export LANGUAGE, LC_ALL, and LANG
+ so tests get english strings. From Ulrich Drepper.
+
+Mon Jun 16 11:06:57 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * m4/putenv.m4 (jm_FUNC_PUTENV): New file and macro.
+ * configure.in (jm_FUNC_PUTENV): Use it.
+ * acconfig.h (putenv): Add #undef.
+ * lib/Makefile.am (EXTRA_DIST): Add putenv.c.
+ (libsu_a_SOURCES): Remove putenv.c.
+ * m4/Makefile.am (EXTRA_DIST): Add putenv.m4.
+
+Thu Jun 12 06:48:23 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/expr.c (eval6): Accept new unary operator, quote.
+ From Karl Heuer.
+
+Wed Jun 11 15:13:56 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/expr.c (docolon): Test (re_buffer.re_nsub > 0) rather than
+ searching for `\(' to determine whether to return 0 or the empty
+ string. Before it would improperly return '' if the pattern
+ contained a substring like this: `\\('. From Karl Heuer.
+ For example, running expr c : '\\(' should print `0'.
+
+Sun Jun 1 12:00:10 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getdate.y (OtherTable): Interpret `next' as 1 (not 2) units.
+ Patch from Richard Sharman <rsharman@magmacom.com>.
+ * tests/date/Test.pm: Add tests using `next'.
+
+Tue May 27 06:08:06 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/basename.c: Don't include backupfile.h.
+
+ * lib/Makefile.am (noinst_HEADERS): Add backupfile.h.
+
+ * src/basename.c: Use base_name, not basename.
+ * src/su.c: Use base_name, not basename.
+
+ * configure.in: Don't replace basename. Now it's always required.
+
+ * lib/Makefile.am (libsu_a_SOURCES): Add basename.c.
+
+ * lib/getopt.c: Update from glibc via patch-2.2.93.
+ * lib/getopt1.c: Likewise.
+ * lib/getopt.h: Likewise.
+ * lib/basename.c: Likewise.
+
+Sat May 24 13:26:04 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * man/Makefile.am (EXTRA_DIST): Put man_MANS here so they are
+ distributed. This seems to be necessary for automake-1.1p.
+
+Thu May 1 00:10:11 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * ansi2knr.c echo.c factor.c hostname.c id.c nice.c pathchk.c
+ spline.c test.c uname.c: Indent cpp-directives.
+
+ * src/system.h (N_): Define.
+
+Sun Apr 27 18:30:53 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/printf.c (cfcc_msg): File-scope constant.
+ (STRTOX): Use new constant as error message format string in macro.
+ Suggestion from Andreas Schwab.
+ (STRTOX): Don't fail because of extra character(s) following a
+ character constant. Give the *warning* only if !POSIXLY_CORRECT.
+
+Sun Apr 6 14:29:14 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/printf.c: Reorder functions to obviate forward decls.
+ Change most char* dcls to const char*.
+ (STRTOX): New macro to eliminate code duplication.
+ (xstrtod, xstrtol, xstrtoul): Remove functions.
+ Use the STRTOX instead.
+
+ * src/printf.c (STRTOX): Interpret arguments like 'a and "a
+ as POSIX requires. Derived from a patch by Dennis Henriksen.
+
+Sun Mar 23 15:20:17 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (ALL_LINGUAS): Add polish (pl).
+
+Sat Mar 22 00:03:02 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.1l.
+ (aclocal.m4): Use aclocal's new -I option.
+
+ * missing: New file -- from the automake-1.1m distribution.
+
+Thu Mar 20 21:10:44 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * m4/ccstdc.m4: Remove file.
+ * m4/init.m4: Likewise.
+ * m4/sanity.m: Likewise.
+ * m4/protos.m: Likewise.
+ * m4/dmalloc.m4: Likewise.
+ * m4/error.m4: Likewise.
+ * m4/header.m4: Likewise.
+ * m4/install.m4: Likewise.
+ * m4/lispdir.m4: Likewise.
+ * m4/maintainer.m4: Likewise.
+ * m4/obstack.m4: Likewise.
+ * m4/ptrdiff.m4: Likewise.
+ * m4/regex.m4: Likewise.
+ * m4/strtod.m4: Likewise.
+ * m4/termios.m4: Likewise.
+ * m4/winsz.m4: Likewise.
+
+Tue Mar 18 06:46:54 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/su.c: Indent cpp-directives to reflect nesting.
+ Change a few #ifdef to #if.
+ Remove 3 spurious #ifdef that were guarding an #undef each.
+
+ * src/seq.c (check_format): Rename local, FORMAT_STRING, to avoid
+ shadowing global.
+ (print_numbers): Likewise.
+
+ * src/who-users.c (idle_string): Rename local, IDLE, to avoid
+ shadowing global.
+
+ * src/su.c (log_su): Resort to getpwuid if getlogin fails.
+ If no tty name is found, use `none' in the log message.
+ Based on a patch from Galen Hazelwood.
+
+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 Feb 19 23:06:46 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/factor.c (factor): Rewrite inner loop to be more efficient.
+ Patch from Torbjorn Granlund.
+
+Tue Feb 18 21:18:04 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/date/Test.pm: Add tests for %U, %V, and %W and for a bug
+ fixed on 1996-03-05.
+ Remove misleading `-' from leap-1 test.
+
+ * tests/Makefile.am (SUBDIRS): Add factor.
+ * tests/factor: New directory.
+ * configure.in (AC_OUTPUT): Add tests/factor/Makefile.
+
+Tue Feb 4 22:03:13 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/stty.c: Bracket inclusion of termios.h with #if HAVE_TERMIOS_H.
+ Masami Takikawa reported that NeXTStep 3.0 doesn't have termios.h.
+ * configure.in (AC_CHECK_HEADERS): Add termios.h.
+
+Fri Jan 31 21:13:13 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/*.c (usage): Bracket bug-reporting address with <> and append
+ a period.
+ * src/*.sh: Likewise.
+
+ * src/*.c: Compare getopt_long return value against -1, not EOF.
+ Use NULL, not `(int *) 0' as last parameter in getopt_long call.
+
+Mon Jan 27 21:43:50 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/chroot.c (usage): Remove one space in message to make
+ colons line up.
+
+Sun Jan 26 12:51:05 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.16.
+
+ * src/who-users.c (usage): Fix typo (--writeable -> --writable)
+ in help output. From Galen Hazelwood.
+
+Sat Jan 25 21:01:13 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/factor.c (print_factors): Reflect changes to xstrtoul interface.
+
+ * tests/date/mk-script.pl: Generated script now reflects
+ specification (in Test.pm) of default and per-test environment
+ settings.
+
+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.
+ This solves the problem (reintroduced with 1.15) where `stty -tabs'
+ would not work as advertised but instead act like `stty -a'.
+ Reported by Arne Juul.
+ Suggested fix from Ulrich Drepper.
+
+Wed Jan 22 20:12:31 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getopt.c: Update from GNU C library.
+ * lib/getopt1.c: Update from GNU C library.
+ * lib/getopt.h: Update from GNU C library.
+
+ * tests/Makefile.am (EXTRA_DIST): Add README Makefile.am.in.
+ (SUBDIRS): Set to `date'.
+
+ * configure.in: Check for perl.
+ (AC_OUTPUT): Add tests/date/Makefile.
+ * tests/date: New directory.
+
+ * 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.
+
+ * m4/mktime.m4 (AM_FUNC_MKTIME): Run tests for each of a few values
+ for the TZ environment variable. Andre Novaes Cunha provided the
+ hairy TZ setting that exercized the Solaris tzset bug.
+
+1997-01-22 Paul Eggert <eggert@twinsun.com>
+
+ * lib/strftime.c (_strftime_copytm):
+ New function, to work around Solaris 2.5 tzset bug.
+
+ * m4/mktime.m4 (AM_FUNC_MKTIME): Fix bug in mktime test -- don't
+ test now, test a couple of thousand times.
+
+ * m4/strftime.m4 (main): Use TZ=GMT0, not TZ=GMT, since only GMT0 is
+ specified by Posix.1.
+
+Sat Jan 18 09:32:26 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getdate.y (get_date): Change prototype to reflect const'ness
+ of parameters.
+ Indent cpp-directives to reflect nesting.
+ Indent with GNU indent.
+
+ * lib/getdate.h: New file.
+ * src/date.c: Include getdate.h.
+ (<time.h>, <sys/time.h>): Don't include -- now getdate.h does it.
+ (get_date): Don't declare. getdate.h does it.
+
+ * lib/Makefile.am (noinst_HEADERS): Add getdate.h.
+
+ 1997-01-06 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.y: Rewrite to use mktime.
+
+ <sys/timeb.h>: Don't include.
+ (mktime): Declare.
+
+ (struct timeb, timezone, DOOMSDAY, SECSPERDAY, DSTMODE, yyDSTmode,
+ ToSeconds, Convert, DSTcorrect, RelativeDate, RelativeMonth): Remove.
+ (ToHour): New function (part of the old ToSeconds fn).
+ (ToYear): New function (part of the old Convert fn).
+
+ (TABLE.value, yyDayOrdinal, yyDayNumber, yyTimezone, yyDay, yyHour,
+ yyMinutes, yyMonth, yySeconds, yyYear, yyRelMonth, yyRelSeconds,
+ Number): Now int instead of time_t.
+ (HOUR): Don't cast to time_t.
+
+ (tDAY_UNIT, tHOUR_UNIT, tYEAR_UNIT): New %tokens.
+ (UnitsTable): Use new units that are closer to the keywords.
+
+ (yyRelDay, yyRelHour, yyRelMinutes, yyRelYear): New variables.
+ (rel, relunit, get_date): Add support for them.
+
+ (time): Fix timezone calculations for negative half-hour offsets
+ when integer division truncates towards minus infinity.
+
+ (zone): Incorporiate DST calculation directly.
+
+ (get_date): 2nd arg is now time_t *, not struct timeb *.
+ Use mktime to do most of the work, instead of computing it ourselves.
+ Guard against falsely reporting errors near the time_t boundaries
+ when parsing times in other time zones.
+
+Thu Jan 16 20:58:40 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Check for pstat_getdynamic.
+ * configure.in (AC_CHECK_FUNCS): Don't check for pstat_getdynamic here.
+
+Tue Jan 14 22:45:36 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_CHECK_FUNCS): Add pstat_getdynamic.
+ Alphabetize functions.
+
+ * lib/getloadavg.c [hpux && HAVE_PSTAT_GETDYNAMIC]: Use HPUX's
+ pstat_getdynamic function so we don't need any special privileges
+ to determine load averages. Patch from Kaveh Ghazi, based on a
+ sample implementation from Richard J. Rauenzahn.
+ Indent cpp-directives to reflect nesting.
+
+Wed Jan 8 16:38:24 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.15.
+
+ * lib/getopt.c (_getopt_internal): Use `_', rather than the
+ (sometimes-)expansion `gettext'.
+
+Tue Jan 7 22:10:51 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/nice.c (main): Work around failures induced by new version of
+ getopt.c by not modifying optind before the first getopt_long call
+ in main. With suggestions from Ulrich Drepper.
+
+ * lib/getopt.c: New (more POSIX compliant) version from GNU libc.
+ [_]: Define to gettext also if ENABLE_NLS is defined.
+ This is temporary.
+
+Fri Jan 3 21:08:29 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acconfig.h (getgroups): Add #undef.
+ From Marcus Daniels.
+
+Fri Dec 27 17:25:18 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/who-users.c [!WTMP_FILE]: Provide default path.
+ (UTMP_FILE) [UTMPX_FILE]: Use UTMPX_FILE in favor of UTMP_FILE.
+ Patch from Kaveh R. Ghazi.
+ Indent cpp directives.
+
+ * m4/getgroups.m4: Rewrite the test so that systems lacking
+ getgroups don't try to use the supplied replacement function --
+ that depends on the existence of such a function.
+
+ * Makefile.am (aclocal.m4): No longer depend on acinclude.m4.
+
+ * configure.in (jm_FUNC_GETGROUPS): Use it.
+ Reported by Marcus Daniels.
+ AC_REQUIRE version 2.12 of autoconf.
+
+Sun Dec 22 23:31:32 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Increment version to 1.14a.
+
+ * m4/Makefile.am (EXTRA_DIST): Add README.
+
+Fri Dec 20 19:28:37 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/who-users.c (usage): Say that UTMP_FILE is the default FILE
+ rather than hard-coding /etc/utmp. Replace hard-coded /etc/wtmp
+ with WTMP_FILE. Suggestion from Eivind.
+
+ * src/seq.c (usage): Tweak --help text.
+
+ * configure.in (AC_OUTPUT): Add m4/Makefile.
+
+ * lib/Makefile.am (EXTRA_DIST): Add getgroups.c.
+
+ * Makefile.am (SUBDIRS): Add m4.
+ (aclocal-files): Add rules that rely on (GNU) make's include
+ directive that computes dependencies for aclocal.m4.
+ (aclocal.m4): Override automake-generated rule.
+
+ * m4/Makefile.am: New file.
+
+ * lib/strftime.c: Update from GNU libc.
+
+ * m4/getline.m4: New file, extracted from acinclude.m4.
+ * m4/getloadavg.m4: Likewise.
+ * m4/jm-mktime.m4: Likewise.
+ * m4/jm-winsz1.m4: Likewise.
+ * m4/jm-winsz2.m4: Likewise.
+ * m4/memcmp.m4: Likewise.
+ * m4/strftime.m4: Likewise.
+ * m4/uptime.m4: Likewise.
+
+ * m4/ccstdc.m4: Copied from automake-1.1l.
+ * m4/dmalloc.m4: Likewise.
+ * m4/error.m4: Likewise.
+ * m4/gettext.m4: Likewise.
+ * m4/header.m4: Likewise.
+ * m4/init.m4: Likewise.
+ * m4/install.m4: Likewise.
+ * m4/lcmessage.m4: Likewise.
+ * m4/lispdir.m4: Likewise.
+ * m4/maintainer.m4: Likewise.
+ * m4/mktime.m4: Likewise.
+ * m4/obstack.m4: Likewise.
+ * m4/progtest.m4: Likewise.
+ * m4/protos.m4: Likewise.
+ * m4/ptrdiff.m4: Likewise.
+ * m4/regex.m4: Likewise.
+ * m4/sanity.m4: Likewise.
+ * m4/strtod.m4: Likewise.
+ * m4/termios.m4: Likewise.
+ * m4/winsz.m4: Likewise.
+
+ * m4/getgroups.m4: New file.
+ (jm_FUNC_GETGROUPS): New macro
+ * lib/getgroups.c: New file.
+
+ * m4: New directory.
+
+Wed Dec 18 07:47:29 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_CHECK_HEADERS): Add paths.h.
+ * src/su.c [HAVE_PATHS_H]: Include <paths.h>.
+ [_PATH_DEFPATH]: Use this to define DEFAULT_LOGIN_PATH.
+ [_PATH_DEFPATH_ROOT]: Use this to define DEFAULT_ROOT_LOGIN_PATH.
+ From Rik Faith.
+
+ * acinclude.m4 (jm_FUNC_GNU_STRFTIME): Change m4 quote strings
+ outside the quoted test program. Quote the test program with <<, >>.
+ Reported by Andreas Schwab.
+ (AM_FUNC_GETLOADAVG): Likewise.
+ (jm_FUNC_GNU_STRFTIME): Add tests for new, upcasing ^ modifier
+
+Tue Dec 17 18:54:32 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/Makefile.am (install-exec-local): Properly redirect stdout
+ and stderr to /dev/null. From Eric Backus.
+
+ * lib/strftime.c: Update from GNU libc.
+
+ * acinclude.m4 (jm_SYS_PROC_UPTIME): Require AC_PROG_CC, rather than
+ now-obsolete AC_C_CROSS.
+ (jm_FUNC_MKTIME): When redefining, use rpl_ prefix, not gnu_ one
+ since there's nothing GNU-specific about the replacement. Contrast
+ with gnu_ prefix added to strftime.
+ (jm_FUNC_MEMCMP): New macro.
+ * configure.in: Use jm_FUNC_MEMCMP instead of AM_FUNC_MEMCMP.
+ * acconfig.h: Add memcmp.
+
+Sun Dec 15 18:37:08 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (check for 3-argument setpriority function): Complete
+ partial change made on Dec 12. From Arne Juul.
+
+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.
+
+Thu Dec 12 06:07:30 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.14.
+
+ * 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.
+
+ * configure.in: Bump version to 1.14.
+
+ * lib/getdate.y (IN_CTYPE_DOMAIN): Rename from ISASCII.
+ (ISDIGIT): New definition from Paul Eggert.
+ This one evaluates its argument exactly once.
+ (yylex): Move increment out of ISALPHA argument. Use a
+ comma-expression instead.
+
+ * src/false.sh (usage): Update bug-reporting address.
+ * src/groups.sh (usage): Likewise.
+ * src/nohup.sh (usage): Likewise.
+ * src/true.sh (usage): Likewise.
+ Reported by Karl Heuer.
+
+ * configure.in (check for 3-argument setpriority function): Add nohup
+ to list of scripts, not the list of programs.
+ From Karl Heuer.
+
+ * POTFILES.in: Add chroot.c. Reported by Michel Robitaille.
+
+Wed Dec 11 19:33:36 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.13.
+
+Tue Dec 10 06:36:57 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acinclude.m4 (jm_SYS_PROC_UPTIME): New macro. Derived from the
+ code in configure.in, except now it punts when cross compiling.
+ Suggestion from Karl Heuer.
+ * configure.in (jm_SYS_PROC_UPTIME): Use it instead of open-coded
+ version.
+
+ * lib/Makefile.am (EXTRA_DIST): Add mktime.c.
+ Reported by Thomas Bushnell.
+
+ * configure.in: Bump version to 1.12t.
+
+ * Regenerate all Makefile.in using a patched version of automake-1.1l.
+
+ * acconfig.h (strftime): Add #undef.
+ From Karl Heuer.
+
+ * acinclude.m4 (AM_GNU_GETTEXT): Don't require AC_ISC_POSIX.
+ From Karl Heuer.
+
+Mon Dec 9 06:58:11 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Bump version to 1.12s.
+
+ * lib/getdate.y (Convert): Don't reject all dates in 2038.
+ Some fit in 31 bits.
+
+ * configure.in (jm_FUNC_GNU_STRFTIME): Use it.
+
+ * acinclude.m4 (AC_REPLACE_GNU_GETOPT): Remove unused macro.
+ (jm_FUNC_GNU_STRFTIME): New macro.
+
+ * lib/Makefile.am (libsu_a_SOURCES): Remove strftime.c.
+ (EXTRA_DIST): Add strftime.c.
+
+ * configure.in (jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Fix typo:
+ Change $am_cv_sys_tiocgwinsz_needs_sys_ioctl_h to
+ $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h.
+ Patch from Kaveh R. Ghazi.
+
+ * src/stty.c: Include config.h before testing for
+ TERMIOS_NEEDS_XOPEN_SOURCE.
+ Patch from 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.
+
+ * acinclude.m4 (AM_FUNC_GETLOADAVG): Put shell assignments to
+ ac_save_LIBS and LIBS on separate lines to avoid order-of-evaluation
+ problems -- some versions of sh (e.g. SunOS4.1.3's) evaluate such
+ space-separated assignments from right to left. Patch from Karl Heuer.
+ (AM_FUNC_GETLOADAVG): Fix typo: su_save_LIBS => am_cv_saved_LIBS.
+ Patch from Karl Heuer.
+
+ * lib/strftime.c [HAVE_TZNAME]: Declare tzname.
+ Patch from Karl Heuer.
+
+ * src/Makefile.am (.sh): Also substitute @bindir@.
+ Reported by Karl Heuer.
+
+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 libsu.a as per
+ new automake requirement.
+ Rename su_* variables to libsu_a_*.
+
+Sun Dec 8 00:08:44 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/stty.c (get_win_size): Rename formal parameter from fileno to FD.
+
+Sat Dec 7 12:52:00 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/chroot.c (main): Call setlocale, bindtextdomain, and textdomain.
+ From Michel Robitaille.
+
+ * configure.in (ALL_LINGUAS): Add Portuguese (pt).
+
+ * lib/getloadavg.c [__SVR4]: Define SVR4.
+ Remove duplicate `|| defined(SVR4)' disjunct guarding the
+ #define KERNEL_FILE "/unix" definiton.
+
+ * configure.in (jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use this variant
+ of the AM_ prefixed macro.
+ (check for TIOCGWINSZ in sys/pty): In essence, require
+ jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H so that
+ $jm_cv_sys_tiocgwinsz_needs_termios_h (renamed from
+ $gwinsz_in_termios_h) is defined.
+
+ * lib/strftime.c (strftime): Remove " %Z" part of format for %c.
+ Correction from Paul Eggert.
+
+Fri Dec 6 20:52:07 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acinclude.m4 (jm_FUNC_MKTIME): Rather than including the text of
+ AM_FUNC_MKTIME, simply AC_REQUIRE it.
+
+Mon Dec 2 20:59:38 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (su_cv_func_ut_host_in_utmp): Move test that can
+ define WINSIZE_IN_PTEM to precede test that checks whether
+ `TIOCGWINSZ in sys/pty.h'. The latter test uses the symbol.
+ (jm_FUNC_MKTIME): Use this instead of AM_FUNC_MKTIME.
+
+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:08:00 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/strftime.c: Update from GNU libc.
+
+Fri Nov 29 22:16:40 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/uname.c (main) [HAVE_SYSINFO && SI_ARCHITECTURE]: Support
+ --processor (-p). Print processor type.
+ (usage): Document it.
+
+Thu Nov 28 00:28:37 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT
+ for gettext-0.10.25.
+ (AM_FUNC_GETLINE): Move the test to just before the check for getdelim.
+
+Sun Nov 24 11:02:29 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/system.h [!defined STDIN_FILENO]: Define it.
+ [!defined STDOUT_FILENO]: Define it.
+ [!defined STDERR_FILENO]: Define it.
+
+ * src/stty.c (get_win_size): Take a FILENO parameter rather than
+ trying to get a size from both stdin and stdout.
+ Update callers.
+ Use STDIN_FILENO and STDOUT_FILENO instead of literal 0, 1.
+
+ ========== From Karl Heuer =========
+ * src/stty.c [TERMIOS_NEEDS_XOPEN_SOURCE]: Define _XOPEN_SOURCE.
+ i386-pc-isc3.0, needs that in order to cause all of the useful
+ termios symbols to be defined, instead of just those that are
+ required by POSIX. This enables all of: iuclc ixany olcuc ocrnl
+ onlcr onocr onlret ofill ofdel nl0 cr0 tab0 bs0 vt0 ff0 xcase.
+
+ [GWINSZ_IN_SYS_PTY]: Include sys/ioctl.h, sys/tty.h, and sys/pty.h.
+
+ [!VSUSP && !VSWTCH]: Map VSWTCH and CSWTCH to VSUSP and CSUSP resp.
+ termio.h defines VSWTCH, but termios.h defines VSUSP instead (since
+ POSIX requires that symbol). Define VSWTCH as a synonym if needed,
+ so that either one can be used on input.
+ (display_changed): If the slot for swtch is the same as the one for
+ susp, display only the setting for susp.
+ (display_all): Likewise.
+
+ (display_changed): Some systems still have (VEOF,VEOL) == (VMIN,VTIME).
+ On such systems, it's confusing to print both pairs. So, skip eof and
+ eol when icanon is unset, and skip min and time when icanon is set.
+ (display_all): Likewise.
+
+ (set_window_size): Check only stdin (the device being queried) for
+ window size info. You don't want "stty </dev/foo" to report the size
+ of your current window when /dev/foo has no size info.
+ (display_window_size): Likewise.
+
+ (screen_columns): Check only stdout for window size info. You want
+ "stty </dev/foo" to wrap columns at the right margin of your current
+ window, not the /dev/foo width.
+
+ * acconfig.h (GWINSZ_IN_SYS_PTY): Add #undef.
+ (TERMIOS_NEEDS_XOPEN_SOURCE): Add #undef.
+
+ * configure.in (whether termios.h needs _XOPEN_SOURCE): New test.
+ (whether TIOCGWINSZ is defined in sys/pty.h): New test.
+
+Sat Nov 23 16:15:37 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.
+
+ * env.c (usage): Alphabetize option descriptions the way sort -f would.
+ * test.c (usage): Likewise.
+ * who-users.c (usage): Likewise.
+ From Karl Berry.
+
+Fri Nov 22 20:33:26 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.
+
+ * configure.in New test to check for TIOCGWINSZ in sys/pty.h.
+ * config.h.in (GWINSZ_IN_SYS_PTY): Add #undef.
+ From Karl Heuer.
+
+ * src/printf.c (main): Warn if excess arguments are ignored.
+ E.g., printf foo bar now warns that it is ignoring the single
+ non-format argument, bar.
+
+Wed Nov 20 20:37:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/xgethostname.c (xgethostname): Work around bug in SunOS5.5's
+ gethostname. Reported by Fletcher Mattox.
+
+Tue Nov 19 23:01:01 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11
+ has this built-in.
+ (OPTIONAL_BIN_ZCRIPTS): Rename from OPTIONAL_SCRIPTS -- because
+ automake-1.1g couldn't deal with the _SCRIPTS suffix.
+ * src/Makefile.am (bin_SCRIPTS): Rename @OPTIONAL_SCRIPTS@.
+
+Sun Nov 17 20:49:37 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/id.c (main): Ignore -a, for compatibility with SVR4.
+ Suggestion from Noah Friedman.
+
+Mon Nov 4 20:24:31 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.
+
+ Thu Oct 31 19:32:32 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * lib/xgethostname.c [ENAMETOOLONG] (xgethostname): If gethostname
+ returns an error other than buffer overflow, exit with an error
+ message instead of allocating infinite amounts of space.
+ [!EXIT_FAILURE] (EXIT_FAILURE): New macro.
+ <errno.h>: New include.
+ [!errno] (errno): New declaration.
+
+ * acinclude.m4 (AM_FUNC_GETLINE): Use cache.
+
+ * configure.in: Check for -linet library before checking for the
+ gethostbyname function. Suggested by Karl Heuer.
+ Use AM_FUNC_GETLINE.
+
+ * acinclude.m4 (AM_FUNC_GETLINE): Add run-time test for getline.
+ Based on a test from Karl Heuer.
+
+Sun Nov 3 14:57:09 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acinclude.m4 (GETLOADAVG_LIBS): Unanchor the sed regexp that removes
+ am_cv_saved_LIBS from LIBS. From Karl Heuer.
+
+ * src/stty.c (recover_mode): Fail also if there are too many fields.
+ From Karl Heuer.
+
+ * lib/canon-host.c: Include sys/types.h for the definitions
+ (otherwise missing on some systems) of caddr_t (used by
+ sys/socket.h) and ushort (used by netinet/in.h). From Karl Heuer.
+
+Sat Nov 2 00:16:16 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * 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.
+
+ * src/date.c (main): Give better diagnostic.
+ Suggestion from Karl Berry.
+
+Thu Oct 31 18:28:05 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/posixtm.y: Remap yacc globals to have pt_ prefix.
+ * lib/getdate.y: Remap yacc globals to have gd_ prefix.
+ Suggestion to do as in gdb/c-exp.y from Tom Tromey.
+
+Mon Oct 28 17:40:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/Makefile.am (install-exec-local): Redirect stderr of chown to
+ /dev/null and suggest running `make install-root' upon failure to
+ install su. Suggestions from François Pinard.
+
+ * configure.in: Don't output confusing diagnostic: `checking for
+ shadow password routines'. Suggestion from François Pinard.
+
+Thu Oct 24 13:50:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/tee.c (main): Ignore SIGPIPE.
+
+Wed Oct 23 23:42:43 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/stty.c: Guard inclusion of stdarg.h and definition of VA_START
+ with #if PROTOTYPES rather than with #ifdef __STDC__. The latter
+ loses with Dynix/PTX.
+ (wrapf) [PROTOTYPES]: Similarly, guard ANSI-style ... definition.
+ Suggestion from Marcus Daniels.
+
+Mon Oct 21 16:49:08 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getloadavg.c [__linux__]: Don't bother with a.out/nlist/kernel
+ defines or includes -- Linux systems simply read /proc/loadavg.
+ From Ulrich Drepper.
+
+ * lib/Makefile.am (EXTRA_DIST): Remove group-member.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/stty.c (main): Remove TAB from diagnostic, for consistency.
+
+Sun Oct 20 09:03:51 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (install-root): Add it here, too.
+
+ * lib/Makefile.am (INCLUDES): Add -I../intl. Reported by Eric Backus.
+
+ * src/Makefile.am (install-root): New rule.
+ Suggestion from François Pinard.
+
+ * src/who-users.c (print_entry): Don't take address of UT_TIME_MEMBER
+ directly. From Ulrich Drepper.
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Set to `gnits'.
+ (EXTRA_DIST): Remove @README_ALPHA@.
+
+ * configure.in: Remove README_ALPHA related code. Automake takes
+ care of it automatically now when in gnits mode.
+
+ * acinclude.m4 (AM_FUNC_GETLOADAVG): Use $srcdir (not $top_srcdir) in
+ #include $srcdir/lib/getloadavg.c. The latter isn't defined at that
+ point in configure script. From Eric Backus.
+
+Fri Oct 18 21:31:58 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (cvs-dist): Uncomment cvs tag command.
+ (cvs-dist): Use cvs tag's -c option.
+
+Thu Oct 17 23:48:16 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (LIBS): Add -lypsec on m88k/svr3 DolphinOS systems
+ using YP. From Arne Juul.
+
+Sun Oct 13 07:34:15 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Don't save and restore LIBS around AM_FUNC_GETLOADAVG.
+ * acinclude.m4 (AM_FUNC_GETLOADAVG): Don't modify LIBS in this macro
+ (by saving and restoring initial value). Instead, arrange for
+ substitution of @GETLOADAVG_LIBS@.
+ * src/Makefile.am (uptime_LDADD): Add @GETLOADAVG_LIBS@,
+ not @UPTIME_LIBS@.
+
+ * configure.in (ALL_LINGUAS): Add swedish (sv).
+
+Fri Oct 11 22:51:50 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/who-users.c (print_uptime): Change #ifdef guard on getloadavg
+ call from just HAVE_GETLOADAVG to HAVE_GETLOADAVG || C_GETLOADAVG.
+ From Kaveh R. Ghazi.
+
+ * src/Makefile.am (uptime_LDADD): Add @UPTIME_LIBS@.
+
+ * acinclude.m4 (AM_FUNC_GETLOADAVG): Like AC_FUNC_GETLOADAVG, but
+ with the following changes:
+ - include $top_srcdir/lib/getloadavg.c, not src/getloadavg.c.
+ Reported by Eric Backus.
+ - Check for Solaris' libkstat.
+ - Define C_GETLOADAVG if we end up using getloadavg.c.
+ From Kaveh R. Ghazi.
+ * acconfig.h (C_GETLOADAVG): Add it.
+ From Kaveh R. Ghazi.
+
+ * configure.in: Use new AM_FUNC_GETLOADAVG and be careful to add
+ getloadavg-related libraries only when linking uptime.
+
+Thu Oct 10 23:50:05 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (EXTRA_DIST): Remove posixtm.y and getdate.y.
+ (su_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 00:26:55 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getloadavg.c [__sun]: Define sun. Reported by Kaveh Ghazi.
+
+ * lib/strftime.c (strftime): Accommodate the broken C compiler
+ that comes with SunOS -- don't initialize aggregates in decls of
+ automatic variables. Reported by Kaveh Ghazi.
+
+ * tests/: Renamed checks/ directory.
+ * Makefile.am (SUBDIRS): Rename checks to tests.
+ * configure.in (AC_OUTPUT): Rename checks to tests.
+
+ * configure.in (/proc/uptime check): Guard the read of /proc/uptime
+ with an existence test to avoid a messy configure-time warning on
+ systems that lack that special file. Reported by Kaveh R. Ghazi.
+
+ * configure.in (check whether floor needs -lm): Fix typo: save $LIBS,
+ not $LIB. From Kaveh R. Ghazi.
+
+ * checks/nice: Protect echoed args with leading `x' so echo doesn't
+ interpret leading -n on e.g. SunOS systems.
+
+Mon Oct 7 18:46:28 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/getloadavg.c [__hpux]: Define hpux. From Eric Backus.
+
+ * lib/Makefile.am (EXTRA_DIST): Remove alloca.c, error.c, and mktime.
+ (su_SOURCES): Remove memcmp.c.
+ Automake automatically includes at least these, now.
+ From François Pinard.
+
+ * lib/Makefile.am (su_SOURCES): Remove getline.c.
+
+Sat Oct 5 11:38:23 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (su_SOURCES): Remove gethostname.c --
+ it's AC_REPLACE'd and already in EXTRA_DIST.
+
+ * configure.in: Use AM_SANITY_CHECK_CC.
+
+ * configure.in: Use AM_FUNC_ERROR_AT_LINE.
+ * lib/Makefile.am (EXTRA_DIST): Put error.c here.
+ (su_SOURCES): Remove error.c
+ Suggested by Ulrich Drepper.
+
+ * configure.in (GNU_PACKAGE): AC_SUBST it for the src/*.sh scripts.
+ * src/Makefile.am (.sh): Substitute for @GNU_PACKAGE@ and @VERSION@
+ in the four installed scripts.
+ * src/*.sh: Update --version output to conform to the coding standard.
+
+ * 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.
+
+Sun Sep 22 22:41:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_CHECK_HEADERS): Alphabetize.
+ Update for automake-1.1e.
+
+Thu Sep 19 07:47:18 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/regex.c: Merge with FSF version.
+ * lib/getloadavg.c: Replace with FSF version.
+
+Mon Sep 16 23:13:04 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/strftime.c (strftime): New version, from GNU libc.
+
+Sun Sep 15 23:08:48 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (EXTRA_DIST): Remove acinclude.m4.
+
+Mon Sep 9 22:10:45 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Improve handling of math library so -lm is used
+ only when it's actually required. That makes a difference when
+ using dynamic linking.
+ Remove check that added -lm to LIBS.
+ (SQRT_LIBM): Test for and AC_SUBST it.
+ (POW_LIBM): Likewise.
+ (SEQ_LIBM): Likewise.
+ Motivation and suggestions from Ulrich Drepper.
+
+ * src/Makefile.am (factor_LDADD, printf_LDADD, seq_LDADD):
+ Set these using new @SQRT_LIBM@, @POW_LIBM@, and @SEQ_LIBM@ resp.
+ Also set corresponding _DEPENDENCIES variables.
+
+Sat Sep 7 12:41:39 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/system.h: Add comments justifying IS* versions of ctype.h macros.
+
+ * lib/getdate.y: Define and use upper case variants of ctype.h
+ is* macros. From Bruno Haible.
+
+Thu Sep 5 22:12:20 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/strftime.c: New version from glibc.
+
+Wed Sep 4 23:39:51 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (ALL_LINGUAS): Add dutch (nl).
+
+Mon Sep 2 10:52:55 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/*.c (usage): Tell where to report bugs.
+
+Sun Sep 1 07:56:07 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AM_FUNC_MKTIME): Use it.
+ (AC_REPLACE_FUNCS): Remove mktime.
+ (AM_INIT_AUTOMAKE): Use it.
+ (AM_PROG_INSTALL): Remove. AM_INIT_AUTOMAKE does this.
+ (AC_PROG_MAKE_SET): Likewise.
+ (jm_MAINTAINER_MODE, fp_C_PROTOTYPES): Rename with
+ AM_ prefix for latest automake/aclocal.
+
+ * Makefile.am (EXTRA_DIST): Add acinclude.m4.
+
+ * acinclude.m4: New file -- derived from aclocal.m4.
+ * aclocal.m4: This file is now generated by the aclocal program
+ (which comes with the automake package.)
+
+Sat Aug 17 00:14:55 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/strftime.c: Update from GNU libc -- this adds back %z and %s
+ formats and reverts to old behavior where unrecognized format like
+ %E is treated as eqivalent to `E'.
+
+Sun Aug 4 09:14:28 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * checks/: New directory.
+ * checks/Makefile.am: New file.
+ * checks/nice: New file. Derived from tests from Eric Backus.
+ * configure.in (AC_OUTPUT): Add new directory: checks.
+ * Makefile.am (SUBDIRS): Likewise.
+
+ * src/nice.c (main): Allow `+' in options like -+8 and -+13.
+
+Fri Aug 2 21:45:06 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/nice.c (main): Set minus_flag to zero in two places.
+ Otherwise, `nice --1 -3' would mistakenly do the equivalent of
+ `nice --3'. Thanks to Eric Backus <ericb@lsid.hp.com> for the
+ test cases.
+
+ * configure.in (check for /proc/uptime): New check.
+ * acconfig.h (SAVE_PROC_UPTIME): #undef it. Reorder so symbols
+ are sorted again.
+ *src/who-users.c (print_uptime) [HAVE_PROC_UPTIME]: Read from
+ /proc/uptime.
+ From Ulrich Drepper.
+
+Thu Aug 1 22:38:38 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_REPLACE_GNU_GETOPT): No longer use it.
+ It isn't necessary because the cpp-time checks of getopt.c and
+ getopt1.c are at least as good.
+ * lib/Makefile.am (EXTRA_DIST): Remove getopt.c and getopt1.c.
+ (su_SOURCES): Add getopt.c and getopt1.c
+ This reverts much of the April 23 change.
+
+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.
+
+Sun Jul 21 09:47:55 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_REPLACE_FUNCS): Replace getline.c.
+ Add related check for the getdelim function.
+ From Ulrich Drepper -- as done in gettext.
+
+ * src/stty.c (usage): Correct typo (-iucl -> -iuclc) in usage message.
+ From Thomas Olsson <d95to@efd.lth.se>.
+
+Sat Jul 20 17:01:56 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (PACKAGE_VERSION): Use space instead of hyphen to
+ separate PACKAGE and VERSION.
+
+Wed Jul 17 23:13:19 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/chroot.c: Include <sys/types.h> before system.h.
+ * src/seq.c: Likewise.
+ * src/yes.c: Likewise.
+ From Arne Juul.
+
+Tue Jul 16 00:06:33 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/strftime.c (strftime): Use `(void)0' as second arg to add macro.
+ Omitting that second arg made some HPUX C compiler report an error.
+ From Kaveh R. Ghazi.
+
+Mon Jul 15 23:42:57 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/who-users.c (print_uptime): Reverse `days' and `day' in
+ uptime message. From Kaveh R. Ghazi.
+
+ * Many files: Update FSF address.
+
+Sun Jul 14 20:05:34 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/who-users.c (print_uptime): Use 0, not undefined errno in
+ couldn't-get-boot-time diagnostic. From Ulrich Drepper.
+
+Sat Jul 13 14:22:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/chroot.c (usage): Add a `\' after `\n' in usage message.
+ Otherwise, SunOS's /bin/cc chokes.
+
+ * src/stty.c [GWINSZ_BROKEN]: Remove thus-guarded `#undef TIOCGWINSZ'.
+ GWINSZ_BROKEN can't be defined anymore.
+
+ * configure.in (boot time test): Use AC_EGREP_CPP instead of
+ AC_EGREP_HEADER; #endif, instead of #fi.
+ (AM_SYS_POSIX_TERMIOS, AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use
+ these macros instead of the tests from which they were derived.
+ ($am_cv_sys_posix_termios): Renamed to have am_ prefix instead of su_.
+
+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.
+
+Sun Jul 7 22:40:08 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * aclocal.m4 (AM_SYS_POSIX_TERMIOS): New macro, derived from test
+ in configure.in.
+ (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
+
+Sat Jul 6 12:47:48 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * 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 (su_SOURCES): Remove group-member.c.
+ (EXTRA_DIST): Add group-member.c here.
+
+Thu Jul 4 22:40:06 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/expr.c (docolon): Remove space before newline in usage message.
+
+Sat Jun 29 18:58:20 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.
+
+Tue Jun 18 22:14:42 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * aclocal.m4: Update from gettext-0.10.20.
+ * ABOUT-NLS: Likewise.
+ * intl/*: Likewise.
+
+Sun Jun 16 13:44:36 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * doc/Makefile.am (EXTRA_DIST): Add texinfo.tex.
+
+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.
+
+Wed May 29 21:28:53 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * expr.c (docolon): Give a warning when the first character
+ of the basic regular expression is `^'.
+
+Mon May 20 22:56:06 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * id.c (xgetgroups): New function, factored out of
+ print_group_list and print_full_info.
+ (print_group_list): Call it.
+ (print_full_info): Call it.
+
+ * lib/Makefile.am (getdate.c): Disable dependencies that can
+ require rerunning YACC when not in maintainer mode.
+ (posixtm.c): Likewise.
+
+Tue May 14 18:47:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * id.c (print_group_list): When USERNAME is specified use
+ getugroups to get the number of groups.
+ (print_full_info): Likewise.
+
+Sun May 19 21:45:49 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * seq.c (usage): Make it clearer.
+
+Sat May 18 13:29:46 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * expr.c (main): Don't recognize --help, --h, --he, --version,
+ --v, etc. if the POSIXLY_CORRECT environment variable is set.
+ * echo.c (main): Likewise.
+ * printf.c (main): Likewise.
+ * test.c (main): Likewise.
+
+ * expr.c (docolon) [RE_SYNTAX_POSIX_BASIC]: Revert change of Mar 1.
+
+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.
+
+Mon May 6 22:40:54 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * lib/strftime.c: Update from GNU libc.
+
+Sat May 4 20:54:32 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * system.h [IN_CTYPE_DOMAIN]: Rename from ISASCII.
+ * seq.c: Remove useless void casts of *printf return values.
+
+Mon Apr 29 22:23:40 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * basename.c (usage): Mark translatable strings.
+ * chroot.c (main): Likewise.
+ * basename.c (main): Separate messages about `too few' and `too many'
+ arguments to ease translation.
+ * dirname.c (main): Likewise.
+ * date.c (usage): Change TAB in message to spaces. Doing that seems
+ to have worked around a problem with something in gettext that was
+ producing a truncated usage message for date's usage.
+ From François Pinard.
+
+Sun Apr 28 17:10:03 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in: Make fp_C_PROTOTYPES 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.
+
+Tue Apr 23 22:05:35 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro.
+ * configure.in: Use it.
+ * lib/Makefile.am (su_SOURCES): Remove getopt.c and getopt1.c.
+ (EXTRA_DIST): Add getopt.c and getopt1.c
+
+ * whoami.c (main): Declare to return int, not void.
+ * who-users.c (main): Likewise.
+ * yes.c (main): Likewise.
+
+ * src/*.c, src/*.h: Update Copyright years to include 1996.
+
+Sun Apr 21 08:04:51 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * date.c (usage): Describe new %V format. From Karl Berry.
+
+ * Makefile.am (LDADD): Put @INTLLIBS@ before package library.
+
+Sat Apr 20 22:22:01 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * chroot.c (usage): Improve help message.
+ Enclose message strings in _().
+ * seq.c (usage): Improve help message.
+ * factor.c (usage): Likewise.
+ From Karl Berry.
+
+Fri Apr 19 23:48:53 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * Makefile.am (cvs-dist): New rule. Based on the one from
+ Tom Tromey's automake.
+
+Thu Apr 18 23:16:41 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * basename.c (basename): Rewrite so it doesn't rely on strrchr,
+ and hence doesn't need to include string.h -- on some alpha-based
+ OSF systems, there's a conflicting prototype for basename in string.h.
+ Reported by Kaveh Ghazi.
+
+ * configure.in (AC_REPLACE_FUNCS): Add basename.
+ * lib/Makefile.am (EXTRA_DIST): Add basename.c.
+ (su_SOURCES): Remove basename.c.
+ From Kaveh Ghazi.
+
+Tue Apr 16 20:24:44 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * src/Makefile.am (who.c): Qualify who-users.c reference with
+ $(srcdir)/ prefix.
+ (users.c): Likewise.
+ (uptime.c): Likewise.
+ From François Pinard.
+
+ * configure.in: Always invoke AC_GETLOADAVG, not just if we're
+ building uptime.
+
+Sat Apr 13 13:24:35 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * getloadavg.c: Test cpp-defined __sun as well as sun, because
+ in strict ANSI mode, only __sun is defined. From Kaveh Ghazi.
+
+ * date.c (usage): Add missing `\n\' at the end of newly added
+ lines for %e and %z.
+
+ * who-users.c (print_uptime): Call getloadavg only if we have it.
+
+Fri Apr 12 22:03:13 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (LINGUAS): Add de.
+
+ * date.c (usage): Describe %e and %z. Reported by Karl Berry.
+
+ * who-users.c: Mark translatable strings in new code.
+
+Wed Apr 10 21:26:30 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in: Add test for boot_time.
+ From Kaveh Ghazi.
+
+ * lib/Makefile.am (EXTRA_DIST): Add getloadavg.c.
+
+ * src/Makefile.am (EXTRA_PROGRAMS): Add uptime.
+ (BUILT_SOURCES): Add uptime.c.
+ (MOSTLYCLEANFILES): Add uptime.c.
+ (uptime.c): Add rule to build it from who-users.c.
+
+ * who-users.c: Reindent.
+ (UT_TIME_MEMBER): New macro.
+ (print_uptime): Use it instead of #ifdef HAVE_UTMPX_H #else.
+ (print_entry): Likewise.
+
+Tue Apr 9 23:57:19 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * who-users.c (print_uptime) [UPTIME]: New function. From Kaveh Ghazi.
+
+Sun Apr 7 11:58:13 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * seq.c (print_numbers): Rearrange loops to get it right.
+ Reported by Karl Eichwalder <ke@ke.Central.DE>.
+
+ * seq.c (print_numbers): Give more precise diagnostic when INCREMENT
+ is inconsistent with START and LIMIT.
+ (usage): Clean up help message.
+
+ * factor.c (usage): Give minimal description of the program.
+ (print_factors): Give a better diagnostic.
+ (main): Suggest --help upon failure.
+ Reported by Karl Eichwalder <ke@ke.Central.DE>.
+
+ * seq.c (print_numbers): Fix off-by-one error in
+ backwards-counting loop. Reported by Karl Eichwalder.
+
+ * strftime.c (mon_week_ISO): New function to implement new %V format.
+ (sun_week): Make TM parameter `const'.
+ (mon_week): Likewise.
+ (mon_week): Rewrite to implement %W format correctly.
+ (strftime): Handle %V format.
+ Reported by Arne Juul.
+
+Fri Apr 5 07:33:00 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * strftime.c (sun_week): Make %U work properly.
+ Before, `date -d '1 Jan 1995' +%U' output `00'. Now it prints `01'.
+
+ * nice.c (main): Simplify option handling. Before, `nice -18 -- nice'
+ improperly printed `8'. Patch from Frank Korz.
+ (main): Use `if' stmt, not while loop, around getopt invocation.
+ Otherwise, `./nice --a=1 -1 ./nice' (in which old-style option
+ follows a long option) gets an error.
+
+Thu Apr 4 20:14:02 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * aclocal.m4 (fp_PROG_CC_STDC): Change -Xc -D_POSIX_C_SOURCE to
+ `-Xc -D__EXTENSIONS__' because of problems with Solaris header
+ files. Suggested by Kaveh Ghazi.
+
+Wed Apr 3 07:08:57 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h
+ when srcdir != builddir. From Kaveh Ghazi.
+
+ * lib/getugroups.c: Include stdio.h before grp.h. Because
+ <grp.h> on alpha OSF1 V2.0 uses "FILE *". From Kaveh Ghazi.
+
+Sun Mar 31 16:26:06 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in: Simplify checking for math library.
+ This also eliminates some confusing output from configure.
+ Suggested by François Pinard.
+
+Fri Mar 29 22:13:10 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * src/Makefile.am (INCLUDES): Replace -I$(top_srcdir)/intl with
+ -I../intl. With the former, compiles didn't find libintl.h when
+ configured with `--srcdir=..'. Reported by Marcus Daniels
+ <marcus@sysc.pdx.edu>.
+
+ * doc/Makefile.am (EXTRA_DIST): Set to getdate.texi so that file
+ gets distributed.
+
+ * src/Makefile.am (EXTRAdir): Set to $(bindir).
+
+Thu Mar 28 23:01:48 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * ChangeLog.0: New file.
+ * Makefile.am (EXTRA_DIST): Add ChangeLog.0.
+
+Thu Mar 28 00:06:28 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * man/Makefile.am (man_MANS): Add chroot.1.
+ * src/Makefile.am (EXTRA_PROGRAMS): Add chroot.
+
+Sun Dec 24 10:55:34 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * configure.in: Check for chroot a la uname.
+ * src/chroot.c, man/chroot.1: New files.
+
+Sun Mar 24 11:44:35 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * su.c: Protoize and reorder functions to obviate forward decls.
+
+ * seq.c: Make parameters const where appropriate.
+ Rename global FROM to START.
+ (print_numbers): Rewrite loops to avoid incrementing. Instead,
+ use `x = first + i * increment' paradigm. Otherwise, with inexact
+ increment, you could miss the last value.
+
+ * xstrtod.c: New file.
+ * xstrtod.h: New file.
+ * lib/Makefile.am: Add xstrtod.c and xstrtod.h.
+ * seq.c: Include xstrtod.h.
+ (scan_double_arg): Use xstrtod rather than strtod directly.
+
+ * src/*: Update FSF's address.
+
+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:07:49 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (PACKAGE_VERSION): New macro.
+ (OPTIONAL_BIN_PROGS): Rename from OPTIONAL_PROGS.
+ * 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.
+ [.sh]: Change @VERSION@ to @PKG_VERSION@.
+ On RHS of sed substitution, use @PACKAGE_VERSION@, not GNUVER.
+ (OPTIONAL_BIN_PROGS): Rename from OPTIONAL_PROGS.
+ (install-exec-local): New target/rules to make the installed su
+ binary setuid root or failing that, to delete it.
+ * false.sh groups.sh nohup.sh true.sh: Use @PKG_VERSION@,
+ not @VERSION@.
+ * version.c: Remove file.
+ * version.h: Remove file.
+ * basename.c date.c dirname.c echo.c env.c expr.c factor.c
+ hostname.c id.c logname.c nice.c pathchk.c printenv.c printf.c
+ pwd.c seq.c sleep.c stty.c su.c tee.c test.c tty.c uname.c
+ who-users.c whoami.c yes.c: Don't include version.h.
+ (main): Use PACKAGE_VERSION instead of version_string.
+
+Fri Mar 15 23:42:29 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * basename.c: Remove __P-protected prototype for basename.
+ Reported by François Pinard.
+ (remove_suffix): Move to precede use. Remove prototype.
+ Declare formal parameter SUFFIX to be const.
+
+ * pathchk.c (validate_path): Cast path_max to size_t before
+ comparing with strlen(path).
+
+ * who-users.c (read_utmp): Declare n_read to be of type size_t
+ rather than int.
+
+Tue Mar 12 17:52:05 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * basename.c date.c dirname.c echo.c env.c expr.c factor.c hostname.c
+ id.c logname.c nice.c pathchk.c printenv.c printf.c pwd.c seq.c
+ sleep.c stty.c su.c tee.c test.c tty.c uname.c who-users.c whoami.c
+ yes.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.
+ Mostly from François Pinard.
+
+Wed Mar 6 21:40:34 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * who-users.c (print_entry): Use STRUCT_UTMP, not `struct utmp' to
+ declare formal parameter.
+
+Tue Mar 5 22:49:33 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * getdate.y (RelativeMonth): Add 1900 to the year so that relative
+ date specs that push the year through the end of the century work.
+ For example, `date -d "01/01/1998 3 years" +%Y' now prints 2001.
+ From Peter Dalgaard (pd@kubism.ku.dk).
+
+Mon Mar 4 23:46:43 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * seq.c (main): Exit after processing --version.
+ Reported by François Pinard.
+
+Fri Mar 1 23:46:32 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * expr.c (docolon): Don't initialize re_syntax_options to
+ deceptively-named RE_SYNTAX_POSIX_BASIC -- it recognizes non-BRE
+ \?, \+, and \|. Use RE_SYNTAX_POSIX_MINIMAL_BASIC instead.
+
+ * od.c (WINDOWS_SETFILEMODE_BINARY): New macro.
+ (skip) [_WIN32 && _O_BINARY]: Use it.
+ (read_char): Likewise.
+ (read_block): Likewise.
+ [_WIN32 && _O_BINARY]: Include malloc.h and io.h.
+ Based on changes by Gary Newman <gnewman@shore.net>.
+
+Wed Feb 28 21:48:07 1996 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (LOCALTIME_CACHE):
+ Also define if localtime mishandles unsetting TZ.
+ This works around a localtime bug in mips-dec-ultrix.
+
+Wed Feb 28 23:08:24 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * lib/Makefile.am (su_SOURCES): Add xstrtoul.c.
+ (noinst_HEADERS): Add xstrtoul.h.
+
+ * factor.c: General cleanup. Use xstrtoul, not atoi.
+ Change output format. Allow inputs as large as ULONG_MAX.
+ Allow more than one command line argument.
+
+ * stty.c (wrapf) [!__STDC__]: Indent by one space the first line
+ of the pre-ANSI function definition so ansi2knr doesn't munge it.
+
+ * src/Makefile.am: Adapt for automake-0.30.
+ * lib/Makefile.am: Likewise.
+
+ * expr.c (eval6): Cast strlen to int to avoid warning from gcc -Wall.
+
+Sun Feb 25 22:19:52 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * src/Makefile.am (BUILT_SOURCES): Set to `who.c users.c'.
+ (MOSTLYCLEANFILES): Add who.c and users.c.
+ (who.c): New rule to create this file. Concatenate definition of
+ WHO and contents of who-users.c.
+ (users.c): New rule to create this file. Concatenate definition of
+ USERS and contents of who-users.c.
+
+Sat Feb 24 12:20:58 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * readtokens.c: Unprotoize.
+
+ * expr.c (cmpf): Indent macro uses so ansi2knr doesn't mistake them
+ for function dcls and munge them.
+ (arithf): Likewise.
+ (arithdivf): Likewise.
+
+ * test.c: __P-protect forward declarations.
+ (main): Protoize function definition.
+
+ * date.c (batch_convert): Declare BUFLEN local to be of type size_t,
+ not int.
+
+ * expr.c (docolon): Set re_syntax_options to RE_SYNTAX_POSIX_BASIC
+ so expr's pattern matching uses BASIC (not GNU-extended) REs.
+ Reported by Jim Kingdon.
+
+ * who-users.c (print_entry): Use strchr, not index.
+
+ * configure.in (AC_CHECK_HEADERS): Add sys/socket.h.
+ * canon-host.c [HAVE_SYS_SOCKET_H]: Include <sys/socket.h> for
+ definition of AF_INET on at least SunOS 4.
+
+Tue Feb 13 23:49:16 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * who-users.c (main): When failing because there were
+ `too many arguments,' say so.
+
+Mon Feb 12 23:26:05 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (AC_CHECK_FUNCS): Add gethostbyname, gethostbyaddr,
+ and inet_ntoa.
+ (AC_CHECK_HEADERS): Add netdb.h netinet/in.h arpa/inet.h.
+ * lib/canon-host.c: New file.
+ * lib/Makefile.am (su_SOURCES): Add canon-host.c.
+ * src/who.c (print_entry): If possible, canonicalize the host hame.
+ From Miles Bader (miles@gnu.ai.mit.edu).
+
+ 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 23:40:50 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * lib/strftime.c (add_num_tz): New function.
+ (strftime): Handle new %z format.
+ * date.c (main): Accept new option, --rfc-822 (-R).
+ (show_date): Use RFC822-mandated strftime format.
+ From H. Peter Anvin (hpa@storm.net).
+ (usage): Add a line describing the new option.
+
+ * lib/strftime.c (add_num_tz): Don't use local, LENGTH,
+ before it's defined.
+
+Mon Jan 29 19:24:04 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * acconfig.h (PROTOTYPES): Define it.
+
+Fri Jan 19 22:00:08 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * aclocal.m4 (fp_PROG_INSTALL): New macro.
+ * configure.in: Use it instead of AC_PROG_INSTALL.
+
+ * who-users.c: Protoize.
+
+Wed Jan 17 23:37:59 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * stty.c: Protoize and __P-protect forward dcls.
+ (visible): Change parameter type to unsigned int from unsigned char.
+ (integer_arg): Use xstrtol instead of open-coding this.
+
+ * lib/Makefile.am (su_SOURCES): Add xstrtol.c.
+ (HEADERS): Add xstrtol.h.
+
+ * test.c (advance): Protoize function.
+
+ * sleep.c (argdecode): Declare parameter const.
+
+Sat Jan 13 22:31:23 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * stty.c: Indent cpp directives.
+
+Sun Jan 7 23:56:03 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ Use automake to generate Makefile.in files.
+ * Makefile.am: New file.
+ * doc/Makefile.am: New file.
+ * lib/Makefile.am: New file.
+ * man/Makefile.am: New file.
+ * src/Makefile.am: New file.
+
+ * configure.in (OPTIONAL_PROGS, OPTIONAL_SCRIPTS): New variables
+ used in place of PROGS.
+
+Sat Jan 6 05:13:40 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (PACKAGE, VERSION): New variables.
+ (fp_C_PROTOTYPES): Use it.
+
+ * printf.c (print_esc_char): Change type of argument from char
+ to int to avoid potential promotion problem.
+ * uname.c (print_element): Likewise.
+
+ * system.h [__P]: New macro.
+
+ * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, factor.c,
+ hostname.c, id.c, logname.c, nice.c, pathchk.c, printenv.c,
+ printf.c, pwd.c, seq.c, sleep.c, tee.c, test.c, tty.c, uname.c,
+ whoami.c, yes.c: Protoize and __P-protect forward dcls.
+
+ * who-users.c: New file. Renamed from who.c.
+ * who.c: Define WHO and include who-users.c.
+ * uses.c: Define USERS and include who-users.c.
+
+ * id.c Remove no-longer-used NGROUPS_MAX cpp macros.
+ (print_group_list) [HAVE_GETGROUPS]: Reorganize to use
+ getgroups (0, NULL) to compute number of groups at run time
+ rather than relying on NGROUPS_MAX at compile time.
+ (print_full_info) [HAVE_GETGROUPS]: Likewise.
+ Suggestion from Roland McGrath.
+
+ * su.c: Remove NGROUPS_MAX junk. It wasn't being used.
+
+Wed Jan 3 19:03:26 1996 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (LOCALTIME_CACHE): Define if tzset exists and
+ if localtime caches TZ. Check for tzset.
+ * acconfig.h (LOCALTIME_CACHE): New macro.
+ * date.c (putenv): Declare.
+ (universal_time): Remove.
+ (main): If -u is given, set TZ to "UTC0"; this causes date to use
+ UTC uniformly and fixes bugs in the handling of date -u +'%s %Z'.
+ (show_date): Just use localtime and a single format, since TZ will
+ be set properly if -u is given.
+
+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.
+
+Sun Nov 26 16:09:33 1995 Jim Meyering (meyering@comco.com)
+
+ * test.c (usage): Clarify usage. From Karl Berry.
+
+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>.
+
+Tue Nov 7 23:53:20 1995 Jim Meyering (meyering@comco.com)
+
+ * stty.c (usage): Clarify descriptions of ignpar and ignbrk.
+ From Theodore Ts'o and Ulrich Windl.
+
+Sun Oct 29 08:47:50 1995 Jim Meyering (meyering@comco.com)
+
+ * test.c [TEST_STANDALONE]: Define.
+ * src/Makefile.in (test.o): Remove special rule.
+
+Sat Oct 28 00:49: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.
+
+ * mkdep-Makefile: New file.
+ * Makefile.in (DISTFILES): Add mkdep-Makefile.
+
+ * doc/Makefile.in (mostlyclean): Remove *.info.
+
+ * date.c: New option --reference=FILE (-r FILE) analogous to the
+ like-named touch option.
+ (main): Recognize it and give diagnostic for misuse.
+ (usage): Describe briefly.
+ From Franc,ois Pinard.
+
+ * date.c (batch_convert): Close input stream also when it's not stdin.
+ (main): Reorganize to do option-consistency checks before all else.
+
+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.
+
+Tue Aug 8 22:57:34 1995 Jim Meyering (meyering@comco.com)
+
+ * yes.c: Include system.h to get definition of _.
+
+Mon Aug 7 23:27:54 1995 Jim Meyering (meyering@comco.com)
+
+ * system.h (_): Define macro -- as empty for now.
+ * src/*.c: Annotate localizable strings with _(...). From Franc,ois.
+
+ * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB.
+ From Franc,ois.
+
+Fri Jun 23 23:04 1995 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_REPLACE_FUNCS): Add memcpy and memset.
+ Add checks for floor, modf, and rint -- all used by seq.c.
+
+Mon Jun 12 00:26:54 1995 Jim Meyering (meyering@comco.com)
+
+ * getdate.y (Convert): Use 2037 as threshold, not 1999.
+ Before years after 1999 were treated as invalid.
+ From Andreas Schwab.
+
+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)
+
+ * 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.
+
+Mon May 15 01:00:08 1995 Jim Meyering (meyering@comco.com)
+
+ * all source files (usage): Include one- or two-line synopsis
+ in --help output. From Karl Berry.
+
+Sat May 13 08:57:20 1995 Jim Meyering (meyering@comco.com)
+
+ * lib/Makefile.in (maintainer-clean): Rename from realclean.
+ (.PHONY): New dependencies.
+ [.c.o]: Remove -I. since safe-l?stat.h are no longer used.
+
+Fri May 12 21:25:50 1995 Jim Meyering (meyering@comco.com)
+
+ * test.c (usage): Remove duplicate descriptions of --help
+ and --version. From Karl Berry.
+
+ * pathchk.c: Use stat (lstat), not safe_stat (safe_lstat).
+ * test.c: Likewise.
+ * who.c: Likewise.
+
+ * lib/Makefile.in (SOURCE): Add memcpy.c, memset.c.
+ Remove all reference to (now unused) safe-xstat.hin.
+
+Tue Apr 18 22:57:43 1995 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_OUTPUT): Use echo, not date, to avoid creating
+ unnecessary conflicts for people using version control software
+ like RCS and CVS.
+ (AC_ARG_PROGRAM): Use it.
+
+Fri Mar 10 21:14:11 1995 Jim Meyering (meyering@comco.com)
+
+ * src/*.c: Update Copyright dates.
+
+Mon Feb 27 08:05:25 1995 Jim Meyering (meyering@comco.com)
+
+ * system.h: Separate errno declaration from STDC_HEADERS.
+ Remove bcopy, bzero, strchr, strrchr definitions.
+
+ * stty.c (main, set_window_size): Use memset instead of bzero.
+ * su.c (correct_password): Likewise.
+
+ * seq.c Remove \n's from error format strings.
+ (main): Let `seq 1 1' work.
+ Invoke usage always with 1 when failing.
+
+Sat Feb 11 08:27:12 1995 Jim Meyering (meyering@comco.com)
+
+ * src/Makefile.in (install): Fix rules for su to avoid relying on
+ just-built `id' executable. That would lose when cross-compiling and
+ on systems like GNU in which a user may have several effective IDs.
+ (SOURCES, OBJECTS, PROGS): Add seq.
+ * Makefile.in (PROGS): Add seq.
+
+ * 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.
+
+Thu Jan 26 23:38:04 1995 Jim Meyering (meyering@comco.com)
+
+ * getdate.y (ToSeconds): Properly convert 12am and 12pm.
+ From Takeshi Sone <ts1@tsn.or.jp>.
+
+ * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Add readtokens.[coh].
+ (all): Depend on safe-stat.h and safe-lstat.h.
+
+ * date.c (batch_convert): Remove any trailing newline from offending
+ line before including it in the `invalid date' error from `date -f'.
+ Reported by Franc,ois Pinard.
+
+Sat Dec 31 09:25:09 1994 Jim Meyering (meyering@comco.com)
+
+ * factor.c: New file.
+ * Makefile.in (PROGS): Add factor.
+ * src/Makefile.in (SOURCES, OBJECTS, PROGS): Add factor.
+ (factor): New rule.
+
+Mon Dec 26 18:31:08 1994 Jim Meyering (meyering@comco.com)
+
+ * test.c (term): Running `./test \( a -o b' got a seg fault.
+ From from Klaus.Reichl@aut.alcatel.at.
+
+Mon Dec 19 22:05:12 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.
+
+ * lib/Makefile.in (DISTFILES): Remove safe-xstat.cin.
+ (distclean): Remove references to safe-l?stat.c.
+ Remove all related rules and dependencies.
+
+ * safe-xstat.hin (SAFE_LSTAT, SAFE_STAT): Remove macros.
+ Now that we always define the functions, these are no longer needed.
+
+ * pathchk.c (dir_ok): Use safe_stat instead of SAFE_STAT.
+ * who.c (print_entry): Likewise.
+ * test.c (test_stat, binary_operator): Likewise.
+ (unary_operator): Use safe_lstat instead of SAFE_LSTAT.
+
+Mon Dec 12 22:42:09 1994 Jim Meyering (meyering@comco.com)
+
+ * expr.c (docolon): Zero out re_buffer and re_regs before using them.
+ From H.J. Lu <hjl@nynexst.com>.
+
+Sun Dec 4 14:53:12 1994 Jim Meyering (meyering@comco.com)
+
+ * dirname.c (main): Use strchr and strrchr instead of index and rindex.
+ * echo.c (main): Likewise.
+ * env.c (main): Likewise.
+ * pathchk.c (validate_path): Likewise.
+ * printf.c (print_formatted, print_esc): Likewise.
+ * test.c [member]: Likewise.
+ * who.c (extract_trimmed_name): Likewise.
+ * system.h [!HAVE_STRING_H]: Define strchr to index and strrchr to
+ rindex instead of the other way around.
+
+ * doc/Makefile.in (DISTFILES): Add getdate.texi.
+
+Sat Dec 3 07:59:55 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_CHECK_FUNCS): Add strchr and strrchr.
+ (AC_CHECK_HEADERS): Add stdlib.h.
+ (LIBS): If the strtod replacement is required, check for pow in -lm.
+ * src/Makefile.in (printf): Remove hard-coded -lm. Not every
+ system has it.
+
+Thu Nov 17 23:47:26 1994 Jim Meyering (meyering@comco.com)
+
+ * who.c (list_entries): Delete. Split in two actually...
+ (list_entries_users, list_entries_who, userid_compare): New functions.
+ (list_entries_users): Sort the user names. Reported by
+ Michael I Bushnell.
+ Topologically sort the functions and remove fwd declarations.
+
+
+ -----
+
+ Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2006
+ Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.
diff --git a/old/sh-utils/ChangeLog.0 b/old/sh-utils/ChangeLog.0
new file mode 100644
index 0000000..77705c8
--- /dev/null
+++ b/old/sh-utils/ChangeLog.0
@@ -0,0 +1,1720 @@
+Sat Nov 05 08:35:25 1994 Jim Meyering (meyering@comco.com)
+
+ * Version 1.12.
+
+Fri Nov 04 06:01:00 1994 Jim Meyering (meyering@comco.com)
+
+ * Version 1.11.
+
+Wed Nov 02 18:52:20 1994 Jim Meyering (meyering@comco.com)
+
+ * doc/Makefile.in (install): Remove test for existence of info
+ file. Simply change to $(srcdir) instead.
+
+Wed Oct 26 23:40:07 1994 Jim Meyering (meyering@comco.com)
+
+ * safe-xstat.hin [EINTR]: Always define safe_l?stat.
+ Define it __static -- which is `static' for most includers,
+ but `/* empty */' for safe-xstat.cin.
+ * safe-xstat.cin: Define __static to nothing so we get public
+ safe_l?stat functions in the library.
+
+ * Makefile.in (All actions invoking $(MAKE) from within compound
+ (e.g. `for') sh statements): Exit non-zero if the sub-make fails.
+ Otherwise, the top-level make may exit successfully when it should
+ fail. From Jim Kingdon (kingdon@cygnus.com).
+
+Sun Oct 23 23:36:26 1994 Jim Meyering (meyering@comco.com)
+
+ * safe-xstat.hin: Don't use a statement expression here.
+ Use an inline function instead.
+ * safe-xstat.cin: Don't duplicate the definition of safe_l?stat here.
+ Get the definition from safe-xstat.hin.
+
+Fri Oct 21 00:57:23 1994 Jim Meyering (meyering@comco.com)
+
+ * man/Makefile.in: Fix typo that had su.1 being installed as
+ `man/man1/.1'. From Kjetil Torgrim Homme.
+
+ * basename.c, dirname.c, expr.c, pathchk.c, sleep.c (main): Diagnose
+ wrong number of argument -- usually too few -- instead of just
+ referring the user to the --help option. Reported by Karl Berry.
+
+Mon Oct 17 23:55:41 1994 Jim Meyering (meyering@comco.com)
+
+ * doc/Makefile.in (install): Install the info files from either
+ the source directory or the object directory.
+ From Ian Lance Taylor (ian@cygnus.com).
+
+Sun Oct 16 12:14:02 1994 Jim Meyering (meyering@comco.com)
+
+ * lib/Makefile.in (distclean): Don't delete getdate.c and posixtm.c
+ here since they are not distributed.
+ (realclean): Delete them here instead.
+ From Francois Pinard.
+
+Mon Oct 10 21:44:42 1994 Jim Meyering (meyering@comco.com)
+
+ * id.c (print_group_list, print_full_info): Use more precise
+ feature tests. Rather than assuming that a definition for
+ NGROUPS_MAX implies the existence of the getgroups function,
+ test for HAVE_GETGROUPS explicitly.
+ * su.c (log_su): Likewise. Similarly, check HAVE_INITGROUPS.
+ Both from Kaveh Ghazi. He reported that a Pyramid 9820 OSx 5.0d
+ (Dual universe SVR3/BSD4.2) system had NGROUPS_MAX and syslog.h
+ but not getgroups, initgroups or the syslog functions.
+
+Fri Oct 07 19:42:35 1994 Jim Meyering (meyering@comco.com)
+
+ * doc/Makefile.in (sh-utils.dvi): Depend on version.texi.
+ * version.texi: Use RELEASEDATE, not RELEASE_DATE.
+ * sh-utils.texi: Likewise.
+
+ * configure.in: Test for crypt in -lcrypt for NetBSD.
+ Reported by Greg Hudson (ghudson@mit.edu).
+
+ * system.h: Don't define lstat. safe-l?stat.h does that now.
+
+Thu Oct 06 21:14:07 1994 Jim Meyering (meyering@comco.com)
+
+ * src/Makefile.in (link_command): Remove $(CFLAGS). Because
+ the default value usually includes -g, Linux users were getting
+ statically linked executables. With this removal they'll get
+ much smaller, dynamically linked ones by default.
+
+ * lib/Makefile.in (safe-lstat.o): Depend on safe-stat.h, too.
+
+Sun Oct 02 16:15:32 1994 Jim Meyering (meyering@comco.com)
+
+ * src/Makefile.in: Don't use binprefix. Use autoconf-2's
+ @program_transform_name@ instead.
+ * man/Makefile.in: Likewise for manprefix.
+
+ * safe-xstat.hin [!S_ISLNK]: Include safe-stat.h and define
+ SAFE_LSTAT and safe_lstat to their symlink-ignorant counterparts.
+ * lib/Makefile.in (extract_lstat, extract_stat): Add sed rules to
+ extract the new cpp directives into safe-lstat.h, but not into
+ safe-stat.h.
+
+Sat Oct 01 00:14:10 1994 Jim Meyering (meyering@comco.com)
+
+ * system.h: Remove conditional definition of mode_t.
+ configure takes care of this now.
+
+ * configure.in: Add -l$lib (not $lib) to LIBS when checking
+ for syslog. From Kaveh Ghazi.
+
+ * date.c (batch_convert): Use K&R style function definition.
+ From Kaveh Ghazi.
+
+ * date.c (main): When reading dates from a file with a +FORMAT-style
+ user-specified format, don't print the leading `+'. Franc,ois Pinard
+ noticed this problem.
+ Make an error message clearer. From Franc,ois.
+
+ * lib/Makefile.in (DISTFILES): Add getline.h.
+ (SOURCES, OBJECTS): Add getline.c, getline.o.
+
+ * safe-xstat.hin: Don't include <sys/types.h> or <sys/stat.h>.
+ Otherwise, we'd lose when the includer has already included
+ <sys/stat.h> on systems that aren't protected against multiple
+ inclusion. Add a note that those headers must be included before
+ this one. Don't include <config.h> either.
+ * safe-xstat.cin: Include <sys/types.h> and <sys/stat.h> here instead.
+ Include <config.h> here, too.
+ Kaveh Ghazi reported this problem.
+
+Fri Sep 30 22:40:21 1994 Jim Meyering (meyering@comco.com)
+
+ * date.c (main): Accept new option: (-f) --file=datefile.
+ (batch_convert): New function. Suggested by Karl Berry.
+
+ * date.c (main): Diagnose use of conflicting options.
+ Revamp non-option argument processing.
+ Detect write errors.
+
+ * lib/*.c, src/*.c: Remove CONFIG_BROKETS conditional.
+ * lib/Makefile.in src/Makefile.in: Don't define it.
+
+ configure.in (AC_CHECK_FUNCS): Add getcwd. From Kaveh Ghazi.
+
+ * safe-xstat.c.in, safe-xstat.h.in: Rename to safe-xstat.cin and
+ safe-xstat.hin so the names don't exceed the 14-character limit.
+ Reported by Kaveh Ghazi.
+
+Mon Sep 26 19:49:40 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Don't use $su_cv_sys_tiocgwinsz_in_termios_h
+ uninitialized. From R. Bernstein <rocky@panix.com> and Kaveh Ghazi.
+ (NICE_PRIORITY): Fix typo that caused omission from PROGS of nice
+ and nohup on systems with nice but not setpriority.
+ From Andreas Schwab.
+
+Sat Sep 24 10:13:00 1994 Jim Meyering (meyering@comco.com)
+
+ * Makefile.in (stamp-h.in): Create using echo, not date.
+ Using the latter could easily lead to rcs/cvs merge conflicts.
+ * configure.in (stamp-h): Ditto, though this is less important
+ because stamp-h isn't distributed.
+
+ * nice.c (main): Revamp option processing to detect options
+ like `--7' manually and pass the rest off to getopt_long.
+ (isinteger): Use ISDIGIT.
+ Use parse_long_options.
+
+ * system.h: Include <ctype.h> and add IS* macros.
+ * expr.c: Don't include <ctype.h> or define IS* macros since
+ system.h now does that.
+ * printf.c: Ditto.
+
+ * date.c (usage): Add description of numeric modifiers.
+
+ * printf.c (print_formatted): Declare DIREC_LENGTH size_t, not int.
+ (print_esc_string): Ditto for LENGTH.
+ * dirname.c (main): Cast string literal to (char*).
+ * stty.c (wrapf): Declare first argument const char *.
+ * tee.c (main, tee): More const dcls and casting.
+ * who.c (read_utmp): New variable: size to avoid type warnings.
+ All of these eliminate compilation warnings reported by
+ Franc,ois Pinard.
+
+ * doc/Makefile.in (DISTFILES): Add version.texi because generating
+ that file now depends on having a version of date that can handle
+ formats like `+%Y %B'.
+ (version.texi): Generate RELEASE_DATE, too.
+ * sh-utils.texi: Use RELEASE_DATE instead of hard-coded date.
+
+ * long-options.h: Prepend underscores to arg names in prototype
+ to avoid warnings about shadowing.
+
+ * src/Makefile.in: Add dependencies on long-options.h.
+
+ * configure.in: Make having autoconf-1.120 a prerequisite.
+
+ * sh-utils.texi [INFO-DIR-ENTRY]: Add an entry for each `invoking'
+ node. Regularize punctuation, indexing, and xrefs.
+ From Franc,ois Pinard.
+
+ * date.c (usage): Tweak the usage message a little.
+ Add `const' to more dcls.
+
+ * stty.c: Add `const' to more dcls.
+ * su.c: Ditto.
+ * who.c: Ditto.
+
+ * tee.c (main): Use _POSIX_SOURCE, not _POSIX_VERSION.
+
+Sat Sep 17 15:48:10 1994 Jim Meyering (meyering@comco.com)
+
+ * (doc): New subdirectory with texinfo documentation.
+ Thanks to Franc,ois Pinard and Karl Berry!
+ Note however that it contains mainly the information from the
+ `man' pages, so it is not good documentation. But this way,
+ at least we don't have to maintain the troff man pages anymore.
+
+ * su.c: Test !HAVE_ENDGRENT and !HAVE_ENDPWENT rather than
+ _POSIX_SOURCE to determine whether endgrent and endpwent should
+ be defined away.
+ * configure.in (AC_CHECK_FUNCS): Add endgrent and endpwent.
+
+ * who.c: Test HAVE_SYS_PARAM_H rather than _POSIX_SOURCE
+ to determine whether <sys/param.h> should be included.
+
+ * date.c (main): Rewrite command-line argument handling code
+ to give diagnostics for inconsistent options.
+
+ * Makefile.in: Restructure dependencies using local-*
+ and recursive-* targets to avoid evil double-colon rules.
+ Although the actions assiciated with double-colon rules are
+ run sequentially using GNU make-3.71, POSIX doesn't guarantee
+ that behavior. The next release may run them in parallel.
+ Running the old rules in parallel would sometimes delete
+ config.status before it was used in a subdirectory make.
+ With several suggestions from Franc,ois Pinard.
+
+Thu Sep 15 19:10:51 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c [VWERSE && !VWERASE]: Define VWERASE for AIX-3.2.5.
+
+Sat Sep 03 00:41:53 1994 Jim Meyering (meyering@comco.com)
+
+ * 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. From Michael I Bushnell
+ <mib@geech.gnu.ai.mit.edu>.
+
+ * Makefile.in: Remove rules to create installation directories.
+ * {src,man}/Makefile.in: Put them here instead.
+
+ * configure.in: Update to take advantage of autoconf 2.0 features.
+
+Sat Aug 27 16:57:20 1994 Jim Meyering (meyering@comco.com)
+
+ * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's.
+ From Francois Pinard.
+
+Thu Aug 18 11:44:48 1994 Jim Meyering (meyering@comco.com)
+
+ * su.1: Explain why GNU doesn't support the `wheel group'.
+
+Mon Aug 01 21:58:14 1994 Jim Meyering (meyering@comco.com)
+
+ * date.c: Add --utc option. It will supercede --uct.
+ Change references to `universal coordinated time' to
+ correct `coordinated universal time'. From Harris Boldt Edelman
+ <hbe@red-eft.la.ca.us>.
+ * date.1: Correct the documentation, too.
+
+ * date.c (main, show_date): For -u, use gmtime instead of relying on
+ localtime's ability to interpret the TZ enviroment variable.
+ `date -u' failed (by reporting local time) on romp-ibm-bsd and PCs
+ (DOS and OS/2) running emx 0.8h. From R. Bernstein
+ <rocky@watson.ibm.com>.
+
+Sat Jul 30 07:52:27 1994 Jim Meyering (meyering@comco.com)
+
+ * nohup.sh: Separate `nice -5' from COMMAND with `--' to ensure
+ that COMMAND isn't interpreted as an option to nice.
+ * groups.sh: Similarly, separate each name from `id -Gn' with `--'.
+ Karl Berry pointed out that `groups --help user' gave confusing
+ diagnostics.
+
+Tue Jul 26 11:33:53 1994 Jim Meyering (meyering@comco.com)
+
+ * su.c (main): Make copies of the password information we'll use
+ so that log_su (through getlogin) doesn't clobber the static data.
+ With suggestions from Francois Pinard.
+
+ * system.h: Remove `|| defined(_POSIX_VERSION)' from test that
+ decides whether to include <fcntl.h>. From Francois Pinard.
+
+Mon Jul 25 23:54:36 1994 Jim Meyering (meyering@comco.com)
+
+ * pathchk.c (dir_ok): Use SAFE_STAT.
+ * test.c (test_stat, binary_operator, unary_operator): Use SAFE_STAT
+ and SAFE_LSTAT.
+ * who.c (print_entry): Use SAFE_STAT.
+
+ * test.c (group_member): Remove function. Use the one broken out
+ into group-member.c instead.
+
+Fri Jul 15 00:23:17 1994 Jim Meyering (meyering@comco.com)
+
+ system.h: Remove unneeded decls of atof and atol.
+
+Fri Jul 08 01:09:23 1994 Jim Meyering (meyering@comco.com)
+
+ stty.c (main): Initialize max_col (used by wrapf) before calling
+ display_speed. Otherwise, `stty speed' output a spurious newline.
+ From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+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.
+
+ * configure.in [AC_WORDS_BIGENDIAN]: Add it. This macro is
+ required by memcmp.c on big-endian systems. Its absence was
+ diagnosed by Lars Duening (duening@ibr.cs.tu-bs.de).
+
+Sun Jun 19 00:18:06 1994 Jim Meyering (meyering@comco.com)
+
+ * nice.c (main): Accept options like `--5' (equivalent to `-n -5')
+ instead of letting getopt give an `unrecognized option' error.
+
+ * long-options.c: Require another argument: version_string.
+ Don't include "version.h" or "system.h".
+ * basename.c, dirname.c, echo.c, expr.c, hostname.c, printf.c,
+ pwd.c, stty.c, test.c, yes.c: Adjust callers of parse_long_options
+ accordingly.
+
+Thu Jun 02 14:11:31 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c (main): Set max_col and current_col before running
+ display_window_size. Otherwise, `stty size' output a spurious
+ newline. From Bauke Jan Douma (bjdouma@xs4all.hacktic.nl).
+
+Mon May 30 09:33:53 1994 Jim Meyering (meyering@comco.com)
+
+ * test.c (test_syntax_error, beyond): Add __attribute__ ((noreturn))
+ so gcc will know enough not to give warnings.
+
+Sun May 29 17:40:21 1994 Jim Meyering (meyering@comco.com)
+
+ * 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].
+
+Fri May 27 18:20:18 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c [VFLUSH && !VFLUSHO]: Define VFLUSH0.
+ Ultrix's termios.h defines VFLUSH, but not VFLUSHO.
+ From Kjetil Torgrim Homme <kjetilho@ifi.uio.no>.
+
+Thu May 26 08:46:32 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in [INSTALL]: Revert change of March 8. autoconf
+ has fixed this.
+
+Thu May 19 01:10:20 1994 Jim Meyering (meyering@comco.com)
+
+ * Version 1.10.
+
+ * lib/Makefile.in (DISTFILES): Add getdate.c and posixtm.c.
+
+ * src/Makefile.in (users.c): Use cp if hard link fails.
+ From Ian Lance Taylor.
+
+ * Makefile.in (dist): Change package name from shellutils to sh-utils.
+ That allows a hyphen and 5-character version number without exceeding
+ the 14-character limit on file name length. shellutils-1.10 would
+ have been too long.
+ * version.c: Update package name.
+
+ * hostname.c: Include <sys/types.h> before "system.h".
+ From Kaveh Ghazi and Karl Berry.
+
+ * hostname.c (sethostname) [!HAVE_SETHOSTNAME && HAVE_SYSINFO &&
+ HAVE_SYS_SYSTEMINFO_H && HAVE_LIMITS_H]: New function. SVR4 systems
+ prefer sysinfo over sethostname.
+ * configure.in (AC_HAVE_FUNCS): Add sysinfo.
+ (AC_HAVE_HEADERS): Add sys/systeminfo.h.
+ From Kaveh Ghazi.
+
+Fri May 13 09:45:23 1994 Jim Meyering (meyering@comco.com)
+
+ * lib/xgethostname.c (xgethostname): Call xmalloc outside the loop.
+ Correct loop termination condition.
+
+ * pwd.c: Include <sys/types.h> before "system.h".
+ From Kaveh Ghazi.
+
+ * {lib,man,src}/Makefile.in (Makefile): Use ../config.status
+ instead of $(srcdir)/../config.status. The latter didn't work
+ for builddir != srcdir. From Kaveh Ghazi.
+
+ * Makefile.in (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.
+
+ * hostname.c: New program.
+ * hostname.1: New file.
+ * Makefile.in (PROGS): Add hostname.
+ (SOURCES): Add hostname.c
+ * src/Makefile.in: Add rules and dependencies for hostname.
+ * configure.in (AC_HAVE_FUNCS): Add sethostname.
+
+ * pathchk.c (validate_path) [lint]: Initialize a variable to
+ suppress `used before initialized' warning.
+
+ * who.c: Correct gethostname prototype to indicate the function
+ returns int, not char.
+
+Sun May 01 08:38:18 1994 Jim Meyering (meyering@comco.com)
+
+ * who.c: Add #ifdefs to build the `users' executable.
+ * src/Makefile.in: Add corresponding rules.
+ * Makefile.in (PROGS): Add users.
+ From Kaveh R. Ghazi <ghazi@noc.rutgers.edu>.
+ * users.1: Document it.
+
+Thu Apr 28 00:45:02 1994 Jim Meyering (meyering@comco.com)
+
+ * pwd.c: New program.
+ * pwd.1: New file.
+ * Makefile.in (PROGS): Add pwd.
+ * lib/Makefile.in: (DISTFILES): Add pathmax.h.
+ (SOURCES, OBJECTS): Add xgetcwd.c and xgetcwd.o respectively.
+ * src/Makefile.in: Add rules and dependencies for pwd.
+
+ * yes.c: Don't include version.h.
+
+Mon Apr 18 19:54:24 1994 Jim Meyering (meyering@comco.com)
+
+ * documentation: Change uses of `pathname' and `path' as per
+ GNU standards.
+
+ * long-options.c (parse-long-options): Take a new argument,
+ command_name, for use in --version output.
+ * basename.c, dirname.c, echo.c, expr.c, printf.c, stty.c, test.c,
+ yes.c (main): Update callers.
+
+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@.
+
+Fri Mar 25 01:13:42 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Use AC_VERBOSE, AC_CHECKING, and AC_WARN instead
+ of explicit echo commands.
+ When checking for shadow password routines, make sure the function
+ getspnam is available before defining HAVE_SHADOW_H.
+ <dvldbg@cs.umu.se> reported that shadow.h exists on some
+ linux system that did not have the function.
+
+Tue Mar 8 10:29:13 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in [INSTALL]: When AC_PROG_INSTALL resorts to setting
+ this to `./install.sh', make it `../install.sh' instead since that
+ script will be invoked only from subdirectories.
+ [WINSIZE_IN_PTEM]: Check for this unconditionally, rather than
+ only when TIOCGWINSZ is not defined through termios.h. The old
+ method loses on SCO ODT 3.0 systems.
+
+Sat Feb 19 14:23:14 1994 Jim Meyering (meyering@comco.com)
+
+ * Version 1.9.4.
+
+ * stty.c (main): Use getopt_long_only with "ag" instead of
+ getopt_long with "". The latter incremented optind so the
+ -a and -g options weren't recognized.
+
+ * Version 1.9.3.
+
+Tue Feb 15 18:28:28 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c (main): Use getopt only to recognize long options.
+ Hand code the loop to detect -a, -g, -ag and -ga. Using getopt
+ to detect the short options loses (because we have to ignore
+ unrecognized options and we are allowing GNU getopt to permute)
+ because e.g. `-tabs' is interpreted as a group of options, one of
+ which is `-a'. Before, running `stty -tabs echo' gave this error:
+ stty: when specifying an output style, modes may not be set
+ Reported by Arne H. Juul.
+
+Sun Feb 13 13:34:25 1994 Jim Meyering (meyering@comco.com)
+
+ * basename.1, dirname.1, stty.1: Reflect usage changes.
+ * basename.c, dirname.c, stty.c (usage): Ditto.
+
+ * long-options.h (parse_long_options): Invoke usage function
+ argument with explicit dereference as per GNU coding standards.
+
+ * basename.c dirname.c: Use parse_long_options instead of the
+ conventional getopt_long paradigm. Before, the commands
+ `basename file-dist -dist' and `basename -- file.c .c' produced
+ incorrect results. Now, even `basename -file-dist -dist' works
+ and the command `basename -- file.c .c' fails for the right
+ reason: the `--' is not a special (to getopt) token for these
+ commands. It is interpreted as the filename, so there are too
+ many arguments to basename. Rick Sladkey <jrs@world.std.com>
+ reported the problem with basename.
+
+ * stty.c (set_window_size): When stty fails to get the window size
+ (as happens on telnet sessions to Solaris systems), initialize all
+ fields of the winsize struct. Before, it was using the uninitialized
+ pixel fields of the struct in the ioctl to set window size parameters.
+ From Rick Sladkey.
+
+ * stty.c (main): Use parse_long_options to handle --help and --version.
+ (main): In the remaining getopt_long loop, don't jump out of the
+ loop from the `default' branch of the switch statement. Doing that
+ left optind in an inconsistent when there were non-option arguments
+ preceding `reversed' arguments (e.g. stty echo -echoe) and the
+ preceding non-option arguments were ignored. Rick Sladkey reported
+ that stty was ignoring arguments.
+
+ * stty.c (main): Fail with a diagnostic when both -g and -a are given.
+ (main): Fail with a diagnostic when either -g or -a is used with
+ arguments for setting modes.
+
+Fri Feb 11 19:39:37 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c (get_win_size): Don't use an ANSI-style function
+ definition. From Kaveh R. Ghazi <ghazi@noc.rutgers.edu>.
+
+Thu Feb 10 01:22:37 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c [CSWTCH] (__sparc__ && __svr4__): Define `swtch' to
+ _POSIX_VDISABLE by default. Otherwise, the default settings on
+ SunOS 5.3 (from /usr/include/sys/termios.h) have both `swtch'
+ and `susp' set to ^Z. Those default settings are not unusual.
+ What is unusual is that with such settings on SunOS 5.3, the tty
+ driver doesn't generate a signal for control-Z. Reported by
+ Brent Wiese <brent@dot.imgen.bcm.tmc.edu>.
+
+ * stty.c (main) [CIBAUD]: Don't report an error on SunOS 4.1.x
+ systems if the only difference is in this nybble of c_cflag.
+ See the comments for the gory details. Thanks to
+ Erez "HWank1" Zadok <ezk@cs.columbia.edu> for reporting this
+ and helping me reproduce it.
+
+Tue Feb 01 00:59:56 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c (main): Call tcsetattr only if we've updated tty modes,
+ not e.g. if we've changed the window size.
+
+ * Update Copyright dates in src/*.
+
+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.
+
+Wed Jan 26 10:54:02 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c (get_win_size): New function. Try getting size first
+ for the device on stdout. Try stdin only if that fails. Suggested
+ by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+ (set_win_size): Call get_win_size instead of calling ioctl directly.
+ (display_window_size): Ditto.
+ (screen_columns): Ditto.
+
+Mon Jan 24 22:57:18 1994 Jim Meyering (meyering@comco.com)
+
+ * stty.c (set_window_size): Work around SunOS 4.x kernel bug that
+ makes `stty rows 34 cols 80;stty rows 0;stty cols 0' incorrectly
+ set rows to 80 and columns to 0. Sun's stty has this problem, too.
+ The kernel bug is fixed in Solaris 2. Mostly from Alexander Dupuy
+ <dupuy@cs.columbia.edu>.
+
+ * src/Makefile.in: Use both LDFLAGS and CFLAGS when linking.
+ * man/Makefile.in: Use binprefix as the default manprefix.
+
+ * nohup.sh: Redirect usage message to stderr.
+ From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+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 Jan 06 18:19:06 1994 Jim Meyering (meyering@comco.com)
+
+ * who.c (print_entry): Prepend `/dev/' only if ut_line is not
+ already an absolute filename. Just to be safe.
+
+Fri Dec 31 00:22:59 1993 Jim Meyering (meyering@comco.com)
+
+ * date.c (usage): Reorder listing of % formats in `sort -f' order.
+
+Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com)
+
+ * install.sh: New file.
+ Makefile.in [DISTFILES]: Add it.
+
+ * who.c (read_utmp): Use stdio functions instead of open/read/close
+ to avoid having to handle POSIX read's -1/errno=EINTR failure case.
+
+ * tee.c (tee): A POSIX implementation of the read system call
+ may return -1 and set errno to EINTR when it is interrupted.
+ Retry instead of failing with an error.
+ (tee): Don't use xwrite. Use full_write instead and include the
+ losing file name in the message reporting a write failure.
+ Don't treat standard output as a special case, so a failed write
+ to stdout doesn't exit immediately.
+
+ * date.c (usage): Note that for %w, 0 corresponds to Sunday.
+
+Sat Dec 25 23:15:58 1993 Jim Meyering (meyering@comco.com)
+
+ * who.c (main): Don't chdir ("/dev") for the stat in print_entry.
+ (print_entry): Instead of stat'ing the /dev-relative path, ut_line,
+ stat the absolute path with "/dev/" prefix. From David MacKenzie.
+
+Wed Dec 22 00:53:51 1993 Jim Meyering (meyering@comco.com)
+
+ * expr.c (toarith): Interpret the empty string as just that
+ rather than as the integer zero.
+ Before, `expr "" == 0' output 1. Now it prints 0.
+
+ * configure.in (AC_HAVE_HEADERS): Check for float.h for strtod.c.
+
+ * configure.in (check for TIOCGWINSZ): Don't look in sys/ioctl.h
+ or sys/ptem.h if we've already found it in termios.h. This
+ eliminates redefinition warnings from including both termios.h
+ and sys/ioctl.h on sytems running SunOS. From Matthew Seaman
+ (matthew@dyson.ox.ac.uk).
+
+ * date.1: Document new %s format and old `-' and `_' numeric field
+ modifiers.
+
+ * memcmp.c: Use the latest version from GNU C library.
+
+Mon Dec 20 23:29:30 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in [test for 8-bit clean memcmp]: Add a test to detect
+ losing memcmp from SunOS4.1.x. From Robert H. de Vries
+ <robert@and.nl>.
+
+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.
+
+Fri Dec 10 01:06:28 1993 Jim Meyering (meyering@comco.com)
+
+ * stty.c (screen_columns): Instead of dying just because Solaris'
+ `ioctl (0, TIOCGWINSZ' fails (strangely only for telnet sessions,
+ not rlogin sessions), ignore its errno == EINVAL and try to get
+ the number of columns another way.
+
+ * stty.c (set_window_size): If ioctl to get window size fails,
+ (as on telnet sessions to Solaris 2.[12] systems) try to set the
+ requested fields anyway, setting to zero any unspecified fields.
+ This is what Sun's /bin/stty appears to do.
+ * (display_window_size): Don't display anything for the number
+ of rows and columns if the ioctl call intended to get them fails.
+
+Tue Nov 30 23:58:54 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.9.2.
+
+Mon Nov 29 00:28:35 1993 Jim Meyering (meyering@comco.com)
+
+ * stty.c, configure.in, acconfig.h: Revert change of Nov 26.
+ I am no longer able to reproduce the behavior that prompted
+ that patch -- but I had tested only using an old version of gcc.
+ When building with a more recent version of gcc or with /bin/cc
+ there is no problem.
+
+Sat Nov 27 15:11:21 1993 Jim Meyering (meyering@comco.com)
+
+ * nice.c (main): If an adjustment is specified, but no command is
+ given, give a diagnostic in addition to the usage message.
+ (isinteger): Accept a leading `+'.
+
+Fri Nov 26 18:49:42 1993 Jim Meyering (meyering@comco.com)
+
+ * stty.c [GWINSZ_BROKEN]: Define TIOCGWINSZ to TCGETS for Solaris-2.2.
+ On that system, ioctl (0, TIOCGWINSZ, &win) always fails, but using
+ TCGETS works. Reported by Francois Pinard.
+
+ * configure.in [GWINSZ_BROKEN]: New test to detect Solaris' inability
+ to get window size from ioctl using TIOCGWINSZ.
+ * acconfig.h [GWINSZ_BROKEN]: Add an #undef.
+
+Mon Nov 22 23:40:21 1993 Jim Meyering (meyering@comco.com)
+
+ * who.c [defined (UTMPX_FILE)]: (undef and) define UTMP_FILE to
+ this value even if UTMP_FILE is already defined. Because some
+ systems define both symbols. From Arne H. Juul.
+ * [MESG_BIT]: Rename to S_IWGRP (from sys/stat.h>) and define only
+ if not already defined.
+
+Fri Nov 19 23:08:03 1993 Jim Meyering (meyering@comco.com)
+
+ * who.c (print_entry): Produce reasonably formatted output even when
+ sizeof (this->ut_name,ut_line) are much larger than 8. For Solaris
+ and other SysVr4. With help from Arne H. Juul.
+ * configure.in (HAVE_UTMPX_H): New test; combined with test for the
+ ut_host field. From Arne H. Juul.
+
+ * memcmp.c: New file.
+ * lib/Makefile.in [SOURCES]: Add memcmp.c.
+ * configure.in (AC_REPLACE_FUNCS): Add memcmp.
+ Add test for 8-bit clean memcmp.
+
+ * configure.in (AC_HAVE_FUNCS): Add isascii.
+ * expr.c [!defined (isascii) || defined (STDC_HEADERS)]: This failed
+ on AIX PS/2 1.3 systems because isascii is a function and it is used
+ in definitions (with the necessary side effect of assigning to a
+ global variable) of the is* macros. Also test HAVE_ISASCII and
+ redefine ISASCII(c) instead of isascii.
+ Reported by Minh Tran-Le (tranle@intellicorp.com).
+ * printf.c: Ditto.
+
+ * configure.in (AC_HAVE_HEADERS): Add sys/timeb.h; getdate.y tests
+ HAVE_SYS_TIMEB_H.
+
+ * stty.c (main): Detect the case in which POSIX-conformant tcsetattr
+ fails and still returns zero.
+
+Wed Nov 17 21:05:10 1993 Jim Meyering (meyering@comco.com)
+
+ * yes.c (main): Complete my half-finished Nov 2 change.
+ yes with arguments did not print newlines. From Andreas Schwab
+ (ls5.informatik.uni-dortmund.de).
+
+ * stty.c (wrapf): Fix off-by-one error that could make `stty -a'
+ output lines one character too long. From Andreas Schwab.
+
+Sat Nov 13 00:11:19 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.9.1.
+
+ * configure.in [LIBS]: Add -lbsd if that is necessary to get the
+ syslog function. With help from Kaveh Ghazi.
+
+ * configure.in [LIBS]: Reorganize/unify the code that adds libraries
+ solely to resolve syslog. Add a library only if it is required to
+ resolve the syslog reference.
+
+ * configure.in [AC_HAVE_HEADERS]: Check for sys/timeb.h.
+ getdate.y needs to know.
+ [LIBS]: Check for initgroups in -los. This is required by SCO-ODT-3.0
+ when linking su.
+ [LIBS]: Check -lufc for crypt.
+ Reported by Steven W Orr (steveo@world.std.com).
+
+Thu Nov 11 23:55:48 1993 Jim Meyering (meyering@comco.com)
+
+ * id.c [NGROUPS_MAX]: Undefine before redefining.
+ From Kaveh R. Ghazi (ghazi@noc.rutgers.edu).
+
+ * who.c (list_entries): Trim any trailing blanks from ut_name
+ and make sure the string is NUL-terminated before printing it.
+ Before, `who -q' displayed 8-character names with a tty
+ (e.g. `q1') suffix.
+
+ * stty.c [CFLUSHO]: Move this definition so it follows the
+ one for VFLUSHO.
+
+Mon Nov 08 23:16:36 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.9.
+
+ * su.c (correct_password): Report an error and fail if getpass
+ returns NULL.
+
+Tue Nov 02 01:14:21 1993 Jim Meyering (meyering@comco.com)
+
+ * acconfig.h: Add comments.
+
+ * printenv.c (main): Exit with status == 2 for file error.
+
+ * yes.c (main): Restore argv/optind handling -- now that
+ parse_long_options doesn't change optind.
+
+Mon Oct 25 19:22:58 1993 Jim Meyering (meyering@comco.com)
+
+ * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, id.c,
+ logname.c, nice.c, pathchk.c, printenv.c, printf.c, sleep.c,
+ stty.c, su.c, tee.c, test.c, tty.c, uname.c, who.c, whoami.c,
+ yes.c: Use the preferred `--longopt=arg' syntax in --help message
+ rather than `--longopt arg'. From Francois Pinard.
+
+ * stty.c (main, integer_arg): Don't just call error(1,... about
+ improper usage. Call `error (0,...' then usage (1).
+
+Sun Oct 24 14:10:23 1993 Jim Meyering (meyering@comco.com)
+
+ * test.c [member]: Don't try to cast index return value to an int.
+ That can lose on systems with 64-bit pointers.
+
+ * long-options.c: Save and restore optind, too.
+ * long-options.h: New file.
+ * long-options.c, echo.c, expr.c, printf.c, test.c, yes.c:
+ Include it instead of duplicating dcls.
+ * src/Makefile.in: Add dependencies for it.
+
+Tue Oct 19 00:26:27 1993 Jim Meyering (meyering@comco.com)
+
+ * expr.c [!__STDC__]: Don't define away `const'. configure alone
+ decides whether to do that. From Francois Pinard.
+
+Sat Oct 16 22:32:54 1993 Jim Meyering (meyering@comco.com)
+
+ * whoami.c (main): Cast printf arg UID so it matches the type
+ expected by %u format no matter how uid_t is defined.
+
+ * stty.c: Accept `status' option and VDISCARD as an alias for
+ VFLUSHO. From Arne H. Juul (arnej@imf.unit.no).
+
+ * basename.c, date.c, dirname.c, echo.c, env.c, expr.c,
+ false.sh, groups.sh, id.c, logname.c, long-options.c, nice.c,
+ nohup.sh, pathchk.c, printenv.c, printf.c, sleep.c, stty.c,
+ su.c, tee.c, test.c, true.sh, tty.c, uname.c, who.c, whoami.c,
+ yes.c: Using --help gets long well- formatted help. Now --help
+ writes to stdout and exits successfully. From Francois Pinard
+ <pinard@iro.umontreal.ca>.
+
+Wed Oct 13 13:10:27 1993 Jim Meyering (meyering@comco.com)
+
+ * long-options.c: Include sys/types before system.h.
+ From Franc,ois Pinard (pinard@iro.umontreal.ca).
+
+Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com)
+
+ * stime.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
+ or "config.h".
+
+ * src/Makefile.in [clean]: Also delete '['.
+
+Sun Oct 10 14:05:23 1993 Jim Meyering meyering@comco.com
+
+ * false.sh, groups.sh, nohup.sh, true.sh: Add --help and --version.
+ * src/Makefile.in (false, groups, nohup, true): Substitute the string
+ from version.c for @VERSION@ in *.sh.
+
+Sat Oct 9 23:12:53 1993 Jim Meyering meyering@comco.com
+
+ * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS.
+
+Tue Oct 5 22:18:05 1993 Jim Meyering meyering@comco.com
+
+ * tty.c (main): Detect write error. Use isatty (rather than
+ testing whether ttyname() is NULL) to determine exit status
+ because ttyname may return NULL when stdin is a terminal device.
+
+ * expr.c (eval7): Rewrite if-else-if-else... sequence to avoid a
+ spurious `function returns without a value' warning.
+
+ * printenv.c (main), tty.c (main): Detect and report write errors.
+
+ * echo.c, patchchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c,
+ tee.c, test.c, tty.c, uname.c, yes.c: Accept --help and --version
+ options.
+
+ * long-options.c: New file. To let echo, expr, printf, test, and
+ yes accept --help and --version as unobtrusively as possible.
+ * src/Makefile.in [SORUCES]: Add it.
+
+ * configure.in: Add AC_TIME_WITH_SYS_TIME and AC_STAT_MACROS_BROKEN.
+
+ * nice.c (main) [NICE_PRIORITY]: When given an argument, don't
+ try to get current priority. nice() requires only the delta;
+ we don't need to compute the absolute priority as for setpriority.
+
+Mon Oct 04 22:15:07 1993 Jim Meyering (meyering@comco.com)
+
+ * who.c (print_entry, print_heading, who_am_i):
+ Cast printf field width arguments to int to avoid warnings.
+ (idle_string): Cast idle seconds and minutes to int.
+ Declare functions read_utmp and idle_string to be static.
+ Don't declare ttyname as static.
+
+ * echo.c (just_echo): Use putchar instead of printf.
+
+ * expr.c (parse_long_options): New function.
+ (main): Use it to handle --version and --help properly.
+
+ * tee.c (main): Put entire #ifdef inside if-braces to make structure
+ clearer.
+ (main, tee): Compare close() != 0 rather than close () == -1.
+
+ * pathchk.c (portable_chars_only, dir_ok): Make a couple variables
+ const.
+
+Wed Sep 08 00:07:36 1993 Jim Meyering (meyering@comco.com)
+
+ * test.c [advance, unary_advance]: Rewrite using do{...}while(0)
+ paradigm instead of comma expressions that make Alpha OSFv1.3
+ C compiler segfault.
+
+ * basename.c, date.c, dirname.c, env.c, id.c, logname.c, nice.c:
+ Add --help and --version options.
+
+Sat Jul 24 08:52:18 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Check for -lshadow. Linux needs it when using shadow
+ passwords. Reported by Mattias Olofsson <mattias@lysator.liu.se>.
+
+Thu May 27 20:05:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * configure.in (c_line test): Add missing `fi'.
+
+Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com)
+
+ * mkinstalldirs: New file.
+ * Makefile.in (installdirs): Use it.
+
+Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com)
+
+ * Makefile.in (installdirs): New rules for creating installation
+ directories. (install): depend on it.
+
+Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Add AC_GETGROUPS_T.
+ * id.c, test.c: Don't define GETGROUPS_T. Now configure does it.
+
+Sun May 2 00:21:05 1993 Jim Meyering (meyering@comco.com)
+
+ * expr.c (eval6): Terminate result with a zero byte.
+ The command `expr substr xx 1 2' would fail on systems with
+ tight malloc. From Steve James <smj@cats.COM>.
+
+ * expr.c (null): Recognize the string `0' as zero.
+ (divide, mod): Upon request to divide by zero, give an error
+ message instead of dumping core.
+ From J.T. Conklin <jtc@wimsey.com>.
+
+ * configure.in: Check for sys/time.h; getdate.y needs it for
+ structs timeval and timezone on some systems.
+ * Check for gettimeofday and for `struct tm'.
+ * Add existence tests for memcpy and bcopy.
+
+ * configure.in: Find a parser generator.
+
+ * putenv.c: Include stdlib.h only if __GNU_LIBRARY__ is defined.
+ Many vendor-supplied <stdlib.h> have a declaration of putenv that
+ conflicts with ours.
+
+Tue Apr 20 02:33:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
+
+ * stty.c: Use GWINSZ_IN_SYS_IOCTL, not _AIX, to determine
+ whether sys/ioctl.h is needed to support `stty size'.
+
+Thu Apr 1 18:03:47 1993 Jim Meyering (meyering@comco.com)
+
+ * printf.c, expr.c [isascii]: Undefine before redefining.
+
+Sun Mar 28 00:07:45 1993 Jim Meyering (meyering@comco.com)
+
+ * stty.c: Accept `flush' option. From Arne H. Juul arnej@lise.unit.no
+ * system.h: Don't define r?index, bcopy... if they're already defined.
+
+Thu Mar 25 22:41:01 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Add AC_IRIX_SUN to get -lsun because
+ Irix-4.0.5's libc.a doesn't have yp/NIS entrypoints.
+ From Kjetil Wiekhorst J|rgensen <jorgens@pvv.unit.no>.
+
+Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com)
+
+ * date.c: Add long-named options.
+
+Sun Dec 6 23:17:09 1992 Jim Meyering (meyering@comco.com)
+
+ * date.c: Remove unused definition of isdigit.
+ * expr.c (toarith): Change single use of isdigit to ISDIGIT.
+ * printf.c (print_formatted, print_esc): Define ISDIGIT and
+ ISXDIGIT and use them instead of isdigit and isxdigit.
+
+Wed Dec 2 12:49:11 1992 Jim Meyering (meyering@comco.com)
+
+ * env.c, id.c, nice.c, pathchk.c, stty.c, su.c, tee.c, tty.c,
+ uname.c, who.c: Convert static declarations of struct option
+ to use new macros from getopt.h: no_argument, required_argument,
+ and optional_argument.
+
+Tue Nov 24 09:46:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * echo.c: Use V9_DEFAULT instead of USG. Define it always.
+
+ * system.h: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG.
+
+Wed Nov 11 18:19:10 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu)
+
+ * 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.'
+
+ * pathchk.c (portable_chars_only): Cast char used as array index.
+
+ * echo.c (main), su.c (restricted_shell): Add parentheses to
+ assignment statements used in boolean context.
+
+ * stty.c (set_mode): Parenthesize expressions with bit operations
+ to correctly set/reset modes bits.
+
+Wed Oct 28 14:16:48 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * Version 1.8.
+
+ * stty.c: Accept Irix VRPRNT for VREPRINT.
+ From Jim Meyering.
+
+ * stty.c: Fix some type mismatches. From Bruce Evans, bde@runx.oz.au.
+
+ * who.c (read_utmp): Close file on error.
+ From Bruce Evans.
+
+ * su.c, test.c: Add some decls. From Bruce Evans.
+
+ * sleep.c (main): Arg to sleep is unsigned, not long.
+ From Bruce Evans.
+
+Fri Sep 11 00:25:52 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * echo.c, echo.1: New files.
+
+Thu Sep 10 18:42:44 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * pathchk.c (main): Don't strip trailing slashes from args;
+ they might make a path invalid.
+ (portable_chars_only, dir_ok): New functions.
+ (validate_path): Renamed from validate_new_path.
+ Call them. Don't complain if a leading
+ dir doesn't exist. Don't replace `parent' with a dir that
+ doesn't exist. Don't print a message when falling back
+ from pathconf to constant values.
+
+ * who.c [!UTMP_FILE]: If _PATH_UTMP is defined, use it instead
+ of /etc/utmp. From Marc Boucher <marc@cam.org>.
+
+Tue Aug 25 17:02:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * Version 1.7.
+
+ * groups.sh, nohup.sh: Add $(bindir) to front of path.
+
+Mon Aug 24 16:39:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * stty.c: make sane value for "min" 1, not 0.
+ From haible@ma2s2.mathematik.uni-karlsruhe.de (Bruno Haible).
+
+Sun Aug 23 03:02:07 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * id.c, test.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun.
+
+Sat Aug 22 03:16:41 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * test.c: Rename STANDALONE to TEST_STANDALONE to avoid IBM RT
+ ACIS sys/param.h conflict.
+
+ * su.c (correct_password) [HAVE_SHADOW_H]: Try to get the
+ encrypted correct password from the shadow password file.
+
+Fri Jul 17 15:25:01 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * su.c, getusershell.c: New files.
+
+Fri Jul 3 15:08:43 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * stty.c, who.c: Change FOO_MISSING to HAVE_FOO.
+
+Fri Jun 5 01:49:29 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * strcspn.c: New file.
+
+ * expr.c: Misc. cleanups.
+
+ * expr.c (eval7): Renamed from eval6.
+ Give syntax error if no more args. Don't coerce all values to numbers.
+ (eval6): New function.
+ (eval5): Accept == as a synonym for =.
+ (eval2): Coerce values to numbers for comparisons.
+ Above all from Dana Jacobsen (jacobsd@prism.cs.orst.edu).
+
+Thu Jun 4 19:32:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * printf.c (print_formatted): Move main loop into new function.
+ (main): Add an outer loop to use the format multiple times.
+ (verify): Don't reject a completely empty string.
+ Check errno (for overflow).
+
+ * false.sh, true.sh: New programs. Oh, boy.
+
+Thu May 14 01:17:22 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * stty.c (set_mode): Support crt and dec modes partially if
+ necessary, so they work on, for example, Ultrix . . . .
+
+Wed May 13 14:47:45 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * stty.c (set_mode): Swap nl and -nl. Have them also affect
+ output as well as input.
+
+Tue May 12 00:07:28 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * date.c (show_date): Use strftime for the whole conversion.
+
+Tue May 5 15:20:24 1992 David J. MacKenzie (djm@hal)
+
+ * stty.c (wrapf): Print the formatted buffer; don't redo the
+ formatting using vprintf.
+
+Thu Apr 30 01:17:08 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * printf.c (xstrtol, xstrtoul, xstrtod, verify): New functions.
+ (main, print_direc): Use them. Make error messages more specific.
+
+ * tee.c (tee): Only malloc and free the table of file descriptors
+ if >0 files are given.
+
+Fri Apr 17 11:56:48 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * pathchk.c (validate_new_path): Print the name of the component that
+ failed the length test, not the whole path.
+ From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de).
+
+Mon Apr 6 15:11:36 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * who.c (read_utmp): Check close return for error.
+ (print_heading): Align columns based on sizes of utmp members.
+ (who_am_i): Skip past /dev/ instead of skipping leading path.
+
+Mon Mar 16 23:47:03 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
+
+ * date.c (show_date): Don't call strftime if FORMAT is the
+ empty string.
+
+ * date.c (main): Reorganize to reduce duplicated code.
+ Add -d option.
+ (usage): Document -d.
+ (set_date): Function removed.
+
+Tue Feb 11 16:12:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * printf.c (print_esc): When a numeric escape is given,
+ don't call print_esc_char, and return 1 less.
+ From Thorston Ohl.
+
+Mon Jan 20 02:17:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.6.
+
+ * test.c: HAVE_MULTIPLE_GROUPS -> HAVE_GETGROUPS, for bash 1.11.
+
+Fri Jan 17 15:46:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * expr.c (docolon): Use re_nsub to find the number of
+ subexpressions . . . From Karl Berry, who knows.
+
+Wed Dec 25 23:27:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * expr.c (docolon): Use the new way (re_regs.num_regs > 0) to find
+ out if there were any subexpressions, instead of the old way
+ (re_regs.start[1] >= 0), which can cause random memory
+ accesses with regex 0.1. From Brian Matthews.
+
+Tue Dec 24 02:12:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * system.h, id.c, pathchk.c, tee.c: Change POSIX ifdefs to
+ HAVE_UNISTD_H and _POSIX_VERSION.
+
+Wed Dec 11 13:15:09 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.5.
+
+ * expr.c (main): Set obscure_syntax to tell re_match to
+ allocate memory for the group registers.
+
+Mon Dec 9 16:03:14 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu)
+
+ * who.c (list_entries): Check type == USER_PROCESS if defined, for SysV.
+
+Sat Dec 7 00:32:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.4.
+
+ * env, id, nice, pathchk, stty, tee, tty, uname: Change usage
+ messages and documentation to list long-named options starting
+ with `--' rather than `+'.
+
+ * env.c (main), nice.c (main): Simplify test for which exit
+ status to use if exec fails.
+
+Fri Dec 6 23:49:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tee.c (main) [POSIX]: Use sigaction instead of signal, which
+ POSIX doesn't have.
+
+Fri Oct 18 00:31:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * test.c (two_arguments): Fix from Chet.
+
+ * expr.c: Include regex.h after sys/types.h, not before, so
+ size_t gets defined.
+
+ * test.c: New version, adapted from bash 1.10.
+
+ * id.c: GID_T -> GETGROUPS_T, for clarity.
+
+Sat Oct 12 14:38:34 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.
+
+Sat Sep 28 13:01:23 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
+
+ * stty.c (set_mode): Make `raw' and `cooked' not change parity
+ and character size, which would probably make them useless on
+ 7-bit lines.
+ Make `raw' set the `time' character to 0, not 1.
+ From Bruce Evans.
+
+ * nohup.sh: If creating nohup.out, give it mode 0600, for POSIX.
+
+Fri Sep 13 14:59:51 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
+
+ * id.c [POSIX]: Always use sysconf to get NGROUPS_MAX.
+
+Thu Aug 29 14:43:07 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * test.c: Don't include sys/file.h if POSIX.
+ Use gid_t for getgroups.
+
+ * stty.c (set_mode): Use CEOF and CEOL instead of hardcoding them.
+ (display_speed): Fix a printf string type mismatch.
+ From Bruce Evans.
+
+Mon Aug 26 16:52:51 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu)
+
+ * configure, src/Makefile.in, lib/Makefile.in: Only put $< in
+ Makefiles if VPATH is being used, because older makes don't
+ understand it.
+
+Mon Aug 19 01:57:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.3.
+
+Sat Aug 17 22:48:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * src/Makefile.in (install): Install a link to test called '['.
+
+Wed Aug 14 12:22:57 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * test.c (unary_operator): Check first char of string, not its address.
+
+Sun Aug 11 18:10:30 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.2.
+
+ * system.h: Define S_IFMT if needed, for test.c.
+
+ * test.c: New file, from bash.
+
+ * nice.c: Change +priority to +adjustment (more accurate).
+
+Sat Aug 10 13:09:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * stty.c [WINSIZE_IN_PTEM]: sys/ptem.h requires sys/stream.h.
+
+ * nice.c, configure: Use nice if available and setpriority is missing.
+
+Thu Aug 8 01:34:05 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * date.c: USG needs TZ=GMT0 for UCT timezone, also.
+
+ * stty.c: Add pass8 and litout modes.
+
+Sun Aug 4 22:45:51 1991 David J. MacKenzie (djm at wheat-chex)
+
+ * Version 1.1.
+
+Fri Aug 2 13:22:31 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * configure: Implement +srcdir. Don't check for bison.
+
+ * stty.c: Don't change ixon in "sane" mode.
+
+ * configure: Use 1 instead of 255 for checking tzname,
+ because of signedness.
+
+Thu Aug 1 13:40:58 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * printenv.c (main): Don't print the variable names when given
+ args, as people seem to use printenv in scripts after all . . . .
+
+ * stty.c: Don't change parity or character size settings in
+ "sane" mode. The right values for those depend on the hardware.
+
+Wed Jul 31 01:19:01 1991 David J. MacKenzie (djm at hal)
+
+ * stty.c [_AIX]: Include sys/ioctl.h -- needed on
+ AIX to get window size.
+
+Tue Jul 30 00:06:54 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * getdate.y: New file.
+ * date.c: Add -s option to set date in English.
+ * configure: Check for ftime.
+
+ * date.c: Remove COMPUTE_TM_ZONE code, which didn't work.
+ * configure: Instead of checking whether tzname is declared,
+ check whether it exists.
+
+ * logname.c (main): Go back to just printing an error message
+ if getlogin fails, as required by POSIX.
+
+ * stty.c (screen_columns, wrapf): New functions to implement
+ output wrapping.
+ Globally: use them.
+
+ * configure: Define uid_t and gid_t if sys/types.h doesn't.
+ * system.h: Define F_OK et al. if nothing else does.
+
+Mon Jul 29 21:11:16 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu)
+
+ * pathchk.c (validate_new_path): Rearrange tests so that
+ pathconf is only called on existing directories. Use access
+ instead of stat to determine directory searchability.
+ From Jim Meyering.
+
+ * stty.c, configure: Add WINSIZE_IN_PTEM and GWINSZ_BROKEN for SCO.
+
+Wed Jul 24 02:13:31 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * stty.c (sane_mode): Always set control chars to sane values.
+ Set min and time if they're different from eof and eol.
+
+ * whoami.c: Print UID as unsigned.
+ * logname.c: Do "whoami" if getlogin fails.
+
+ * logname.c (main): fprintf was missing an arg.
+
+Tue Jul 23 02:20:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * id.c: GID_T is int if ultrix as well as if sun.
+
+ * stty.c: Implement raw and cooked modes.
+
+Mon Jul 22 15:21:21 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tee.c (main): close stdin and stdout to check for errors.
+
+ * stty.c: Use tcflag_t for termios bitmasks.
+ Use speed_t for speeds. Use unsigned long for baud rates to
+ accomodate large values, and support 57600 and 115200 if available.
+
+ * date.c, configure: Instead of SIZE_T_MISSING,
+ define size_t if it's missing.
+
+ * id.c, whoami.c: Use uid_t and gid_t.
+
+ * id.c: If POSIX and not sun (bogus!), pass getgroups and
+ getugroups an array of gid_t instead of int.
+
+ * system.h: New file.
+ * Most programs: include it.
+
+Fri Jul 19 12:04:58 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * env.c [!STDC_HEADERS]: Declare errno.
+ * printf.c, pathchk.c: Don't include errno.h; not needed.
+
+ * version.c: New file.
+ * All C programs: Link with it, to get version number in the
+ binary where at least `strings -' and grep can find it.
+
+ * pathchk.c (strip_trailing_slashes): Function removed; use
+ version in lib.
+
+Mon Jul 15 11:34:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.0.
+
+ * pathchk.c: Always check whether _POSIX_PATH_MAX and
+ _POSIX_NAME_MAX need to be defined.
+ [POSIX]: If no PATH_MAX or NAME_MAX and pathconf for the path
+ returns -1 (some systems do this if the path does not exist),
+ use pathconf for "/".
+
+Sun Jul 14 21:17:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * date.c (date_seconds): Function removed, replaced with
+ posixtm.y in lib.
+ (set_date): Change caller.
+ * configure: Check for bison.
+
+ * stty.c [!C_LINE_MISSING]: Add support for setting and
+ printing the line discipline.
+ * configure: Check for C_LINE_MISSING.
+
+ * configure: Check for Minix.
+
+Sat Jul 13 01:33:59 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * Add `man' directory and manual pages.
+ * configure: Set INSTALLDATA and MAN.
+
+ * id.c: Add #ifdefs for POSIX ways of getting max groups list size.
+ (print_group_list, print_full_info): Allocate list of groups
+ with malloc since its size might not be constant.
+
+ * nice.c (main): Don't adjust priority if printing it.
+ Default adjustment of 10, not 0.
+
+ * printf.c: Add \c escape and %b conversion.
+ Implement '*' for field width and precision.
+ Make all errors fatal.
+ (print_esc_string, print_esc): New functions.
+
+ * configure, date.c: Change SYS_TIME_H to TM_IN_SYS_TIME.
+ * configure: Always check where to find struct tm.
+
+ * yes.c: Rewrite to accept multiple arguments.
+
+ * Add groups.sh.
+
+Fri Jul 12 10:57:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * dirname.c: Move code from dirname function into main,
+ simplifying things quite a bit. From Jim Meyering.
+ * Omit strdup from lib; no longer used.
+ * configure: Don't check for strdup.
+
+ * printenv.c (main): If args given, print the values in the order
+ given on the command line rather than the order given in the
+ environment.
+
+ * tee.c, tty.c (struct longopts): Revise to make short-option
+ equivalents clear.
+
+Thu Jul 11 12:46:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * nice.c: Add long options.
+
+ * Add date command and libraries it needs.
+ * configure: Updated.
+
+ * env.c: Add long options. Use GNU putenv instead of custom
+ setenv function.
+
+ * id.c: Add long options.
+
+ * pathchk.c [POSIX]: Use pathconf if necessary to get NAME_MAX
+ and PATH_MAX.
+
+ * nice.c: Use exit status required for nohup by POSIX.2
+ (nohup execs nice).
+
+ * sleep.c: Don't bother with hex and octal.
+
+ * env.c: Fix exit status for POSIX.2 draft 11.1.
+
+ * Many files: Remove private copies of xmalloc, error, xstrdup,
+ etc. to use shared versions.
+ Fix #includes for USG, STDC_HEADERS, POSIX.
+
+Mon Jul 8 18:56:24 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
+
+ * date.c (main): For -u, set TZ to "" instead of "GMT0",
+ unless on HP-UX or Ultrix.
+
+ * Rename some feature-test macros.
+ * stime.c: Created from code in date.c.
+ * date.c (compute_tm_zone): New function.
+ (date_seconds, show_date): Use it.
+ (xmalloc, xrealloc): Functions removed; use xmalloc.c instead.
+
+Tue Jul 2 02:28:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * tee.c (tee): Report errors in closing files.
+
+Mon Mar 18 10:13:59 1991 Jeffrey A. Law (law at geech.ai.mit.edu)
+
+ * date.c (date_seconds, show_date): #if COMPUTE_TMZONE then
+ compute the proper value to place in tm->tm_zone from
+ information returned by localtime and gettimeofday.
+
+Fri Apr 26 11:38:09 1991 David J. MacKenzie (djm at mole.gnu.ai.mit.edu)
+
+ * stty.c: Define default values for control chars if necessary.
+ Complain about invalid options if no other options follow.
+ Use POSIX functions instead of ioctl, for manipulating termios.
+
+ * expr.c (main): Exit status was backwards.
+
+Thu Dec 20 00:36:01 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * id.c: Reorganization and many changes to fix bugs and POSIX
+ compliance problems.
+
+Mon Dec 10 03:09:13 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * stty.c: Don't declare printf and some other functions that
+ might have variable numbers of args in system header file decls.
+
+Tue Nov 14 23:37:22 1990 Roland McGrath (roland at geech.ai.mit.edu)
+
+ * id.c (print_groups): Put spaces after commas.
+ (print_group): New fn, to print a group id. Uses numeric fmt
+ unless -n, in which case it uses group names.
+ (print_groups): Call it. Find the rgid and egid, and print them as
+ well as the supplementary groups. Make sure we print each group only
+ once.
+
+Sun Sep 16 01:49:14 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * id.c (main): Add -G option for POSIX.2 draft 10.
+ Allow a username to be given.
+ (print_groups): New function from code in main.
+ (getugroups): New function.
+
+Sun Aug 12 00:32:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * env.c (main): Instead of setting _POSIX_OPTION_ORDER,
+ tell getopt to not permute, with `+'.
+
+Sat Aug 11 01:32:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * expr.c: Use regex.c library instead of private regex routines.
+
+ * nice.c (main): Add -n option for POSIX.2a.
+ (usage): New function.
+
+Fri Aug 10 23:58:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * who.c: Add -m, -i, -w options for POSIX.2a.
+
+Tue Aug 7 00:01:02 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * expr.c: Use exit directly instead of longjmp on error.
+ Use argv[0] instead of hardcoded "expr" in messages.
+ Make some functions void.
+
+Sat Aug 4 21:19:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * env.c: Change exit statuses for POSIX draft 10.
+
+Wed Jul 4 04:32:51 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * tee.c: Use error instead of perror_with_name and
+ out_of_memory.
+
+Wed Jun 20 02:39:49 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * date.c: Change -DSETTOD to -DSTIME_MISSING, -DSIZE_T to
+ -DSIZE_T_IN_TYPES, and -DSTDC_HDRS to -DSTDC_HEADERS.
+ Declare some more functions. Replace fatal, memory_out, and
+ nonfatal_perror with error.
+
+Mon Jun 18 00:16:52 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * stty.c: Add some Unix compatibility modes.
+
+Sat Jun 16 21:05:59 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * stty.c (display_changed, display_all): Print values of min
+ and time.
+
+Thu Jun 14 17:49:31 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * stty.c: Implement tab, backspace, etc. delay args.
+
+Thu May 31 12:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * nohup.sh: Don't ignore SIGTERM.
+ If ./nohup.out is unwritable, try $HOME/nohup.out.
+
+Thu May 3 22:33:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * who.c: Use error instead of fatal and fatal_perror.
+ (print_headings): Print headings in all caps, like SYSV does.
+ (list_entries): New function for -q to make it like SYSV -q.
+ (valid_entries): Function removed.
+
+Mon Apr 2 01:27:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * id.c (main): Don't strip off leading path from program name.
+ Revise a couple of error messages.
+
+ * whoami.c (main): Use geteuid, not getuid, for Unix compatibility.
+
+Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * tee.c (main): Pass list of files and its size as args to tee
+ rather than as global vars. Exit with return value of tee
+ instead of always 0.
+ (tee): Use unbuffered I/O instead of stdio, for POSIX.
+ Return an error status.
+ (xwrite): New function.
+
+Tue Mar 13 00:38:13 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * who.c (who_am_i): Print heading before checking to see
+ whether there is an entry for the tty on stdin, for
+ consistency with the who function.
+ (main): Use argv[optind], not argv[1], as alternate file.
+
+Fri Mar 9 15:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * who.c: Rename UTMP to UTMP_FILE for compatibility with SysV
+ utmp.h. Include some additional header files.
+ (main): Recognize some options from SysVr3 who. Call usage.
+ Set new global var `program_name' from argv[0].
+ (usage): New function.
+ (who): If -q given, only print count of users logged on.
+ (print_entry): New function to format an entry on the output;
+ make format more like that of the Unix who programs.
+ (print_heading): New function to print a line describing each
+ output field.
+ (who, who_am_i): Call print_entry and print_heading.
+ (valid_entries): New function to return count of nonempty
+ entries in utmp.
+ (search_entries): Compare with utmp tty field instead of
+ username field. Don't assume null termination in utmp field.
+ (who_am_i): Print the entry for the tty on stdin rather than
+ the first entry found for the uid. If hostname is not
+ available, use a null one instead of "<unknown>".
+ Don't hardcode max hostname length.
+ (idle_string): New function to format idle time field.
+ (fatal, fatal_perror): Use program_name instead of hardcoded "who"
+ in error messages.
+
+Tue Mar 6 00:59:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * printenv.c (main): Allow multiple variables to be specified.
+ (barf): Function removed.
+
+Sat Jan 20 18:41:48 1990 Jim Kingdon (kingdon at geech)
+
+ * expr.c (nextarg): Do not pass *args to strcmp if NULL.
+
+Mon Dec 18 09:57:20 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
+
+ * printenv.c (main): Simplify error messages.
+
+Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
+
+ * expr.c: Indent to regularize spacing.
+ (cmpv, arithf): Change '#define foo (args)' to '#define foo(args)'
+ so they compile.
+ (docolon): Remove unused vars.
+ (multiply): Rename from times to avoid libc conflict.
+ (error): Include program name in message.
+ (xmalloc): Rename from Malloc.
+ (re_compiled): Rename from re_comp to avoid libc conflict.
+
+ * basename.c: Fix some weird indentation.
+ (main): Print a clearer usage message.
+ Use a simpler method for removing suffix, if given.
+ (fatal): Function no longer used; removed.
+
+ * sleep.c: (main): Rename `time' to `seconds'. Print usage
+ message if given no args.
+ Exit with status 0 instead of falling off end.
+ (error): Print to stderr, not stdout.
+
+ * tee.c: (main): Use getopt_long instead of custom parser,
+ and adjust usage message.
+ Use list of filenames in argv rather than making a copy.
+ (tee): New function created from the second half of main.
+ Fix bug where it tried to fclose a loop index instead of a stream.
+ (xmalloc): Ok to return 0 if 0 bytes requested.
+ (xrealloc): Unused function removed.
+
+ * whoami.c: Canonicalize usage message and fix error message.
+
+ * who.c: Declare some functions.
+ (fatal_perror): New function for printing errors after system
+ calls.
+ Global: Use it when appropriate.
+ (xmalloc): Return char *, not int.
+ (read_utmp): Ok if utmp file is empty.
+ Include filename in error messages.
+ (scan_entries): Adjust columns to line up better, particularly
+ when there are users with 8 character long usernames logged in.
+
+Sat Oct 28 13:20:43 1989 David J. MacKenzie (djm at spiff)
+
+ * uname.c: Added long options.
+ global: changed the word `part' to the word `element'
+ (more precise).
+ (program_name, long_options): New variables.
+ (main): Support long options.
+ (usage): Add long options summary to message.
+
+
+ -----
+
+ Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994 Free Software
+ Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.
+
+Local Variables:
+mode: indented-text
+left-margin: 8
+version-control: never
+End:
diff --git a/old/sh-utils/NEWS b/old/sh-utils/NEWS
new file mode 100644
index 0000000..d9dc3b5
--- /dev/null
+++ b/old/sh-utils/NEWS
@@ -0,0 +1,284 @@
+ [2.0.15]
+* date no longer accepts e.g., September 31 in the MMDDhhmm syntax
+* fix a bug in this package's .m4 files and in configure.ac
+ [2.0.14]
+* nohup's behavior is changed as follows, to conform to POSIX 1003.1-2001:
+ - nohup no longer adjusts scheduling priority; use "nice" for that.
+ - nohup now redirects stderr to stdout, if stderr is not a terminal.
+ - nohup exit status is now 126 if command was found but not invoked,
+ 127 if nohup failed or if command was not found.
+ [2.0.13]
+* uname and uptime work better on *BSD systems
+* pathchk now exits nonzero for a path with a directory component
+ that specifies a non-directory
+ [2.0.12]
+* kill: new program
+* who accepts new options: --all (-a), --boot (-b), --dead (-d), --login,
+ --process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u).
+ The -u option now produces POSIX-specified results and is the same as
+ the long option `--users'. --idle is no longer the same as -u.
+* The following changes apply on systems conforming to POSIX 1003.1-2001,
+ and are required by the new POSIX standard:
+ - `date -I' is no longer supported. Instead, use `date --iso-8601'.
+ - `nice -NUM' is no longer supported. Instead, use `nice -n NUM'.
+* New 'uname' options -i or --hardware-platform, and -o or --operating-system.
+ 'uname -a' now outputs -i and -o information at the end.
+ New uname option --kernel-version is an alias for -v.
+ Uname option --release has been renamed to --kernel-release,
+ and --sysname has been renamed to --kernel-name;
+ the old options will work for a while, but are no longer documented.
+* 'expr' now uses the LC_COLLATE locale for string comparison, as per POSIX.
+* 'expr' now requires '+' rather than 'quote' to quote tokens;
+ this removes an incompatibility with POSIX.
+* date -d 'last friday' would print a date/time that was one hour off
+ (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday)
+ when run such that the current time and the target date/time fall on
+ opposite sides of a daylight savings time transition.
+ This problem arose only with relative date strings like `last monday'.
+ It was not a problem with strings that include absolute dates.
+* factor is twice as fast, for large numbers
+ [2.0.11]
+* setting the date now works properly, even when using -u
+* `date -f - < /dev/null' no longer dumps core
+* some DOS/Windows portability changes
+ [2.0j]
+* `date -d DATE' now parses certain relative DATEs correctly
+ [2.0i]
+* fixed a bug introduced in 2.0h that made many programs fail with a
+ `write error' when invoked with the --version option
+ [2.0h]
+* all programs fail when printing --help or --version output to a full device
+* printf exits nonzero upon write failure
+* yes now detects and terminates upon write failure
+* date --rfc-822 now always emits day and month names from the `C' locale
+* portability tweaks for Solaris8, Ultrix, and DOS
+ [2.0g]
+* date now handles two-digit years with leading zeros correctly.
+* printf interprets unicode, \uNNNN \UNNNNNNNN, on systems with the
+ required support; from Bruno Haible.
+* stty's rprnt attribute now works on HPUX 10.20
+* seq's --equal-width option works more portably
+ [2.0f]
+* fix build problems with ut_name vs. ut_user
+ [2.0e]
+* stty: fix long-standing bug that caused test failures on at least HPUX
+ systems when COLUMNS was set to zero
+* still more portability fixes
+* unified lib/: now that directory and most of the configuration framework
+ is common between fileutils, textutils, and sh-utils
+ [2.0d]
+* fix portability problem with sleep vs lib/strtod.c's requirement for -lm
+ [2.0c]
+* fix portability problems with nanosleep.c and with the new code in sleep.c
+ [2.0b]
+* Regenerate lib/Makefile.in so that nanosleep.c is distributed.
+ [2.0a]
+* sleep accepts floating point arguments on command line
+* sleep's clock continues counting down when sleep is suspended
+* when a suspended sleep process is resumed, it continues sleeping if
+ there is any time remaining
+* who once again prints whatever host information it has, even without --lookup
+Changes in release 2.0
+* disable stty tests (otherwise they fail) when `make check' is run via rsh
+ [1.16m]
+* false and true now ignore --help and --version when POSIXLY_CORRECT is set
+ [1.16l]
+* false and true are now C programs rather than shell scripts
+ [1.16k]
+* fix typos in my version of AC_SEARCH_LIBS.
+* fix dates on config files so builders don't need autoconf/automake
+ [1.16j]
+* work around problems with my use of AC_SEARCH_LIBS
+* fix a bug in id
+ [1.16i]
+* portability tweaks for lib/readutmp.[ch] and src/date.c
+ [1.16h]
+* seq with no arguments now elicits a useful diagnostic rather than a segfault
+* portability tweaks to work around utmpname differences
+* who works on Solaris
+ [1.16g]
+* factor now uses uintmax_t, so the largest number it can factor is now 2^64 - 1
+ on systems with type `long long'.
+* nohup no longer modifies the shell's search path
+* `basename /' now prints `/', per the single unix spec
+* `who --lookup' no longer erroneously reports `localhost' for IP addresses
+ for which it could not do a reverse lookup.
+* `id user' wouldn't report a group id in some situations. Now it always does.
+ [1.16f]
+* chroot now calls chdir ("/") after chroot.
+* `date -s' now exits with nonzero status upon failure
+* new autoconf tests detect bugs in vendor mktime from Irix-6.4 and SunOS4.1.4
+ Your executables will be a little larger on such systems because you'll use
+ GNU's mktime function, but date will work more reliably.
+* hostid: new program
+* `yes --help' and `yes --version' print those strings when the POSIXLY_CORRECT
+ environment variable is set
+* who no longer does DNS lookups by default -- the new option, --lookup (-l),
+ enables lookups
+ [1.16e]
+* pinky: new lightweight finger-style program
+ [1.16d]
+* the groups script now exits non-zero and doesn't print anything more
+ when `id' fails
+ [1.16c]
+* date -u -d DATE now prints the correct date
+* don't remove already-installed su unless it is possible to install the
+ new one setuid root.
+ [1.16b]
+ [1.16a]
+* expr accepts new unary operator, quote.
+* expr now returns 0 for failed matches where pattern contained e.g., `\\('
+* date -d DATE now works on Unicos systems
+* add tests for factor and more for date.
+* factor runs a lot faster for large 64-bit inputs
+* date works with relative offsets involving the `next' keyword
+
+Changes in release 1.16
+* stty -tabs works properly
+* add tests for date
+* date --date "02/29/1996 - 1 year" now works properly
+
+Changes in release 1.15
+* nice works with very recently-changed GNU libc getopt
+* fix several bugs in m4 macros used to create `configure' script
+* id works on systems with disfunctional getgroups function
+* uptime configure test detects /proc/uptime on Linux
+
+Changes in release 1.14
+* fix bug in getdate.y that broke date's --date=DATE option on systems
+ like SunOS4.
+* expr treats unadorned ? and + as literals. To make expr treat them as
+ operators you have to use \? and \+.
+
+Changes in release 1.13
+* two patches for ISC
+* Regenerate all Makefile.in using a patched version of automake-1.1l.
+ [1.12s]
+* lots of little bug fixes -- see ChangeLog
+ [1.12r]
+* uname --processor (-p) works on systems that have sysinfo and define
+ SI_ARCHITECTURE.
+* stty works better on systems like i386-pc-isc3.0
+* date --date=DATE accepts dates like those in an RCS log listing, e.g.,
+ `1992/11/01 05:44:34'.
+* printf now warns if excess arguments are ignored.
+* tee no longer fails immediately upon receipt of SIGPIPE
+ [1.12q]
+* running `make check' runs tests of nice
+* lots of configuration-related improvements
+* nice allows `+' in options like -+8 and -+13.
+* when matching, expr warns about non-portability when the first character
+ of the basic regular expression is `^'
+* `id user' no longer prints bogus group list
+* uses automake-generated Makefile templates
+* date accepts new %V format
+* date's %U and %W formats work properly
+* nice option handling works with 2-digit old-style-option adjustments.
+ Now, `nice -18 -- nice' prints `18'. Before it printed `8'.
+* internationalized diagnostic messages
+* `date -d "01/01/1998 3 years" +%Y' now works properly. It prints 2001.
+* New programs: chroot, factor, seq, uptime.
+* date accepts new option: --rfc-822 (-R)
+* date accepts new format, %z, for RFC-822 style numeric timezone (-0500)
+* date: fix bugs in the handling of date -u +'%s %Z'.
+* date accepts new option --reference=FILE (-r FILE) analogous to the
+ like-named touch option.
+* date can now format dates up to and including ones in the year 2037
+User visible changes in release 1.12
+* None.
+User visible changes in release 1.11
+* date accepts new option: (-f) --file=DATEFILE
+* skeletal texinfo documentation (mainly just the `invoking' nodes)
+* `stty werase ^W' works. Before, werase wasn't enabled for AIX-3.2.5.
+* su with no arguments works properly
+* nice accepts options like `--5' (this is interpreted like `-n -5')
+* nice now interprets `-1 -1' like `-1' not like `-11'
+* `stty speed' and `stty size' no longer output a spurious newline
+User visible changes in release 1.10
+* change package name from shellutils to sh-utils
+* add hostname, pwd, and users commands
+* --version outputs the name of the utility as well as the package name
+ and version number.
+* Configure properly determines options for stty on SCO ODT 3.0 systems.
+* `date -d' works better. Before, `date -d '4apr94'' produced
+ `Sun Apr 3 23:00:00 CDT 1994'.
+User visible changes in release 1.9.4
+* Repair stty option handling.
+User visible changes in release 1.9.3
+* `stty -a -g' gets a diagnostic
+* `stty {-a|-g} any-other-argument' gets a diagnostic
+* stty no longer ignores some of its arguments
+* basename and dirname no longer treat `--' specially
+* `basename -- file.c .c' generates a usage error. Before, it output `file'.
+* `basename file-dist -dist' outputs `file'. Before it output `file-dist'.
+* stty defaults `swtch' to undefined for Solaris so `susp' (^Z) will work.
+ Before, with the default settings ^Z did nothing.
+* stty no longer gives an error message when it finds a spurious difference
+ (due to buggy tcgetattr/tcsetattr) between requested and current tty
+ modes under SunOS 4.1.x.
+* stty no longer fails if the ioctl to determine the display width fails
+ when displaying settings.
+* stty works around SunOS 4.x kernel bug that made `stty rows 0 cols 0' fail.
+* who and tee no longer fail gratuitously when continued after an
+ interrupted read or write system call.
+* date accepts new format: %s time in seconds since 1970-01-01 00:00:00 UCT
+* date -d can parse dates like `11-JUL-1991'
+* expr '' == 0 works (before, it printed 1)
+* stty no longer fails on telnet sessions to Solaris systems
+* `cd /etc; who utmp' now works. Before, any filename argument had to be
+ absolute or relative to /dev.
+
+User visible changes in release 1.9.2:
+* who output is better formatted on Solaris and other SysVr4 systems
+* fix a minor problem in formatting the output from `stty -a'
+* yes with arguments outputs newlines again
+* partial stty failures are reported
+
+Major changes in release 1.9.1:
+* stty can be built on Suns again
+* minor fix for who -q
+
+Major changes in release 1.9:
+* su fails gracefully when getpass is unable to open /dev/tty.
+* printenv and tty detect and report write errors
+* fix bug in stty
+* stty accepts the new options status and flush on systems that provide them
+* `expr 1 / 0' gives an error message rather than trying to divide by zero
+* expr's `substr' doesn't overrun malloc'd buffer
+* expr recognizes the string `0' as zero
+* better support for Linux, Dec Alpha, and SGI Irix
+* all programs (even true and false) accept --version and --help options
+* uname's --version option is no longer equivalent to its -v option
+* configure uses config.h, so DEFS won't exceed preprocessor limits of
+ some compilers on the number of symbols defined via -D.
+* work around problem where $(srcdir)/config.h was used instead of
+ ../config.h -- this happened only when building in a subdirectory
+ and when config.h remained in $(srcdir) from a previous ./configure.
+* make may be run from the subdirectories
+
+Major changes in release 1.8:
+* add echo command
+* fix some incorrect warnings in pathchk
+* look at the right utmp file on 386BSD
+* date doesn't dump core on some systems now
+
+Major changes in release 1.7:
+* add su, who, true, false commands
+* add more tests to expr
+* fix printf program handling of \ escapes
+* printf can re-use format string for multiple groups of arguments
+* printf catches numeric conversion errors with an ANSI C library
+* stty nl and -nl were backwards
+* date can format an arbitrary date without setting it
+
+========================================================================
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/old/textutils/ChangeLog b/old/textutils/ChangeLog
new file mode 100644
index 0000000..cc3331e
--- /dev/null
+++ b/old/textutils/ChangeLog
@@ -0,0 +1,8753 @@
+2006-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * ChangeLog: Add copyright notice.
+ * NEWS: Likewise.
+
+2002-07-29 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.1.
+
+ * src/tail.c: Adjust command examples in comments to use
+ POSIX 1003.1-2001 option syntax.
+ * src/sort.c: Likewise.
+ From Paul Eggert.
+
+2002-07-28 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Require automake-1.6b.
+
+2002-07-20 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.22.
+
+ * Upgrade to cvs automake -- required to work with 2.53b.
+ * configure.ac: Require automake-1.6a.
+
+ * Upgrade to gettext-0.11.3.
+ * Upgrade to autoconf-2.53b.
+
+2002-07-02 Jim Meyering <meyering@lucent.com>
+
+ * src/cat.c, src/cksum.c, src/comm.c, src/csplit.c, src/cut.c (usage):
+ Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.
+ * src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/join.c: Likewise.
+ * src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c: Likewise.
+ * src/sort.c, src/split.c, src/sum.c, src/tac.c, src/tail.c: Likewise.
+ * src/tr.c, src/tsort.c, src/unexpand.c, src/uniq.c, src/wc.c: Likewise.
+
+2002-06-22 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Invoke AC_GNU_SOURCE very early.
+
+2002-06-15 Jim Meyering <meyering@lucent.com>
+
+ * src/cksum.c: Include <sys/types.h> before system.h.
+
+2002-05-22 Jim Meyering <meyering@lucent.com>
+
+ * src/od.c [struct dummy]: Renamed. Don't rely on portability of
+ zero-length arrays. Instead, use sizes of -1 or +1.
+ Reported by Eric Backus.
+
+2002-05-14 Jim Meyering <meyering@lucent.com>
+
+ `od -t f8' didn't work.
+ This bug was introduced with my change of 2000-10-22 (textutils-2.0.8).
+ * src/od.c (ulonglong_t): Move declaration to precede new use.
+ [enum size_spec] (N_SIZE_SPECS): New member.
+ (width_bytes): Add initializer corresponding to ulonglong_t type.
+ (struct assert_width_bytes_matches_size_spec_decl): Declare.
+ Based on a patch from Tony Kocurko.
+
+2002-04-29 Paul Eggert <eggert@twinsun.com>
+
+ Use ENABLE_NLS only for gettext-related stuff, not also for
+ setlocale-related stuff. From a patch suggested by Bruno
+ Haible.
+
+ Since setlocale is now almost universal, this patch also
+ removes some of the optimizations that clutter up the code and
+ which don't help all that much even on hosts that lack
+ setlocale.
+
+ * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
+ * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
+ Do not check for alloca.h (no longer used) or stdbool.h (was never
+ used?). Add AM_C_PROTOTYPES since hard-locale.h uses it.
+
+ * src/sys2.h (HAVE_SETLOCALE): Define to 0 if not defined.
+ * src/comm.c (compare_files): Replace #ifdef ENABLE_NLS
+ with if (HAVE_SETLOCALE).
+ * src/join.c (keycmp): Likewise.
+ * src/sort.c (keycompare, compare): Likewise.
+
+ * src/comm.c (hard_LC_COLLATE): Define even if ! ENABLE_NLS.
+ * src/join.c (hard_LC_COLLATE): Likewise.
+ * src/sort.c (hard_LC_COLLATE): Likewise.
+
+ * src/comm.c (main): Always initialize hard_LC_COLLATE.
+ Put initialization next to other locale-related stuff.
+ * src/join.c (main): Likewise.
+ * src/sort.c (main): Likewise.
+
+ * src/sort.c: Include <langinfo.h> even if ! ENABLE_NLS.
+ (decimal_point, th_sep): Depend on HAVE_SETLOCALE, not ENABLE_NLS.
+ (main): Likewise.
+ (MONTHTAB_CONST): Remove; all uses removed.
+ (struct_month_cmp, inittables): Do not depend on ENABLE_NLS.
+ (main): hard_LC_TIME locale does not depend on ENABLE_NLS.
+
+2002-04-29 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (parse_obsolescent_option): Do not limit the maximum
+ line/byte count (when specified via obsolete option syntax) to be
+ less than ULONG_MAX on systems where OFF_T_MAX is larger.
+
+2002-04-28 Paul Eggert <eggert@twinsun.com>
+
+ * src/tail.c (tail_forever): Do not treat
+ max_n_unchanged_stats_between_opens specially (as if it were
+ infinite) if it has its maximal value. Similarly for
+ max_n_consecutive_size_changes_between_opens.
+
+2002-04-28 Jim Meyering <meyering@lucent.com>
+
+ Avoid new warnings from gcc.
+ * src/pr.c [struct COLUMN] <name>: Declare member to be const.
+ (init_fps): Declare local variable `firstname' to be const.
+
+2002-04-25 Jim Meyering <meyering@lucent.com>
+
+ * src/wc.c (usage): Adjust ordering to match that of default output.
+ Suggestion from Gaute Hvoslef Kvalnes.
+
+ * configure.ac (AM_GNU_GETTEXT): Add external arg.
+ (AC_CONFIG_FILES): Remove intl/Makefile.
+ * Makefile.am (SUBDIRS): Remove intl.
+ * src/Makefile.am (INCLUDES): Remove -I../intl.
+
+2002-04-15 Jim Meyering <meyering@lucent.com>
+
+ * src/tr.c (usage): Give a verbose description of --squeeze-repeats,
+ including the mention of SET1. Reported by Dan Jacobson.
+
+2002-04-12 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (LDADD): List ../lib/libfetish.a both before
+ and after @LIBINTL@. Thanks to Paul Eggert for the fix and to
+ Bruno Haible for diagnosing the problem.
+
+2002-03-16 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (datadir): Don't override $(datadir)
+ which might be set by --datadir and different from $(prefix)/share.
+ Patch from Albert Chin-A-Young.
+
+2002-03-10 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac (AM_INIT_AUTOMAKE): Specify the required version
+ of automake (1.6), and options (gnits dist-bzip2), rather than...
+ * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition.
+
+2002-03-09 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Remove config/config.rpath,
+ now that automake knows about it.
+
+2002-03-05 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Add config/config.rpath.
+
+2002-02-23 Paul Eggert <eggert@twinsun.com>
+
+ * src/cat.c (simple_cat, cat, main): Use char * rather than
+ unsigned char *, to avoid some technical violations of the C
+ standard, and to avoid the need for casts. I guess the
+ unsigned char * was probably there for improved performance
+ with ancient compilers, but the code wasn't using the
+ unsignedness any more.
+ Reported by Nelson H. F. Beebe.
+
+ (cat): int -> size_t for full_write arg. This doesn't
+ fix any bugs since the buffer size is small, but it makes
+ the code a bit clearer.
+
+2002-02-18 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.21.
+
+ * tests/tail/Test.pm: For tests matching /^(obs|err-[134])/,
+ put _POSIX2_VERSION=199209 in the environment, so the tests succeed
+ even when the environment would have contained _POSIX2_VERSION=200112.
+ * tests/uniq/Test.pm (test_vector): Rename tests of obsolete usage
+ to have prefix of `obs'. Adjust environment for those tests as above.
+
+ * tests/mk-script: When getting input via a pipe, apply the
+ environment settings to the command in question, not to `cat'.
+ No longer allow more than one element in the $Test::env or
+ $Test::env_default arrays. No caller used that feature.
+
+2002-02-17 Jim Meyering <meyering@lucent.com>
+
+ * tests/head/Test.pm: Accept pre-POSIX 1003.1-2001 options.
+ * tests/pr/Test.pm: Likewise.
+ * tests/sort/Test.pm: Likewise.
+
+ * Makefile.cfg (wget_files): Reflect new location of these files.
+
+2002-02-16 Jim Meyering <meyering@lucent.com>
+
+ * ABOUT-NLS, intl/*: Update to Gettext 0.11.
+ * INSTALL: Update to Autoconf 2.52h.
+
+ * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@,
+ per Gettext-0.11.
+ (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11.
+
+ * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation.
+ (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11.
+
+ * config: New subdirectory, containing the following files from .:
+ config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs.
+ Move the following files here from doc: texinfo.tex, mdate-sh.
+
+2002-02-15 Paul Eggert <eggert@twinsun.com>
+
+ Add support for _POSIX2_VERSION, which lets you pick which POSIX
+ version you want the utilities to conform to. Remove warnings about
+ failure to conform to a future POSIX version.
+
+ * NEWS, doc/coreutils.texi: Document _POSIX2_VERSION.
+ * doc/coreutils.texi (Standards Conformance): New section.
+
+ * src/expand.c: Include posixver.h.
+ (usage): Document only the intersection of the old and new behaviors,
+ to encourage portability.
+ * src/fold.c: Likewise.
+ * src/head.c: Likewise.
+ * src/od.c: Likewise.
+ * src/pr.c: Likewise.
+ * src/sort.c: Likewise.
+ * src/split.c: Likewise.
+ * src/uniq.c: Likewise.
+ * src/tail.c: Likewise.
+ * src/unexpand.c: Likewise.
+
+ * src/expand.c (shortopts): Remove; no longer needed.
+ * src/od.c (short_options): Likewise.
+ * src/pr.c (short_options): Likewise.
+ * src/sort.c (short_options): Likewise.
+ * src/split.c (shortopts): Likewise.
+ * src/uniq.c (shortopts): Likewise.
+ * src/unexpand.c (shortopts): Likewise.
+
+ * src/od.c (COMMON_SHORT_OPTIONS): New macro.
+ * src/pr.c (COMMON_SHORT_OPTIONS): Likewise.
+ * src/sort.c (COMMON_SHORT_OPTIONS): Likewise.
+
+ * src/expand.c (main): Revert to previous behavior, except report
+ an error and exit if the obsolete syntax is used and if conforming
+ to the new standard.
+ * src/fold.c (main): Likewise.
+ * src/head.c (main): Likewise.
+ * src/split.c (main): Likewise.
+ * src/uniq.c (main): Likewise.
+ * src/tail.c (main, parse_obsolescent_option): Likewise.
+ * src/unexpand.c (main): Likewise.
+
+ * src/od.c (STRINGS_OPTION, WIDTH_OPTION): Remove; no longer needed.
+ All uses changed back to the corresponding short options.
+ * src/pr.c (SEP_STRING_OPTION): Likewise.
+
+ * src/od.c (main): Parse options using POSIX 1003.1-2001 rules if
+ conforming to that standard. Do not warn of obsolete options.
+ * src/pr.c (main): Likewise.
+ * src/sort.c (main): Likewise.
+
+ * src/system.h (_POSIX2_VERSION, POSIX2_VERSION): Remove definitions.
+ (OPTARG_POSIX, OBSOLETE_OPTION_WARNINGS): Likewise.
+
+2002-02-16 Jim Meyering <meyering@lucent.com>
+
+ * tests/misc/split-a: New test for change of 2002-02-05.
+ * tests/misc/Makefile.am (TESTS): Add split-a.
+
+2002-02-12 Jim Meyering <meyering@lucent.com>
+
+ * src/split.c (DEFAULT_SUFFIX_LENGTH): Define constant.
+ (suffix_length): Use it here.
+ (usage): Use it here.
+
+2002-02-05 Paul Eggert <eggert@twinsun.com>
+
+ Change 'split' to conform to POSIX. It now accepts an -a or
+ --suffix-length option, and refuses to generate more files
+ than there are suffixes.
+
+ * NEWS, doc/coreutils.texi: Document this.
+ * src/split.c: Include "dirname.h".
+ (outbase): Now a global var.
+ (outfile_end): Remove.
+ (suffix_length): New var.
+ (shortopts, longopts, main): Add -a or --suffix-length.
+ (next_file_name): Implement -a. Do not extend the suffix length.
+ Check for file names that are too long.
+ (main): Move outfile initialization to next_file_name.
+
+ * src/split.c (shortopts): Remove -v (a typo).
+
+2002-02-11 Jim Meyering <meyering@lucent.com>
+
+ * tests/misc/head-pos: New file/test for the change of 2002-02-08.
+ * tests/misc/Makefile.am (TESTS): Add head-pos.
+
+ * src/tr.c (unquote): Make comment a little clearer.
+
+2002-02-08 Paul Eggert <eggert@twinsun.com>
+
+ * src/head.c (head_lines): If we have read too much data, try
+ to seek back to the position we would have gotten to had we
+ been reading one byte at a time. POSIX currently doesn't
+ require this, but it's easy to do and some software relies on it.
+
+2002-02-02 Jim Meyering <meyering@lucent.com>
+
+ * src/uniq.c (main): Prepend `warning: ' to the diagnostic, so it's
+ consistent with all of the other `... is obsolete...' diagnostics.
+
+2002-01-31 Paul Eggert <eggert@twinsun.com>
+
+ Add more support for POSIX 1003.1-2001, which requires removal for
+ support of obsolete "-N" option syntax in expand, head, fold,
+ split, tail, unexpand, uniq, and which prohibits options with
+ optional arguments in od and pr.
+
+ * NEWS: Document this.
+ * doc/coreutils.texi: Likewise.
+ * src/expand.c (usage): Likewise.
+ * src/fold.c (usage): Likewise.
+ * src/head.c (usage): Likewise.
+ * src/od.c (usage): Likewise.
+ * src/pr.c (usage): Likewise.
+ * src/split.c (usage): Likewise.
+ * src/unexpand.c (usage): Likewise.
+ * src/uniq.c (usage): Likewise.
+
+ * NEWS: Improve doc for previous fix in this area.
+
+ * src/expand.c (shortopts): New constant.
+ * src/od.c (short_options): Likewise.
+ * src/pr.c (short_options): Likewise.
+ * src/sort.c (short_options): Likewise.
+ * src/split.c (shortopts): Likewise.
+ * src/unexpand.c (shortopts): Likewise.
+ * src/uniq.c (shortopts): Likewise.
+
+ * src/expand.c (main): Check for obsolete options.
+ * src/fold.c (main): Likewise.
+ * src/head.c (main): Likewise.
+ * src/od.c (main): Likewise.
+ * src/pr.c (main): Likewise.
+ * src/sort.c (main): Likewise.
+ * src/split.c (main): Likewise.
+ * src/tail.c (parse_obsolescent_option, main): Likewise.
+ * src/unexpand.c (main): Likewise.
+ * src/uniq.c (main): Likewise.
+
+ * src/head.c (header_mode_option): New constant.
+
+ * src/od.c: New enum for long options.
+
+ * src/pr.c (SEP_STRING_OPTION): New enum value.
+ (long_options): Use it.
+
+ * src/split.c (main): Use -1, not EOF, for getopt_long.
+
+ * src/system.h (OPTARG_POSIX, OBSOLETE_OPTION_WARNINGS): New macros.
+
+ * src/fold.c (main): Fix bug: -- -N was treated as -N --.
+
+2002-02-01 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (start_lines): Handle the case in which bytes_read is zero.
+
+2002-01-28 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (ac-check): Remove, now that we no longer have
+ to duplicate that information.
+ (local-check): Remove ac-check.
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d.
+
+ * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro.
+ (ALL_LINGUAS): Add the bokmål dialect of Norwegian (nb).
+
+2002-01-27 Jim Meyering <meyering@lucent.com>
+
+ tail -n +2 would perform an extra read after encountering EOF
+ * src/tail.c (start_lines): Detect EOF, inform caller.
+ (tail_lines): Upon EOF in start_lines, return immediately.
+
+2002-01-22 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.20.
+
+2002-01-22 Paul Eggert <eggert@twinsun.com>
+
+ * src/od.c (skip): Remove redundant check for overflow.
+ fseeko's seek argument is already known to be in range,
+ since it is less than the file size.
+
+2002-01-22 Jim Meyering <meyering@lucent.com>
+
+ * po/POTFILES.in: Add lib/xmemcoll.c.
+
+2002-01-22 Paul Eggert <eggert@twinsun.com>
+
+ * src/tac.c (save_stdin): Report proper errno value after
+ fwrite failures. Do not bother to rewind the temp file, as
+ it'll be read backwards anyway.
+
+2002-01-22 Paul Eggert <eggert@twinsun.com>
+
+ * src/ptx.c (swallow_file_in_memory): Work even if `open' returns 0.
+ Check for `close' error.
+
+2002-01-22 Paul Eggert <eggert@twinsun.com>
+
+ Port to glibc 2.2.5, whose mmap stdio positions the underlying
+ file descriptor at a nonzero offset after an fopen.
+
+ * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
+ * src/od.c (skip): Use fseeko rather than lseek.
+ (Also, check for overflow when converting uintmax_t to off_t.)
+ * src/sys2.h (EOVERFLOW, fseeko): New macros.
+
+2001-01-21 Paul Eggert <eggert@twinsun.com>
+
+ * src/comm.c: Include xmemcoll.h, not memcoll.h.
+ Use xmemcoll instead of memcoll.
+ * src/join.c: Likewise.
+ * src/sort.c: Likewise.
+
+ * src/sort.c (die): Do not invoke cleanup; atexit does this now.
+ (main): Use atexit to invoke cleanup on exit.
+ Set xmemcoll_exit_failure to SORT_FAILURE.
+
+2002-01-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/comm.c (compare_files): Don't assume that the difference
+ between two size_t values can be stored in an int; this doesn't
+ work, for example, on 64-bit Solaris.
+ * src/sort.c (CMP_WITH_IGNORE): Likewise.
+ * src/join.c (keycmp): Likewise. Also, fix the type of two locals
+ to be size_t instead of int.
+
+2002-01-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/csplit.c: Don't include "xalloc.h", as system.h already
+ does that via sys2.h.
+ * src/sort.c: Likewise.
+
+2002-01-19 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Remove code that set LIBOBJS in support of ansi2knr.
+ The latest version of autoconf objected to it, and besides, I don't
+ care too much about K&R support these days.
+
+2002-01-18 Jim Meyering <meyering@lucent.com>
+
+ Fix tr so it no longer gets a failed assertion for [::] or [==].
+
+ * src/tr.c (xmemdup): Rename from `substr' and rewrite to
+ take only pointer/length parameters.
+ (build_spec_list): Update sole caller.
+ Properly diagnose the invalid specs [::] and [==].
+ Pawel Prokop reported that `tr '[::]' x' elicits a failed assertion.
+ * tests/tr/Test.pm: Add tests for the above fix.
+
+2002-01-14 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (main): Issue a warning for obsolete usage, unless
+ POSIXLY_CORRECT.
+ * src/tail.c (parse_obsolescent_option): Likewise.
+ * src/uniq.c (main): Likewise.
+
+2002-01-14 Paul Eggert <eggert@twinsun.com>
+
+ Add support for POSIX 1003.1-2001, which requires removal for
+ support of obsolete "+" option syntax in sort, tail, and uniq.
+
+ * NEWS: Document this.
+
+ * src/sort.c (usage, main): Implement this.
+ * src/tail.c (usage, parse_obsolescent_option): Likewise.
+ * src/uniq.c (usage, main): Likewise.
+ * src/system.h (_POSIX2_VERSION, POSIX2_VERSION): New macros.
+
+ * src/sys2.h (ISDIGIT, S_ISVTX, S_IXUGO): Comment fix.
+
+2002-01-14 Jim Meyering <meyering@lucent.com>
+
+ * tests/misc/sort: New test, for just-fixed bug.
+ * tests/misc/Makefile.am (TESTS): Add sort.
+ (TESTS_ENVIRONMENT): Add PROG=$$tst. This is a gross kludge
+ that depends on the name of an automake-generated local variable.
+
+2002-01-13 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (mergefps): Fix bug when eliminating empty files.
+ Bug reported by James Hutt.
+
+2002-01-13 Jim Meyering <meyering@lucent.com>
+
+ * tests/help-version: Tweak to work with the programs in diffutils.
+
+2002-01-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Turkish (tr).
+
+2001-12-18 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (usage, specify_sort_size): Accept 'K' (which is
+ now preferred, as it connotes 1024) as well as 'k'.
+ * NEWS: Document this change.
+
+2001-12-17 Jim Meyering <meyering@lucent.com>
+
+ * src/uniq.c (usage): Remove stray `)' in --help output.
+ Reported by Padraig Brady.
+
+ * Makefile.maint (real_dir): Remove unused variable.
+ (url_dir_list): Don't set define it here, but...
+ * Makefile.cfg (url_dir_list): ...define it here instead.
+ (hosts, a_host, b_host): Remove now-unused variables.
+ (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables.
+
+2001-12-12 Bruno Haible <bruno@clisp.org>
+ Paul Eggert <eggert@twinsun.com>
+
+ * src/wc.c (wc): Use ISSPACE and iswspace in addition to hard-coding
+ the ASCII space character.
+
+2001-12-08 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.19.
+
+ * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's
+ no longer available at that location.
+
+2001-12-03 Jim Meyering <meyering@lucent.com>
+
+ * src/od.c, src/tail.c, src/tr.c (usage): I will not split translatable
+ strings in the middle of a sentence. I will not split translatable
+ strings in the middle of a sentence. I will not split translatable
+ strings in the middle of a sentence. ...
+ * src/join.c (usage): Merge lone "\n" into adjacent string.
+ * src/md5sum.c (usage): Likewise.
+ * src/paste.c (usage): Likewise.
+ Reported by Karl Eichwalder.
+
+2001-12-02 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (emit-upload-commands): Fix typo: s/distdir/PACKAGE/.
+
+2001-12-01 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.18.
+
+ * Makefile.maint (po-check): Check for uses of _() not just in .c
+ files, but also in .h files.
+
+ Ideally, there would be just one translation for all --help
+ and --version description strings. Before this change, they
+ differed only in the number of blanks between the option name
+ and the description. Someday gettext may be smart enough
+ to merge such strings and to reconstruct the proper spacing at
+ run time. In the mean time, now there is one string for each,
+ and those descriptions in the --help output are no longer aligned
+ with the others.
+ * src/sys2.h (HELP_OPTION_DESCRIPTION): New macro.
+ (VERSION_OPTION_DESCRIPTION): New macro.
+ * src/cat.c, src/cksum.c, src/comm.c, src/csplit.c, src/cut.c:
+ * src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/join.c:
+ * src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c, src/ptx.c:
+ * src/sort.c, src/split.c, src/sum.c, src/sys2.h, src/tac.c:
+ * src/tail.c, src/tr.c, src/tsort.c, src/unexpand.c, src/uniq.c:
+ * src/wc.c (usage): Use new macros, HELP_OPTION_DESCRIPTION and
+ VERSION_OPTION_DESCRIPTION instead of hard-coding --help and
+ --version descriptions.
+ * po/POTFILES.in: Add src/sys2.h.
+
+2001-11-27 Jim Meyering <meyering@lucent.com>
+
+ * src/system.h (SET_MODE) [O_BINARY]: Call setmode, not set_mode.
+ From Matthew Smith.
+
+2001-11-26 Jim Meyering <meyering@lucent.com>
+
+ * src/cat.c (cat): Don't test whether the full_write return value
+ (of type size_t) is less than 0. Reported by Nelson H. F. Beebe,
+ as a warning from Irix 6.5's C compiler.
+
+2001-11-25 Jim Meyering <meyering@lucent.com>
+
+ * src/cksum.c (usage): Indent --help and --version strings to
+ start in the 7th column.
+ * src/pr.c (usage): Likewise.
+
+2001-11-23 Jim Meyering <meyering@lucent.com>
+
+ Factor out some common strings to make translation easier.
+
+ * cat.c, cksum.c, comm.c, csplit.c, cut.c, expand.c, fmt.c, fold.c:
+ * head.c, join.c, md5sum.c, nl.c, od.c, paste.c, pr.c, ptx.c:
+ * sort.c, split.c, sum.c, tac.c, tail.c, tr.c, tsort.c, unexpand.c:
+ * uniq.c, wc.c: Split usage strings so that --help and --version
+ descriptions are alone in their own string.
+ Likewise for the one that says ``Mandatory arguments to long
+ options are mandatory for short options too.''
+ Suggestion from Karl Eichwalder.
+
+ * src/ptx.c (main): Don't split copyright string in the middle
+ of a sentence.
+
+2001-11-22 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.17.
+
+ csplit could get a failed assertion: printf 'a\n\n'|csplit - '/^$/' 2
+ * src/csplit.c: No longer include assert.h.
+ (process_line_count): Remove invalid assertion. The test that caused
+ the failure has been in the code since before 1992-11-08, but since
+ 1996 it's been in an assertion. That assertion was disabled by default
+ until textutils-1.22g (1999-01-10). Reported by Eric Pemente.
+
+ * tests/misc/csplit: New file. Test for the above fix and others.
+ * tests/misc/Makefile.am (TESTS): Add csplit.
+ * tests/Makefile.am (EXTRA_DIST): Add lang-default.
+
+2001-11-19 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (xlseek): New function.
+ Call it instead of lseek, in most cases, so any failure is reported.
+
+2001-11-18 Jim Meyering <meyering@lucent.com>
+
+ * config.sub: Update from master repository.
+ * config.guess: Likewise.
+
+2001-11-17 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.cfg ($(srcdir)/m4/jm-glibc-io.m4): Use $(move_if_change),
+ not the literal `move-if-change'.
+
+ * src/tail.c (tail_forever): Add a cast.
+
+ Avoid compiler warnings.
+ * src/fmt.c: Remove `unsigned' attribute from type of global `prefix'.
+ (copy_rest): Cast to (unsigned char *) before dereferencing.
+ (get_prefix): Likewise.
+
+ * configure.ac: Replace use of the one-arg form of AC_INIT
+ with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR.
+
+2001-11-14 Paul Eggert <eggert@twinsun.com>
+
+ * src/tail.c (file_lines): Remove unnecessary cast.
+ (tail_lines): Could have called file_lines even though the first
+ lseek failed. Fix that.
+
+2001-11-14 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (file_lines): Add a parameter, start_pos.
+ Work properly even when the read pointer is not at beginning of file.
+ (tail_lines): Call file_lines for any regular file, as long as lseek
+ can be used to seek to its end, not just when the initial read pointer
+ is at beginning of file.
+
+2001-11-13 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (tail_lines): Move declaration of local `length'
+ into scope where it's used.
+ (tail_file): Likewise for local `stats'.
+
+ * tests/tail-2/Makefile.am (TESTS): Add proc-ksyms and start-middle.
+ * tests/tail-2/start-middle: New test, for the bug fixed on 1995-07-24.
+
+ `tail /proc/ksyms' would segfault on Linux.
+ * src/tail.c (tail_lines): Use status of lseek (...SEEK_END) call
+ in deciding whether to call file_lines or pipe_lines.
+ From Herbert Xu.
+ * tests/tail-2/proc-ksyms: New test, for the above fix.
+
+2001-11-11 Jim Meyering <meyering@lucent.com>
+
+ * src/od.c (struct tspec): Declare function pointer with prototype.
+
+ * src/sum.c (main): Declare function pointer with prototype.
+
+ * src/tsort.c (count_items): Mark parameter as unused.
+
+ * src/sort.c (struct_month_cmp): Guard definition with the same
+ cpp condition that guards the use.
+
+ * src/tail.c (xwrite): Remove assertion that size_t N >= 0.
+
+ * src/pr.c (struct COLUMN) [print_func]: Declare with a protype.
+ (struct COLUMN) [char_func]: Declare with a protype.
+
+ * src/od.c (parse_old_offset): Declare to be static.
+
+ * src/join.c (make_blank): Declare to be static.
+ (prfield): Declare local to be of type size_t, not int.
+
+ Some help strings were very long. Split them so that
+ they're no longer than the magic length 509 that ISO C89
+ compilers are required to support. Sorry, translators :-(
+
+ * src/md5sum.c (usage): Split --help output into smaller pieces.
+ * src/ptx.c (main, usage): Likewise.
+ * src/fmt.c (usage): Likewise.
+
+ * src/wc.c (usage): Split --help output into smaller pieces.
+ Use fputs, not printf.
+ * src/cat.c (usage): Likewise.
+ * src/cut.c (usage): Likewise.
+ * src/csplit.c (usage): Likewise.
+ * src/expand.c (usage): Likewise.
+ * src/head.c (usage): Likewise.
+ * src/join.c (usage): Likewise.
+ * src/nl.c (usage): Likewise.
+ * src/od.c (usage): Likewise.
+ * src/pr.c (usage): Likewise.
+ * src/sort.c (usage): Likewise.
+ * src/split.c (usage): Likewise.
+ * src/tac.c (usage): Likewise.
+ * src/tr.c (usage): Likewise.
+ * src/unexpand.c (usage): Likewise.
+ * src/uniq.c (usage): Likewise.
+ * src/tail.c (usage): Likewise.
+
+ * src/sys2.h (alloca) [__GNUC__]: Define only if not already defined.
+
+ * src/Makefile.am (sort_LDADD): Reflect spelling change:
+ s/POW_LIBM/POW_LIB/.
+
+2001-11-10 Jim Meyering <meyering@lucent.com>
+
+ * src/nl.c (proc_text): Use `puts' to output a string of spaces,
+ not printf. This avoids a warning from gcc's -Wformat-security.
+
+2001-11-09 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no
+ arguments.
+
+2001-11-05 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (usage): Don't recommend setting LC_COLLATE=C.
+ That can cause problems (now documented in coreutils.texi).
+
+2001-11-04 Jim Meyering <meyering@lucent.com>
+
+ * uniq.c, unexpand.c, tail.c, tac.c, split.c, sort.c, pr.c, paste.c:
+ * od.c, nl.c, head.c, fold.c, expand.c, cut.c, csplit.c (usage):
+ Say that ``Mandatory arguments to long options are mandatory for
+ short options too.''
+
+ * src/ptx.c (usage): Add one-line description.
+
+2001-10-28 Jim Meyering <meyering@lucent.com>
+
+ * tests/sum/sysv: New test for the fix below.
+ * tests/sum/Makefile.am (TESTS): Add sysv.
+
+2001-10-27 Paul Eggert <eggert@twinsun.com>
+
+ * src/sum.c: Include human.h.
+ (ROTATE_RIGHT): Remove; it was slow and the comment was
+ misleading anyway.
+ (bsd_sum_file): Avoid unsigned and long when they're not needed.
+ Compute total input bytes as uintmax_t, not long, so that the
+ code works even with files whose size does not fit in 'long'.
+ (sysv_sum_file): Likewise.
+ (sysv_sum_file): Do not reduce checksum until the end; this is
+ what System V does.
+ Reported by Nick Lawes.
+
+2001-10-27 Jim Meyering <meyering@lucent.com>
+
+ Give an accurate diagnostic when `head --bytes=30M' fails.
+ * src/head.c (string_to_integer): Check explicitly for overflow,
+ and lump everything else together as `invalid'.
+
+2001-10-04 Jim Meyering <meyering@lucent.com>
+
+ Rename --all-repeated argument `precede' to `prepend'.
+ * src/uniq.c (enum delimit_method): s/DM_PRECEDE/DM_PREPEND/
+ and change all uses.
+ (delimit_method_string): s/precede/prepend/
+ * tests/uniq/Test.pm: Adjust tests accordingly.
+ Patches by Padraig Brady.
+
+ * src/uniq.c (usage): Correct typo in description of --all-repeated.
+ Patch by Padraig Brady.
+
+2001-09-30 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.16.
+
+ tail -F would segfault
+ * src/tail.c (parse_options): Add missing `break;' from last change.
+
+2001-09-28 Jim Meyering <meyering@lucent.com>
+
+ * configure.ac: Tell automake to use the file name `config.hin'
+ rather than the two-`.' config.h.in.
+
+2001-09-26 Jim Meyering <meyering@lucent.com>
+
+ * man/Makefile.am (common_dep): Define it, so we depend on configure.ac.
+
+ * configure.ac: Renamed from configure.in.
+
+2001-09-25 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (sort_DEPENDENCIES): Remove definition altogether.
+ It adds nothing to the existing: $(PROGRAMS): ../lib/libfetish.a.
+
+2001-09-24 Paul Eggert <eggert@twinsun.com>
+
+ * src/Makefile.am (sort_DEPENDENCIES): Depend only on
+ ../lib/libfetish.a, not on $(LDADD), since the latter may
+ contain `-lintl'. This resembles yesterday's patch for the
+ `$(PROGRAMS)' rule.
+
+2001-09-23 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.15.
+
+ * src/Makefile.am ($(PROGRAMS)): Depend only on ../lib/libfetish.a,
+ not on $(LDADD), since the former may contain `-lintl'.
+
+ * Makefile.am (SUBDIRS): When using newer gettext (in which
+ intl/libintl.h is created by rules intl/Makefile)
+ `intl' must precede `lib'.
+
+2001-09-22 Jim Meyering <meyering@lucent.com>
+
+ * ABOUT-NLS: Upgrade to gettext 0.10.40
+ * intl: Upgrade entire directory to gettext 0.10.40
+ * po/ChangeLog: New file.
+
+ * Makefile.am (DISTCLEANFILES): Remove definition, since intl/libintl.h
+ is no longer created via configure.
+
+ * tests/od/od-N: New test for the 2001-09-19 fix by Ian Bruce.
+ * tests/od/Makefile.am: New file.
+ * tests/od: New directory.
+ * tests/Makefile.am (SUBDIRS): Add od.
+ * configure.in (AC_OUTPUT): Add tests/od/Makefile.
+
+2001-09-19 Paul Eggert <eggert@twinsun.com>
+
+ * src/od.c (MAX_ADDRESS_LENGTH, pseudo_offset, format_address,
+ n_bytes_to_skip, skip, format_address_none,
+ format_address_std, format_address_paren,
+ format_address_label, write_block, parse_old_offset, dump,
+ dump_strings, main):
+ Use uintmax_t, not off_t, for file addresses, so that we can
+ handle multiple large files even if the sum of their sizes
+ exceeds off_t limits.
+
+ (print_s_char, print_char, print_s_short, print_short,
+ print_int, print_long, print_long_long, print_float,
+ print_double, print_long_double, dump_hexl_mode_trailer,
+ print_named_ascii, print_ascii, decode_one_format):
+ Use size_t, not off_t, for in-memory byte counts.
+
+ (end_offset): New var.
+ (dump, dump_strings): Use it.
+ (main): Set it, but check for overflow while doing so.
+
+ (skip): Report an error if an in-range lseek fails on a
+ regular file, as something's seriously wrong. Check for
+ negative regular file sizes (possible with some broken NFS
+ implementations).
+
+ (parse_old_offset): Now all offsets are valid, so return a
+ success boolean and take a pointer to an offset as an argument.
+ All callers changed.
+
+ (dump_strings): Check for overflow when computing end_offset -
+ string_min.
+
+ (main): Remove OFF_T_MAX checks that are no longer needed.
+ Don't bother assigning through temporary when there's no size
+ limit to check.
+
+2001-09-19 Jim Meyering <meyering@lucent.com>
+
+ * src/od.c (open_next_file): Use SETVBUF, not setbuf.
+ (skip): Revert part of last change: use lseek, not fseek.
+
+ When --read-bytes=N (-N N) is used, disable input buffering in
+ the standard I/O library. Otherwise, od would read more input
+ than requested. This could have caused problems when reading
+ from pipes, character devices, or open file descriptors inherited
+ from a parent process.
+
+ * src/od.c (open_next_file): New function, factored out of...
+ (skip): Adapt to use open_next_file.
+ (read_char): Likewise.
+ (read_block): Likewise.
+ (main): Likewise.
+ (dump): Fix an off-by-one error that could have made od fail to
+ report a read error when reading from a named file (not stdin).
+ (check_and_close): Account for the fact that in_stream may now be NULL.
+ (usage): Correct descriptions of -j and -N options.
+ Patch by Ian Bruce.
+
+2001-09-16 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5.
+
+ * man/Makefile.am: Revamp this file, as for fileutils.
+
+ * src/md5sum.c (digest_check): On systems for which setmode actually
+ does something, arrange to read the file containing checksum strings
+ in text mode. Based on a patch from Chris Faylor.
+ * src/system.h (SET_MODE): Define.
+
+2001-09-12 Jim Meyering <meyering@lucent.com>
+
+ The command `echo a|./fmt -2147483647' would cause fmt to segfault.
+ * src/fmt.c (fmt_paragraph): Test for sentinal directly, rather than
+ doing arithmetic with it's potentially large (INT_MAX) length.
+ * tests/fmt/basic: Add tests for the above.
+
+ tail: accept new option: -F, equivalent to `--follow=name --retry',
+ for compatibility with FreeBSD and NetBSD versions of tail.
+
+ * src/tail.c (usage): Describe new option.
+ (parse_options): Accept it.
+ Patch by Christian Kurz, via Herbert Xu.
+
+ The command `echo foo|fmt -w N' for N>=32K would cause fmt to segfault.
+
+ * src/fmt.c [struct Word]: Declare members length, space, and
+ line_length to be of type `int', not short.
+ (MAXCOST): Define using TYPE_MAXIMUM.
+ Reported by Herbert Xu.
+
+2001-08-31 Jim Meyering <meyering@lucent.com>
+
+ * src/fmt.c (bool): Remove typedef, now that it's in system.h.
+ (TRUE): Define to `true', not 1.
+ (FALSE): Define to `false', not 0.
+
+2001-08-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/cat.c: Include full-write.h.
+ (full_write): Remove decl; not needed.
+ * src/split.c: Likewise.
+
+ * src/cat.c (simple_cat, cat):
+ Don't assume read and write size fits in int.
+
+2001-08-28 Jim Meyering <meyering@lucent.com>
+
+ * src/fmt.c (main): Correct the diagnostic for invalid argument to -w.
+ (main): Diagnose an invalid, old-style width option.
+
+2001-08-27 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint: Undo last change. Instead, simply remove `N_(',
+ since the `Copyright ...' line should not be translated.
+
+2001-08-26 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (copyright-check): Update to reflect fact that
+ the copyright year is now defined separately.
+
+2001-08-08 Charles Randall <crandall@matchlogic.com>
+
+ * src/sort.c (mergefps): Do not allocate at least sort_size
+ bytes for each merge buffer. Instead, allocate at least
+ sort_size bytes total.
+
+2001-08-25 Jim Meyering <meyering@lucent.com>
+
+ * tests/uniq/Test.pm: Re-enable some commented-out tests.
+
+2001-08-25 Paul Eggert <eggert@twinsun.com>
+
+ * src/uniq.c (main): Fix a typo in the previous patch: missing
+ a bounds check for examples like `uniq a b c'.
+
+ * uniq.c (main): Fix some more incompatibilities with POSIX.2,
+ (e.g. `uniq +3 --' did not work) by invoking getopt_long with
+ leading '-', resembling what was done to 'sort' on 2001-03-20.
+ Recognize an +N option only if it is an integer in range, and
+ (if POSIXLY_CORRECT) only if a file name argument has not been seen;
+ otherwise silently treat it as a file name.
+
+ If the user specifies too many operands, output the first one
+ in the error message, as a diagnostic aid.
+
+2001-08-24 Paul Eggert <eggert@twinsun.com>
+
+ * src/uniq.c (main): Don't report an error when given the
+ valid options `+3 -d'.
+
+2001-08-24 Paul Eggert <eggert@twinsun.com>
+
+ * src/uniq.c (different): Don't assume that lengths can fit
+ into size_t. Tune code for the common case where the line
+ lengths differ: we avoid comparing them entirely in that case.
+
+2001-08-25 Jim Meyering <meyering@lucent.com>
+
+ * tests/uniq/Test.pm: Add tests for -s 0 and -w 0.
+
+2001-08-24 Paul Eggert <eggert@twinsun.com>
+
+ Remove arbitrary restrictions on sizes, fixing a bug reported
+ by Geoff Whale.
+
+ * src/uniq.c (skip_fields, skip_chars, check_chars): Now size_t,
+ not int.
+ (size_opt): New function. Do not arbitrarily reject size zero.
+ Change the wording of the error message slightly, for convenience.
+ (find_field): Use size_t, not int, to compute sizes.
+ (different, main): check_chars==0 is no longer a special case, as
+ it defaults to SIZE_MAX.
+ (main): Check for overflow with args like -234234234234234.
+ Use 'size_opt' to convert optional arguments to sizes.
+
+2001-08-25 Jim Meyering <meyering@lucent.com>
+
+ * tests/uniq/Test.pm: Add new test, #54, for the just-fixed bug.
+
+2001-08-24 Paul Eggert <eggert@twinsun.com>
+
+ * src/uniq.c (find_field): Don't count trailing newline to be
+ part of the field. This disagrees with POSIX.2, but it's
+ gotta be a bug in the standard. An interpretations request
+ has been submitted to PASC.
+ Reported by Geoff Whale.
+
+2001-08-18 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint: Merge in changes from autoconf.
+
+ * Makefile.maint ($(v_etc_file)): Define.
+ (copyright-check): Use the new variable.
+ (my-distcheck): Depend on local-check so those checks are once
+ again run by `make distcheck'.
+
+ * src/head.c (head_bytes): Read no more than the specified
+ number of bytes. Patch by Ian Bruce.
+
+ * tests/misc/head-c: New test for the above.
+ * tests/misc/Makefile.am: New file.
+ * tests/misc: New directory.
+ * tests/Makefile.am (SUBDIRS): Add misc.
+ * configure.in (AC_OUTPUT): Add tests/misc/Makefile.
+
+2001-08-14 Jim Meyering <meyering@lucent.com>
+
+ * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include
+ the new, generated file, unlocked-io.h.
+
+2001-08-13 Jim Meyering <meyering@lucent.com>
+
+ * src/cat.c (AUTHORS): Mark string for translation, since it
+ contains the English word `and'.
+ * src/comm.c: Likewise
+ * src/csplit.c: Likewise
+ * src/cut.c: Likewise
+ * src/md5sum.c: Likewise
+ * src/nl.c: Likewise
+ * src/paste.c: Likewise
+ * src/pr.c: Likewise
+ * src/sort.c: Likewise
+ * src/split.c: Likewise
+ * src/sum.c: Likewise
+ * src/tac.c: Likewise
+ * src/uniq.c: Likewise
+ * src/wc.c: Likewise
+
+2001-08-12 Jim Meyering <meyering@lucent.com>
+
+ * tests/mk-script ($program_name): Define.
+ (main): Use $program_name, rather than long-inaccurate `build-script'.
+ (main): Iterate over the sorted keys (rather than `while...each...'),
+ so this script produces the same output regardless of which version
+ of perl (e.g., perl5.6) is used.
+
+2001-08-04 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (EXTRA_DIST): Add Makefile.cfg.
+
+ * man/Makefile.am (EXTRA_DIST): Remove duplicate definition.
+
+2001-07-08 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (usage): Reformat so help2man generates a properly
+ indented man page. Patch by Herbert Xu.
+
+2001-07-04 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.cfg: New file with package-specific definitions.
+ * Makefile.am (EXTRA_DIST): Add Makefile.cfg.
+
+2001-07-01 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (usage): Suggest setting LC_COLLATE=C, rather
+ than LC_ALL=C.
+
+2001-06-10 Jim Meyering <meyering@lucent.com>
+
+ * tests/sort/Test.pm: Add a test based on a report from Herbert Xu.
+
+2001-05-20 Jim Meyering <meyering@lucent.com>
+
+ * src/uniq.c: Rename new option values: s/all/precede/ and
+ s/minimum/separate/.
+ * tests/uniq/Test.pm: Reflect the above renamings.
+
+2001-05-12 Bruno Haible <haible@clisp.cons.org>
+
+ * src/tail.c (parse_obsolescent_option): Accept a b suffix.
+
+2001-05-19 Jim Meyering <meyering@lucent.com>
+
+ msgmerge-0.10.37 complains about some `invalid multibyte sequences.'
+ * po/el.po: Remove the offending entries.
+ * po/ko.po: Likewise.
+ * po/zh.po: Likewise.
+
+2001-05-19 Jim Meyering <meyering@lucent.com>
+
+ Support new modes for uniq's --all-repeated option.
+ The default behavior is unchanged.
+
+ * src/uniq.c: Include argmatch.h.
+ (usage): Update.
+ (check_file): Implement it.
+ (main): Handle new, optional arguments.
+ * tests/uniq/Test.pm: New tests for the above.
+ Patch by Padraig Brady.
+
+2001-05-12 Bruno Haible <haible@clisp.cons.org>
+
+ * src/tail.c (parse_obsolescent_option): Use t_count_lines, not
+ count_lines, in error message.
+
+2001-05-05 Jim Meyering <meyering@lucent.com>
+
+ * src/comm.c (usage): Correct description of -3.
+ Reported by Soeren Sonnenburg.
+
+2001-04-22 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.14.
+
+ * configure: Regenerate using a patched copy of autoconf-2.49e to
+ work around a bug in its test for a working memcmp function.
+
+2001-03-28 Paul Eggert <eggert@twinsun.com>
+
+ * src/cksum.c: Fix bugs when computing length of large files.
+ Add overflow and write error checks. Use uint_fast32_t, not
+ unsigned long, to do checksum calculation, as C99 says
+ uint_fast32_t should be no slower and might be faster.
+
+ Include <stdio.h> and "system.h" even if CRCTAB is defined,
+ so that the code will compile if CRCTAB is defined.
+ Include "human.h" if CRCTAB is not defined.
+ (uint_fast32_t): Define if it appears that stdint.h didn't.
+ (BIT, remainder, main, crctab): Use uint_fast32_t, not unsigned long,
+ for checksums.
+ (fill_r, remainder, main): Use ANSI prototypes.
+ (fill_r, remainder, main): Omit duplicate code.
+ (main): Use uintmax_t, not unsigned long, for file lengths.
+ Use size_t, not long, for result of fread.
+ Check for overflow when computing file lengths.
+ Check for write error immediately after printing a line, so that
+ we don't write to stdout indefinitely after an error.
+
+2001-04-14 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (default_sort_size): Leave a 1/16 margin for RSS.
+ Suggestion from Solar Designer.
+
+2001-04-14 Jim Meyering <meyering@lucent.com>
+
+ * src/wc.c (usage): Tweak --help output: s/line,/newline,/
+
+2001-04-13 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (main): Add a comment justifying the use of
+ `multi-character' rather than `multibyte' in a diagnostic.
+ From Paul Eggert.
+
+2001-04-12 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (RLIMIT_AS): Do not define; just use conditional
+ code, since RLIMIT_RSS is similar (and is not standardized).
+ (default_sort_size): Don't allocate more than the RSS limit,
+ if this host has such a limit.
+
+2001-03-20 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/textutils.texi: sort now accepts long options and
+ checks POSIX option syntax.
+
+ * doc/textutils.texi: Document --, -, sort long options, and
+ sort -o after files.
+
+ * src/sort.c: Include <getopt.h>.
+ (usage, main): Add support for long options, and check option
+ syntax as POSIX requires, though (as usual for GNU apps)
+ options can follow file names unless POSIXLY_CORRECT is set.
+ Many diagnostic revamped.
+ (long_options): New constant.
+ (badfieldspec): New arg MSGID. Mark as noreturn.
+ (parse_field_count): New arg MSGID; if null, just return null on error.
+ (new_key): Renamed from key_init. All callers changed. Now allocates
+ the new key.
+
+2001-03-18 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.13.
+
+ * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL
+ to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a
+ suggestion from Eli Zaretskii.
+
+2001-03-17 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c, src/tail.c, src/uniq.c (usage):
+ Warn that the +N form will be withdrawn.
+ * doc/textutils.texi: Likewise.
+
+2001-03-08 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/textutils.texi: Document pr changes.
+
+ * src/pr.c: Include mbswidth.h.
+ (standard_header, header, test_suite): Remove.
+ (date_format, date_text, file_text, header_width_available): New vars.
+ (long_options, main, init_header, usage):
+ Add new -D or --date-format option.
+ (CHARS_FOR_DATE_AND_PAGE, T_BUF_FMT, T_BUF_SIZE, NO_DATE): Remove.
+ (init_header): Allow arbitrary width for date format. Change
+ "Page %5d" to "Page %d", since the code no longer assumes fixed width.
+ Do not assume that localtime succeeds.
+ (init_header, print_header, usage): Do not truncate headers.
+ (init_header, print_header): Defer width calculations until
+ page is printed, since "Page 100000" is wider than "Page 1".
+ Count columns, not bytes, in page headers.
+ Custom headers take up only the center, not the whole header.
+ (print_header): Use printf rather than fprintf(stdout).
+
+ * po/Makefile.in.in (install-data-yes): Install LC_TIME locale
+ for all packages, not just for fileutils.
+ (uninstall): Remove LC_TIME locale too.
+
+ * src/sys2.h (INT_STRLEN_BOUND): New macro.
+
+ * tests/pr/0F, tests/pr/0FF, tests/pr/2-S_f-t_notab,
+ tests/pr/2-Sf-t_notab, tests/pr/2f-t_notab,
+ tests/pr/2s_f-t_notab, tests/pr/2s_w60f-t_nota,
+ tests/pr/2sf-t_notab, tests/pr/2sw60f-t_notab,
+ tests/pr/2w60f-t_notab, tests/pr/3-0F, tests/pr/3-5l17f-t,
+ tests/pr/3-FF, tests/pr/3a2l17-FF, tests/pr/3a3f-0F,
+ tests/pr/3a3l15-t, tests/pr/3a3l8f-t, tests/pr/3b2l17-FF,
+ tests/pr/3b3f-0F, tests/pr/3b3f-0FF, tests/pr/3b3f-FF,
+ tests/pr/3b3l15-t, tests/pr/3b3l8f-t, tests/pr/3f-0F,
+ tests/pr/3f-FF, tests/pr/3l17f-t, tests/pr/3l24-t,
+ tests/pr/3ml17f-t, tests/pr/3ml24-FF, tests/pr/3ml24-t,
+ tests/pr/3ml24-t-FF, tests/pr/4-7l24-FF, tests/pr/4l24-FF,
+ tests/pr/a2l15-FF, tests/pr/a2l17-FF, tests/pr/a3-0F,
+ tests/pr/a3f-0F, tests/pr/a3f-0FF, tests/pr/a3f-FF,
+ tests/pr/a3l15-t, tests/pr/a3l17f-lm, tests/pr/a3l8f-t,
+ tests/pr/b2l15-FF, tests/pr/b2l17-FF, tests/pr/b3-0F,
+ tests/pr/b3f-0F, tests/pr/b3f-0FF, tests/pr/b3f-FF,
+ tests/pr/b3l15-t, tests/pr/b3l17f-lm, tests/pr/b3l8f-t,
+ tests/pr/FF, tests/pr/Ja3l17f-lm, tests/pr/Jb3l17f-lm,
+ tests/pr/Jml17f-lm-lo, tests/pr/l17f-t, tests/pr/l24-FF,
+ tests/pr/l24-t, tests/pr/ml17f-0F, tests/pr/ml17f-lm-lo,
+ tests/pr/ml17f-t, tests/pr/ml17f-t-0F, tests/pr/ml20-FF-t,
+ tests/pr/ml24-FF, tests/pr/ml24-t, tests/pr/ml24-t-FF,
+ tests/pr/n+2-5l17f-0FF, tests/pr/n+2l17f-0FF,
+ tests/pr/n+2l17f-bl, tests/pr/n+3-7l24-FF,
+ tests/pr/n+3l17f-0FF, tests/pr/n+3l17f-bl,
+ tests/pr/n+3ml13f-bl-FF, tests/pr/n+3ml17f-bl-tn,
+ tests/pr/n+3ml17f-tn-bl, tests/pr/n+4-8a2l17-FF,
+ tests/pr/n+4b2l10f-0FF, tests/pr/n+5-8b3l10f-FF,
+ tests/pr/n+5a3l6f-0FF, tests/pr/n+6a2l17-FF,
+ tests/pr/n+6b3l6f-FF, tests/pr/n+7l24-FF,
+ tests/pr/n+8l20-FF, tests/pr/nJml17f-lmlmlo,
+ tests/pr/nJml17f-lmlolm, tests/pr/nl17f-bl,
+ tests/pr/nN1+3l17f-bl, tests/pr/nN15l17f-bl,
+ tests/pr/nSml13-bl-FF, tests/pr/nSml13-t-t-FF,
+ tests/pr/nSml13-t-tFFFF, tests/pr/nSml17-bl-FF,
+ tests/pr/nSml17-t-t-FF, tests/pr/nSml17-t-tFFFF,
+ tests/pr/o3a3l17f-tn, tests/pr/o3a3Sl17f-tn,
+ tests/pr/o3a3Snl17f-tn, tests/pr/o3b3l17f-tn,
+ tests/pr/o3b3Sl17f-tn, tests/pr/o3b3Snl17f-tn,
+ tests/pr/o3Jml17f-lm-lo, tests/pr/o3ml17f-bl-tn,
+ tests/pr/o3mSl17f-bl-tn, tests/pr/o3mSnl17fbltn,
+ tests/pr/Test.pm, tests/pr/W-72l17f-ll, tests/pr/W20l17f-ll,
+ tests/pr/W26l17f-ll, tests/pr/W27l17f-ll,
+ tests/pr/W28l17f-ll, tests/pr/W35a3l17f-lm,
+ tests/pr/W35b3l17f-lm, tests/pr/W35Ja3l17f-lm,
+ tests/pr/W35Jb3l17f-lm, tests/pr/W35Jml17f-lmlo,
+ tests/pr/W35ml17f-lm-lo, tests/pr/W72Jl17f-ll,
+ tests/pr/w72l17f-ll:
+ Adjust to minor spacing changes in pr headers.
+
+2001-03-11 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (die): New message arg, to describe failures
+ better. All callers changed.
+
+2001-03-11 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c: Decrease buffer size when only merging or checking.
+ (sort_size): Now the user-specified sort size.
+ (MIN_MERGE_BUFFER_SIZE): New macro.
+ (MIN_SORT_SIZE): Use it.
+ (merge_buffer_size): New variable.
+ (fillbuf): Increase merge_buffer_size if a longer line is encountered.
+ (checkfp, mergefps): Do not allocate a buffer smaller than
+ merge_buffer_size.
+ (sort): Use the default_sort_size if sort_size is zero.
+ (main): Do not set sort_size to default_sort_size.
+
+2001-03-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (sort): If all the input files are empty, create
+ an empty output file.
+ * tests/sort/Test.pm: Test for this.
+
+2001-03-13 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (merge): Move declarations of local variables into
+ the inner scope where they're used.
+ (sort): Likewise.
+
+2001-03-06 Paul Eggert <eggert@sic.twinsun.com>
+
+ Avoid the need for a copy of the input file when the input and
+ output overlap, e.g. 'sort F -o F'. With -m, though, a copy
+ is still needed sometimes.
+
+ * doc/textutils.texi: 'sort F -o F' no longer needs to copy F.
+
+ * src/sort.c: Do not include closeout.h.
+ (xfopen): Use stdout if *how != 'r'.
+ (mergefps): Remove FPS arg.
+ Open all input files, and close all files when done.
+ If OFP is null, open the output file (but after opening input files).
+ All callers changed.
+ (first_same_file): New function.
+ (sort, merge): Remove arg OFP; we now open the output file as needed.
+ All callers changed.
+ (merge): New arg MAX_MERGE. All callers changed.
+ (sort): For "sort F -o F", close the input before opening the output.
+ (main): Do not use close_stdout; 'sort' and 'merge' now close stdout.
+ (This also fixes a close-stdout-twice bug.)
+ Remove test for overlapping input and output files, as 'sort' no longer
+ needs to worry about overlap, and 'merge' checks for overlap itself.
+ Use first_same_file to inform 'merge' about how much to merge at
+ the top level, to avoid overlap.
+
+2001-03-12 Jim Meyering <meyering@lucent.com>
+
+ `fmt --prefix=S' would not work properly for any string S containing
+ a byte with the high bit set.
+ * src/fmt.c (prefix): Declare to be of type unsigned char, not `char'.
+ (get_prefix): Likewise for local, `p'.
+ Reported by François Pinard.
+
+ Add a test for the above-fixed problem.
+ * tests/fmt: New directory/files.
+ * configure.in (AC_OUTPUT): Add tests/fmt/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add fmt.
+
+2001-03-05 Andreas Schwab <schwab@suse.de>
+
+ * src/tac.c (save_stdin): Use mkstemp to create temporary file.
+
+2001-03-09 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (my_distdir): Define new variable, and use this
+ in place of most old uses of $(distdir).
+
+ * tests/help-version: Ensure that /dev/full is a character device
+ (using test -c) as well as being writable, before trying to write to it.
+ Otherwise, the test could mistakenly append a newline to an existing,
+ regular, writable, /dev/full file.
+ Suggested by Ulrich Drepper.
+
+2001-03-08 Jim Meyering <meyering@lucent.com>
+
+ * tests/sha1sum/sample-vec: Insert the `--text' argument for each test.
+ Reported by Matthew Smith.
+
+2001-03-04 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint (my_distdir): Define.
+ Use it in place of $(distdir) almost everywhere.
+
+ * Version 2.0.12.
+
+ * Makefile.maint (alpha): Use $(PACKAGE)-$(VERSION), not $(distdir),
+ since the latter now has a `$(top_distdir)/' prefix.
+
+2001-03-01 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (die): New function.
+ (create_temp_file, xfopen, xfclose, write_bytes, sort_buffer_size,
+ fillbuf, main): Use it to regularize error messages. The only change
+ in behavior is that write_bytes and the final close used to say "write
+ error" but now give just the output file name, which should be enough.
+
+2001-03-01 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (xfclose): Add FILE arg, and report the file name
+ on error. All callers changed.
+
+2001-03-01 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (main): When fclose (stdin) fails, do not mention
+ the output file in the error message; mention "-" instead.
+
+2001-02-28 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (xfopen): Set have_read_stdin to 1 only if file is "-".
+ Use fopen_safer, not fopen, to avoid subtle bugs when fopen returns
+ stdin, stdout, or stderr.
+ (xfclose): stdout is no longer a special case.
+ (main): Close output file, don't just flush it; there might be
+ an error on the close.
+
+2001-02-27 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (initbuf): If the desired size cannot be
+ allocated, repeatedly halve it until allocation succeeds.
+ Reported by Solar Designer.
+
+2001-02-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (parse_field_count): Comment fix.
+
+2001-02-25 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c: Tune allocation and comparison of nodes
+ representing temp files. This improved CPU performance of
+ 'sort -S 1 *.[ch]' by 17% on my host.
+
+ (struct tempnode): name member now uses struct hack.
+ (temphead): Now a pointer, not a structure. All uses changed.
+ (create_temp_file): Allocate node using struct hack.
+ (zaptemp): Free node using struct hack. Use pointer comparison, not
+ string comparison.
+
+2001-02-25 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (eolchar, trim_trailing_blanks): Now static.
+
+2001-02-25 Paul Eggert <eggert@twinsun.com>
+
+ 'sort' race condition fixes.
+
+ Defend against a DoS attack where someone else creates a
+ temporary file with the same name as ours. Use mkstemp to do
+ this, supplying our own mkstemp if the system doesn't have one.
+
+ Also, fix a race condition during cleanup on hosts without
+ sigaction.
+
+ * src/sort.c (NAME_MAX_IN_DIR): Remove.
+ (sigprocmask, sigset_t): New macros, defined only on older hosts.
+ (caught_signals): New var.
+ (xtmpfopen, tempname): Removed.
+ (create_temp_file): New function, combining the functions of the old
+ xtmpfopen and tempname. All callers changed.
+ Use mkstemp to create the file.
+ (sighandler): On hosts without sigaction, ignore signals while
+ cleaning up, instead of letting them interrupt cleanup.
+ (main): Initialize caught_signals. On hosts with sigaction, block all
+ caught signals while handling one. Remove duplicate code.
+
+2001-02-22 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (keycompare): Move declarations of locals, lena and lenb,
+ into the inner scope where they are used.
+
+2001-02-19 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (AUTHORS): Add Paul Eggert.
+
+ * src/wc.c (wc): Rename innermost `buf' to avoid shadowing warning.
+ (wc): Rename local `wc' to avoid shadowing function name.
+
+2001-02-18 Paul Eggert <eggert@twinsun.com>
+
+ Fix a race condition: freed storage accessed during a signal handler.
+
+ * src/sort.c (struct tempnode.next): Now volatile.
+ (zaptemp): Free the file name after removing it from the temp list,
+ not before, because a signal can arrive between the two actions
+ and cleanup () traverses the list.
+
+2001-02-18 Paul Eggert <eggert@twinsun.com>
+
+ Check for input size, and do not overallocate memory.
+ Also check for memory quotas.
+
+ Revamp storage management so that line tables and character data are
+ taken from the same buffer. Line tables are now in reverse order,
+ since they grow down while the character data grow up.
+
+ * src/sort.c:
+ (<sys/resource.h>): Include if HAVE_SYS_RESOURCE_H.
+ (struct rlimit, getrlimit): Define a replacement if RLIMIT_DATA
+ is not defined.
+ (RLIMIT_AS): Define to RLIMIT_DATA if not defined.
+ (struct lines): Remove.
+ (struct buffer): New members nlines, line_bytes, eof.
+ Remove member newline_free; no longer needed, since the code no longer
+ runs out of line table space.
+ (SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): Remove.
+ (sort_size): Renamed from sortalloc; now applies to the sum of the
+ character data and the line table, not just the character data.
+ (MIN_SORT_SIZE, INPUT_FILE_SIZE_GUESS): New macros.
+ (linelength): remove.
+ (specify_sort_size): Don't worry about the distinction between the
+ character data and the line table; that is now the caller's
+ responsibility.
+ (default_sort_size): Return the value, instead of being executed for
+ side effect. Return half of available memory, or 1/16 of total memory,
+ whichever is greater; except do not exceed 1/2 of quota.
+ (sort_buffer_size): New function.
+ (initbuf): New arg LINE_BYTES. Ensure that the line array is properly
+ aligned. Initialize the new set of struct buffer members.
+ (buffer_linelim): New function.
+ (fillbuf): Return int, not size_t, since the callers merely care
+ whether the result is nonzero. New arg FILE so that error messages
+ can report the file name. Keep track of eof. Initialize the line
+ table too, taking its memory from the input buffer's memory; this
+ subsumes the old findlines function and removes the need for worrying
+ about running out of line table entries.
+ (checkfp, mergefps, sortlines, merge, sort): Adjust to the new storage
+ management regime, in particular the fact that line tables are now
+ filled in by fillbuf and are in reverse order.
+ (checkfp): Now takes char *, not const char *, since subroutines
+ require that now. Rewrite to avoid lint and duplicate code.
+ If line length alloc calculation overflows,
+ simply allocate enough memory to hold the line.
+ (mergefps): New arg FILES, used for buffer size calculation and error
+ messages. Rewrite to avoid lint. Do not loop if savealloc*2
+ overflows.
+ (mergefps, merge): Zap temporary files eagerly rather than lazily;
+ this is needed because we now pass FILES to mergefps.
+ (sortlines): Args now point at end of arrays, not at beginnings.
+ (sort): Do not allocate temporary line array for sortlines;
+ instead, take the space from the same buffer.
+ (main): Adjust to sort_size and default_sort_size changes.
+
+2001-02-18 Jim Meyering <meyering@lucent.com>
+
+ Rename test input files to avoid conflicts on case-insensitive
+ file systems.
+ * tests/pr/2-Sf-t_notab: Rename from 2Sf-t_notab.
+ * tests/pr/2-S_f-t_notab: Rename from 2S_f-t_notab.
+ * tests/pr/W-72l17f-ll: Rename from W72l17f-ll.
+ * tests/pr/Test.pm: Update file names to reflect renamings.
+ Reported by Matthew Smith.
+
+2001-01-20 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Remove jm_CHECK_ALL_TYPES.
+ Now it's invoked by jm_MACROS.
+
+2001-01-17 Jim Meyering <meyering@lucent.com>
+
+ * src/cksum.c (main): Use PACKAGE, not GNU_PACKAGE.
+ * src/tsort.c (main): Likewise.
+ * src/sort.c (main): Likewise.
+ (usage): Convert each TAB in --help output to a sequence of 8 spaces.
+
+2001-01-07 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (usage): Split a string that was longer than 2048 bytes.
+
+2001-01-03 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (main): Remove embedded \n from diagnostic.
+
+2001-01-02 Jim Meyering <meyering@lucent.com>
+
+ * src/od.c (ulonglong_t): Define place-holder type to avoid some #if
+ directives.
+ (LONGEST_INTEGRAL_TYPE): Remove definition.
+ (MAX_INTEGRAL_TYPE_SIZE): Use ulonglong_t instead of
+ LONGEST_INTEGRAL_TYPE.
+ (print_long_long): Compile this function even on systems without
+ long long support.
+ (decode_one_format): Remove #if directive.
+
+ * src/od.c (decode_one_format): Guard use of print_long_long with
+ `#if HAVE_UNSIGNED_LONG_LONG'. From Darren Salt.
+ Change all `#ifdef HAVE_UNSIGNED_LONG_LONG' to use `#if' instead.
+
+2000-12-23 Jim Meyering <meyering@lucent.com>
+
+ * src/sys2.h [HAVE_INTTYPES_H]: Include <inttypes.h>.
+
+2000-12-19 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.11.
+
+2000-12-18 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/textutils.texi: New "sort" option -S SIZE.
+
+ * src/sys2.h (UINTMAX_MAX): New macro, taken from C99.
+
+ * src/sort.c: Include physmem.h.
+ (SORTALLOC, mergealloc, LINEALLOC): Remove.
+ (sortalloc): Default to zero at program startup.
+ (SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): New macros.
+ (usage, main): Add support for new -S SIZE option.
+ (specify_sort_size, default_sort_size): New functions.
+ (initlines): Do not let alloc exceed limit.
+ (findlines): Likewise.
+ (checkfp, mergefps, sort): Use sortalloc to size everything
+ else, instead of relying on precomputed sizes.
+
+2000-12-17 Jim Meyering <meyering@lucent.com>
+
+ * doc/texinfo.tex: Update from master repository.
+ * config.sub: Likewise.
+ * config.guess: Likewise.
+
+2000-12-11 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0.10.
+
+2000-12-07 Jim Meyering <meyering@lucent.com>
+
+ * src/od.c (address_base): Declare to be static.
+
+2000-12-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/od.c (address_base, address_pad_len): New var.
+ (output_address_fmt_string, address_fmt_buffer, address_pad): Remove.
+ (flag_pseudo_start): Now int, not long int.
+ (pseudo_offset): Now off_t, not long int.
+ (n_specs, n_specs_allocated): Now size_t, not unsigned int.
+ (format_address, format_address_none, format_address_std,
+ format_address_label): Now accepts an extra char argument (an extra
+ char to print if nonzero), and prints instead of returning a string.
+ All callers changed.
+ (bytes_per_block): Now size_t, not int.
+ (format_address_none): Do not even print the extra char argument.
+ This simplifies the callers.
+ (format_address_std, format_address_label): Print off_t ourself
+ instead of trying to use autoconfigured format. This is faster and
+ more portable.
+ (format_address_paren): New function.
+ (dump): Remove unnecessary cast.
+ (expand_address_fmt): Remove.
+ (main): Use size_t, off_t, etc. instead of builtin types where this is
+ advisable. Adjust to above changes. Remove unnecessary cast.
+
+2000-12-03 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (tail_file): Initialize ignore, dev, and ino members,
+ when tailing forever and the open failed. Otherwise, we could get
+ uninitialized memory references of those fields in recheck.
+ * tests/tail-2/Makefile.am (TESTS): Add assert-2.
+ * tests/tail-2/assert-2: New file.
+
+ * Version 2.0.9.
+
+ Make od print valid addresses for offsets of 2^32 and larger, and
+ allow byte offset (-j) and byte count (-N) to be 2^32 and larger.
+
+ * src/od.c (MAX_ADDRESS_LENGTH): Don't hard-code as a literal.
+ Rather, define in terms of the type, off_t.
+ (string_min): Declare to be of type size_t.
+ (flag_dump_strings): Declare to be of type int.
+ (print_s_char): Declare the n_bytes parameter and the local, `i',
+ to be of type off_t.
+ (print_char): Likewise.
+ (print_s_short): Likewise.
+ (print_short): Likewise.
+ (print_int): Likewise.
+ (print_long): Likewise.
+ (print_long_long): Likewise.
+ (print_float): Likewise.
+ (print_double): Likewise.
+ (print_long_double): Likewise.
+ (dump_hexl_mode_trailer): Likewise.
+ (print_named_ascii): Likewise.
+ (print_ascii): Likewise.
+ (write_block): Likewise.
+ (print_ascii): Declare local, `print_function' with a prototype.
+ Change a few `>' comparisons to the equivalent `<' form.
+ (parse_options): Declare `tmp' to be of type uintmax_t.
+ Use xstrtoumax, not xstrtoul.
+ Fail if the specified offset if larger than OFF_T_MAX.
+ (dump_strings): Declare local `i' to be of type size_t.
+ Remove the now-unnecessary cast-to-off_t.
+ (main) [IF_LINT]: Initialize desired_width to avoid a warning.
+ Declare `tmp' to be of type uintmax_t.
+ Use xstrtoumax, not xstrtoul.
+ Fail if minimum string length is larger than SIZE_MAX.
+ Fail if specified width is larger than ULONG_MAX.
+
+ * src/od.c (format_address): Use off_t, not long unsigned_int as the
+ parameter type.
+ (format_address_none): Likewise. Mark parameter as unused.
+ (format_address_std): Likewise.
+ (format_address_label): Likewise.
+ (print_ascii): Mark format string parameter as unused.
+ (write_block): Use off_t, not long unsigned_int as offset type.
+ (expand_address_fmt): New function.
+ (main): Use it to expand each address format string template.
+ Reported by Mark Nudelman, via Andreas Jaeger.
+
+ * src/sys2.h (OFF_T_MIN): Define here instead.
+ (OFF_T_MAX): Likewise.
+ (CHAR_BIT): Define.
+
+ * src/tail.c (parse_options): Use xstrtoumax to parse the byte and line
+ offset. Give a better diagnostic when the requested offset is still
+ representable but larger than OFF_T_MAX.
+ (OFF_T_MIN): Remove definition.
+ (OFF_T_MAX): Likewise.
+
+2000-12-02 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (checkfp): Rename local `buf' to avoid shadowing previous
+ declaration.
+
+ * src/sort.c (NONZERO): Define and use it to make the code a tiny
+ bit more readable.
+
+ * doc/textutils.texi (sort invocation): Clarify how -t works
+ when a sort key specifies a range of fields. From Karl O. Pinc.
+
+2000-11-26 Paul Eggert <eggert@twinsun.com>
+
+ * src/od.c (skip): Use lseek instead of worrying about fseeko or fseek.
+ This should be portable, as we seek before doing any I/O.
+ (fseeko): Remove; no longer used.
+
+2000-11-30 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c: s/SIZE_T_MAX/SIZE_MAX/.
+
+2000-11-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/sys2.h: Include <stdint.h> if HAVE_STDINT_H.
+ (SIZE_MAX): Renamed from SIZE_T_MAX, as C99 uses SIZE_MAX.
+ All uses changed.
+
+2000-11-30 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c: SIZE_MAX is not defined, so s/SIZE_MAX/SIZE_T_MAX/, and...
+ * src/sys2.h (SIZE_T_MAX): ... define.
+
+2000-11-29 Paul Eggert <eggert@twinsun.com>
+
+ Port GNU "sort" to hosts where sizes don't fit in "int",
+ e.g. 64-bit Solaris (sparc).
+
+ * src/sort.c ("human.h", "xstrtol.h"): Include.
+ (struct line): length member is now size_t, not int.
+ (struct lines): Likewise for used, alloc, limit members.
+ (struct buffer): Likewise for used, alloc, left, newline_free members.
+ (struct keyfield): Likewise for sword, schar, eword, echar members.
+ (sortalloc, mergealloc, linelength): Now size_t, not int.
+
+ (initbuf, fillbuf, initlines, begfield, limfield, findlines,
+ numcompare, getmonth, keycompare, compare, checkfp, mergefps,
+ sortlines, sort): Accept, return, and use size_t for sizes, not int.
+
+ (fillbuf, initlines, findlines, checkfp, sort): Check for overflow
+ when computing buffer sizes.
+
+ (begfield, limfield): Do not index past end of array.
+
+ (checkfp): Return a boolean, not a line number, as the line
+ number may not fit in int. All callers changed. Use
+ uintmax_t for line numbers, not int.
+
+ (sort): Don't allocate tmp until we need it (and know the right size).
+
+ (parse_field_count): New function.
+
+ (main): Use it to check for overflow in field counts.
+ "outfile" is now a pointer to const.
+
+2000-11-27 Jim Meyering <meyering@lucent.com>
+
+ * src/checksum.h: Don't include system.h here.
+ * src/md5.c: Include config.h, stdio.h, sys/types.h. and system.h here
+ instead.
+ * src/sha1sum.c: Likewise.
+
+2000-11-18 Paul Eggert <eggert@twinsun.com>
+
+ * src/pr.c (main): Do not assume EOF == -1.
+ Handle the case correctly when digits options immediately precede a
+ non-option.
+
+2000-11-18 Jim Meyering <meyering@lucent.com>
+
+ * doc/textutils.texi: Change GNU to @sc{gnu} in many places.
+ Update to use the Free Documentation Licence.
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+2000-11-17 Jim Meyering <meyering@lucent.com>
+
+ * GNUmakefile (.NOTPARALLEL): New target. Prevent unwanted parallelism.
+ Suggestion from Ulrich Drepper.
+
+2000-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * tsort.c: Include sys/types.h before system.h.
+
+2000-11-16 Jim Meyering <meyering@lucent.com>
+
+ * src/join.c: Declare global `tab' to be of type *unsigned* char,
+ so join works with 8-bit delimiter characters.
+ Reported by Antonio Rendas.
+ * tests/join/Test.pm (8-bit-t): New test for the above fix.
+
+2000-11-13 Paul Eggert <eggert@twinsun.com>
+
+ * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should
+ be tested with #ifdef, not with #if.
+
+2000-11-11 Jim Meyering <meyering@lucent.com>
+
+ * doc/textutils.texi: More minor rewording and grammar correction.
+ From Brian Youmans.
+
+2000-11-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/od.c (skip): st_size is not defined for directories.
+
+2000-11-03 Jim Meyering <meyering@lucent.com>
+
+ * tests/sha1sum/sample-vec: New file, with tests derived from
+ http://csrc.nist.gov/cryptval/shs/sha1-vectors.zip
+ * tests/sha1sum/Makefile.am (TESTS): Add sample-vec.
+
+2000-10-30 Jim Meyering <meyering@lucent.com>
+
+ * configure, config.h.in, Makefile.in, etc.: Regenerate using the
+ very latest version (in CVS) of autoconf.
+
+ * src/wc.c: Include "system.h" after wctype.h (not before)
+ to avoid a compilation error on Solaris 5.5.1 systems.
+ Reported by Vin Shelton.
+
+2000-10-23 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.maint: Clean up version-related variables.
+
+ * Version 2.0.8.
+
+ * Makefile.am (EXTRA_DIST): Add .prev-version.
+
+2000-10-22 Jim Meyering <meyering@lucent.com>
+
+ * tests/Makefile.am (SUBDIRS): Add sha1sum.
+ * tests/sha1sum/basic-1: New file.
+ * configure.in (AC_OUTPUT): Add tests/sha1sum/Makefile.
+
+ * src/Makefile.am (bin_PROGRAMS): Add sha1sum.
+ (md5sum_SOURCES): Define.
+ (sha1sum_SOURCES): Define.
+ (noinst_HEADERS): Add checksum.h.
+
+ * src/md5sum.c: Factor out the differences between MD5 and SHA1,
+ and parameterize so this code may be used by both md5sum and the new
+ program, sha1sum. Loosely based on a patch from Scott Miller.
+ * src/checksum.h: New file.
+ * src/md5.c: New file that simply defines `algorithm'.
+ * src/sha1sum.c: Likewise.
+
+ * man/Makefile.am (man_MANS): Add sha1sum.1.
+ * man/sha1sum.x: New file.
+
+ Support 8-byte integers, assuming they're printable with e.g., %lld.
+ * src/od.c: Add support for printing data as unsigned
+ long long integers.
+
+2000-10-21 Jim Meyering <meyering@lucent.com>
+
+ The command, `yes ''|./cat -n' would stop printing after INT_MAX lines.
+ * src/cat.c (cat): Never let `newlines' exceed 3.
+
+2000-10-21 Jim Meyering <meyering@lucent.com>
+
+ Prevent a counter buffer overrun when numbering lines and when
+ processing 100 billion lines (or more) of input.
+ * src/cat.c (LINE_COUNTER_BUF_LEN): Define to allow numbering as
+ many as 10^18 - 1 lines (the old limit was 10^11 - 1, and could
+ be exceeded without too much trouble). Use this symbol rather
+ than hard-coding the constant everywhere.
+ (next_line_num): Rather than overrunning for input with more lines,
+ mark the line number by putting a `>' in the leftmost slot.
+ Patch by Jan Nieuwenhuizen.
+
+ * src/sort.c (SORT_OUT_OF_ORDER): Define.
+ (main): Use it instead of hard-coding the `1'.
+
+2000-10-10 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (main): Use EXIT_SUCCESS rather than 0.
+ Fail when checking (-c) with more than one file argument,
+ rather than simply ignoring the extra arguments.
+
+2000-09-07 Jim Meyering <meyering@lucent.com>
+
+ * src/cut.c: Remove obsolete comment block.
+ (usage): Note that when using -f, lines with no delimiters are
+ also printed.
+ * doc/textutils.texi (cut invocation): Likewise.
+
+2000-08-23 Jim Meyering <meyering@lucent.com>
+
+ * src/md5sum.c: Include <config.h> unconditionally, to be consistent
+ with all the other programs in this directory.
+ * src/tsort.c: Likewise.
+
+2000-08-19 Jim Meyering <meyering@lucent.com>
+
+ * src/comm.c (writeline): Correct comments. From Bruno Haible.
+
+2000-08-11 Paul Eggert <eggert@twinsun.com>
+
+ * doc/textutils.texi:
+
+ Portable shell scripts should specify global options before
+ key fields.
+
+ Move global LC_CTYPE remark to each sort option that depends
+ on LC_CTYPE.
+
+ sort -g depends on LC_NUMERIC.
+
+ Add @vindex where it's missing.
+
+ "radix character" -> "decimal-point character", to match Standard C
+ terminology, which is easier for most people to follow.
+
+ "comm" does not consider trailing newlines to be significant.
+
+2000-08-10 Paul Eggert <eggert@twinsun.com>
+
+ * doc/textutils.texi: Recommend against the System V syntax
+ for tr ranges, and don't use it in examples. Use POSIX
+ classes rather than ranges, for portability.
+ * src/tr.c (usage): Don't describe System V syntax, as it
+ doesn't always work.
+
+ * src/sort.c (usage): Describe -d and -i in a locale-independent way.
+
+ * doc/Makefile.am (constants.texi): Use the C locale so that
+ [A-Z] works as expected.
+
+2000-08-07 Paul Eggert <eggert@twinsun.com>
+
+ * src/cut.c (cut_fields): Invoke xalloc_die instead of printing
+ our own message.
+ (cut_fields): Check for I/O error as well as end-of-file
+
+2000-08-06 Bruno Haible <haible@clisp.cons.org>
+
+ * src/wc.c: Add support for multi-byte locales.
+ (iswprint, mbrtowc, wcwidth): Provide default definitions.
+ (total_bytes): New variable.
+ (print_bytes): New variable.
+ (longopts): Change abbreviation for --chars from 'c' to 'm'.
+ (usage): Update.
+ (write_counts): Add `bytes' argument.
+ (wc): New variables `bytes', `count_bytes', `count_chars',
+ `count_complicated'. The old code determines `bytes', not `chars'.
+ New case for MB_CUR_MAX > 1. A non-printable non-space character does
+ not increment the line position or start a word. Update `total_bytes'.
+ (main): Initialize `print_bytes' and `total_bytes' to 0. Accept 'm'
+ option. Pass `total_bytes' to write_counts.
+ * doc/textutils.texi (wc invocation): Update accordingly.
+
+2000-08-06 Bruno Haible <haible@clisp.cons.org>
+
+ * src/head.c (head): Call write_header here.
+ (head_file): ... not here.
+
+ * src/cat.c (closeout_func): Remove variable.
+ (close_stdout_wrapper): Remove unused function.
+ (main): Remove assignment to closeout_func.
+
+ * src/fold.c (fold_file): Remove ferror(stdout) check, already done
+ in close_stdout.
+
+2000-08-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (usage): Warn more succinctly about the effects of
+ the locale on sort order.
+
+2000-08-06 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0g.
+
+ * src/tail.c (pipe_lines): Declare local `cp' to be const.
+
+2000-08-04 Greg McGary <greg@mcgary.org>
+
+ * src/tail.c (pipe_lines): Add variable `nbytes' so we can free
+ `tmp' immediately after read loop. Don't process an empty file.
+ [This fixes a buffer-underrun error -- detected thanks to
+ bounded pointers -jmm]
+
+2000-08-05 Jim Meyering <meyering@lucent.com>
+
+ Fix buffer-overrun error.
+ * src/pr.c (init_header): Allocated buffer was sometimes too small.
+ Reported by Greg McGary (who found this bug using his
+ bounded-pointers-enabled gcc).
+ (init_header): Move declarations of several variables into the
+ inner scope where they are used.
+ * tests/pr/Test.pm (narrow-1): New test, for the above.
+
+ * src/csplit.c (MAX): Remove definition (It's in sys2.h).
+
+2000-08-04 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (main): Rename local `t' to `tmp_dir' to avoid shadowing
+ a previous local by that name.
+ (usage): Warn that GNU sort is now locale-aware, and suggest
+ people put LC_ALL=POSIX in their environment.
+
+ * src/pr.c (store_columns): Remove conjunct that would dereference
+ an out-of-bounds pointer. Reported by Greg McGary (who found this
+ bug using his bounded-pointers-enabled gcc).
+
+2000-08-03 Jim Meyering <meyering@lucent.com>
+
+ * tests/Makefile.am.in ($(srcdir)/$x-tests): Use -I$(srcdir), not `-I.'.
+ (Makefile.am): Likewise. Reported by Greg McGary.
+
+2000-08-01 Jim Meyering <meyering@lucent.com>
+
+ * doc/textutils.texi (tr invocation): Note that ranges are not portable.
+ Update examples not to use ranges.
+
+2000-07-31 Jim Meyering <meyering@lucent.com>
+
+ * src/cut.c (cut_fields): Use `virtual memory exhausted',
+ not `Memory exhausted'.
+
+2000-07-30 Jim Meyering <meyering@lucent.com>
+
+ * src/help-version: Remove file. Move it to ...
+ * tests/help-version: ...here
+ * tests/Makefile.am (TESTS): Set to help-version.
+ (TESTS_ENVIRONMENT): Define.
+ (EXTRA_DIST): Add $(TESTS).
+ * src/Makefile.am (EXTRA_DIST): Remove help-version.
+ (TESTS): Remove definition.
+ (TESTS_ENVIRONMENT): Remove definition.
+
+2000-07-28 Paul Eggert <eggert@twinsun.com>
+
+ sort's -T option can now appear multiple times.
+ Thanks to Charles Randall for suggesting this idea.
+
+ * doc/textutils.texi, NEWS: Document this.
+
+ * src/sort.c (temp_dir): Remove.
+ (temp_dirs, temp_dir_count, temp_dir_alloc): New vars.
+ (process_id): New var.
+ (usage): Describe new use of -T.
+ (add_temp_dir): New function.
+ (tempname): Use new temp_dirs array.
+ Do not discard information from the process-id or sequence
+ number, unless we have short file names.
+ (sighandle): Use process_id instead of getpid.
+ (main): Initialize process_id.
+ Add support for the new use of -T.
+
+2000-07-23 Jim Meyering <meyering@lucent.com>
+
+ * tests/head/Test.pm: Rename tests (and hence files) to have a short
+ enough prefix so that they're not truncated on 8+3 file systems.
+ Reported by Eli Zaretskii.
+
+2000-07-09 Jim Meyering <meyering@lucent.com>
+
+ * config.guess: Update from FSF.
+ * config.sub: Likewise.
+
+2000-07-02 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0f.
+
+2000-07-01 Jim Meyering <meyering@lucent.com>
+
+ * src/cut.c: Change type of global, field_1_bufsize, from int to size_t.
+
+2000-06-29 Jim Meyering <meyering@lucent.com>
+
+ * src/tr.c (find_bracketed_repeat): Add a cast to suppress a warning.
+ Reported by Gerhard Poul.
+
+ * src/tail.c (enum): Remove comma from end of enumerator list.
+ From Gerhard Poul.
+
+2000-06-25 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Danish (da).
+
+2000-06-24 Jim Meyering <meyering@lucent.com>
+
+ * doc/textutils.texi: Lots of minor rewording and grammar correction.
+ From Brian Youmans.
+
+ * tests/sum/basic-1: New file.
+ * tests/sum/Makefile.am: New file.
+ * configure.in (AC_OUTPUT): Add tests/md5sum/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add sum.
+
+2000-06-22 Bruno Haible <haible@clisp.cons.org>
+
+ * src/sum.c (sysv_sum_file): Avoid overflowing 32-bit accumulator
+ on files whose bytes sum to 2^32 or larger. The smallest such file
+ contains 16,843,010 bytes, nearly all of which have the value 0xff.
+
+2000-06-22 Bruno Haible <haible@clisp.cons.org>
+
+ * src/cat.c (main): Correct a comment.
+
+2000-06-21 Jim Meyering <meyering@lucent.com>
+
+ * src/cut.c (getstr): Remove private (and out of date) version of
+ this function.
+ (cut_fields): Adjust caller to use the just-extended one in ../lib.
+ Reported by Paul Sauer.
+
+2000-06-20 Jim Meyering <meyering@lucent.com>
+
+ * src/uniq.c (main): Fix off-by-argc test, so +N-style options are
+ recognized once again. Reported by Geoff Keunning.
+ Fix typo in diagnostic: s/compare/skip/.
+
+2000-05-27 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c: Arrange to call close_stdout upon exit.
+ Don't close stdout explicitly.
+ (usage): Add missing backslash at end of line.
+ (write_header): Remove now-unused COMMENT parameter.
+ Update all callers.
+
+2000-05-24 Jim Meyering <meyering@lucent.com>
+
+ * src/head.c (head_file): Use STDIN_FILENO in place of `0'.
+ (main): Likewise.
+
+2000-05-20 Jim Meyering <meyering@lucent.com>
+
+ * src/cat.c: Arrange to call close_stdout upon exit.
+ Don't close stdout explicitly. Replace uses of global constant,
+ output_desc, with uses of STDOUT_FILENO.
+
+ Arrange to call close_stdout upon exit. Don't close stdout explicitly.
+ * src/cksum.c: Likewise.
+ * src/comm.c: Likewise.
+ * src/csplit.c: Likewise.
+ * src/cut.c: Likewise.
+ * src/expand.c: Likewise.
+ * src/fmt.c: Likewise.
+ * src/fold.c: Likewise.
+ * src/head.c: Likewise.
+ * src/join.c: Likewise.
+ * src/md5sum.c: Likewise.
+ * src/nl.c: Likewise.
+ * src/od.c: Likewise.
+ * src/paste.c: Likewise.
+ * src/pr.c: Likewise.
+ * src/ptx.c: Likewise.
+ * src/sort.c: Likewise. (but set exit status and file name, too)
+ * src/split.c: Likewise.
+ * src/sum.c: Likewise.
+ * src/tac.c: Likewise.
+ * src/tr.c: Likewise.
+ * src/tsort.c: Likewise.
+ * src/unexpand.c: Likewise.
+ * src/uniq.c: Likewise.
+ * src/wc.c:: Likewise.
+
+2000-05-13 Jim Meyering <meyering@lucent.com>
+
+ * src/help-version: Run each program successfully at least once.
+
+2000-05-12 Jim Meyering <meyering@lucent.com>
+
+ * src/head.c (string_to_integer): Restrict base to 10.
+ Reported by Joseph S. Myers.
+ * tests/head/Test.pm: Add a few tests for this.
+
+ New option: --first-only
+ * src/unexpand.c (anonymous enum) [CONVERT_FIRST_ONLY_OPTION]: Define.
+ (long_options): Add `first-only'.
+ (main): Handle new option.
+
+2000-05-11 Jim Meyering <meyering@lucent.com>
+
+ * tests/unexpand/basic-1: New tests.
+
+2000-04-17 Bruno Haible <haible@clisp.cons.org>
+
+ * src/system.h [__BEOS__]: Ignore O_BINARY and O_TEXT.
+
+2000-04-16 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c: Prepare to remove option: --max-consecutive-size-changes.
+ Doesn't seem useful.
+ (usage): Remove description.
+ * doc/textutils.texi (tail invocation): Remove description.
+
+2000-04-12 Jim Meyering <meyering@lucent.com>
+
+ * src/tail.c (usage): Tweak --help output. Suggestions from Karl Berry.
+
+ Move some macros into m4/.
+ * configure.in (_GNU_SOURCE): Don't define here.
+ (AC_SYS_LARGEFILE): Don't use here.
+ (AM_C_PROTOTYPES): Don't use here.
+ * acconfig.h: Remove now-unused file.
+
+2000-04-09 Jim Meyering <meyering@lucent.com>
+
+ * doc/textutils.texi: Include constants.texi.
+ (tail invocation): Use `@value's instead of referring to the
+ output of `tail --help' for defaults.
+ * doc/Makefile.am (constants.texi): New rule.
+ (EXTRA_DIST): Add constants.texi.
+ (MAINTAINERCLEANFILES): Add it here, too.
+ (textutils.dvi, textutils.info): Depend on constants.texi.
+
+ * src/tail.c (usage): Clarify descriptions of the --max-* options.
+ From Karl Berry.
+
+2000-04-03 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (AC_CHECK_HEADERS): Remove langinfo.h. Now it's in m4/.
+ (AC_CHECK_FUNCS): Remove nl_langinfo. Now it's in m4/.
+
+2000-03-17 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (ALL_LINGUAS): Add Slovenian (sl).
+
+2000-03-12 Jim Meyering <meyering@lucent.com>
+
+ Merge from fileutils.
+ * src/system.h "pathmax.h": Include.
+ <sys/time.h>: Include if appropriate.
+ <time.h>: Likewise.
+ <sys/mkdev.h>: Likewise.
+ <sys/sysmacros.h>: Likewise.
+ <utime.h>: Likewise.
+ (major, minor, makedev): Define if needed.
+ (struct utimbuf): Declare if missing.
+ (ST_BLKSIZE, ST_NBLOCKS, ST_NBLOCKSIZE): Define.
+
+ * src/cksum.c (usage): Correct --help output.
+ Prompted by a report from Gregory Leblanc.
+
+2000-03-05 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (struct buffer.newline_free): New member.
+ (initbuf, findlines): Set it.
+ (fillbuf): Do not double the size of a full buffer to append a newline
+ unless the buffer is known to be newline free.
+
+2000-03-05 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0e.
+
+2000-03-04 Jim Meyering <meyering@lucent.com>
+
+ Don't get failed assertion for `tail -f directory'.
+ * src/tail.c: Revert most of 1999-10-20 change. Instead, ...
+ (IS_TAILABLE_FILE_TYPE): Define to produce similar result.
+ (recheck): Use it here.
+ (tail_file): Use it here.
+ Reported by François Pinard.
+
+ Once we encounter a file that is not of IS_TAILABLE_FILE_TYPE,
+ marke it as such and ignore it forever after.
+ * src/tail.c (struct File_spec): New member.
+ (recheck): Initialize new member.
+ (tail_file): Likewise.
+ (tail_forever): Skip the file if it's marked as ignorable.
+
+2000-03-03 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (fillbuf): Move declaration of local, cc, into scope of
+ `while' loop where it's used.
+
+2000-03-02 Paul Eggert <eggert@set.twinsun.com>
+
+ Big performance improvement when sorting many small files,
+ building on a suggestion by Charles Randall.
+
+ * src/sort.c (fillbuf): Skip memmove if it would be a no-op,
+ as many memmove implementations are slow in that case.
+ Don't examine leftover bytes for eolchar, since they may be left
+ over from a previous file, and we want to read from this file.
+
+ (sort): At end of file, if there is more input and buffer room,
+ concatenate the next input file.
+
+2000-02-29 Jim Meyering <meyering@lucent.com>
+
+ * src/join.c (make_blank): Add an explicit cast to `unsigned char *'
+ to placate HPUX's C compiler. Reported by Bob Proulx.
+
+2000-01-30 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0d.
+
+ * Makefile.maint (my-distcheck): Depend on po-check, so I'll be warned
+ about any required changes at `make distcheck' time rather than at
+ `make alpha' time.
+ (writable-files): New target.
+ (my-distcheck): Depend on it.
+ (alpha): Likewise.
+
+ * po/POTFILES.in: Add these: lib/makepath.c, lib/rpmatch.c,
+ and lib/same.c
+
+2000-01-29 Jim Meyering <meyering@lucent.com>
+
+ * configure.in: Remove lib-check for cposix now that we use
+ m4/isc-posix.m4.
+ (jm_LIB_CHECK): Use this even though the library checks aren't
+ required for this patchage (so all three lib/Makefile.in files
+ will be the same).
+
+2000-01-24 Mark Kettenis <kettenis@gnu.org>
+
+ * src/tsort.c (exit_status): New variable.
+ (loop): New varibale.
+ (count_items, scan_zeroes): Change return type to int.
+ (detect_loop): Complete rewrite to correctly implement detection
+ of loops. Also change return type to int.
+ (recurse_tree): Stop if ACTION returns non-zero. This involves
+ changing the return type of this function and ACTION to int.
+ (walk_tree): Change return type of ACTION to int.
+ (tsort): Continue sort after a loop has been detected (and
+ broken). Set exit_status to 1 if a loop was detected.
+ (main): Use exit_status to determine exit code.
+ * tests/tsort/basic-1: Change expected output for cycle-1 and
+ cycle-2 tests.
+
+2000-01-23 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (AM_FUNC_STRTOD): Move to m4/.
+ (AC_SUBST(POW_LIBM)): Likewise.
+
+2000-01-22 Jim Meyering <meyering@lucent.com>
+
+ * src/sort.c (keycompare): Use global, hard_LC_COLLATE in place of
+ local that is sometimes undeclared.
+
+ * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR).
+ (AC_CHECK_HEADERS): Move these checks into m4/.
+
+ * src/tr.c ("xstrtol.h"): Include.
+ (Filter): Rename from PFL.
+ (non_neg_strtol): Remove function.
+ (find_bracketed_repeat): Use xstrtoul instead of non_neg_strtol.
+ (squeeze_filter, set_initialize, main): Use size_t and ssize_t in
+ place of long and int in several decls.
+ (read_and_delete, read_and_xlate): Likewise, and remove assertion.
+ * tests/tr/Test.pm (o-rep-1, o-rep-2): New tests.
+
+ * src/cut.c: Correct copying notice to use GPL, per author's request.
+ * src/paste.c: Likewise.
+ (AUTHORS): Add djm.
+
+1999-09-19 Bruno Haible <haible@clisp.cons.org>
+
+ * src/tr.c (PFI): Return `long', not `int'.
+ (PFL): Rename from PFI now that it returns long.
+ (squeeze_filter): Declare as `long': i, nr, out_len.
+
+2000-01-17 Paul Eggert <eggert@twinsun.com>
+
+ Tweak sort performance.
+
+ * src/sort.c (hard_LC_CTYPE): Remove.
+ (keylist): Renamed from keyhead. Now a pointer, not a
+ mostly-unused struct. All uses changed.
+ (findlines, keycompare, CMP_WITH_IGNORE, compare, checkfp, mergefps,
+ sort): Tune and use a more consistent style for reallocation.
+ (keycompare, main): Don't worry about LC_CTYPE;
+ it's buggy with multibyte chars anyway.
+ (compare): Invoke alloca (0) after each call to keycompare,
+ not just the ones that return nonzero. This avoids a memory
+ leak on architectures without builtin alloca that occurs
+ sometimes when a file contains all duplicate lines.
+
+2000-01-17 Paul Eggert <eggert@twinsun.com>
+
+ * src/csplit.c (interrupt_handler, main):
+ Don't use SA_INTERRUPT to decide whether to call sigaction, as
+ POSIX.1 doesn't require SA_INTERRUPT and some systems
+ (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
+ it's been part of POSIX.1 since day 1 (in 1988).
+ * src/sort.c (sighandler, main): Likewise.
+
+2000-01-16 Jim Meyering <meyering@lucent.com>
+
+ * lib/Makefile.am: Merge with fileutils/lib/Makefile.am.
+
+ * configure.in: Remove AM_FUNC_ERROR_AT_LINE, jm_FUNC_STRFTIME,
+ AC_FUNC_VPRINTF, and AC_FUNC_ALLOCA. Now they're in m4/.
+
+2000-01-15 Jim Meyering <meyering@lucent.com>
+
+ * configure.in (AC_REPLACE_FUNCS): Remove these: memcpy memset stpcpy
+ strpbrk strtol strtoul. Now that's in m4/.
+
+ unexpand could infloop
+ * src/unexpand.c (TAB_STOP_SENTINEL): Define.
+ (unexpand): Use it instead of INT_MAX.
+ Declare column and pending to be `unsigned'.
+ Increment pending and column counters only if column is smaller
+ than TAB_STOP_SENTINEL.
+ * tests/Makefile.am (SUBDIRS): Add unexpand.
+ * tests/unexpand/basic-1: New tests for the above-fixed bug.
+ * configure.in (AC_OUTPUT): Add tests/unexpand/Makefile.
+ Reported by John Kodis.
+
+2000-01-12 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (fillbuf): Avoid quadratic behavior with long lines.
+ Also, stop worrying about ancient memchr bug (misbehavior when
+ size is zero), since other code doesn't worry either.
+
+2000-01-11 Jim Meyering <meyering@lucent.com>
+
+ Sync lib/ directories of sh-utils, and textutils.
+
+ * lib/Makefile.am (libfetish_a_SOURCES): Add getdate.y, posixtm.c,
+ basename.c, canon-host.c, readutmp.c, stripslash.c, xgetcwd.c,
+ xgethostname.c.
+ (noinst_HEADERS): Add getdate.h, group-member.h, posixtm.h,
+ pathmax.h, readutmp.h
+
+ * lib/Makefile.am: s/tu/fetish/
+ * src/Makefile.am: s/libtu/libfetish/
+
+2000-01-10 Jim Meyering <meyering@lucent.com>
+
+ * Version 2.0c.
+
+ * Makefile.maint (announcement): Include URLs for xdelta files.
+ (alpha): Use scp, not ncftp.
+
+ * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h.
+
+2000-01-08 Jim Meyering <meyering@ascend.com>
+
+ * Version 2.0b.
+
+ More nits.
+ * src/cut.c (OUTPUT_DELIMITER_OPTION): Define this and use it
+ instead of `CHAR_MAX + n'.
+ * src/pr.c (PAGES_OPTION, COLUMNS_OPTION): Likewise.
+
+2000-01-07 Jim Meyering <meyering@ascend.com>
+
+ * tests/tsort/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix
+ to exported PATH value (though not strictly necessary, here).
+ * tests/md5sum/Makefile.am: Likewise.
+
+ Nits.
+ * lib/memcasecmp.c: Use `#if' instead of `#ifdef' for `HAVE_CONFIG_H'.
+ Capitalize all macro parameters.
+ (memcasecmp): Ansideclify.
+ Don't cast away `const'ness of parameters.
+ * lib/strpbrk.c (strpbrk): Ansideclify.
+ Use `#if' instead of `#ifdef' for `HAVE_CONFIG_H'.
+ Suggestions from François Pinard.
+
+2000-01-06 Jim Meyering <meyering@ascend.com>
+
+ * tests/tail-2/assert: Tell the user just before sleeping for 7 seconds.
+
+ * tests/tail-2/Makefile.am (TESTS): Remove fflush test. It didn't
+ test the losing behavior, and left a stray tail process to boot.
+
+2000-01-01 Jim Meyering <meyering@ascend.com>
+
+ * Version 2.0a.
+
+ * lib/Makefile.am (lstat.c): Adapt rule to handle new parts of xstat.in.
+
+1999-12-12 Jim Meyering <meyering@ascend.com>
+
+ Move 120+ lines of stat.h-related macros from system.h (not shared)
+ to sys2.h, which is shared between fileutils, sh-utils, textutils.
+ * src/system.h: Move them from here...
+ * src/sys2.h: ... to here.
+
+1999-12-09 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Galician (gl).
+
+1999-12-06 Jim Meyering <meyering@ascend.com>
+
+ * tests/tail-2/fflush: New test for latest change.
+ * tests/tail-2/Makefile.am (TESTS): Add fflush.
+
+1999-10-26 Marc Boucher <marc@mbsi.ca>
+
+ * src/tail.c (main): Flush stdout before switching to unbuffered mode
+ and calling tail_forever. Required only on Solaris 5.7 -- on other
+ systems, using setvbuf to switch to unbufferd mode does the flush.
+
+1999-11-22 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (DISTCLEANFILES): Put $(BUILT_SOURCES) here rather
+ than in $(MAINTAINERCLEANFILES).
+
+ * src/tail.c (recheck): Handle a race condition (including <dev,inode>
+ reuse) that would lead to a failed assertion.
+ Reported by Ken Pizzini.
+ (tail_forever): Record errno before using it in call to `error'
+ which might change it.
+ (tail_file): Likewise.
+
+ New test for the above.
+ * tests/tail-2/assert: New file.
+ * tests/tail-2/Makefile.am: New file.
+ * tests/tail-2: New directory.
+ * tests/Makefile.am (SUBDIRS): Add tail-2.
+ * configure.in (AC_OUTPUT): Add tests/tail-2/Makefile.
+
+1999-11-05 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h: Use HAVE_STRUCT_STAT_ST_BLKSIZE not HAVE_ST_BLKSIZE.
+
+ * configure.in: Move some type/header/member tests into
+ m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of
+ fileutils, textutils, and sh-utils.
+
+1999-11-04 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (SORTALLOC): New macro.
+ (sortalloc, mergealloc, LINEALLOC): Use it.
+ (sortalloc, mergealloc, linelength): Now const.
+ (sortalloc): Increase from 0.5 to 8 MB.
+ (mergealloc): Increase from 16 to 256 kB.
+ (LINEALLOC): Increase from 0.25 to 4 MB.
+
+1999-11-03 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, doc/textutils.texi:
+ Do not consider newline to be part of a line when comparing lines
+ in `sort' and `comm'. POSIX.2 requires that we consider newline,
+ but this is a bug in the spec and the bug will likely be fixed.
+ * src/comm.c (compare_files): Likewise.
+ * src/sort.c (begfield, limfield, findlines, keycompare, compare):
+ Likewise.
+ * tests/sort/Test.pm: Update tests `use-nl' and `11d' to reflect
+ this change.
+
+ * lib/linebuffer.c (readline): Do not leave room for an extra
+ byte after the newline; it's no longer needed.
+ * src/sort.c (sortalloc, mergealloc, fillbuf, checkfp, mergefps):
+ Likewise.
+
+ * lib/memcoll.c (memcoll): The two arguments cannot be
+ adjacent any more, so remove the alloca/copy workaround for
+ that case.
+
+1999-11-03 Jim Meyering <meyering@ascend.com>
+
+ Fix so that `tail -fn 2 file' works again.
+ * src/tail.c (anonymous enum) [LONG_FOLLOW_OPTION]: Define.
+ (long_options): Use LONG_FOLLOW_OPTION here, instead of 'f'.
+ (main): Remove the `::' after the `f' in getopt_long string.
+ Add `case LONG_FOLLOW_OPTION' after `case 'f':'.
+ Based on a patch from Tim Waugh.
+
+ * src/tail.c (anonymous enum) [RETRY_OPTION]: Define.
+ [MAX_UNCHANGED_STATS_OPTION]: Likewise.
+ [MAX_CONSECUTIVE_SIZE_CHANGES_OPTION]: Likewise.
+ [PID_OPTION]: Likewise.
+ (long_options): Use *_OPTION instead of CHAR_MAX + N.
+ (main): Likewise.
+
+1999-11-02 Jim Meyering <meyering@ascend.com>
+
+ * man/help2man: Import version 1.018.
+ * man/Makefile.maint ($(man_MANS)): Remove use of --name=... option.
+ * man/*.x: Include one-line summary in [NAME] section.
+ * man/Makefile.summ (cat-summary): Remove now-unused file.
+ * man/Makefile.am (EXTRA_DIST): Remove Makefile.summ.
+ * man/Makefile.maint: Include Makefile.summ with leading `-'.
+ This file is shared by fileutils and sh-utils, both of which still
+ have the file (albeit nearly empty now).
+ Suggestion for clean-up from Akim Demaille.
+
+1999-11-01 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES).
+
+1999-10-20 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (recheck): Don't refuse to tail a non-regular, non-pipe.
+ (tail_file): Likewise.
+
+1999-10-07 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Japanese (ja).
+
+1999-10-04 Jim Meyering <meyering@ascend.com>
+
+ * depcomp: New file, for automake's new dependency support.
+ * missing: New version, from automake's user-dep-gen-branch.
+
+1999-09-28 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h: Update from the system.h from fileutils.
+
+ * lib/error.c (error_at_line): Use strerror portably here, too,
+ just as was done in error.
+
+1999-09-02 Jim Meyering <meyering@ascend.com>
+
+ * src/cut.c: Remove xstrdup declaration.
+ * src/sort.c: Likewise.
+ * src/tsort.c: Likewise.
+
+1999-08-22 Jim Meyering <meyering@ascend.com>
+
+ * src/tsort.c (detect_loop): There's no loop if k->top is NULL.
+ Niklas Edmundsson showed how to make tsort segfault.
+
+ * tests/tsort/Makefile.am: Rewrite to use Fetish.pm-based framework.
+ * tests/tsort/basic-1: New file.
+ Add a few more tests.
+ * tests/tsort/Test.pm: Remove.
+
+ * man/help2man: Escape backslashes so tr's manual comes out right.
+ Reported by Andreas Schwab.
+
+ * src/tsort.c (usage): Correct address for bug reports.
+ (tsort): Remove trailing `\n' in error format.
+
+ * src/md5sum.c (md5_check): Remove trailing `\n' in error format.
+
+ * src/sys2.h (IF_LINT): Define new macro.
+ * src/od.c (dump): Use IF_LINT macro instead of #ifdef lint...
+ (main): Likewise.
+ * src/paste.c (paste_parallel): Likewise.
+ * src/pr.c (read_line): Likewise.
+ * src/sort.c (checkfp): Likewise.
+ (mergefps): Likewise.
+
+ * src/cksum.c (cksum): Constify a char*.
+ * src/comm.c (writeline): Likewise.
+
+ * src/uniq.c (check_file): Move declarations of local variables
+ into the scopes where they're used.
+ (min): Remove macro definition.
+ (different): Use MIN, not min.
+ (SWAP_LINES): New macro.
+ (check_file): Use it here.
+
+ * src/uniq.c (check_file): Generate each line of output earlier,
+ when possible. It is possible when using none of these options:
+ --count, -repeated, --all-repeated, --unique.
+ Based on a patch from Ian Turner.
+
+1999-08-15 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (ENOSYS): Define to a bogus value if not already defined.
+
+1999-08-13 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * src/tail.c (parse_options): Warn if --pid=PID is used and kill()
+ returns ENOSYS (e.g. when compiled with DJGPP).
+
+1999-08-13 Jim Meyering <meyering@ascend.com>
+
+ * src/tsort.c (usage): Use consistent bug-reporting address.
+
+ * tests/tsort/Test.pm: New file.
+ * tests/tsort/Makefile.am: New file.
+ * tests/tsort: New directory.
+ * tests/Makefile.am (SUBDIRS): Add tsort.
+ * configure.in (AC_OUTPUT): Add tests/tsort/Makefile.
+
+1999-08-11 Paul Eggert <eggert@twinsun.com>
+
+ * doc/textutils.texi: Document how to ignore newline during sort.
+
+1999-08-07 Jim Meyering <meyering@ascend.com>
+
+ * po/POTFILES.in: Add lots of lib/*.c files. Remove src/system.h.
+
+1999-08-06 Jim Meyering <meyering@ascend.com>
+
+ * Version 2.0.
+
+ * src/sort.c: Include file name in `write error' diagnostics.
+ (write_bytes): Add output_file parameter and use it. Update callers.
+ (mergefps): Likewise.
+ (merge): Likewise.
+ (sort): Likewise.
+ Reported by John Summerfield.
+
+1999-08-05 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (Follow_mode): Remove comma at end of enumerator list.
+ Reported by Kaveh Ghazi.
+
+ * config.sub: Update from autoconf.
+ * config.guess: Update from autoconf.
+
+1999-08-04 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22q.
+
+ * configure.in: Remove inadequate getline-testing code. md5sum would
+ segfault on HPUX because of the getline function in their C library.
+ Use the AM_FUNC_GETLINE test in m4/ instead.
+
+1999-08-03 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (tail_forever): When following by name and calling recheck
+ because of exceeding max_n_consecutive_size_changes_between_opens,
+ `continue' so we don't fall through and (assuming the file finally grew)
+ get the erroneous `file truncated' message. This was hard to reproduce.
+
+1999-08-01 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22p.
+
+ * configure.in (AM_C_PROTOTYPES): Move test to precede a few
+ header tests -- merely on principle.
+
+1999-08-01 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS.
+
+1999-07-16 Paul Eggert <eggert@twinsun.com>
+
+ * lib/quotearg.c (quotearg_buffer):
+ Don't quote spaces if C quoting style.
+
+1999-07-31 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (tail_forever): Don't call kill if pid is 0.
+ Detect when `writer_is_dead' also when the writer is some other user.
+ From Karl Heuer.
+
+ * src/tail.c (parse_options): Warn if --pid=PID is used without -f.
+
+1999-07-30 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22o.
+
+ * src/tail.c: New option: --pid=PID.
+ Include signal.h for kill prototype.
+ (pid): New global.
+ (long_options): Add `pid'.
+ (usage): Describe it.
+ (tail_forever): Implement it.
+ (parse_options): Handle the new option and required arg.
+ Suggestion and pseudo-code from Karl Heuer.
+
+1999-07-27 Jim Meyering <meyering@ascend.com>
+
+ * lib/linebuffer.c: Include <sys/types.h> now that linebuffer.h uses
+ size_t. This is required on at least SunOS4. From Kaveh Ghazi.
+
+1999-07-26 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h (PID_T_MAX): Define.
+
+ * src/tail.c (struct File_spec) [n_stat_calls]: Remove unused member.
+
+1999-07-25 Jim Meyering <meyering@ascend.com>
+
+ * src/pr.c (usage): Remove `NEWS'-style paragraph (sorry to have
+ let that in, translators).
+
+ * Version 1.22n.
+
+1999-06-01 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am: Make envvar-check depend on check-recursive rather
+ than on `check' so that its tests are performed before any real tests.
+
+1999-07-20 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AC_REPLACE_FUNCS) Remove memmove, now that it's
+ AC_REPLACE...'d in m4/jm-macros.m4.
+
+ * src/wc.c (posixly_correct): Declare global.
+ (write_counts): Use it to select printf formats.
+ (main): Set posixly_correct from the POSIXLY_CORRECT envvar.
+ From Peter Moulder.
+
+1999-07-15 Jim Meyering <meyering@ascend.com>
+
+ * tests/md5sum/Makefile.am: Revert the 1999-02-15 change.
+ * tests/md5sum/basic-1, newine-1: Add --text for each individual test.
+ Reported by Eli Zaretskii.
+
+1999-07-12 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Slovak (sk).
+
+1999-07-11 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (recheck): Use assert instead of unnecessary close_fd.
+ Remove a couple of unnecessary FIXME comments.
+
+1999-07-10 Jim Meyering <meyering@ascend.com>
+
+ * doc/textutils.texi: Document new tail options.
+
+ * src/tail.c (struct File_spec) [tailable]: Rename from `missing' and
+ document. Change all uses and locals like was_missing to was_tailable.
+ Invert expressions as appropriate.
+ (reopen_inaccessible_files): Rename from allow_missing.
+ (sleep_interval): Describe.
+ (--allow-missing): Deprecate.
+ (--retry): New option, equivalent to --allow-missing.
+ (usage): Document name vs. descriptor differences.
+ Refer to manual for descriptions of --max-unchanged-stats=N
+ and --max-consecutive-size-changes=N.
+ (valid_file_spec): New function.
+ (recheck): Assert valid_file_spec.
+ Remove dead else-if block (suggestion from Eli Zaretskii).
+ Adjust stmts that set f->tailable -- unlike for `missing', tailable
+ doesn't depend on errno == ENOENT.
+ (parse_options): Give a warning if --retry is used when not following
+ by name.
+
+ * tests/join/Test.pm: New test case (but commented out) for
+ Paul's 1999-06-01 fix.
+
+1999-07-09 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add Greek (el).
+
+1999-07-04 Jim Meyering <meyering@ascend.com>
+
+ * tests/join/Test.pm: New test case for Paul's 1999-06-03 fix.
+
+1999-07-03 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * src/tail.c (struct File_spec): New member, errnum.
+ (recheck): Record the new value of errno in f->errnum. Don't
+ output an error message unless the new value of errno differs from
+ the old one. Output a message if previously-inaccessible file
+ becomes accessible.
+ (tail_forever): Always recheck files whose fd is negative. If the
+ file cannot be fstat'ed, record the errno value in f[i].errnum.
+ (tail_file): If the file cannot be open, record the errno value in
+ f->errnum. If it can be opened, initialize f->errnum to zero. If
+ it's a non-regular non-fifo file, initialize f->errnum to -1.
+
+1999-06-21 Jim Meyering <meyering@ascend.com>
+
+ * doc/textutils.texi: Use lower case characters in sc{} context.
+ Reported by Eli Zaretskii.
+
+1999-06-03 Paul Eggert <eggert@shade.twinsun.com>
+
+ * src/join.c (xfields): Only <blank>s separate fields, not <space>s.
+
+1999-06-01 Paul Eggert <eggert@twinsun.com>
+
+ * lib/linebuffer.c (readline): Leave room for an extra byte
+ after the newline; comm needs this for memcoll.
+
+1999-06-01 Paul Eggert <eggert@twinsun.com>
+
+ Add LC_COLLATE support to `join'.
+
+ * doc/textutils.texi: Describe join and LC_COLLATE.
+
+ * src/join.c: Add support for LC_COLLATE locale.
+ Include hard-locale.h, linebuffer.h, memcoll.h.
+ (struct line): New member `buf', replacing `beg' and `lim'.
+ All uses changed.
+ (hard_LC_COLLATE): New var.
+ (main): Initialize it.
+ (get_line): Use readline to read the line,
+ instead of doing it by hand.
+ That way, we get a buffer that we can pass to memcoll.
+ (keycmp): Use memcoll to compare lines if hard_LC_COLLATE is nonzero.
+
+1999-05-27 Volker Borchert <bt@teknon.de>
+
+ * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix.
+
+1999-05-25 Paul Eggert <eggert@twinsun.com>
+
+ Add LC_COLLATE support to `comm', so that `comm' is compatible
+ with `sort' in nontrivial locales.
+
+ * doc/textutils.texi: Document locale-specific mode for comm.
+
+ * lib/Makefile.am (libtu_a_SOURCES): Add hard-locale.c, memcoll.c.
+ (noinst_HEADERS): Add hard-locale.h, memcoll.h.
+
+ * src/comm.c: Include hard-locale.h, memcoll.h.
+ (hard_LC_COLLATE): New variable.
+ (compare_files): Use memcoll to compare if hard_LC_COLLATE.
+ (main): Initialize hard_LC_COLLATE from locale.
+
+ * src/sort.c: Include hard-locale.h, memcoll.h.
+ (hard_LC_COLLATE, hard_LC_CTYPE, hard_LC_TIME): New variables,
+ replacing `need_locale'.
+ (memcoll): Move to lib/memcoll.c.
+ (keycompare): No need to alloc (0), since our caller now does it.
+ (compare): alloca (0) before returning.
+ (my_setlocale): Remove; hard_locale now dows this.
+ (main): Invoke setlocale, bindtextdomain, and textdomain before
+ invoking anything that might print an error.
+ Use hard_locale to determine which locales are hard.
+
+ * lib/hard-locale.c, lib/hard-locale.h, lib/memcoll.c, lib/memcoll.h:
+ New files.
+
+1999-05-25 Paul Eggert <eggert@shade.twinsun.com>
+
+ * lib/linebuffer.c (readline):
+ Append trailing newline to line.
+ * lib/linebuffer.h
+ [struct linebuffer] (size): Declare to be of type size_t, not long.
+ [struct linebuffer] (length): Likewise.
+ * src/comm.c, (writeline): Lines now contain trailing newline.
+ * src/uniq.c (find_field, different): Use size_t, not int, for lengths.
+ (writeline): Lines now contain trailing newline.
+ (check_file): Use size_t, not int, for lengths.
+ * src/nl.c (proc_text, check_section, main): More of the same.
+
+ * lib/linebuffer.h (struct linebuffer): Use size_t for sizes.
+ src/nl.c (header_del_len, body_del_len, footer_del_len, main):
+ Likewise.
+ src/uniq.c (find_field, different, check_file): Likewise.
+
+ * lib/linebuffer.c (readline): Silently append trailing
+ newline if needed. Do not bother setting buffer length to 0
+ at EOF, since it's not part of the spec and nobody relies on
+ it. Do not compute the difference between unrelated pointers.
+
+1999-05-25 Paul Eggert <eggert@twinsun.com>
+
+ * src/tac.c (memrchr): Ifdef out this unused function.
+
+1999-05-25 Jim Meyering <meyering@ascend.com>
+
+ * doc/textutils.texi (Squeezing): Remove misleading square brackets
+ from SET1 in the one-word-per-line example.
+
+1999-05-22 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (libtu_a_SOURCES): Remove memchr.c.
+ From Ulrich Drepper.
+
+ * Version 1.22m.
+
+1999-05-22 Paul Eggert <eggert@twinsun.com>
+
+ * doc/textutils.texi: Document locale-specific changes to `sort',
+ as well as the new, POSIX-compliant definition of line comparison,
+ and -g's more careful treatment of NaNs, infinities and zeros.
+
+ * src/sort.c (general_numcompare): Put exceptional cases
+ first, not last, to be consistent with -M.
+
+1999-05-21 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (strtod): Declare if STDC_HEADERS is not defined.
+ (general_numcompare): Use strtod, not xstrtod.
+ Do not consider partial conversions to be errors.
+ Put -infinity at the start, and +infinity at the end;
+ follow +infinity with NaNs (sorted by bit pattern),
+ and finally by conversion errors.
+
+1999-05-21 Jim Meyering <meyering@ascend.com>
+
+ * tests/sort/Test.pm (11d): Reverse lines in expected output
+ to reflect latest change.
+ (use-nl): New test from Paul Eggert.
+
+1999-05-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c: Treat the trailing newline as part of the line,
+ as required by POSIX.2.
+
+ (struct line, findlines, compare, checkfp, mergefps, sort):
+ A line now includes its trailing newline.
+ (findlines): Do not replace newline with NUL.
+ (memcoll, keycompare): Work even if the data to be compared are
+ adjacent strings; this is possible now that lines contain the
+ trailing newline.
+ (fillbuf): Always have an unused byte at the end of the buffer,
+ since memcoll and keycompare want to modify a byte after the last line.
+ (sortalloc, mergealloc): Increase by 1, for trailing byte.
+
+1999-05-20 Jim Meyering <meyering@ascend.com>
+
+ * tests/sort/Test.pm: Add test case from Paul Eggert.
+
+1999-05-20 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (keycompare): Ignore any length difference if the
+ localized comparison says the strings are equal.
+
+ * src/sort.c (memcoll, keycompare, compare): Handle NUL
+ characters properly when comparing with LC_COLLATE semantics.
+ (NLS_MEMCMP): Remove.
+ (memcoll): Renamed from strncoll.
+ Take separate lengths for each string.
+ This function is now invoked only when need_locale.
+ (keycompare): Don't copy strings when ignore and translate
+ are both NULL.
+
+1999-05-18 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (MONTHTAB_CONST): Renamed from NLS_CONST; the use
+ is also changed. Define to const also if !HAVE_NL_LANGINFO.
+
+ (usage): `,' -> `;' (English typo).
+
+1999-05-17 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * src/cat.c (main): When stdout is in binary mode, make sure all
+ input files are also read in binary mode.
+
+1999-05-16 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22l.
+
+1999-05-11 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c: Don't autodetect the locale of numbers and
+ months, as this conflicts with POSIX.2 and is tricky to boot.
+
+ (FLOATING_COMMA, NLS_STRNCMP, NLS_MAX_GROUPS,
+ NLS_ONE_CHARACTER_STRING): Remove macros no longer used.
+
+ (nls_grouping, nls_fraction_found, nls_month_found, nos_monthtab,
+ nls_months_collide, nls_keyhead, us_monthtab): Remove variables no
+ longer used.
+
+ (struct nls_keyfield): Remove types no longer used.
+
+ (strncoll_s2_readonly, nls_set_fraction, look_for_fraction,
+ nls_month_is_either_locale, nls_numeric_format): Remove functions no
+ longer used.
+
+ (monthtab): Now has the role that us_monthtab had, but it's const only
+ if ENABLE_NLS is not defined.
+
+ (C_DECIMAL_POINT): Renamed from FLOATING_POINT. All uses changed.
+ (MONTHS_PER_YEAR): Renamed from NLS_NUM_MONTHS. All uses changed.
+ (struct_month_cmp): Renamed from nls_sort_month_comp. All uses changed.
+ Use strcmp, not strcoll, since the user doesn't care about collating
+ here.
+
+ (inittables): Read locale data into monthtab, rather than modifying a
+ separate month table and futzing with indirection. Do not worry about
+ colliding months, since we no longer autodetect month locale.
+
+ (fraccompare): Don't set no-longer-used variable nls_fraction_found.
+
+ (getmonth): Use strncmp to compare months, since user doesn't care
+ about collating here. Fix bug where code incorrectly assumed that
+ strlen (monthtab[lo].name) == strlen (monthtab[ix].name).
+
+ (keycompare, main): Don't autodetect month locale.
+
+ (compare): Don't use NLS_MEMCP in code that can't be executed if
+ need_locale is false, as NLS_MEMCP is equivalent to memcmp in that
+ case.
+
+ (sort, insertkey, main): Don't autodetect numeric locale.
+
+1999-05-15 Jim Meyering <meyering@ascend.com>
+
+ * tests/join/Test.pm (trailing-sp): New test for this fix.
+ * src/join.c (xfields): Don't interpret a trailing blank as a
+ delimiter when e.g. -t: was specified. From Tim Smithers.
+
+1999-05-12 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (envvar-check): Renamed from check-local.
+ (check): Depend on envvar-check so the envvar check is performed
+ before all other tests. Reported by Volker Borchert.
+ * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects,
+ so CDPATH is mentioned in the message. Reported by Volker Borchert.
+
+1999-05-11 Jim Meyering <meyering@ascend.com>
+
+ * src/sort.c (usage): Split the --help message into two pieces so that
+ neither is longer than 2048. For Irix4's cc. Reported by Kaveh Ghazi.
+
+1999-05-09 Jim Meyering <meyering@ascend.com>
+
+ * lib/regex.c: Update from libc.
+
+ * Version 1.22k.
+
+ * Makefile.maint (alpha): Put the announcement in
+ /tmp/announce-$(distdir)
+
+ * tests/sort/Test.pm (neg-nls): New test.
+
+1999-05-08 Jim Meyering <meyering@ascend.com>
+
+ * src/system.h (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM,
+ and all the *_MIN and *_MAX symbols): Remove definitions.
+ * src/sys2.h: Put the definitions here instead (this file is shared
+ between all three *utils packages, while system.h is not).
+
+1999-05-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (fraccompare, numcompare): Merge the NLS and
+ non-NLS versions into a single function.
+
+ (decimal_point): Now char, since we no longer convert to unsigned
+ char.
+ (th_sep): Now int, since we use a value out of char range to denote
+ the absence of a thousands separator.
+ (IS_THOUSANDS_SEP): New macro.
+ (USE_NEW_FRAC_COMPARE): Remove.
+ (nls_set_fraction): Arg is now char, not unsigned char.
+ Set th_sep to CHAR_MAX + 1 if there is no thousands separator.
+ (numcompare): Don't convert to unsigned char unless necessary.
+ (main): Turn off decimal points and thousand separators if they
+ are multibyte characters, as we don't support that yet.
+
+1999-05-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/system.h (CHAR_MIN, CHAR_MAX): New macros.
+ (SCHAR_MIN, SCHAR_MAX): Don't assume that char is signed.
+
+1999-05-06 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (numcompare): Handle comparison of two negative
+ numbers correctly in the ENABLE_NLS case.
+
+1999-05-04 Jim Meyering <meyering@ascend.com>
+
+ * src/pr.c (usage): Break the usage message into 3 pieces instead of
+ only 2. The strings had grown to be longer than 2048, which evokes
+ errors when compiling with Irix4's cc. Reported by Kaveh Ghazi.
+
+ * src/tsort.c (search_item): Use `1' instead of `+1'. The latter
+ elicits a syntax error from SunOS4's cc. From Kaveh Ghazi.
+
+1999-05-03 Jim Meyering <meyering@ascend.com>
+
+ * src/ptx.c <ctype.h>: Don't include.
+ [!STDC_HEADERS]: Remove definitions of ctype macros.
+ Convert e.g., isspace to ISSPACE to use definitions from sys2.h.
+ Reported by Kaveh Ghazi.
+
+ * src/sys2.h (TOLOWER): Define.
+ (TOUPPER): Define.
+ * src/join.c (TOLOWER): Remove definition.
+ * src/md5sum.c (TOLOWER): Remove definition.
+
+1999-04-30 Jim Meyering <meyering@ascend.com>
+
+ * src/sort.c (usage): Document the differences between the
+ obsolescent, +POS1[-POS2] form, and the POSIX -k option.
+
+1999-04-24 Jim Meyering <meyering@ascend.com>
+
+ * configure.in: Use AC_CANONICAL_HOST.
+
+ * lib/Makefile.am (libtu_a_SOURCES): Add xstrtoumax.c
+ (noinst_HEADERS): Remove xstrtoul.h.
+
+ * src/csplit.c: Include new "xstrtol.h", not "xstrtoul.h".
+ (struct control) [repeat]: Declare as uintmax_t, not int.
+ (struct control) [lines_required]: Likewise.
+ (handle_line_error): Use human_readable to print lines_required.
+ (parse_repeat_count): Parse a uintmax_t.
+ (parse_patterns): Parse a uintmax_t.
+
+ * src/tail.c: Include new "xstrtol.h", not "xstrtoul.h".
+ * src/od.c: Likewise.
+
+ * src/head.c: Include new "xstrtol.h", not "xstrtoul.h".
+ Change all U_LONG_LONG to uintmax_t.
+ (head_lines): Move a couple dcls into an inner scope.
+ (string_to_integer): Rename from string_to_ull.
+
+1999-04-19 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.maint (b_host): Remove /pub suffix.
+
+1999-04-18 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22j.
+
+ * Makefile.maint (my-distcheck): Use AMTAR, not TAR.
+
+ * src/sort.c (usage): s/DIRECT/DIRECTORY/g
+ Rename global: s/temp_file_prefix/temp_dir/.
+ (NAME_MAX_IN_DIR): Rename from PATH_MAX_IN_DIR. Use _POSIX_NAME_MAX,
+ not _POSIX_PATH_MAX. Guard with #if HAVE_PATHCONF rather than
+ #if HAVE_UNISTD_H.
+ (tempname): Wrap after 99999 only for length-impaired file systems.
+
+1999-04-17 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (file_lines): Fix serious bug introduced with last changes.
+ From Andreas Schwab.
+
+1999-04-15 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (EXTRA_DIST): Rename .posix-warn to .env-warn.
+ (check-local): Warn about CDPATH in the same way
+ we warn about POSIXLY_CORRECT, since the cp/same-file test fails at
+ least when using bash with CDPATH set. Reported by Mark Hewitt.
+
+ * src/pr.c Add comments.
+ (init_header): Tweak white space in Date/Time header.
+ * tests/pr/Test.pm: Updated all tests to reflect the big
+ 1999-02-13 change. From Roland Huebner.
+
+1999-04-12 Jim Meyering <meyering@ascend.com>
+
+ * src/cat.c (main): Declare out_dev to be of type dev_t, not `int'.
+ Declare out_ino to be of type ino_t, not `int'.
+ From John Bley.
+
+ * src/od.c (MIN, MAX): Remove definitions.
+ * src/sys2.h (MIN, MAX): Define here instead.
+ Reported by John Bley.
+
+1999-04-11 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22i.
+
+ * tests/pr/Test.pm (test_vector): Disable all tests while I wait for
+ an updated suite.
+
+ Fix the problem whereby `yes > k & sleep 1; tail -2c k' would infloop.
+ * src/tail.c (COPY_TO_EOF): Define.
+ (dump_remainder): Add parameter, n_bytes, and rewrite to use it.
+ Update callers.
+ (file_lines): Rename parameter.
+ (tail_bytes): Remove obsolete comment.
+
+ Fix the problem whereby `yes > k & sleep 1; tail -1 k' would infloop.
+ * src/tail.c (dump_remainder): Move this function to precede the
+ new use in file_lines.
+ (tail_lines): Don't call dump_remainder here.
+ (file_lines): Call dump_remainder here instead.
+ Reported by Lehti Rami.
+
+ * lib/readtokens.c (readtoken, readtokens): Protoize.
+
+1999-04-10 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (xwrite): Use STDOUT_FILENO instead of literal `1'.
+
+1999-04-04 Jim Meyering <meyering@ascend.com>
+
+ * src/cat.c: Standardize --help and --version processing.
+ * src/comm.c: Likewise.
+ * src/csplit.c: Likewise.
+ * src/cut.c: Likewise.
+ * src/expand.c: Likewise.
+ * src/fmt.c: Likewise.
+ * src/fold.c: Likewise.
+ * src/head.c: Likewise.
+ * src/join.c: Likewise.
+ * src/md5sum.c: Likewise.
+ * src/nl.c: Likewise.
+ * src/od.c: Likewise.
+ * src/paste.c: Likewise.
+ * src/pr.c: Likewise.
+ * src/ptx.c: Likewise.
+ * src/split.c: Likewise.
+ * src/sum.c: Likewise.
+ * src/tac.c: Likewise.
+ * src/tail.c: Likewise.
+ * src/tr.c: Likewise.
+ * src/unexpand.c: Likewise.
+ * src/uniq.c: Likewise.
+ * src/wc.c: Likewise.
+
+1999-03-29 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (GNU_PACKAGE): Remove related code -- now it's in
+ the catch-all for shared autoconf code, m4/jm-macros.m4.
+ (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use
+ this instead.
+
+1999-03-26 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c.
+ (noinst_HEADERS): Add version-etc.h.
+
+1999-03-25 Jim Meyering <meyering@ascend.com>
+
+ * src/tail.c (recheck): Factor out a block of duplicated code.
+ Set f->size to 0 upon encountering a new file so we read it from
+ the beginning rather than from the end of the first line or
+ block. Otherwise, after a log rotation, tail would omit the first
+ line or block of the new file. Reported by Ed Avis.
+
+1999-03-20 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am (SUBDIRS): Temporarily remove pr.
+
+1999-03-13 Jim Meyering <meyering@ascend.com>
+
+ * src/tac.c (tac_mem): `#if-0'-out this unused function.
+ (tac_stdin_to_mem): Likewise.
+
+ * doc/textutils.texi (cut invocation): Describe --output-delimiter.
+
+1999-03-12 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h (SETVBUF): Define new macro.
+ * src/tail.c (dump_remainder): Don't fflush stdout here.
+ (main) [if forever]: Make stdout unbuffered, instead.
+ Akim Demaille pointed out that when running `echo x>a; tail -f a>>a' ,
+ the file `a' didn't grow longer than two lines. Now it grows
+ without bound.
+
+1999-03-07 Jim Meyering <meyering@ascend.com>
+
+ * tests/md5sum/newline-1: Test for the actual feature.
+ With help from Eli Zaretskii.
+
+ * src/pr.c (usage): Add missing \n\.
+
+ The newline test would always fail on MSDOS/Windows systems --
+ so move it to a separate file where we can test for that.
+ * tests/md5sum/basic-1: Remove newline test.
+ * tests/md5sum/newline-1: New file.
+ * tests/md5sum/Makefile.am (TESTS): Add newline-1.
+ Pointed out by Eli Zaretskii.
+
+ 1999-02-13 Roland Huebner <rh@pelikan.cologne.de>
+ * src/pr.c
+ (main): Redefine options -s, -w to be POSIX compliant; introduce
+ new options -J, -S, -W to disentangle -s and -w when used together
+ with the three column options;
+ (add_line_number): Make POSIX compliant; use default number
+ separator TAB with single column output.
+ (add_line_number): Make POSIX compliant; with multicolumn output
+ now prefer `text columns of equal width' rather than a consequent
+ use of `default n-separator TAB'.
+ (add_line_number): Change line number cut-off from lower-oder to
+ higher-oder digit to avoid loss of information; no consequent
+ handling exists in different utilities and other UNIXes.
+ (char_to_clump): Expand input text tabs to 8 spaces, if
+ input_tab_char doesn't equal TAB (adapted to other UNIXes).
+ (usage): Update POSIX compliant options -s, -w; add new options -J,
+ -S, -W.
+ (main): Update the source internal documentation.
+ Some smaller BUGFIXES (print_sep_string, init_header, skip_to_page,
+ reset_status, print_header).
+
+ * tests/md5sum/basic-1 (backslash): Use .\foo instead of \.foo so we
+ don't tramp on root directory in MSDOS/Windows.
+ Suggestion from Eli Zaretskii.
+
+ 1999-02-15 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * tests/md5sum/Makefile.am (TESTS_ENVIRONMENT): Run md5sum with the
+ --text option (for MSDOS).
+
+1999-03-06 Jim Meyering <meyering@ascend.com>
+
+ * src/cut.c (getstr): Change type of `delim' parameter from char to int.
+ (cut_fields): Cast to `unsigned char' before comparing.
+ (main): Cast to `unsigned char' before assigning.
+ From Arne Juul.
+ * tests/cut/Test.pm: Add a test to exercise the bug.
+
+ * src/ptx.c (swallow_file_in_memory): Use a `%s' format in error call,
+ in case the argument string contains a `%'.
+ (main): Likewise.
+ * src/fmt.c (main): Likewise.
+ * src/sort.c (main): Likewise.
+
+ 1999-02-13 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * src/sys2.h [__DJGPP__]: Include <io.h> and <sys/exceptn.h>.
+
+ * src/ptx.c (swallow_file_in_memory): Slurp up the whole file at
+ once on MSDOS as well, but we have to relax the test for whether
+ reading it succeeded.
+
+1999-03-03 Jim Meyering <meyering@ascend.com>
+
+ * src/cat.c: Include long-options.h
+ [long_options]: Remove the "help" and "version" entries.
+ Remove declarations of show_help and show_version.
+ (main): Use parse_long_options, including author name(s).
+ Remove the show_version and show_help blocks.
+ * src/cksum.c: Likewise.
+ * src/comm.c: Likewise.
+ * src/csplit.c: Likewise.
+ * src/cut.c: Likewise.
+ * src/expand.c: Likewise.
+ * src/fmt.c: Likewise.
+ * src/fold.c: Likewise.
+ * src/head.c: Likewise.
+ * src/nl.c: Likewise.
+ * src/od.c: Likewise.
+ * src/paste.c: Likewise.
+ * src/pr.c: Likewise.
+ * src/split.c: Likewise.
+ * src/sum.c: Likewise.
+ * src/tac.c: Likewise.
+ * src/tail.c: Likewise.
+ * src/tr.c: Likewise.
+ * src/unexpand.c: Likewise.
+ * src/uniq.c: Likewise.
+ * src/wc.c: Likewise.
+
+ * src/ptx.c: Include long-options.h
+ [long_options]: Remove the "help" and "version" entries.
+ Remove declarations of show_help and show_version.
+ (main): Remove `const' attribute from dcl of argv parameter.
+ Call bindtextdomain and textdomain.
+ Use parse_long_options, including author name(s).
+ Remove the show_version and show_help blocks.
+
+ * src/join.c (main): Include author name argument in call to
+ parse_long_options.
+ * src/md5sum.c (main): Likewise.
+ * src/sort.c (main): Likewise.
+ * src/tsort.c (main): Likewise.
+
+1999-02-07 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22h.
+
+ * Makefile.maint (my-distcheck): Don't depend on dist, now that this
+ is hooked up to the distcheck rule.
+ * Makefile.am (distcheck-hook): New target and rule -- link to shared
+ rule, my-distcheck, in Makefile.maint.
+
+1999-01-31 Jim Meyering <meyering@ascend.com>
+
+ * doc/textutils.texi: Wrap the @top node in @ifnottex instead of
+ @ifinfo so `makeinfo --html ...' works. From Karl Berry.
+
+1999-01-30 Jim Meyering <meyering@ascend.com>
+
+ * acconfig.h: Remove lots of `#undef's, now that we use the
+ 3-argument forms of AC_DEFINE* macros.
+
+ * configure.in: Require autoconf 2.13.
+ Use 3-argument form of AC_DEFINE*.
+
+1999-01-24 Jim Meyering <meyering@ascend.com>
+
+ * src/tac.c (DONT_UNLINK_WHILE_OPEN) [__MSDOS__ || _WIN32]: Define.
+
+ * lib/quotearg.c (quotearg_n_options): Revert type of parameter `n'
+ (and hence that of the local `n1', too) to `int' at Paul's request.
+
+1999-01-18 Akim Demaille <demaille@inf.enst.fr>
+
+ * doc/textutils.texi: Harmonization of @samp use for options.
+
+1999-01-17 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.am (SUBDIRS): Add djgpp.
+ * configure.in (AC_OUTPUT): Add djgpp/Makefile.
+ * djgpp/: New directory.
+
+ * man/Makefile.maint ($(man_MANS)): Don't remove the target (the
+ man page) until after we've created its replacement.
+
+1999-01-16 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * GNUmakefile: Add SHELL = /bin/sh.
+ * man/GNUmakefile: Likewise.
+
+1999-01-16 Jim Meyering <meyering@ascend.com>
+
+ * acconfig.h: Remove @BOTTOM@ section.
+ Instead, add the define and decl via m4/jm-macros.m4.
+
+ * lib/argmatch.h (XARGMATCH): Define to return a value once again.
+ (XARGCASEMATCH): Likewise.
+
+ * lib/argmatch.c (EXIT_FAILURE): Define.
+ (ARGMATCH_DIE): Provide default.
+ (__xargmatch_internal): New function.
+ s/rogram_name/program_name.
+ From Akim Demaille.
+
+1999-01-14 Jim Meyering <meyering@ascend.com>
+
+ * tests/md5sum/basic-1: Use `f', not `x' as temp. file name to avoid
+ warnings from perl5.004.
+ Reported by Volker Borchert.
+
+ * lib/long-options.c (parse_long_options): Rename `usage' parameter
+ to avoid shadowing globally scoped function.
+
+1999-01-14 Akim Demaille <demaille@inf.enst.fr>
+
+ * acconfig.h: Add a @BOTTOM@ section.
+ (ARGMATCH_DIE) [@BOTTOM@]: Define to usage(1).
+ Declare usage.
+ * src/*.c: Don't prototype usage as static.
+
+1999-01-10 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22g.
+
+ All of the following new code is protected by
+ `#if DONT_UNLINK_WHILE_OPEN'
+ * src/tac.c (file_to_remove): New global.
+ (fp_to_close): New global.
+ (unlink_tempfile): New function.
+ (record_tempfile): New function.
+ (save_stdin): Call record_tempfile.
+ Use SET_BINARY.
+ (main): Use SET_BINARY and SET_BINARY2.
+ From Eli Zaretskii.
+
+1999-01-09 Jim Meyering <meyering@ascend.com>
+
+ * tests/uniq/Test.pm: Add tests from Jochen Hein.
+ * src/uniq.c: New option: --all-repeated (-D).
+ (output_all_repeated) [output_mode]: New enum value.
+ (usage): Describe it.
+ (writeline): Test for new mode.
+ (check_file): Likewise.
+ Based on patches from Jochen Hein and Florin Iucha.
+ (main): Diagnose `too many arguments'.
+
+ * tests/head/Test.pm (null-1): Add test from Jochen Hein.
+
+ * src/tail.c (parse_obsolescent_option): Interpret `number' as decimal.
+ (parse_options): Likewise.
+ Reported by Kamal Paul Nigam.
+
+ * src/tail.c: New option: --max-unchanged-stats=N.
+ New option: --max-n-consecutive-size-changes=N.
+
+1999-01-03 Jim Meyering <meyering@ascend.com>
+
+ * src/md5sum.c (usage): Remove third program_name argument -- there
+ were only two `%s' in the format string.
+
+1999-01-02 Jim Meyering <meyering@ascend.com>
+
+ * src/tsort.c (tsort): Use a single call to error instead of two
+ to fprintf.
+ (main): Remove `%s: ' prefix on format string.
+
+ * src/tail.c (parse_options): Use XARGMATCH in place of argmatch.
+
+ * src/ptx.c (format_vals): New array.
+ (main): Use XARGMATCH in place of argmatch.
+
+ * lib/argmatch.h (XARGMATCH): Don't return a value; instead,
+ modify a parameter. Add a `Die_stmt' parameter.
+ Add parentheses.
+ * lib/argmatch.c (__xargmatch_internal): Remove now-unused function.
+ (argmatch_to_argument): Add `const' attribute to first parameter.
+
+1999-01-01 Jim Meyering <meyering@ascend.com>
+
+ * src/tsort.c: Move inclusion of assert.h to follow that of stdio.h.
+ Some losing systems require this.
+ Use STREQ macro instead of strcmp in a few places.
+
+ * po/POTFILES.in: Add tsort.c.
+
+ * man/Makefile.maint ($(man_MANS)): `exit 1' if any of help2man,
+ chmod, or mv fails. Otherwise, the failure could go unnoticed.
+
+ * man/Makefile.summ: Add entries for ptx and tsort.
+
+ * src/tsort.c: Include readtokens.h.
+ (zeros): Rename global from `rr'.
+ (getstr): Remove function.
+ (tsort) Use readtoken instead of getstr.
+
+ * lib/readtokens.c: New file.
+ * lib/readtokens.h: New file.
+ * lib/Makefile.am (libtu_a_SOURCES): Add readtokens.c.
+ (noinst_HEADERS): Add readtokens.h.
+
+ * man/Makefile.am (man_MANS): Add ptx.1.
+ * man/ptx.x: New file.
+
+ * src/tail.c (parse_options): Use XARGMATCH in place of argmatch.
+
+ * man/Makefile.am (man_MANS): Add tsort.1.
+ * man/tsort.x: New (essentially empty) file.
+
+ * src/tsort.c: Rename globals N and R so they don't shadow locals.
+ (tsort): Rename from `sort'.
+
+ 1998-11-07 Mark Kettenis <kettenis@phys.uva.nl>
+ * src/Makefile.am (bin_PROGRAMS): Add tsort.
+ * src/tsort.c: New program.
+
+ * lib/Makefile.am (libtu_a_SOURCES): Add quotearg.c.
+ (noinst_HEADERS): Add quotearg.h.
+
+ ============================
+ All of the following are from:
+ 1998-04-17 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * src/system.h (SET_BINARY, SET_BINARY2, fileno, setmode): New
+ macros.
+
+ * src/cat.c (usage) [O_BINARY]: Describe -B,--binary option.
+ (main) [O_BINARY]: binary_files, binary_output, file_open_mode:
+ new variables. Add --binary to long_options[]. Switch stdin and
+ stdout to binary mode unless file contents are not important
+ anyway. Open files in binary mode when required.
+
+ * src/cksum.c (cksum) [O_BINARY]: Read redirected stdin in binary
+ mode.
+
+ * src/expand.c (expand): Use binary I/O where appropriate.
+
+ * src/head.c (head_bytes, head_lines) [O_BINARY]: Use binary I/O.
+
+ * src/md5sum.c (OPENOPTS) [O_BINARY]: Use binary I/O when non-zero
+ argument.
+ (md5_file) [O_BINARY]: Switch redirected stdin to binary mode.
+ (main) [O_BINARY]: Use binary reads by default on those systems
+ which care about the difference.
+
+ * src/od.c (skip, read_char, read_block) [O_BINARY]: Switch input
+ stream to binary mode.
+
+ * src/sort.c (PATH_MAX_IN_DIR) [HAVE_UNISTD_H]: New macro, for max
+ file name characters in a given directory.
+ (tempname): Make sure the temp file name is unique even if long
+ file names aren't supported.
+
+ * src/split.c (cwrite) [O_BINARY]: Write output in binary mode.
+ (main) [O_BINARY]: Read input in binary mode.
+
+ * src/sum.c (bsd_sum_file, sysv_sum_file) [O_BINARY]: Read input
+ in binary mode.
+
+ * src/tac.c (record_tempfile, unlink_tempfile)
+ [DONT_UNLINK_WHILE_OPEN]: New functions, for systems where a file
+ cannot be removed before it is closed.
+ (save_stdin) [DONT_UNLINK_WHILE_OPEN]: Record the temporary file,
+ to be removed before exit.
+ (tac_file, save_stdin, main): Use binary I/O when appropriate.
+
+ * src/tail.c (tail_lines, tail_bytes) [O_BINARY]: Use binary I/O
+ when appropriate.
+
+ * src/tr.c (main) [O_BINARY]: Use binary I/O when appropriate.
+
+ * src/unexpand.c (unexpand): Use binary I/O where appropriate.
+
+ * src/wc.c (wc): Use binary mode for input.
+
+ * doc/textutil.texi: Add comments about peculiarities of Textutils
+ operation on MS-DOS/MS-Windows.
+
+1998-12-22 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (ALL_LINGUAS): Add chinese (zh).
+
+1998-12-17 Jim Meyering <meyering@ascend.com>
+
+ New options for tail:
+ --follow=name, --follow=descriptor, --allow-missing
+ * src/tail.c (Follow_mode): New enum.
+ (n_live_files): New function.
+ (tail_forever): Avoid starvation with --follow=name and a
+ continually-growing unlinked or renamed file.
+
+1998-12-13 Jim Meyering <meyering@ascend.com>
+
+ * tests/uniq/Test.pm: New file.
+ * tests/uniq/Makefile.am: New file.
+ * tests/uniq: New directory.
+ * tests/Makefile.am (SUBDIRS): Add uniq.
+ * configure.in (AC_OUTPUT): Add tests/uniq/Makefile.
+ From Jochen Hein.
+
+ * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in.
+ (stat.c): Likewise.
+ (EXTRA_DIST): Add xstat.in.
+ * lib/stat.c: Remove file.
+ * lib/lstat.c: Remove file.
+ * lib/xstat.in (xstat@): New file.
+
+ * configure.in (ALL_LINGUAS): Add Russian (ru).
+
+1998-10-31 Jim Meyering <meyering@ascend.com>
+
+ * acconfig.h (stat): New #undef.
+
+1998-10-22 Jim Meyering <meyering@ascend.com>
+
+ * src/fold.c (usage): Add mention of --version and --help.
+ Reported by Matej Vela <mvela@public.srce.hr>.
+
+1998-10-04 Jim Meyering <meyering@ascend.com>
+
+ * lib/fnmatch.h: New file. (unused)
+ * lib/fnmatch.c: New file. (unused)
+ * lib/Makefile.am (noinst_HEADERS): Add fnmatch.h.
+
+1998-10-03 Jim Meyering <meyering@ascend.com>
+
+ * man/Makefile.am: Switch to using help2man.
+ (EXTRA_DIST): Add Makefile.summ.
+
+ * man/help2man: Invoke program with --manhelp option only if
+ --name=STRING not specified. Otherwise, this would fail with `yes'.
+ * man/Makefile.summ: New file.
+ * man/Makefile.maint: Include it.
+ * man/help2man: New file.
+ * man/GNUmakefile: New file.
+ * man/Makefile.maint: New file.
+ * man/*.x: New files.
+ * man/*.1: Remove files.
+
+ * src/md5sum.c (split_3): Rename local variable, to `escaped_filename'.
+ (main): Output the leading backslash not just when there's a newline
+ in the file name, but also when there's a backslash.
+ Reported by Jim Dennis.
+
+ * tests/md5sum/basic-1: Add tests with filenames containing newline
+ and backslash characters. (for the bug fixed above)
+
+ * tests/Makefile.am (EXTRA_DIST): Add Fetish.pm.
+ * tests/Fetish.pm: New file.
+
+ * tests/md5sum/basic-1: New file: rewrite of old tests to use Fetish.pm.
+ * tests/md5sum/Test.pm: Remove file.
+ * tests/md5sum/Makefile.am: Rewrite.
+
+1998-09-19 Jim Meyering <meyering@ascend.com>
+
+ * src/ptx.c (program_name): Declare *not* to be const.
+
+1998-08-29 Jim Meyering <meyering@ascend.com>
+
+ * src/cut.c: Don't assume ASCII.
+ * src/pr.c: Likewise.
+ * src/tail.c: Likewise.
+
+1998-08-15 Jim Meyering <meyering@ascend.com>
+
+ * src/pr.c (usage): Reformat.
+
+ * src/ptx.c: Add braces to suppress warning about ambiguous `else'.
+ * lib/bumpalloc.h: Likewise.
+
+1998-08-13 François Pinard <pinard@iro.umontreal.ca>
+
+ * src/ptx.c: New file.
+ * src/Makefile.am (bin_PROGRAMS): Add ptx.
+ * lib/bumpalloc.h, lib/diacrit.h, lib/diacrit.c: New files.
+ * lib/Makefile.am (libtu_a_SOURCES): Add diacrit.c.
+ (noinst_HEADERS): Add bumpalloc.h and diacrit.h.
+
+1998-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * src/pr.c (long_options): Add long names for all options.
+ (usage): Update help string.
+ (main): Handle the special options --pages and --columns.
+
+1998-08-02 Jim Meyering <meyering@ascend.com>
+
+ * lib/linebuffer.c (readline): Return zero upon error as well as upon
+ end of file. From James Youngman.
+ Ansideclify.
+
+1998-08-01 Jim Meyering <meyering@ascend.com>
+
+ * src/sort.c (my_setlocale): Guard definition within #ifdef ENABLE_NLS.
+ From Manfred Hollstein.
+
+1998-07-30 Jim Meyering <meyering@ascend.com>
+
+ * tests/cut/Test.pm: Avoid broken pipe message for tests that fail
+ with usage errors.
+
+ * src/sort.c (usage): Add angle brackets to make `Report bugs...'
+ message consistent with all the rest.
+
+1998-07-28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * tests/cut/Test.pm: Avoid broken pipe for 'y' and 'z' tests.
+
+ * src/sort.c (NEGATION_SIGN): Renamed from NEGATIVE_SIGN to avoid
+ clash with <langinfo.h>. All uses changed.
+
+1998-07-26 Jim Meyering <meyering@ascend.com>
+
+ * intl/localealias.c (read_alias_file): Avoid mixing `char*' and
+ `unsigned char*' variables. Again for irix4.
+ Mostly from Kaveh Ghazi.
+
+ * src/join.c: Convert some char* dcls to `unsigned char*' and remove
+ a cast -- to placate irix4's cc.
+ * src/fmt.c (check_punctuation): Add cast to placate irix4's cc.
+ Reported by Kaveh Ghazi.
+
+ * src/md5sum.c (split_3): Add cast to placate irix4's cc.
+ From Kaveh Ghazi.
+
+1998-07-25 Jim Meyering <meyering@ascend.com>
+
+ * Version 1.22f.
+
+ * tests/cut/Test.pm: Add tests for new --output-delimiter option,
+ as well as for NUL input delimiter (--delimiter='').
+ * src/cut.c (cut_fields): Honor new --output-delimiter option.
+ (main): Fix handling of --delimiter='' (-d ''). Until now, it has
+ never worked as advertised. I guess no one tried it.
+
+ * tests/sort/Test.pm: Add two tests relating to this.
+ * src/sort.c (main): Stat all non-`-' input file files (and fail if a
+ stat fails) when an output file is specified by `-o' but doesn't exist.
+ Reported by Will Edgington.
+
+ * tests/sort/Test.pm: New tests of -o.
+
+1998-07-16 Jim Meyering <meyering@ascend.com>
+
+ * lib/Makefile.am (noinst_HEADERS): Add lchown.h.
+ * lib/lchown.h: New file, just to define ENOSYS on systems that lack it.
+ * lib/lchown.c: Include lchown.h.
+
+1998-07-04 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (AM_WITH_REGEX): Remove. Now the replacement
+ macro, jm_WITH_REGEX, is bundled with the rest in jm_MACROS.
+ * acconfig.h (WITH_REGEX): Remove undef.
+ * src/csplit.c: Remove #ifdef around <regex.h> inclusion.
+ * src/nl.c: Likewise.
+ * src/tac.c: Likewise.
+ * src/csplit.c (extract_regexp): Remove #if !WITH_REGEX...#endif block.
+ * lib/Makefile.am (noinst_HEADERS): Remove rx.h.
+ * lib/rx.c: Remove file.
+ * lib/rx.h: Remove file.
+
+1998-06-29 Jim Meyering <meyering@ascend.com>
+
+ * src/wc.c: Update calls to human_readable -- now there's one fewer arg.
+
+ * lib/Makefile.am (libtu_a_SOURCES): Add argmatch.c.
+ (noinst_HEADERS): Add argmatch.h.
+
+1998-06-28 Jim Meyering <meyering@ascend.com>
+
+ * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers.
+
+1998-06-27 Jim Meyering <meyering@ascend.com>
+
+ * tests/pr/Test.pm: Add two tests for double spacing.
+ * src/pr.c (print_page): If cols_ready_to_print is zero,
+ break out of loop just before the double-space test.
+ Reported by Michael Stutz.
+
+1998-06-18 Jim Meyering <meyering@ascend.com>
+
+ * tests/Makefile.am.in (check): Depend on $(maint_gen) so
+ `make maintainer-clean; ./configure; make check' works.
+
+1998-05-25 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (_GNU_SOURCE): AC_DEFINE it here.
+ * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section.
+ [!_GNU_SOURCE]: Add #undef instead.
+
+1998-05-16 Jim Meyering <meyering@ascend.com>
+
+ * configure.in (jm_MACROS): New wrapper macro.
+ Remove uses of most jm_* macros.
+
+ * src/tac.c (tac_seekable): Fix error in handling regex separators.
+ * tests/tac/Test.pm (opt-b, opt-s, opt_sb, opt_r): New tests.
+ (opt_br): New test -- exercises above-fixed bug.
+
+ * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS='
+ lines from the m4/*.m4 macros, so the hack of including some
+ custom-replaced C source file names here is no longer needed.
+
+ * acconfig.h (chown): Add undef.
+ (D_INO_IN_DIRENT): Likewise.
+ (D_TYPE_IN_DIRENT): Likewise.
+ (ssize_t): Likewise.
+
+1998-05-09 Jim Meyering <meyering@ascend.com>
+
+ * src/tac.c (tac_seekable): Rename from tac_stream.
+ Change `FILE *in' parameter to `int input_fd'. Adjust callers.
+
+1998-05-03 Jim Meyering <meyering@ascend.com>
+
+ * po/: Update from gettext-0.10.35.
+ * intl/: Likewise.
+ * configure.in: Remove use of AC_LINK_FILES.
+ (AC_OUTPUT): Remove po/Makefile-generating sed command.
+
+1998-04-26 Jim Meyering <meyering@ascend.com>
+
+ * tests/tail/Test.pm: Disable test f-1, now that it fails.
+
+ * src/sort.c (keycompare) (CMP_WITH_IGNORE): Don't return 0 from inside
+ the keyspec-iterating loop. With this change, test 22a passes.
+ Reported by Zvi Har'El.
+ (strncoll): Remove bogus assertion.
+ * tests/sort/Test.pm: Add tests for the above fix.
+
+ * configure.in: Use jm_ASSERT.
+ * acconfig.h: Add NDEBUG.
+
+ * src/cut.c: Don't define NDEBUG.
+ * src/csplit.c: Likewise.
+ * src/join.c: Likewise.
+ * src/sort.c: Likewise.
+ * src/tr.c: Likewise.
+
+ * src/cut.c: Don't define _GNU_SOURCE (now it's in config.h).
+ * src/expand.c: Likewise.
+ * src/fold.c: Likewise.
+ * src/join.c: Likewise.
+ * src/sort.c: Likewise.
+ * src/tr.c: Likewise.
+ * src/unexpand.c: Likewise.
+ * src/uniq.c: Likewise.
+
+ * src/tail.c (close_fd): New function -- converted from macro.
+ [struct File_spec] (n_stat_calls): New member.
+ [struct File_spec] (n_unchanged_stats): New member.
+ (max_n_unchanged_stats): New global.
+ Initialize new members.
+ (xwrite): New function -- converted from macro.
+ [struct File_spec] (pretty_name): Remove member.
+ (pretty_name): New function.
+
+ * src/md5sum.c (md5_check): Declare local, `md5num' as _unsigned_ char*.
+ (hex_digits): Declare parameter `s' as _unsigned_ char*.
+ (split_3): Declare parameter `u' as _unsigned_ char**.
+
+1998-04-17 Jim Meyering <meyering@ascend.com>
+
+ * src/fmt.c (check_punctuation): Used unsigned char* pointers to avoid
+ new warning.
+ * src/join.c (xfields): Likewise.
+
+1998-04-12 Jim Meyering <meyering@ascend.com>
+
+ * src/cat.c: Use STREQ macro rather than strcmp.
+ * src/cksum.c: Likewise.
+ * src/comm.c: Likewise.
+ * src/csplit.c: Likewise.
+ * src/cut.c: Likewise.
+ * src/fmt.c: Likewise.
+ * src/fold.c: Likewise.
+ * src/head.c: Likewise.
+ * src/join.c: Likewise.
+ * src/md5sum.c: Likewise.
+ * src/nl.c: Likewise.
+ * src/paste.c: Likewise.
+ * src/pr.c: Likewise.
+ * src/split.c: Likewise.
+ * src/sum.c: Likewise.
+ * src/tac.c: Likewise.
+ * src/uniq.c: Likewise.
+ * src/wc.c: Likewise.
+
+1998-04-11 Jim Meyering <meyering@ascend.com>
+
+ * lib/safe-read.h: New file.
+ * lib/safe-read.c: Include it.
+ * src/cat.c: Include it instead of merely declaring safe_read.
+ * src/csplit.c: Likewise.
+ * src/head.c: Likewise.
+ * src/split.c: Likewise.
+ * src/sum.c: Likewise.
+ * src/tac.c: Likewise.
+ * src/tail.c: Likewise.
+ * src/tr.c: Likewise.
+ * src/wc.c: Likewise.
+
+ * lib/Makefile.am (noinst_HEADERS): Add safe-read.h.
+
+ * src/wc.c [HAVE_INTTYPES_H]: Include inttypes.h.
+ Declare counters to be of type uintmax_t.
+ (write_counts): Use human_readable to format potentially-long-long
+ numbers. Suggestion from Rogier Wolff.
+ (wc): Declare per-file counters to be of type uintmax_t.
+ Declare bytes_read to be ssize_t.
+ * lib/Makefile.am (libtu_a_SOURCES): Add human.c.
+ (noinst_HEADERS): Add human.h.
+
+ * lib/human.c: New file.
+ * lib/human.h: New file.
+
+1998-04-04 Jim Meyering <meyering@eng.ascend.com>
+
+ * configure.in (jm_AC_HEADER_INTTYPES_H): Use it.
+ (jm_AC_TYPE_UINTMAX_T): Use it.
+ (jm_PREREQ): Use it.
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal
+ know about the m4/ subdirectory.
+ * Makefile.maint (aclocal-files): Remove now-unnecessary (with
+ automake-1.2h and the above change) aclocal-related rules and includes.
+
+1998-04-03 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/closeout.c: New file.
+ * lib/closeout.h: New file.
+ * lib/Makefile.am (libtu_a_SOURCES): Add closeout.c.
+ (noinst_HEADERS): Add closeout.h.
+
+1998-03-31 Jim Meyering <meyering@eng.ascend.com>
+
+ * lib/xstrtol.c: Merge with the version from fileutils.
+
+1998-03-27 Jim Meyering <meyering@eng.ascend.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h.
+
+1998-03-23 Jim Meyering <meyering@eng.ascend.com>
+
+ * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4
+ automatically handles it.
+
+1998-03-19 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/system.h (SCHAR_MIN): Define.
+ (SHRT_MIN): Define.
+ od.c needs these when compiling with NCR's R2.0c C compiler.
+ (TYPE_MAXIMUM): Cast result to `(t)' so this macro works with
+ `unsigned char'.
+ From Greg Wooledge.
+
+1998-03-15 Jim Meyering <meyering@eng.ascend.com>
+
+ * src/tail.c (tail_file): Merge largely-duplicated blocks of code.
+
+1998-03-03 Paul Eggert <eggert@twinsun.com>
+
+ * src/sort.c (xtmpfopen): Open temporary file exclusively, to
+ foil a common denial-of-service attack.
+ * src/tac.c (save_stdin): Likewise.
+
+1998-02-16 Jim Meyering <meyering@eng.ascend.com>
+
+ * configure.in (jm_FUNC_LSTAT): Use it.
+ (jm_FUNC_STAT): Use it.
+ * lib/Makefile.am (EXTRA_DIST): Add lstat.c and stat.c.
+
+1998-02-06 Jim Meyering <meyering@eng.ascend.com>
+
+ * configure.in: Don't use AM_MAINTAINER_MODE or
+ AC_PATH_PROG(PERL, perl).
+ (jm_PERL): Use this.
+
+1998-02-04 Jim Meyering <meyering@eng.ascend.com>
+
+ * tests/Makefile.am.in (EXTRA_DIST): Remove mk-script.pl.
+ (mk_script): Set to ../mk-script.
+ (x-tests): Use `$(PERL) -w -- $(mk_script)', not ./mk-script.
+ Remove @MAINT@ cruft.
+ (Makefile.am): Likewise.
+ Remove @MAINT@ cruft. Now `missing' will explain the failure
+ when people don't have Perl yet modify a file whose rebuilding
+ would lead to the use of Perl.
+
+ * tests/Makefile.am (EXTRA_DIST): Add mk-script.
+ * tests/*/mk-script.pl: Remove files.
+
+ * GNUmakefile: New file.
+ * Makefile.am (EXTRA_DIST): Add GNUmakefile.
+ Don't include Makefile.maint from here. It's included from GNUmakefile.
+
+1998-01-30 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_LFS): Put before anything that can affect or use
+ CPPFLAGS, LDFLAGS, or LIBS.
+
+1998-01-25 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.maint: New file.
+ * Makefile.am: Move rules common to textutils, fileutils, sh-utils
+ into Makefile.maint.
+ Include Makefile.maint.
+ (EXTRA_DIST): Add Makefile.maint.
+
+ * src/cat.c (cat): Convert comma-expressions to pairs of
+ semicolon-terminated stmts.
+ Add braces around compound if/else stmts.
+
+1998-01-24 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (parse_obsolescent_option): Do not interpret `-f -n 1 ...'
+ as obsolescent options.
+ Accept new option: --sleep-interval=SECONDS (-s).
+ (parse_options): Recognize it.
+ (usage): Describe it.
+ (tail_forever): Use it.
+ (dump_remainder): Use it.
+ * tests/tail/Test.pm (f-1): Add test for option-processing of `-f -n 1'.
+
+ * tests/cut/: Rename directory to remove `-test' suffix.
+ * tests/join/: Likewise.
+ * tests/md5sum/: Likewise.
+ * tests/pr/: Likewise.
+ * tests/sort/: Likewise.
+ * tests/tr/: Likewise.
+ * configure.in (AC_OUTPUT): Reflect renamings in tests/.
+ * tests/Makefile.am (SUBDIRS): Reflect renamings in tests/.
+
+ * src/system.h (TYPE_MINIMUM): Add extra outer cast to work around
+ bug in Cray C 5.0.3.0 when T == time_t.
+
+1998-01-18 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (strncoll, strncoll_s2_readonly, look_for_fraction,
+ numcompare): Remove the `unsigned' from some `unsigned char*'
+ parameter types. Add casts via UCHAR where necessary to avoid
+ problems with unwanted sign extension. Based on a patch from
+ Kaveh Ghazi to appease Irix4's cc compiler.
+
+1998-01-17 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/split.c (next_file_name): Rewrite. This removes an artificial
+ limit (albeit already high, at INT_MAX :-) on the number of files
+ split could create. Reported by Ralf W. Stephan.
+
+1998-01-16 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (mergefps): Add braces to avoid ambiguous `else' stmt.
+ (nls_set_fraction): Likewise.
+
+ * src/sort.c: Guard inclusion of langinfo.h also with HAVE_LANGINFO_H,
+ for Irix-4.0.5. From Kaveh Ghazi.
+ * configure.in: Check for langinfo.h.
+
+ * lib/getline.c: Make PARAMS-defining conditionals consistent.
+ * lib/linebuffer.h: Likewise.
+ * lib/long-options.h: Likewise.
+ * lib/memcasecmp.h: Likewise.
+ * lib/xstrtod.h: Likewise.
+ * lib/xstrtol.h: Likewise.
+ Suggestion from Kaveh Ghazi.
+
+ * tests/head/Test.pm (fail-0): Disable test. It depends on
+ sizeof(long) being 32 bits. Reported by Kaveh Ghazi.
+
+1998-01-10 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.22d.
+
+ * src/system.h [HAVE_LIMITS_H]: Include limits.h
+ (TYPE_SIGNED): Define.
+ (TYPE_MINIMUM): Define.
+ (TYPE_MAXIMUM): Define.
+ (CHAR_BIT): Define.
+ (SCHAR_MAX): Define.
+ (UCHAR_MAX): Define.
+ (SHRT_MAX): Define.
+ (INT_MAX): Define.
+ (UINT_MAX): Define.
+ (LONG_MAX): Define.
+ (ULONG_MAX): Define.
+ * src/*.c: Remove definitions of those symbols.
+
+ * src/csplit.c: Move inclusion of regex.h/rx.h to follow system.h
+ since it now includes limit.h which defines RE_DUP_MAX.
+ * src/nl.c: Likewise.
+ * src/tac.c: Likewise.
+
+ * lib/xstrtol.c (bkm_scale): Renamed from BKM_SCALE.
+ Rewrite macro as function. Return a value. Update caller.
+ Cast __ZLONG_MAX `__unsigned long int' before casting to double to
+ avoid SunOS /bin/cc compiler bug.
+
+1998-01-08 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tac-pipe.c: New file. But not yet used.
+ * src/Makefile.am (EXTRA_DIST): Add tac-pipe.c.
+
+ * src/tac.c (tac_stream): Don't perform arithmetic on now-void* pointer
+ result of xrealloc (until recently it was char*).
+
+ * configure.in (AC_CHECK_FUNCS): Add nl_langinfo.
+ * src/sort.c (inittables): Add && HAVE_NL_LANGINFO to the #if-test
+ guarding the nls month-checking code.
+ (nls_numeric_format): Remove unnecessary (and error-evoking w/SunOS' cc)
+ `unsigned' from dcls of text and lim.
+ (main): Cast lconvp->grouping to `unsigned char*' to appease SunOS's cc.
+
+1998-01-03 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (AUTOMAKE_OPTIONS): Define to ../src/ansi2knr.
+
+ * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so
+ those files will be built via the ANSI2KNR-filtering rules if necessary.
+
+1997-12-25 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * 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-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>
+
+ * configure.in (AC_CHECK_HEADERS): Add stdlib.h.
+
+ * src/system.h: Merge in things from fileutils' version of this file.
+ * src/csplit.c: s/__P/PARAMS/.
+ * src/fmt.c: s/__P/PARAMS/.
+ * src/od.c: s/__P/PARAMS/.
+ * src/pr.c: s/__P/PARAMS/.
+
+1997-12-14 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sys2.h: s/HAVE_DECLARATION_/HAVE_DECL_/g.
+
+1997-12-13 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/fmt.c (main): Add some braces.
+ Check return code from fclose of each input file.
+ Close stdout and check for errors.
+
+ * src/csplit.c (close_output_file): Check ferror before calling fclose.
+ (main): Close stdout and check for errors.
+
+1997-11-15 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acconfig.h: Add mktime.
+ * configure.in (jm_FUNC_MKTIME): Use it.
+ * lib/mktime.c: New file.
+ * lib/Makefile.am (EXTRA_DIST): Add mktime.c
+
+ * 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/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/system.h [!HAVE_MEMPCPY] (mempcpy): Define.
+ * configure.in (AC_CHECK_FUNCS): Add mempcpy.
+
+1997-11-09 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (jm_FUNC_STRFTIME): Use it.
+ * 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/lfs.m4 (AC_LFS): New file/macro.
+ * m4/Makefile.am (EXTRA_DIST): Add lfs.m4.
+ * configure.in (AC_LFS): Use it.
+ (AC_CHECK_FUNCS): Add fseeko.
+ * src/od.c (fseeko): Define a stub if ! HAVE_FSEEKO.
+ (skip): Use fseeko if available. Don't use lseek; it causes
+ the stdio stream to become out of sync with respect to the
+ underyling file descriptor.
+ From Paul Eggert.
+
+1997-10-16 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_CHECK_FUNCS): Add fseeko.
+
+ * src/od.c (skip): Use fseeko. Don't use lseek; it causes
+ the stdio stream to become out of sync with respect to the
+ underyling file descriptor.
+
+1997-11-06 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (getmonth): Remove HAVE_ALLOCA #ifdefs.
+ We always have alloca.
+ (keycompare): Don't use variable size arrays (it's a gcc-extension).
+ Rewrite code that increments new lengths when not `ignoring'.
+
+1997-11-02 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acconfig.h: Add malloc and realloc.
+
+ * src/wc.c (main): New option, --max-line-length (-L).
+ (wc, write_counts): Implement it.
+ From Bruno Haible.
+
+1997-10-26 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/memcasecmp.c: Convert to upper case before comparing.
+ This makes join -i work with sort -f.
+ Reported by Arthur Pool.
+
+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.
+
+ * lib/memcmp.c (rpl_memcmp): Rename from memcmp.
+
+ * src/sort.c (NLS_STRNCMP) [!ENABLE_NLS]: s/strcmp/strncmp/.
+
+ * lib/xmalloc.c (xalloc_fail_func): Initialize to 0, not NULL.
+
+ * configure.in (jm_FUNC_MALLOC): Use it.
+ (jm_FUNC_REALLOC): 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.
+ (EXTRA_DIST): Add realloc.c.
+ (EXTRA_DIST): Add malloc.c.
+
+ * src/system.h: Include xalloc.h.
+ Remove dcls of xmalloc, xcalloc and xrealloc.
+
+ * lib/xalloc.h: New file.
+
+ * lib/xmalloc.c: Include xalloc.h.
+ Change VOID to void.
+ (xalloc_exit_failure): Renamed extern.
+ (xalloc_msg_memory_exhausted): New extern.
+ (xalloc_fail_func): New extern.
+ (fixup_null_alloc): Use new variables.
+
+1997-10-24 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/unexpand.c: Remove old-style xmalloc and xrealloc decls.
+ (add_tabstop): Cast first arg of xrealloc to char*.
+
+ * src/sort.c: Include xalloc.h.
+ (xmalloc): Remove function.
+ (xrealloc): Remove function.
+ (main): Set xalloc_fail_func to cleanup.
+ Set xalloc_exit_failure SORT_FAILURE.
+
+ * src/paste.c: Remove old-style xmalloc and xrealloc decls.
+ (paste_parallel): Cast first arg of xrealloc to char*.
+
+ * src/od.c: Remove old-style xmalloc and xrealloc decls.
+ (decode_format_string): Cast first arg of xrealloc to char*.
+
+ * src/expand.c: Remove old-style xmalloc and xrealloc decls.
+ (add_tabstop): Cast first arg of xrealloc to char*.
+
+ * lib/xalloc.h: New file.
+
+ * src/cut.c (ADD_RANGE_PAIR): Cast first arg of xrealloc to char*.
+ (getstr): Cast xmalloc return value to char*.
+
+ * src/csplit.c: Include xalloc.h.
+ (xmalloc): Remove function.
+ (xrealloc): Remove function.
+ (main): Set xalloc_fail_func to cleanup.
+
+ * 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/cat.c: Remove stpcpy dcl.
+ * src/csplit.c: Remove malloc and realloc dcls.
+ * src/sort.c: Remove free, malloc, and realloc dcls.
+ * src/tac.c: Remove malloc, and realloc dcls.
+ * src/tr.c: Remove stpcpy dcl.
+ 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-16 Paul Eggert <eggert@twinsun.com>
+
+ * src/od.c (LONG_MAX): Define if not defined.
+
+1997-10-16 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (look_for_fraction): Patch from Ørn Hansen.
+ (getmonth): Compare the two month names only to the length of the
+ string in the month table. Patch from Ørn Hansen.
+ (NLS_STRNCMP): New macro.
+ (strncoll_s2_readonly): New function.
+ (inittables): Don't use temporary `comp' to hide type of
+ comparator function.
+ (nls_sort_month_comp): Declare parameters to be void* to match
+ comparator function type required for qsort.
+ (getmonth): Use NLS_STRNCMP rather than #ifdef.
+ Use do-while, rather than while-loop.
+
+1997-10-14 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (_NL_ITEM) [!defined]: Define.
+ From from Ørn E. Hansen.
+
+ * src/sort.c: Use STREQ in place of most uses of strcmp.
+ (NLS_STRCMP): Define.
+ (getmonth): Remove ifdef and use NLS_STRCMP instead.
+ Use HAVE_ALLOCA, not _HAVE_ALLOCA.
+ (zaptemp): Make parameter `const'.
+
+ * tests/sort-test/Test.pm: Add tests to exercise new fraccompare.
+
+ * src/sort.c (CHARS_IN_ABM): Remove definition
+ (inittables): Remove assumption that all abbreviated month names have
+ length 3.
+ (getmonth): Likewise.
+ (main): Add #if's for more efficient code when using the GNU C library.
+ From Ulrich Drepper.
+
+ * src/sort.c (strncoll): Rename parameter to LEN.
+ (keycompare): Move assignment out of if-expression.
+
+ * lib/xstrdup.c: New file.
+ * lib/Makefile.am (libtu_a_SOURCES): Add xstrdup.c
+
+ * src/sort.c: Declare xstrdup.
+ (my_setlocale): New function.
+ (main): Guard against failure of strdup (use xstrdup) and setlocale.
+
+ * src/system.h (STREQ): Define.
+ * src/od.c (STREQ): Remove definition.
+
+ * src/sort.c (look_for_fraction): Eliminate arbitrary limit on
+ number of `groups'. Declare as void, not int.
+ Patch from Ørn E. Hansen.
+ (main): When determining whether we're in the C or POSIX locale,
+ don't rely on the form of the string returned by setlocale.
+ Suggestion from Ulrich Drepper.
+
+1997-10-12 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c: Apply big patch from Ørn E. Hansen.
+ Clean up, indent.
+ (NLS_MEMCMP): Define.
+ (keycompare): Use it instead of open-coded #ifdefs.
+ (compare): Likewise.
+ (NLS_MAP): Remove unused definitions.
+ Replace with uses of UCHAR.
+ (nls_locale_map): Remove dcl of unused file-scope array.
+
+1997-10-10 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/sort-test/Test.pm: Add a test.
+ From William Lewis.
+
+1997-10-07 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/*.c: Update bug-reporting address.
+ * src/cat.c: Indent cpp directives to reflect nesting.
+ * src/cksum.c: Likewise.
+ * src/csplit.c: Likewise.
+ * src/fmt.c: Likewise.
+ * src/nl.c: Likewise.
+ * src/paste.c: Likewise.
+
+1997-09-27 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * m4/memcmp.m4: Integrate test to detect bug in memcmp from the
+ Next x86 OpenStep C library. Test program from William Lewis.
+
+1997-09-21 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/od.c [struct tspec] (hexl_mode_trailer): Rename from `trailer.'
+ (dump_hexl_mode_trailer): Rename from dump_string_trailer.
+ Use fputs and putchar instead of trivial or %-less printfs.
+ (decode_one_format): Parenthesize each field_width assignment in an
+ argument list to make the side effect a little more apparent.
+ (write_block): Use fputs and putchar instead of trivial or %-less
+ printfs.
+ (dump_strings): Cast string_min to off_t to avoid long-standing warning.
+
+ * src/od.c: Implement new `z' (hexl-mode) modifier.
+ [struct tspec] (trailer): New field.
+ (field_width): Likewise.
+ (dump_string_trailer): New function.
+ (decode_one_format): Save each field_width in the tspec.
+ Patch from John Kodis.
+
+1997-09-14 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/od.c (main) [--traditional]: Don't give diagnostic about there
+ being more than three arguments if there are *no* arguments specified.
+ Reported by Jochen Hein.
+
+1997-09-13 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/sort-test/Test.pm: Add tests 19a and 19b.
+
+1997-07-21 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (parse_obsolescent_option): #ifdef-out portability warning.
+
+1997-07-19 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (checkfp): Print the `disorder' message. Include both
+ the number and the contents of the first out-of-order line, in addition
+ to the file name. Change meaning of return value.
+ (check): Don't print disorder message here.
+ Adjust test of checkfp's return value.
+ Feature suggestion from Karl Heuer.
+
+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.
+
+ * src/head.c: Include xstrtoul.h.
+ Remove global variable, unit_size.
+ (atou): Remove now-unused function.
+ (parse_unit): Likewise.
+ (string_to_ull): New function.
+ (head): Take new parameter, count_lines. Use it instead of unit_size.
+ Update callers.
+ (head_file): Likewise.
+ (main): Use string_to_ull, not atou/parse_unit.
+ The problem was that overflow wasn't detected, so `head -c 4096m'
+ was treated just like `head -c 0'.
+ Reported by Jerome Abela.
+
+ * tests/wc: New directory.
+ * tests/head: New directory.
+ * tests/Makefile.am (SUBDIRS): Add head and wc.
+ * configure.in (AC_OUTPUT): Add tests/head/Makefile and
+ tests/wc/Makefile.
+
+1997-07-05 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (parse_obsolescent_option): If POSIXLY_CORRECT is set, give
+ a diagnostic and fail when there are two or more non-option arguments.
+
+1997-07-04 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/tac/mk-script.pl: Redirect output of cmp to /dev/null.
+
+ * configure.in (ALL_LINGUAS): Add Norwegian (no).
+
+ * Makefile.am (aclocal-files): Look in source directory, not build dir.
+ From Andreas Schwab.
+
+Sun Jun 15 06:36:41 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/pr.c (init_header) [T_BUF_FMT]: Output the 4-digit year (not the
+ 2-digit abbreviation) in each page header. Reported by Noah Friedman.
+
+Sat Jun 14 12:29:12 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/cut.c (cut_fields): Detect when the input is empty and handle
+ that special case. Before `cut -f1 < /dev/null' would improperly
+ output a single newline. Reported by Phil Richards.
+
+Sun Apr 27 15:10:58 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * man/Makefile.am (DISTFILES): Add $(man_MANS).
+
+ * configure.in (ALL_LINGUAS): Add Czech (cs) and Swedish (sv).
+
+Thu Apr 3 21:14:02 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * m4/Makefile.am (EXTRA_DIST): Update file list.
+
+ * tests/cut-test/Test.pm: Add test from Phil Richards.
+
+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:56:41 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:46:04 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tr.c (main): Make sure c1 is not -1 before using it as an
+ array index. Patch from Greg McGary. Although this is truly a
+ bug, I believe it would not cause tr to misbehave on most systems.
+ I could not construct a test case with which this bug causes tr
+ to generate invalid output.
+
+ * tests/pr-test/Test.pm: Add test that -o 0 works.
+
+ * src/pr.c (main): Allow use of 0 (zero) as the margin offset
+ argument to the -o option. Patch from Gary Anderson.
+
+Fri Feb 28 22:32:51 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/uniq.c (usage): Fix typo in --help output. From Andreas Schwab.
+
+Tue Feb 25 20:34:51 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (noinst_HEADERS): Add obstack.h.
+ (libtu_a_SOURCES): Add obstack.c.
+
+Sun Feb 16 08:30:29 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/Makefile.am (SUBDIRS): Add tac.
+ * tests/tac: New directory.
+ * configure.in (AC_OUTPUT): Add tests/tac/Makefile.
+
+ * tests/pr-test/{tt-0FF, tt-bl, tta3-0FF, ttb3-0FF, tt-FF, tt-t,
+ tta3-FF, ttb3-FF}: New files. Renamed (s/T/tt/) to avoid name clashes
+ on case-independent filesystems.
+ * tests/pr-test/Test.pm (Tests '7.*'): Reflect file-renaming.
+
+ * src/tail.c (parse_obsolescent_option): Reverse order of args in
+ diagnostic. Remove `' quotes in diagnostic.
+ (parse_options): Remove `' quotes in diagnostic.
+
+Sat Feb 8 22:43:45 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (parse_obsolescent_option): Give warning diagnostic for
+ (but now accept) obsolescent usage with more than one file argument.
+
+Sun Feb 2 23:06:59 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/join.c: Move alloca-related preprocessor code into system.h.
+ * src/od.c: Remove alloca-related preprocessor code.
+ * src/system.h: Add alloca-related preprocessor code.
+
+Sat Feb 1 07:21:43 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/pr-test/*: Rename files to avoid exceeding 14-character limit.
+ * tests/pr-test/Test.pm: Reflect renamings.
+
+ * tests/pr-test/mk-script.pl (spec_to_list): Warn about all filenames
+ that exceed max-length before dying.
+
+ * src/pr.c (init_parameters): For compatibility: use default
+ separator `TAB' with full length lines. From Roland Huebner.
+
+Fri Jan 31 19:53:54 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tac.c: Rename globals buffer and buffer_size to have G_ prefix
+ to avoid shadowing local variables.
+
+ * lib/long-options.c (parse_long_options): Compare getopt_long return
+ value against -1, not EOF. Use NULL, not `(int *) 0' as last parameter
+ in getopt_long call.
+
+ * src/pr.c (add_line_number): Rename from `number' to avoid shadowing
+ local variables.
+
+ * 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.
+
+Wed Jan 29 20:54:24 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/tr-test/Test.pm: Do each test twice: get input via REDIR
+ and PIPE.
+
+ * tests/tail/Test.pm (test_vector): Do each (non-stdin-requiring)
+ test three times.
+
+ * tests/pr-test/Test.pm: Remove common_option_prefix flag.
+ (test_vector): Prepend the common option here instead.
+
+ * tests/md5sum-test/Test.pm: Remove input_via_stdin flag.
+ Do each test twice: get input via REDIR and PIPE.
+
+ * tests/cut-test/Test.pm: Do each test three times.
+
+ * tests/cut-test/mk-script.pl: Allow each test to be run any or all
+ of three different ways. Program input may be specified via a file
+ or files listed on the command line, via input redirection (if there's
+ only one file), or via a pipe.
+
+Tue Jan 28 20:54:06 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/cut-test/mk-script.pl: Remove `t' prefix on all generated
+ test file names.
+ Change suffixes from (.in, .exp, .out, .err) to (.I, .X, .O, .E).
+ Ensure that no test file (generated or maintainer-supplied) has a
+ name longer than 14 characters.
+
+Sun Jan 26 12:49:50 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.22.
+
+ * src/tail.c (parse_options): Add quotes to make messages identical.
+
+Sat Jan 25 00:12:29 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (parse_obsolescent_option): Comment.
+ (parse_options): Remove unnecessary goto and label.
+
+ * tests/sort-test/mk-script.pl: Interpret `input arg is a hash
+ reference' as meaning that the tested program will read no input.
+ Most of the tests for the date program use this feature.
+ Also for date, the generated script now reflects specification
+ (in Test.pm) of default and per-test environment settings.
+
+ * src/csplit.c: Reflect changes to xstrtol and xstrtoul interfaces.
+ * src/fold.c: Likewise.
+ * src/head.c: Likewise.
+ * src/join.c: Likewise.
+ * src/nl.c: Likewise.
+ * src/od.c: Likewise.
+ * src/pr.c: Likewise.
+ * src/uniq.c: Likewise.
+
+ * lib/xstrtoul.h (XSTRTOL_H): Undefine it.
+
+ * lib/xstrtol.h [!_STRTOL_ERROR]: Define the type `enum strtol_error'
+ only if it hasn't already been defined.
+ (_STRTOL_ERROR): Undefine.
+
+ * lib/xstrtol.c (__xstrtol): Change interpretation of
+ VALID_SUFFIXES == NULL vs VALID_SUFFIXES == "". Use the former
+ when any suffix is valid, the later when no suffix is allowed.
+
+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.
+
+Thu Jan 23 19:17:03 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (parse_obsolescent_option): Recognize and fail for
+ more malformed obsolescent options. Makes for better diagnostics.
+
+Wed Jan 22 21:34:50 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/Makefile.am (SUBDIRS): Add tail.
+ * tests/tail: New directory.
+ * configure.in (AC_OUTPUT): Add tests/tail/Makefile.
+
+ * src/tail.c (parse_options): New function.
+ (parse_obsolescent_option): New function.
+ (main): Use the new functions instead of open-coding them.
+ This better fixes the bug in handling obsolescent `+Nc' options.
+ General cleanup.
+
+Tue Jan 21 22:49:00 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tail.c (main): Properly handle what the POSIX spec calls
+ the `obsolescent' usage (e.g., tail +2c). It didn't work.
+ Reported by Karl Heuer.
+
+Sun Jan 12 22:13:27 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/tr-test/Test.pm: Rename tests so that the associated files
+ have names that are distinct even on filesystems on which file
+ names are case insensitive.
+ Reported by Fred Fish.
+ * tests/cut-test/Test.pm: Likewise.
+
+ * tests/tr-test/Makefile.am: Regenerated to reflect renamed tests.
+ * tests/cut-test/Makefile.am: Likewise.
+
+Wed Jan 8 16:38:24 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.21.
+
+ * lib/getopt.c (_getopt_internal): Use `_', rather than the
+ (sometimes-)expansion `gettext'.
+
+Tue Jan 7 22:50:13 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.
+
+Thu Jan 2 21:17:50 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/pr.c (init_fps): Initialize lines_stored field in three places.
+ This avoids uninitialized memory reads in close_file.
+
+Wed Jan 1 17:32:18 1997 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_ARG_PROGRAM): Remove explicit use.
+ It's implicit in AM_INIT_AUTOMAKE. From Wayne Stewart.
+
+Sun Dec 29 23:42:57 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/pr.c (init_header): Plug a small memory leak by using stack
+ rather than heap for a 15-byte temporary buffer.
+
+Sat Dec 28 00:03:23 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/pr.c (TAB_WIDTH): Parenthesize uses of parameters and renamed
+ from tab_width.
+ (POS_AFTER_TAB): Renamed from pos_after_tab. Define in terms of
+ TAB_WIDTH rather than duplicating the expression.
+
+Fri Dec 27 17:29:02 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/join-test/mk-script.pl: Fix a couple of thinkos and typos.
+ Now it works with pr's tests, too.
+
+ * tests/pr-test/Makefile.am (explicit): Regenerate list of files,
+ this time with duplicates removed.
+
+ * src/pr.c (usage): Break long string literal into two separate
+ printf statements to accomodate default maximum of 2048 characters
+ for Irix-4.0.5. Reported by Kaveh Ghazi.
+
+ * Makefile.am (aclocal.m4): No longer depend on acinclude.m4.
+
+ * tests/Makefile.am (SUBDIRS): Add pr-test.
+
+ * configure.in: AC_REQUIRE version 2.12 of autoconf.
+ AC_OUTPUT: Add tests/pr-test/Makefile.
+
+Sun Dec 22 08:11:27 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.
+
+ * configure.in: Increment version to 1.20a.
+
+ * tests/md5sum-test/Makefile.am: Use same framework as other tests.
+ * tests/md5sum-test/Test.pm: New file.
+
+Sat Dec 21 20:32:58 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/Makefile.am (EXTRA_DIST): Add README and Makefile.am.in.
+
+ * tests/Makefile.am.in: New file.
+
+ * tests/sort-test/Makefile.am: Clone the Makefile.am from join-test.
+ Replace only the definition of $x and the auto-generated lists of
+ test files.
+ * tests/cut-test/Makefile.am: Likewise.
+ * tests/tr-test/Makefile.am: Likewise.
+
+ * tests/join-test/Makefile.am: Add @MAINT@-protected rule for
+ verifying that Makefile.am is consistent with Test.pm.
+
+Fri Dec 20 00:08:36 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/join-test/Makefile.am (MAINTAINERCLEANFILES): Use $(in1)
+ and $(in2), not $(in).
+
+ * tests/join-test/mk-script.pl: New option: --list.
+ Generate lists of files used/generated.
+
+Thu Dec 19 23:28:41 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/join-test/mk-script.pl: Rewrite to be more general -- so
+ it can be used for join, cut, sort, tr, and soon, pr test suites.
+ * tests/tr-test/mk-script.pl: Symlink through CVS repo to join's
+ mk-script.pl.
+ * tests/sort-test/mk-script.pl: Likewise.
+ * tests/cut-test/mk-script.pl: Likewise.
+
+ * tests/tr-test/Test.pm: Adapted for new mk-script.pl.
+ * tests/join-test/Test.pm: Likewise.
+
+Tue Dec 17 16:48:51 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/join-test/Makefile.am (.pl): Make generated file read-only so
+ I don't accidentally modify it instead of the one with the .pl suffix.
+
+ * acinclude.m4 (jm_SYS_PROC_UPTIME): Require AC_PROG_CC, rather than
+ now-obsolete AC_C_CROSS.
+ (jm_FUNC_MKTIME): When redefining, use rpl_ prefix, not gnu_ one
+ since there's nothing GNU-specific about the replacement. Contrast
+ with gnu_ prefix added to strftime.
+ (jm_FUNC_MEMCMP): New macro.
+ * configure.in: Use jm_FUNC_MEMCMP instead of AM_FUNC_MEMCMP.
+ * acconfig.h: Add memcmp.
+ * README: Remove warning about memcmp. The new macro handles it.
+
+Mon Dec 16 23:03:27 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/Makefile.am (pkgdata_DATA): Remove unnecessary assignment.
+ From Eric Backus.
+ (AUTOMAKE_OPTIONS): Likewise.
+
+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.
+
+1996-12-12 Paul Eggert <eggert@twinsun.com>
+
+ * 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.
+
+ * tr.c (is_char_class_member): Use ISDIGIT_LOCALE instead of
+ ISDIGIT to test for characters in CC_DIGIT class.
+
+ * sort.c (digits): Remove; subsumed by new ISDIGIT.
+ (inittables): Remove initialization of `digits'.
+ (fraccompare, numcompare, main): Use ISDIGIT (x) instead of digits[x].
+ (fraccompare, numcompare): Avoid casts to unsigned char that are no
+ longer needed.
+
+ * csplit.c (get_format_width, get_format_prec): Avoid
+ unnecessary comparison of digit to '\0'.
+
+Thu Dec 12 23:42:51 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (usage): Clarify description of -u option.
+ From Karl Berry.
+
+Wed Dec 11 19:32:18 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.20.
+
+Tue Dec 10 00:15:50 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ The file name, `build-script.pl' is longer than 14 characters.
+ Rename it.
+ * tests/cut-test/mk-script.pl: Rename from build-script.pl.
+ * tests/cut-test/Makefile.am: Reflect renaming.
+ * tests/tr-test/mk-script.pl: Rename from build-script.pl.
+ * tests/tr-test/Makefile.am: Reflect renaming.
+ * tests/sort-test/mk-script.pl: Rename from build-script.pl.
+ * tests/sort-test/Makefile.am: Reflect renaming.
+ * tests/join-test/mk-script.pl: Rename from build-script.pl.
+ * tests/join-test/Makefile.am: Reflect renaming.
+ Reported by Karl Heuer.
+
+ * configure.in (VERSION): Bump to 1.19r.
+ (AC_ISC_POSIX): Remove kludgy macro.
+ Use this test instead:
+ (LIBS): Add -lcposix if it contains strerror.
+ Patch from Karl Heuer.
+
+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 libtu.a as per
+ new automake requirement.
+ Rename tu_* variables to libtu_a_*.
+
+Wed Dec 4 21:03:18 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/pr.c: Apply big patch from Roland Huebner.
+
+ * src/tr.c (main) [!POSIXLY_CORRECT]: Allow the identity mappings:
+ [:upper:] to [:upper:] and [:lower:] to [:lower:].
+ (main) [POSIXLY_CORRECT]: Give a more specific diagnostic for
+ the invalid identity mappings [:upper:] to [:upper:] and [:lower:]
+ to [:lower:].
+ (class_ok): Update table to reflect that tr now allows these
+ identity mappings. Suggestion from Risto Kankkunen.
+
+Thu Nov 28 00:31:18 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:05:14 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (fraccompare): Add explicit `int' in `register' dcls,
+ to avoid new warning from gcc.
+
+Sun Nov 24 21:02:15 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/sort-test/Makefile.am (t): Add names of those 5 tests.
+
+ * tests/sort-test/Test.pm: Add 5 tests to exercize just-fixed code.
+
+ * src/sort.c (set_ordering): Revert 1994-05-04 change to this function
+ so that blanks are not unconditionally ignored when computing start
+ and end positions for numeric keys with explicit character offsets.
+ Reported by Markus Demleitner.
+
+Sat Nov 23 16:07:08 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * cat.c (usage): Alphabetize option descriptions the way sort -f would.
+ * fmt.c (usage): Likewise.
+ * join.c (usage): Likewise.
+ * md5sum.c (usage): Likewise.
+ * od.c (usage): Likewise.
+ * pr.c (usage): Likewise.
+ * sort.c (usage): Likewise.
+ * split.c (usage): Likewise.
+ * wc.c (usage): Likewise.
+ From Karl Berry.
+
+Fri Nov 22 20:20:37 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/csplit.c (process_regexp): Update CURRENT_LINE only if
+ the new value would be larger. This avoids the infinite loop
+ otherwise provoked by situations like this:
+ printf "\na\n" | csplit - '/a/-1' '{*}'
+ From Jens Schmidt.
+
+Tue Nov 19 23:16:57 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11
+ has this built-in.
+
+Sat Nov 2 08:50:01 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * 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.
+
+Fri Nov 1 21:33:16 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/strtol.c: Update from GNU libc.
+
+ * tests/sort-test/Test.pm: Add a test to exercize this fix.
+
+ * src/sort.c [!ENABLE_ASSERTIONS]: Guard NDEBUG definition.
+ (checkfp): Fix off-by-one error that resulted in writing one byte
+ beyond the end of a malloc'd buffer. It caused `sort -c' to segfault
+ on Linux systems having a relatively recent libc. Before, running
+ the command, perl -e "print 'x' x 30, \"\n\";"|sort -c
+ would provoke the memory overrun (though not necessarily the failure).
+ Add an assertion.
+ Reported by Risto Kankkunen.
+
+Thu Oct 31 17:48:24 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (key_init): New function.
+ (main): Use key_init in the two places where it was open-coded.
+ This fixes a UMR of the general_numeric field.
+
+ * src/join.c (decode_field_spec): Always give FIELD_INDEX a value.
+ This avoids a spurious UMR report from purify.
+ (prjoin): Add an assertion.
+ (add_field): Update assertion.
+
+ * src/tr.c (es_free): New function.
+ (parse_str): Use it to plug a small memory leak.
+
+Wed Oct 23 22:02:24 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/md5.c: Update from GNU libc.
+ * lib/md5.h: Update from GNU libc.
+
+Mon Oct 21 16:48:12 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tr.c (validate): Remove TAB from diagnostic, for consistency.
+
+Sun Oct 20 13:44:07 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.
+
+ * lib/md5.c (md5_process_bytes): Cast void* pointer to char* before
+ doing arithmetic with it.
+
+Sat Oct 19 23:13:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/md5.c: Update from GNU libc.
+ * lib/md5.h: Update from GNU libc.
+
+Fri Oct 18 00:08:04 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_OUTPUT): Add tests/join-test/Makefile.
+
+ * tests/Makefile.am (SUBDIRS): Add join-test.
+
+Tue Oct 15 23:25:31 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/tr.c (get_next): Rewrite to treat lower/upper mapping as a
+ special case.
+ (main): Write separate loops to initialize mapping for lower->upper
+ and upper->lower conversion.
+ Reported by Arne Henrik Juul.
+
+Sun Oct 13 12:52:42 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/xstrtol.c (__xstrtol): Return an error for invalid suffix.
+ Before, e.g., `split -b 1M' would be silently accepted and treated
+ like `split -b 1'. Reported by Franc,ois.
+
+ * src/split.c (usage): Remove parameter, REASON.
+ (main): Update callers to use combination of error (0, 0, ... and
+ usage (EXIT_FAILURE).
+ (main): When a string operand cannot be converted to a number of
+ bytes or lines, include that string in the diagnostic.
+
+Sat Oct 12 00:05:11 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_REPLACE_FUNCS): Add strpbrk and strtol.
+
+ * lib/Makefile.am (EXTRA_DIST): Remove.
+
+Thu Oct 10 23:41:36 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/md5.c (md5_stream): Apply fix from Ralph Loader
+ <loader@maths.ox.ac.uk> via Ulrich Drepper.
+
+Wed Oct 9 07:26:40 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (tu_DEPENDENCIES): Depend on $(tu_LIBADD).
+
+Tue Oct 8 21:32:17 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/error.c: Include error.h to align with libit --
+ under protest, François :-).
+
+Sun Oct 6 08:02:28 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * acinclude.m4 (AC_HEADER_SYS_TIME_H, AM_FUNC_MKTIME,
+ AM_FUNC_ERROR_AT_LINE, AM_FUNC_OBSTACK): Remove definitions.
+ They're included in automake-1.1f.
+
+ * configure.in (AM_FUNC_ERROR_AT_LINE): Use it instead of
+ open-coding it.
+
+Sat Oct 5 12:40:22 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/memcpy.c [HAVE_CONFIG_H]: Include config.h.
+ From Karl Berry.
+
+Fri Oct 4 07:20:37 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (GNU_PACKAGE): New variable.
+ (PACKAGE_VERSION): Remove it.
+
+ * acconfig.h (GNU_PACKAGE): New variable.
+ (PACKAGE_VERSION): Remove now-unused variable.
+
+ * lib/long-options.c (parse_long_options): Separate package name
+ and version number to accomodate new --version output requirement.
+ * lib/long-options.h: Update prototype.
+
+Thu Oct 3 23:27:31 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/md5sum.c (main): Remove dead code that used to print --version
+ output.
+
+Tue Oct 1 06:54:22 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Use result of AM_FUNC_STRTOD to set POW_LIBM.
+ * src/Makefile.am (sort_LDADD): Use any library (-lm) that
+ gets substituted for @POW_LIBM@.
+
+ * tests/md5sum-test/md5-rfc (md5sum): Use ../../src/md5sum.
+
+Mon Sep 30 23:35:46 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/md5sum-test/md5-rfc (md5sum): Set to $srcdir/md5sum.
+
+ * acinclude.m4: Update definitions from gettext-0.24.
+
+Sun Sep 29 20:04:53 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/sort-test/build-script.pl: Die if close fails.
+ * tests/tr-test/build-script.pl: Likewise.
+
+ * configure.in (AC_OUTPUT): Add tests/cut-test/Makefile.
+ * tests/Makefile.am (SUBDIRS): Add cut-test.
+ * tests/cut-test: New directory.
+
+Fri Sep 27 22:22:09 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (ALL_LINGUAS): Add spanish (es).
+
+Thu Sep 26 21:02:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/md5sum.c (usage): Remove references in --help output to
+ the now-deprecated --string option. Support for it will be
+ removed soon. Using this option can provoke a memory access
+ violation on some systems because of (unavoidable in an efficient
+ implementation) alignment assumptions made by functions in md5.c.
+ md5sum.c could leave the option in and accomodate the alignment
+ restriction, but this option was intended solely for testing, and
+ the tests are now all file-oriented, so it's not necessary.
+
+ * tests/md5sum-test/md5-rfc: Rewrite to avoid use of --string option.
+
+Wed Sep 25 21:43:10 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/sort-test/Makefile.am (t): Factor out .in suffix.
+ Include new test: t16a.
+ * tests/tr-test/Makefile.am (t): Likewise.
+
+ * src/Makefile.am (EXTRA_DIST): Remove md5-test.rfc.
+
+Mon Sep 23 10:00:50 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/md5sum-test/Makefile.am (EXTRA_DIST): Distribute $(TESTS).
+
+Sun Sep 22 09:24:22 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/sort.c (keycompare): Declare translate to be unsigned char *.
+ Otherwise, sign extension caused misordering when using e.g. -f.
+ Reported by Erick Branderhorst.
+ * tests/sort-test/Test.pm: Add Erick's test for that fix.
+
+ * tests/Makefile.am (SUBDIRS): Add md5sum-test.
+
+Sat Sep 21 13:34:59 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/Makefile.am (check): Remove tests for md5sum.
+ * tests/md5sum-test: New directory. Put them here instead.
+ * configure.in (AC_OUTPUT): Add tests/md5sum-test/Makefile.
+
+Thu Sep 19 08:54:05 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * tests/: Rename from checks.
+ * Makefile.am (SUBDIRS): Change `checks' to `tests'.
+ * configure.in (AC_OUTPUT): Likewise.
+
+ * configure.in ($PACKAGE, $VERSION): Don't AC_DEFINE_UNQUOTED these.
+ AM_INIT_AUTOMAKE now does it (as of automake-1.1e).
+
+Sun Sep 15 23:08:48 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (EXTRA_DIST): Remove acinclude.m4.
+
+Thu Sep 12 17:05:23 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * lib/Makefile.am (EXTRA_DIST): Add getline.c.
+ (tu_SOURCES): Remove getline.c
+ From Kaveh Ghazi.
+
+Sun Sep 8 13:55:18 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * checks/sort-test/build-script.pl: Prefix $in with \$srcdir/
+ so make check works with VPATH build. From Uli Drepper.
+
+Sat Sep 7 12:25:42 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/system.h: Add comments justifying IS* versions of ctype.h macros.
+
+ * src/fmt.c (check_punctuation): Use ISPUNCT instead of ispunct.
+ (get_line): Use ISSPACE instead of isspace. From Bruno Haible.
+
+Mon Sep 2 10:34:46 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/*.c (usage): Tell where to report bugs.
+
+Sun Aug 25 22:50:47 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * checks/sort-test/Makefile.am (EXTRA_DIST): Add $x-tests.
+ ($x-tests): Guard dependencies with @MAINT@.
+ * checks/tr-test/Makefile.am: Likewise.
+
+Sat Aug 24 14:25:41 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/cat.c (cat): Cast first arg to stpcpy to char* to avoid warnings.
+
+Wed Aug 21 22:28:26 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (ALL_LINGUAS): Add polish (pl).
+
+Sun Aug 18 09:34:42 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (AC_OUTPUT): Add checks/sort-test/Makefile.
+ * checks/Makefile.am (SUBDIRS): Add sort-test.
+
+Sat Aug 17 18:57:17 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (EXTRA_DIST): Add acinclude.m4.
+
+Tue Aug 13 21:47:23 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 11 20:49:21 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Rename a few macros for automake-1.1c.
+ (AC_REPLACE_GNU_GETOPT): Remove.
+ (AC_PATH_PROG): Find perl -- needed only for checks if you
+ change or remove things with e.g. make maintainerclean.
+
+
+ * lib/Makefile.am (tu_LIBADD): Remove @REGEXOBJ@. New AM_WITH_REGEX
+ adds .o files to @LIBOBJ@.
+ (tu_SOURCES): Add getopt.c and getopt1.c.
+ (EXTRA_DIST): Remove getopt.c and getopt1.c.
+
+ * acinclude.m4: New file -- derived from aclocal.m4.
+ * aclocal.m4: This file is now generated by the aclocal program
+ (which comes with the automake package.)
+
+Sun Aug 4 10:50:46 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * checks/: New directory.
+ * checks/Makefile.am: New file.
+ * configure.in (AC_OUTPUT): Add new directories: checks,
+ checks/tr-test.
+ * Makefile.am (SUBDIRS): Likewise.
+
+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 23:06:35 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/unexpand.c (unexpand): Move EOF check to follow code that
+ processes and generates output for pending spaces. Before
+ `printf ' ' |unexpand -t 1,2' generated no output.
+
+ * src/md5sum.c (md5_check): Remove parameter, BINARY.
+ Rename local TYPE_FLAG to BINARY, so md5_file uses the binary mode
+ from the input stream rather than the one from the command line.
+ (main): Fail with a diagnostic if --binary or --text is specified
+ when verifying checksums.
+ Reported by Eli Zaretskii <eliz@is.elta.co.il>.
+
+Sun Jul 21 11:58:48 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in: Add check for error_at_line so systems with
+ GNU libc don't compile and link with distributed error.c.
+ * lib/Makefile.am (tu_SOURCES): Remove error.c.
+ (EXTRA_DIST): Add error.c.
+
+ * configure.in (AC_REPLACE_FUNCS): Replace getline.c.
+ Add related check for the getdelim function.
+ From Ulrich Drepper -- as done in gettext.
+
+Sat Jul 20 15:59:36 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (PACKAGE_VERSION): Use space instead of hyphen to
+ separate PACKAGE and VERSION.
+
+ * aclocal.m4 (AM_SANITY_CHECK_CC): New macro. Derived from
+ macros from Bruno Haible and from Cygnus.
+ * configure.in (AM_SANITY_CHECK_CC): Use it.
+
+Wed Jul 17 00:30:28 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * install-sh: Get version with MIT copyright.
+
+Tue Jul 16 00:09:37 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * aclocal.m4 (fp_C_PROTOTYPES): Improved version from
+ François Pinard.
+ Update all other macros to reference $fp_cv_prog_cc_stdc, rather
+ than $ac_cv_prog_cc_stdc.
+
+ * src/od.c (OFF_T_MAX): Remove definition.
+ (main): Compare against LONG_MAX rather than OFF_T_MAX.
+
+Mon Jul 15 23:42:57 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Many files: Update FSF address.
+
+Sun Jul 14 16:53:50 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/unexpand.c (unexpand): Fix bug that contributed to endless loop
+ when invoking `echo ' ' |unexpand -t 1,2': use print_tab_index, not
+ tab_index in inner flush_pend: while loop. From Keith Owens
+ <kaos@audio.apana.org.au>.
+
+ * src/unexpand.c [HAVE_LIMITS_H]: Include limits.h for INT_MAX.
+ [!INT_MAX]: Define it.
+ (main): Append INT_MAX to command-line-specified tab list to
+ ensure termination in unexpand's inner loop.
+ Derived from a patch from Keith Owens.
+
+Thu Jul 11 22:04:36 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.19.
+
+ * configure.in (VERSION): Bump to 1.19.
+
+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 18:07:23 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/fmt.c (MAXCOST): Use `(unsigned long)1' rather than `(COST)1'
+ so the left operand of the << isn't signed.
+ From Kjetil Torgrim Homme.
+
+ * po/Makefile.in.in (install-data): Don't install NLS files when
+ they're not requested. From Ulrich Drepper. Reported by
+ Kjetil Torgrim Homme <kjetilho@ifi.uio.no>.
+
+Fri Jul 5 21:55:58 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * po/Makefile.in.in ($(PACKAGE).pot): Merge from gettext-0.10.23.
+ * ABOUT-NLS: Likewise.
+ * intl/*: Likewise.
+ * aclocal.m4: Likewise.
+
+Thu Jul 4 07:24:54 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/uniq.c (usage): Remove space before newline in usage message.
+
+ * src/md5sum.c (MIN_DIGEST_LINE_LENGTH): New macro.
+ [NEWLINE_REPLACEMENT_STRING*]: Remove macros.
+ (main): Output a leading backslash for a line describing a file
+ whose name contains a newline. Then translate each NEWLINE byte
+ in the file name to the string, "\\n", and each backslash to "\\\\".
+ File names that don't contain NEWLINE aren't translated.
+ (split_3): Rewrite to handle file names with embedded newlines.
+ Miles Bader and Jim Blandy suggested this new encoding scheme.
+
+ * src/md5sum.c (md5_file): Replace obsolete comment with a description
+ of the function.
+ (md5_check): Don't use "s"-adding trick to form the plural of
+ `checksum.' That doesn't work well with translation.
+ Suggestions from Ulrich Drepper.
+ (split_3): Add missing semicolon so it compiles. From Jim Blandy.
+
+Wed Jul 3 23:21:09 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/md5sum.c (split_3): Correct test for 35-byte line to accomodate
+ fact that leading blanks may be stripped.
+
+Tue Jul 2 21:51:40 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (ALL_LINGUAS): Add dutch (nl).
+
+Mon Jul 1 23:50:19 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/md5sum.c [NEWLINE_REPLACEMENT_STRING]: Define.
+ (split_3): Translate NL bytes not to NUL, but to
+ NEWLINE_REPLACEMENT_STRING.
+ Suggested by Ulrich Drepper.
+ (main): Translate back to NL-containing filename.
+
+Sun Jun 30 22:42:17 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/md5sum.c (split_3): Take an additional parameter, S_LEN.
+ Adapt caller.
+ Map translated NEWLINE-containing filename back into the original
+ NEWLINE-containing name.
+ (md5_check): Translate NEWLINE bytes to NUL bytes in filename.
+
+Sat Jun 29 18:59:07 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (PACKAGE_VERSION): Add `GNU ' prefix so it
+ appears in the output of --version. Reported by RMS.
+
+Wed Jun 26 21:35:10 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * src/Makefile.am (LDADD): Remove sort-specific hack to link
+ with -lm.
+ * aclocal.m4 (AM_FUNC_STRTOD): New macro.
+ * configure.in (AM_FUNC_STRTOD): Use it.
+ (AC_REPLACE_FUNCS): Remove strtod.
+ Suggested by Tom Tromey.
+
+ * po/Makefile.in.in (install-data): Add `else true;' to avoid
+ letting failing if-condition cause make failure.
+ From Fred Fish (fnf@ninemoons.com).
+
+Tue Jun 25 21:55:18 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.18a.
+
+Tue Jun 18 20:43:20 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * aclocal.m4: Update from gettext-0.10.20.
+ * ABOUT-NLS: Likewise.
+ * intl/*: Likewise.
+
+Thu Jun 13 22:31:39 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (VERSION): Bump to 1.18a.
+
+ * po/Makefile.in.in ($(PACKAGE).pot): Reapply change of May 30.
+ Depend on POTFILES only when using maintainer mode.
+
+ * intl/*: Update from gettext-0.10.18.
+
+Tue Jun 11 23:32:10 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.18.
+
+ * po/Makefile.in.in: Update from gettext-0.10.17.
+ * intl/*: Likewise.
+ * ABOUT-NLS: Likewise.
+
+Mon Jun 10 18:22:29 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Makefile.am (cvs-dist): Use -c option in cvs tag command.
+
+Fri Jun 7 22:06:46 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * configure.in (VERSION): Set to 1.18.
+
+ * src/Makefile.am (sort_LDADD): Set this to -lm to get pow when using
+ the strtod supplied with this package. Otherwise, linking failed on
+ Solaris-2.4 systems. Reported by Wayne Stewart <wstewa@atl.com>.
+
+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.
+
+Fri May 31 22:04:51 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.17.
+
+ * Makefile.am (EXTRA_DIST): Set to texinfo.tex so that file is
+ distributed.
+
+Thu May 30 00:07:48 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * Version 1.16.
+
+ * tail.c (main): Interpret the old-style +VALUE and -VALUE options
+ like -c VALUE and -c +VALUE (resp) when VALUE has one of the [bkm]
+ suffix multipliers. This makes the code consistent with --help
+ output. Reported by Karl Heuer.
+
+ * sort.c (limfield): #ifdef-out a block of code that makes
+ GNU sort incompatible with Unix sort when a key-end spec refers
+ to the N'th character in a field that has fewer than N characters.
+ The POSIX spec doesn't appear to specify behavior for this case.
+ From Karl Heuer.
+
+ * po/Makefile.in.in (stamp-cat-id): Avoid using temp filename
+ longer than 14 characters.
+ (mostlyclean): Likewise.
+ From Karl Heuer.
+
+ * po/Makefile.in.in ($(PACKAGE).pot): Depend on POTFILES only
+ when using maintainer mode. Reported by Karl Heuer.
+
+ * po/Makefile.in.in (.po.mo): Reenable dependency and rule.
+ It is required when using native NLS, e.g. on Solaris.
+ From Marcus Daniels.
+
+ * od.c (decode_one_format): Use %lu (not %d) printf format
+ corresponding to unsigned long, SIZE.
+
+ * Version 1.15.
+
+ * intl/Makefile.in (installcheck): New target.
+ * po/Makefile.in.in (installcheck): New target.
+
+ * od.c (decode_one_format): Take another parameter.
+ Give a specific diagnostic for invalid format spec here rather
+ than an overly general one from caller's caller.
+ (decode_format_string): Update caller.
+ (main): Don't give diagnostic here when decode_format_string fails.
+ Remove assertions that could fail on some Crays because they don't
+ have a two-byte type.
+ Johan Danielsson (joda@pdc.kth.se) reported the failed assertions.
+
+Mon May 27 17:43:31 1996 Jim Meyering <meyering@na-net.ornl.gov>
+
+ * cat.c (main): Use STDIN_FILENO and STDOUT_FILENO instead of
+ less portable fileno (stdin) and fileno (stdout).
+ * sort.c (main): Use STDIN_FILENO instead of less portable
+ fileno (stdin).
+
+Mon May 20 21:50:23 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * Makefile.am (distcheck): Remove target and rule -- automake-0.33
+ adds it automatically.
+
+Sun May 19 13:15:49 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (LINGUAS): Add ko.
+ * Makefile.am (distcheck): Remove @MAINT@ prefix from first command.
+
+Thu May 16 22:18:41 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * Makefile.am (distcheck): New target. From Gord Matzigkeit.
+
+Fri May 10 20:46:13 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * po/Makefile.in.in (all-yes): Always depend on CATALOGS. Otherwise
+ they won't be built and install could fail. From Ulrich Drepper.
+ (.po.mo): Disable dependency and rule when not in maintainer mode.
+
+ * aclocal.m4 (ud_WITH_NLS): Make DATADIRNAME and CATOBJEXT depend
+ on whether we're using GNU gettext. From Ulrich Drepper.
+
+Wed May 8 21:10:43 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * intl/Makefile.in (distdir): Renamed from dist. For compatibility
+ with automake-0.32.
+ * po/Makefile.in.in (distdir): Likewise.
+
+ * po/Makefile.in.in (all-yes): Depend on GMOFILES.
+ Depend on CATALOGS and GMOFILES files only in maintainer mode.
+
+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.
+
+Sat May 4 20:40:01 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (LINGUAS): Add de.
+ * po/de.po: New file.
+
+ * memcasecmp.c [IN_CTYPE_DOMAIN]: Rename from ISASCII.
+ * regex.c [IN_CTYPE_DOMAIN]: Likewise.
+ * system.h [IN_CTYPE_DOMAIN]: Likewise.
+
+Sun Apr 28 17:10:03 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * fmt.c (copy_rest): Don't copy past end of prefix. Output
+ trailing spaces if the prefix had any. Before, fmt would
+ improperly output NUL bytes. The command
+ perl -e 'print "| S";' |fmt -p' | '|tr '\0' @
+ output `|@S'. Reported by François Pinard.
+
+ * sort.c (main): Give a better diagnostic for `sort -0'.
+ Reported by Karl Berry.
+
+ * configure.in: Make fp_C_PROTOTYPES 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.
+
+Tue Apr 23 22:05:35 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro.
+ * configure.in: Use it.
+ * lib/Makefile.am (tu_SOURCES): Remove getopt.c and getopt1.c.
+ (EXTRA_DIST): Add getopt.c and getopt1.c
+
+ * src/*.c, src/*.h: Update Copyright years to include 1996.
+
+Sun Apr 21 08:04:51 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * getline.c: New version from gettext-0.10.12.
+ * getline.h: Likewise.
+ * configure.in (AC_CHECK_FUNCS): Add getdelim.
+ Suggested by Ulrich Drepper.
+
+ * md5sum.c (md5_check): Remove spurious newline at end of error
+ format string.
+
+ * od.c (decode_one_format): Use printf's L modifier for long doubles,
+ not `l'. From Eric Backus.
+
+ * Makefile.am (LDADD): Put @INTLLIBS@ before package library.
+
+ * od.c: Include <values.h>.
+ [!BITSPERBYTE]: Define.
+ [OFF_T_MAX]: Use BITSPERBYTE, not 8, and cast the result to off_t.
+ * configure.in (AC_CHECK_HEADERS): Add values.h.
+
+Fri Apr 19 23:48:53 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * Makefile.am (cvs-dist): New rule. Based on the one from
+ Tom Tromey's automake.
+
+Thu Apr 18 22:13:14 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * tail.c (main): Make code clearer: use new variable `n_files' in
+ place of `argc - optind'. Use `file' instead of `argv + optind'.
+
+Sat Apr 13 13:08:29 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * lib/Makefile.am (noinst_HEADERS): Include memcasecmp.h,
+ not memcasecmp.c.
+
+ * memcasecmp.c: Unprotoize.
+ [ISASCII]: Define.
+ [ISUPPER]: Define.
+
+ * join.c (decode_field_spec): Rename local variable `valid'
+ to invalid (and reverse sense) to avoid conflict with the
+ macro definition in /usr/include/locale.h on SunOS 4.1.3.
+
+Tue Apr 9 22:43:57 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * uniq.c: Add new option --ignore-case (-i).
+ Include memcasecmp.h.
+ (different): Compare with memcasecmp if ignoring case.
+ (main): Handle 'i'.
+
+ * join.c (memcasecmp): Remove static definition of function.
+ Include memcasecmp.h instead.
+
+ * memcasecmp.c: New file.
+ * memcasecmp.h: New file.
+ * lib/Makefile.am (tu_SOURCES): Add memcasecmp.c.
+ (noinst_HEADERS): Add memcasecmp.h.
+
+Thu Apr 4 17:05:33 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * tr.c: The following commands all failed unnecessarily.
+ tr -cs '[:upper:]' '[X*]'
+ tr -dcs '[:lower:]' n-rs-z
+ tr -ds '[:xdigit:]' [:alnum:]'
+ tr -dcs '[:alnum:]' [:digit:]'
+ tr -dc '[:upper:]'
+ Reported by Ross Ridge (ross@worf.mks.com).
+ (validate): Add missing conjunct (translating) in test for
+ `translating and complementing character classes' error. Before,
+ valid uses of tr could fail. E.g. `tr -dcs '[:cntrl:]' '[:alnum:]''.
+ (homogeneous_spec_list): New function.
+ (validate): Use it to relax the old (overly restrictive) restriction
+ that prohibited use of complemented character classes when translating.
+ Now, that is allowed as long as the translation maps many to one.
+ (get_spec_stats): Rename and redefine global has_char_class from
+ has_upper_or_lower.
+
+Wed Apr 3 07:08:57 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * aclocal.m4: Update NLS macros from gettext-0.10.11.
+
+ * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h
+ when srcdir != builddir. From Kaveh Ghazi.
+
+Wed Mar 27 23:33:36 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * cksum.c (cksum): Use format "%lu %ld" (instead of "%10lu %8ld")
+ to be POSIX compliant. From Stephen Gildea <gildea@x.org>.
+
+Sun Mar 24 08:47:40 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * join.c (main): Use EXIT_FAILURE, not 2, as exit code in error call.
+ * od.c (skip, main): Likewise.
+ * tr.c (main): Likewise.
+
+ * cat.c cksum.c comm.c csplit.c cut.c expand.c fmt.c fold.c head.c
+ join.c md5sum.c nl.c od.c paste.c pr.c split.c sum.c tac.c tail.c
+ tr.c unexpand.c uniq.c wc.c: Exit with status EXIT_SUCCESS or
+ EXIT_FAILURE, rather than 0 or 1.
+
+Sat Mar 23 23:14:40 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * system.h [EXIT_FAILURE]: Undefine and define to 1 also if it
+ is defined to zero. Suggested by Paul Eggert.
+
+ * sort.c [SORT_FAILURE]: New macro.
+ Be careful to exit with 1 only when -c is used and the
+ input is not properly sorted. In all other cases, use
+ SORT_FAILURE as required by POSIX.
+ (main): Change some `error (1, ...' to use SORT_FAILURE.
+ Upon successful termination, exit with EXIT_SUCCESS instead of `0'.
+ Replace all uses of `2' (as exit code) with SORT_FAILURE.
+
+Thu Mar 21 22:47:50 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * csplit.c: Include assert.h, but disable assertions.
+ (process_line_count): Replace if-abort with a slightly relaxed
+ assertion. Before, `echo |csplit - 1 1' would abort.
+ Reported by Samuli.Karkkainen@hut.fi.
+ (parse_patterns): Disallow uses like `csplit FILE 0' with zero
+ line number, `csplit FILE 2 1' with decreasing line numbers, and
+ warn about uses like `csplit FILE 3 3' that have equal line numbers.
+
+ * sort.c (main): Declare to be of type int, not void.
+ From Peter Seebach <seebs@taniemarie.solon.com>.
+ * cat.c cksum.c comm.c csplit.c cut.c expand.c fold.c head.c join.c
+ nl.c paste.c pr.c split.c sum.c tac.c tail.c tr.c unexpand.c uniq.c
+ wc.c (main): Likewise.
+
+Sat Mar 16 16:30:07 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.
+ * cat.c cksum.c comm.c csplit.c cut.c expand.c fmt.c fold.c
+ head.c join.c md5sum.c nl.c od.c paste.c pr.c sort.c split.c
+ sum.c tac.c tail.c tr.c unexpand.c uniq.c wc.c: Don't include
+ version.h.
+ (main): Use PACKAGE_VERSION instead of version_string.
+
+Mon Mar 11 16:07:08 CST 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * sort.c (write_bytes): Renamed from xfwrite.
+ Remove SIZE parameter. It was always 1. Update all callers.
+ Rename NELEM parameter to N_BYTES and change its type to size_t.
+
+Sat Mar 9 13:30:12 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * cat.c cksum.c comm.c csplit.c cut.c expand.c fmt.c
+ fold.c head.c join.c md5sum.c nl.c od.c paste.c pr.c sort.c
+ split.c sum.c tac.c tail.c tr.c unexpand.c uniq.c wc.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.
+ (AC_CHECK_HEADERS): Add float.h.
+ (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.
+
+ * tr.c (star_digits_closebracket): Declare formal param, IDX,
+ and local I to be of type size_t (rather than int) to avoid
+ warnings from gcc -Wall.
+
+Wed Feb 28 20:32:48 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * src/Makefile.am: Adapt for automake-0.30.
+ (noinst_HEADERS): Rename from HEADERS.
+ (INCLUDES): Remove -I.. and -I$(srcdir). automake-0.30 adds these
+ to DEFS automatically.
+ * lib/Makefile.am (noinst_HEADERS): Rename from HEADERS.
+
+Wed Feb 21 18:56:27 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * join.c (xfields) [without -t]: Ignore leading blanks.
+ From David Dyck (dcd@tc.fluke.COM).
+
+Sun Feb 18 12:07:27 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * join.c [TOLOWER]: Define.
+ (usage): Briefly describe new --ignore-case (-i) option.
+ (memcasecmp): New function.
+ (main): Set IGNORE_CASE for -i.
+ (keycmp): Compare with memcasecmp if IGNORE_CASE is set.
+ Suggestion and an initial patch from Alberto Accomazzi
+ <alberto@cfa0.harvard.edu>.
+
+Sat Feb 17 18:54:40 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * sort.c: Add -z option. Change all occurrences of '\n' to `eolchar'.
+ (usage): Describe it.
+ (main): Set eolchar to 0 for -z.
+ From Mark W. Eichin <eichin@cygnus.com>.
+
+Fri Feb 16 21:44:14 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * join.c (main): Mark two strings for translation.
+ * md5sum.c (md5_check): Mark a string for translation.
+ From François Pinard.
+
+Mon Feb 12 21:12:28 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ 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.
+
+ * fmt.c [TRUE]: Undefine before defining to avoid warning on NeXT.
+ [FALSE]: Likewise.
+ From Derek Clegg (dclegg@next.com).
+
+Sat Feb 3 16:20:40 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * Version 1.14.
+
+Wed Jan 31 23:26:13 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * tail.c (dump_remainder): Flush stdout when tailing-forever on
+ multiple files. From Carlos Canau <Carlos.Canau@relay.puug.pt>.
+
+Fri Jan 5 18:30:28 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * aclocal.m4: For SVR4 systems, use -Xc -D_POSIX_C_SOURCE in CFLAGS,
+ not just -Xc. From François Pinard.
+
+ * doc/Makefile.am (DIST_OTHER): Don't set to mdate-sh. mdate-sh is
+ distributed automatically. From Tom Tromey.
+
+Thu Jan 4 20:32:52 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * nl.c: Include rx.h after limit.h (not before) to avoid warning
+ about the redeclaration of RE_DUP_MAX in limit.h. rx.h protects
+ its definition. From Kaveh Ghazi.
+
+ * src/Makefile.am (DIST_OTHER): Include md5-test.rfc so make check
+ works again. Reported by François Pinard and Kaveh Ghazi.
+
+ * rx.c [SYNTAX]: Rename from SYNTAX_TABLE.
+ [SYNTAX_TABLE]: Remove extern dcl of re_syntax_table.
+ (RE_SEARCH_2_FN): Cast string1 and string2 to avoid pointer type
+ mismatch errors from e.g. SunOS's /bin/cc.
+ Reported by Kaveh Ghazi.
+
+Wed Jan 3 23:34:39 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * configure.in (VERSION): Set variable directly rather than from
+ a separate file.
+ * Makefile.am (DIST_OTHER): Remove VERSION.
+ * src/Makefile.am (version.c): Depend on Makefile, not ../VERSION.
+ (stamp-v): New target; depend on Makefile.
+ (DISTCLEANFILES): Add stamp-v, version.c.
+
+Tue Jan 2 00:08:08 1996 Jim Meyering (meyering@na-net.ornl.gov)
+
+ * sort.c (keycompare): Rewrite cases handling ignored characters
+ so that they really are ignored. Reported by Carl Johnson
+ <carlj@cjlinux.home.org>.
+
+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.
+
+ * csplit.c (extract_regexp) [!WITH_REGEX]: Intialize
+ syntax_parens field.
+
+Mon Dec 18 21:42:44 1995 Jim Meyering (meyering@comco.com)
+
+ Use automake to generate Makefile.in files.
+ * Makefile.am: New file.
+ * doc/Makefile.am: New file.
+ * lib/Makefile.am: New file.
+ * man/Makefile.am: New file.
+ * src/Makefile.am: New file.
+
+Thu Dec 14 21:13:22 1995 Jim Meyering (meyering@comco.com)
+
+ * fmt.c (main): Use xstrtol instead of atoi.
+
+ * fold.c (main): Use xstrtol instead of atoi.
+ (fold_file): Make a couple locals `int', not size_t, and cast
+ fwrite's third parameter to size_t.
+
+ * nl.c (main): Use xstrtol instead of atoi.
+ Rename misleading --first-page=N option to --starting-line-number=N.
+ (usage): Update.
+
+ * uniq.c (main): Use xstrtol instead of atoi.
+
+Fri Dec 8 20:48:00 1995 Jim Meyering (meyering@comco.com)
+
+ * aclocal.m4 (fp_C_PROTOTYPES): Set ANSI2KNR to ./ansi2knr.
+
+Thu Dec 7 19:55:03 1995 Jim Meyering (meyering@comco.com)
+
+ * aclocal.m4 (ud_WITH_REGEX): New macro.
+ * configure.in: Use it.
+ * rx.c, rx.h: New files.
+ * lib/Makefile.in (REGEX): Set to @REGEXOBJ@, not regex.o.
+ (SOURCES, DISTFILES): Add rx.c, rx.h.
+ * acconfig.h (WITH_REGEX): Add it.
+ * csplit.c [!WITH_REGEX]: Include rx.h.
+ * nl.c [!WITH_REGEX]: Likewise.
+ * tac.c [!WITH_REGEX]: Likewise.
+ From Ulrich Drepper and François Pinard.
+
+Tue Dec 5 17:49:53 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (main): Diagnose invalid arguments to -k, then fail.
+
+ * sort.c (numcompare): Properly handle all cases in which signs differ.
+ From Karl Heuer.
+
+ * Makefile.in (mandir): @mandir@ is just $(prefix)/man.
+ Append `/man1'. Reported by Karl Heuer.
+
+ * sum.c (bsd_sum_file): Remove misleading comment. From Karl Heuer.
+
+ * src/Makefile.in [.c._o]: Don't create $<-tmp. From Kaveh Ghazi.
+
+Fri Dec 1 01:02:36 1995 Jim Meyering (meyering@comco.com)
+
+ * lib/Makefile.in (default): New target.
+
+ * sort.c (numcompare): Properly order `-' and valid integers;
+ treat `-' as if it were zero. Reported by Ross Alexander
+ <r.alexander@auckland.ac.nz>.
+
+ * Makefile.in (DISTFILES): Remove unused mkdep-Makefile.
+ (.PHONY): Depend on default.
+
+Wed Nov 29 21:50:53 1995 Jim Meyering (meyering@comco.com)
+
+ * aclocal.m4 (jm_PROG_C_MKDEP): Remove, for now.
+ (jm_AUTODEPS): Likewise.
+ (jm_WITH_GNU_MAKE): Likewise.
+ * configure.in (jm_AUTODEPS): Remove.
+
+ * sort.c (begfield): Replace loop with equivalent if-else.
+ (limfield): Fix bug that made field specs like -k1.5 return a
+ pointer into LINE beyond the first field.
+ Don't try to trim trailing blanks here; it's not
+ possible because we don't know where the field begins.
+ Replace loop with equivalent if-else.
+ (trim_trailing_blanks): New function.
+ (findlines): Call it.
+ (keycompare): Likewise.
+ (main): Don't decrement T2 corresponding to `x' in field
+ specs like -ku.v,w.x.
+
+Sun Nov 26 15:50:23 1995 Jim Meyering (meyering@comco.com)
+
+ * csplit.c [!UINT_MAX]: Define.
+ [!INT_MAX]: Define.
+ Include xstrtoul.h.
+ (string_to_number): Remove function.
+ (check_for_offset): Use xstrtoul instead of string_to_number.
+ (parse_repeat_count): Likewise.
+ (parse_patterns): Likewise.
+ (main): Likewise.
+
+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.
+
+Sat Nov 18 12:04:30 1995 Jim Meyering (meyering@comco.com)
+
+ * src/Makefile.in (version.c): Depend on ../VERSION, not Makefile.
+
+ Update for autoconf-2.5:
+ * src/Makefile.in (libdir): Set to @libdir@.
+ (bindir): Set to @bindir@.
+ * doc/Makefile.in (infodir): Set to @infodir@.
+ * man/Makefile.in (exec_prefix): Remove it.
+ (mandir): Set to @mandir@.
+ (bindir): Remove it.
+
+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>.
+
+Wed Nov 15 23:48:31 1995 Jim Meyering (meyering@comco.com)
+
+ * mkdep-Makefile (.deps/empty.P): Depend on BUILT-HEADERS.
+
+ * aclocal.m4 (jm_PROG_C_MKDEP): Rename from jm_PROG_MKDEP.
+ * src/Makefile.in (C_MKDEP): Rename from MKDEP.
+ * lib/Makefile.in (C_MKDEP): Likewise.
+ * mkdep-Makefile (C_MKDEP): Likewise.
+ Add comments.
+
+ * csplit.c [__P]: Don't define it here.
+ * pr.c [__P]: Don't define it here.
+ * fmt.c [__P]: Don't define it here.
+ * system.h [__P]: Define it here.
+
+ * aclocal.m4 (jm_AUTODEPS): Rename from jm_WITH_AUTODEPS.
+ Revamp, with suggestions from Franc,ois Pinard.
+ (jm_WITH_GNU_MAKE): New macro.
+ (jm_PROG_MKDEP): New macro.
+ * configure.in (jm_PROG_MKDEP): Use it.
+ * src/Makefile.in (MKDEP): Set it.
+ * lib/Makefile.in (MKDEP): Likewise.
+ * mkdep-Makefile: Use MKDEP, not DEP_CC.
+ (DEP_CFLAGS): Remove it.
+
+Tue Nov 14 23:10:54 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c: Add support for sorting numbers in scientific notation.
+ Include xstrtod.h.
+ (struct keyfield): Add field: general_numeric.
+ (usage): Describe -g option.
+ (general_numcompare): New function.
+ (keycompare): Use new comparison function when general_numeric
+ flag is set.
+ (set_ordering): Honor `g' flag.
+ (main): Initialize and use new field.
+ From Marcus Daniels <marcus@sysc.pdx.edu>.
+
+ * configure.in (AC_REPLACE_FUNCS): Add strtod.
+ * lib/Makefile.in (SOURCES): Add xstrtod.c.
+ (OBJECTS): Add xstrtod.o.
+ (DISTFILES): Add xstrtod.h.
+
+ * csplit.c (cleanup): Don't exit.
+ (interrupt_handler): Rewrite to reset default signal handler
+ then repost caught signal.
+ (xmalloc, xrealloc, read_input, write_to_file, handle_line_error,
+ process_line_count, process_regexp, create_output_file,
+ close_output_file): Call cleanup_fatal, not cleanup.
+ Add const attribute to lots of parameters.
+ (cleanup_fatal): Renamed from cleanup. Call cleanup, then exit.
+ Update callers.
+
+ * tac.c (cleanup): Don't exit.
+ (cleanup_fatal): New function. Call cleanup, then exit.
+ (sighandler): New function.
+ (cleanup_fatal): Renamed from cleanup. Call cleanup, then exit.
+ Update callers.
+ (tac_stdin): Set up sighandler as signal handler, not `cleanup'.
+
+Sat Nov 11 15:46:02 1995 Jim Meyering (meyering@comco.com)
+
+ * od.c (skip): Cast fseek's offset argument to `long'.
+ Erik Bennett <bennett@cvo.oneworld.com> reported that this is
+ necessary on BSDI systems. And if offset doesn't fit in a long,
+ then try using lseek instead.
+
+ * sort.c (xmalloc): Declare static.
+ (xrealloc): Likewise.
+
+ * tac.c (cleanup): Add signal number parameter.
+ Update callers.
+
+ * cat.c (main): Don't die when dev/ino of input and output are
+ the same and the file descriptors correspond to stdin and stdout.
+ This is necessary on at least Digital UNIX (aka OSF1) 3.2C.
+ Otherwise, running `cat << X > $$' would fail with `cat: -: input
+ file is output file'. From Jarkko Hietaniemi <jhi@epsilon.hut.fi>.
+
+ * Makefile.in (DISTFILES): Add @README_ALPHA@.
+ (config.status) Depend on VERSION.
+ * configure.in: Set README_ALPHA if the version number ends in [a-z].
+
+Fri Nov 10 21:13:42 1995 Jim Meyering (meyering@comco.com)
+
+ * fold.c (usage): Clarify meaning of --spaces. From Karl Berry.
+
+ src/Makefile.in (.c._c): Don't redirect directly to $@.
+ (._c._o, .c._o): Remove temporary src file.
+
+Tue Nov 7 23:55:24 1995 Jim Meyering (meyering@comco.com)
+
+ * VERSION: New file.
+ * configure.in (VERSION): New variable.
+ (PACKAGE): New variable.
+
+ * Makefile.in (DISTFILES): Add VERSION.
+ (distdir): Use @PACKAGE@-@VERSION@, not distname.
+ Remove all references to distname.
+ * src/Makefile.in (version.c): Generate it.
+ (SOURCES): Remove now-generated version.c.
+ (distclean): Delete version.c.
+ * doc/Makefile.in (version.texi): Use @PACKAGE@-@VERSION@,
+ not version.c
+
+ * */Makefile.in (distdir): Use @PACKAGE@-@VERSION@, not distname.
+ Remove all references to distname.
+
+ * split.c: New option: --verbose.
+ (main): Recognize it.
+ (usage): Document it.
+ From Marty Leisner <leisner@sdsp.mc.xerox.com>.
+
+Sun Nov 5 06:59:27 1995 Jim Meyering (meyering@comco.com)
+
+ * src/Makefile.in: Reflect protoization of csplit.c, fmt.c, pr.c,
+ and unexpand.c.
+
+ * pr.c: Protoize.
+ (store_columns): Remove spurious 2nd argument in call to read_line.
+ [__P]: Define. Use it in prototyped forward decls.
+
+ * csplit.c: Move prototypes after struct declarations.
+ Remove prototypes for xmalloc, xrealloc.
+ Protect prototypes with __P.
+ (new_control_record): Cast arg 1 to realloc.
+
+ * fmt.c [__P]: Test PROTOTYPES, not __STDC__.
+ Protoize.
+
+Sat Nov 4 23:51:30 1995 Jim Meyering (meyering@comco.com)
+
+ * csplit.c (close_output_file): Set output_stream to NULL so we
+ don't recurse endlessly between this function and cleanup.
+
+ * unexpand.c: Reorder functions to obviate forward dcls. Remove
+ forward dcls. Protoize. Add `const' attribute to some parameters.
+
+Mon Oct 30 23:15:56 1995 Jim Meyering (meyering@comco.com)
+
+ * wc.c: Reorder functions to obviate forward dcls. Remove
+ forward dcls. Protoize. Add `const' attribute to some parameters.
+ * uniq.c: Likewise.
+ * split.c: Likewise.
+
+ * split.c (isdigits, convint): Remove these.
+ (main): Use xstrtol instead.
+
+Sun Oct 29 14:04:36 1995 Jim Meyering (meyering@comco.com)
+
+ * paste.c (main): Move function body to end of file.
+ Remove forward dcls and protoize.
+ * sum.c (main): Likewise.
+ * nl.c: Protoize. Reorder functions to obviate forward dcls.
+ Remove forward dcls.
+ * tac.c: Likewise.
+ * src/Makefile.in (OBJECTS): Reflect that all of the above
+ now use prototypes.
+
+ * sum.c (bsd_sum_file): Give file name parameter const attribute.
+ (sysv_sum_file): Likewise.
+
+ * tac.c (xwrite): Give output buffer parameter const attribute.
+ (output): Likewise for both parameters.
+ (tac): Likewise for file name parameter.
+ (tac_file): Likewise.
+
+Sat Oct 28 16:02:39 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c (md5_check): Use the same message format when there is
+ a single file and it gets a read error or checksum mismatch as when
+ there are more. Write that warning to standard error, not standard
+ output. Suggestions from Greg Troxel (gdt@b-sgi.bbn.com).
+
+Thu Oct 26 00:11:35 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (xtmpfopen): New function to set proper permissions on
+ temporary files. Use it instead of xfopen. Reported by Erik Corry
+ (erik@kroete2.freinet.de).
+
+Mon Oct 23 23:17:04 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.
+
+ * src/Makefile.in (distclean): Remove .deps.
+ Include @top_srcdir@/mkdep-Makefile.
+
+ * mkdep.Makefile: New file.
+ * Makefile.in (DISTFILES): Add mkdep-Makefile.
+ * doc/Makefile.in (mostlyclean): Also remove *.info.
+
+Thu Oct 19 17:38:28 1995 Jim Meyering (meyering@comco.com)
+
+ * od.c: Indent cpp directives.
+
+ * tr.c (BEGIN_STATE): Use INT_MAX - 1 so as not to interfere
+ with large repeat counts.
+ (struct E_string): New struct.
+ (find_closing_delim): Take E_string arg rather than char* and length.
+ (find_bracketed_repeat): Likewise.
+ (star_digits_closebracket): New function.
+ (append_char_class): No longer give diagnostic.
+ (append_equiv_class): Likewise.
+ (build_spec_list): Give them here instead, allowing string1 like
+ [:*][:upper:] that got errors before.
+ Take E_string arg rather than char*.
+ Convert switch stmts into if-then so as to use ES_MATCH.
+
+Tue Oct 17 22:48:00 1995 Jim Meyering (meyering@comco.com)
+
+ * cat.c: Protoize. Reorder functions to obviate forward dcls.
+ Remove forward dcls.
+ * expand.c: Likewise.
+ * fold.c: Likewise.
+ * head.c: Likewise.
+ * od.c: Likewise.
+ * sort.c: Likewise.
+ * tail.c: Likewise.
+
+ * src/Makefile.in (OBJECTS): Reflect that all of the above
+ now use prototypes.
+
+ * head.c: Add `const' attribute to dcls of lots of formals.
+
+ * sort.c: Add `const' attribute to dcls of lots of formals.
+ Move struct dcls to precede dcls of file-scope variables.
+ (monthtab, keyhead): Separate variable dcls from type dcls.
+
+Fri Oct 13 20:38:39 1995 Jim Meyering (meyering@comco.com)
+
+ * join.c (add_field_list): Allow SPACE and TAB as well as `,' as
+ list item separators, per POSIX spec.
+ (prjoin): Rewrite loop that iterates over field specs.
+ Handle case in which file spec is 0.
+
+Sun Oct 8 22:41:15 1995 Jim Meyering (meyering@comco.com)
+
+ * strpbrk.c: New file.
+ * lib/Makefile.in (SOURCES): Add strpbrk.c.
+ Remove bcopy.c.
+
+Sat Oct 7 22:27:01 1995 Jim Meyering (meyering@comco.com)
+
+ * join.c (add_field): No longer return a value.
+ (decode_field_spec): New function.
+ (add_field_list): Rewrite to be more strict.
+ Before, `,1.2' was accepted as valid.
+ (main): Use xstrtol instead atoi.
+ Combine nearly identical -a and -v cases.
+ Close input files.
+
+Fri Oct 6 23:10:01 1995 Jim Meyering (meyering@comco.com)
+
+ * join.c (main): Report `too few/many non-option arguments'
+ then print --help output rather than just the latter.
+ Properly interpret obsolescent usage like `join -o 2.1 2.1 2.2'.
+ (usage): Describe POSIX -1, -2 options and deprecate -j* ones
+
+ * join.c (usage): Move to precede all other functions.
+
+ * join.c: Protoize.
+
+Tue Oct 3 22:44:05 1995 Jim Meyering (meyering@comco.com)
+
+ * csplit.c, sort.c, tac.c: Test SA_INTERRUPT, not _POSIX_VERSION,
+ to determine whether `sigaction' functions are available.
+ Reported by Paul Nevai <nevai@ops.mps.ohio-state.edu>.
+ Fix suggested by Karl Berry.
+
+ * md5sum.c (main): Declare counter, N_STRINGS, to be an integral
+ type, not `char'.
+
+ * cut.c: Convert many declarations using `int' to use `unsigned int'
+ to avoid warnings from `gcc -Wall' about comparing signed and
+ unsigned types.
+ (set_fields): Use memset (not open coded loop) to initialize array.
+
+Thu Sep 28 23:16:05 1995 Jim Meyering (meyering@comco.com)
+
+ * Version 1.13.
+
+ * Makefile.in (DISTFILES): Remove README.alpha for major release.
+
+ * od.c (decode_one_format): Remove spurious semicolon.
+ From John Kodis.
+
+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.
+
+Sun Sep 24 08:36:47 1995 Jim Meyering (meyering@comco.com)
+
+ * cksum.c: Protoize.
+ * cut.c: Protoize.
+
+ * src/Makefile.in (OBJECTS): Reflect that cksum.c and cut.c use
+ prototypes.
+ (cksum): Depend on cksum$O.
+ (cut): Depend on cut$O.
+
+Sat Sep 23 15:43:46 1995 Jim Meyering (meyering@comco.com)
+
+ * Version 1.12.2.
+
+ * Makefile.in (DISTFILES): Add README.alpha.
+
+ * lib/Makfile.in (GETOPT, MEMCHR, REGEX): New variables.
+ (OBJECTS): Use them instead of hard-coding object file names.
+ Suggested by Ulrich Drepper.
+
+ * md5sum.c (md5_check): Distinguish between open/read failure
+ and checksum mismatch.
+
+Mon Sep 18 23:15:05 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c: Protoize.
+ * src/Makefile.in (OBJECTS): Change md5sum.o to md5sum$O.
+ (join.o, md5sum$O, sort.o) Depend on ../lib/long-options.h.
+ (md5sum): Depend on md5sum$O.
+
+ * md5sum.c (main, usage): Remove -h, -s, -v short options.
+ Rename --verbose to --warn, --quiet to --status.
+ (main): Handle --help and --version using parse_long_options.
+ (md5_check): Check ferror.
+
+ * sort.c (tempname): Replace `16' with a more readable expansion.
+ Make sure that counter never exceeds 99999.
+ (checkfp): Rearrange loop to avoid duplicate test.
+ Move a couple dcls from function scope into inner block.
+
+Tue Aug 8 21:49:27 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c (main): Fail if either --verbose or --quiet is specified
+ when not verifying checksums.
+
+ * md5sum.c (md5_check): Fail if no valid line is found.
+ Don't use the word `fail' unless there were failures --
+ instead, say `all N tests passed.'
+
+ * md5sum.c (main) [handling --string option]: Don't output
+ nonstandard `b' binary flag. From Greg Troxel (gdt@bbn.com).
+ * md5-test.rfc: Remove now-inconsistant `b' marker.
+ (usage): Clarify help message. With suggestions from Greg Troxel.
+
+Mon Aug 7 23:27:54 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (mergefps) [lint]: Initialize SAVEALLOC to avoid spurious
+ compiler warning. From Ulrich Drepper.
+
+ * pr.c (read_line) [lint]: Initialize CHARS to avoid spurious
+ compiler warning. From Ulrich Drepper.
+
+ * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB.
+ From Franc,ois.
+
+Mon Aug 7 00:02:59 1995 Jim Meyering (meyering@comco.com)
+
+ * system.h (_): Define macro -- as empty for now.
+ * src/*.c: Annotate localizable strings with _(...). From Franc,ois.
+
+Sat Aug 5 23:51:25 1995 Jim Meyering (meyering@comco.com)
+
+ * Version 1.12.1.
+
+ * configure.in: Add fp_C_PROTOTYPES.
+
+Fri Aug 4 23:21:46 1995 Jim Meyering (meyering@comco.com)
+
+ * src/Makefile.in (DISTFILES): Include ansi2knr.c and ansi2knr.1.
+ Add suffixes, dependencies, and rules to convert ANSI source to K&R
+ when required. Mark tr.o and comm.o as the only such files (for now).
+
+ * tr.c: Protoize.
+ * comm.c: Protoize.
+
+ * Makefile.in (DISTFILES): Add aclocal.m4 and acconfig.h.
+ (configure): Depend on aclocal.m4.
+ (stamp.h.in): Depend on aclocal.m4 and acconfig.h.
+
+Sun Jul 30 00:01:58 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c (md5_check): Use getline instead of fgets.
+
+ * lib/Makefile.in (SOURCES): Add getline.c.
+ (OBJECTS): Add getline.o.
+ (DISTFILES): Add getline.h.
+ (getline.o): Depend on getline.h.
+
+ * md5.c [memcpy]: Define to bcopy if needed.
+ (md5_buffer): Explicitely cast SWAP expressions to unsigned
+ to avoid warning.
+
+ * lib/Makefile.in (strtoul.o): Depend on strtol.c.
+
+ * sort.c (check): Print `disorder on...' message on standard error,
+ not stdout. This is a minor concession to POSIX which says
+ `no output shall be produced...'.
+
+ * sort.c (main): Fix -k so it works. -k 2,3 was being treated
+ like -k 2. Reported by Marcus Daniels <marcus@sysc.pdx.edu>.
+
+Wed Jul 26 22:54:48 1995 Jim Meyering (meyering@comco.com)
+
+ * man/Makefile.in (install, uninstall): Strip off `.1', not just `1'
+ before applying $(transform) to manual name. From Karl Berry.
+
+ * md5sum.c (have_read_stdin): New global variable.
+ (md5_file, md5_check): Set it.
+ (main): Use it.
+
+ * md5sum.c [OPENOPTS]: Depend explicitly on BINARY.
+ (md5_file): Take a new parameter, MD5_RESULT, and no longer
+ generate output.
+ (md5_check): Invoke md5_file instead of calling fopen directly.
+ When giving a diagnostic for a line with invalid format, also report
+ the line number.
+ (main): Generate output after a successful md5_file call.
+ [in many places]: Upon detection of an error, rather than exiting
+ immediately, issue a diagnostic, note that an error occurred and
+ exit later.
+
+Mon Jul 24 21:48:26 1995 Jim Meyering (meyering@comco.com)
+
+ * tail.c (tail_bytes) [from_start]: For regular files, seek
+ relative to the initial input file pointer position, not
+ necessarily from the beginning of the file.
+ [!from_start]: Don't back up past the initial position of the
+ input file pointer.
+ (tail_lines): Call file_lines only if FD refers to a regular file
+ with its file pointer positioned at beginning of file. Otherwise,
+ call pipe_lines. This is a kludge. Once there's a decent test
+ suite, fix this properly.
+ Before, (echo 1; echo 2) > k; sh -c 'read x; tail' < k
+ would output both lines of the input file even though the first had
+ already been read. Reported by John Roll (john@panic.harvard.edu).
+
+ * md5sum.c [_LIBC || STDC_HEADERS] (TOLOWER): Define to tolower.
+
+ * csplit.c (main): When too few arguments are given, don't just
+ issue the usage message; also report why.
+
+Sat Jul 22 00:16:01 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c (md5_check): New function -- extracted from main.
+
+Fri Jul 21 01:21:49 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c (md5_file): New function -- extracted from main.
+ (main): Call the new function instead of doing all that in an
+ if-stmt. Always use "%s" format rather than raw filename as
+ format argument in printf-style functions like error. Otherwise,
+ filenames containing `%' are likely to lose.
+ Remove all mention of `old format'.
+ (split_3): No longer parse the `new format.' There is only one
+ valid format now: the compatible one.
+
+ * lib/Makefile.in (SOURCES): Add md5.c.
+ (OBJECTS): Add md5.o.
+ (DISTFILES): Add md5.h.
+ (md5.o): Depend on md5.h.
+
+ * system.h [!EXIT_FAILURE, !EXIT_SUCCESS]: Define them.
+ * lib/md5.c (md5_stream): Check for read failure and return
+ indication of success rather than second argument.
+ * lib/md5.h (md5_stream): Update prototype.
+ [__P]: Define macro.
+ * md5sum.c: Use EXIT_FAILURE and EXIT_SUCCESS.
+ (main): Report an error if md5_stream fails. Otherwise, running
+ `md5sum dir-on-mounted-filesystem' always reported the checksum
+ for an empty file. Now it gets the `is a directory' error.
+ Greg McGary (gkm@magilla.cichlid.com) reported that the released
+ version got stuck in an infinite loop with such arguments.
+
+ * lib/md5.c: New file.
+ * lib/md5.h: New file.
+ * md5sum.c: Rewritten to use library interface.
+ From Ulrich Drepper.
+
+Sun Jul 16 18:42:34 1995 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Add AC_C_INLINE: md5sum.c uses inline keyword.
+
+Tue Jul 11 21:56:02 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c Add #else block after #ifdef VMS.
+ (main): Rename local variable.
+ Detect and report failed fclose calls on stdout and checkfile_stream.
+
+ * tr.c (unqote): Comment out unreachable break stmts.
+ (append_range): Declare FIRST and LAST parameters to be unsigned int,
+ not size_t.
+ (find_closing_delim): Clean up interface, separating boolean success
+ indicator and index.
+ (find_bracketed_repeat): Likewise.
+ (build_spec_list): Adapt to use new interfaces.
+ Declare CLOSING_DELIM_IDX and CLOSING_BRACKET_IDX to be of
+ type size_t, not int.
+ (main): Declare NR and CHARS_READ to be of type long, not int.
+
+ * sort.c (main): Comment out unreachable break stmt.
+
+ * tail.c (tail): Explicitly cast to long the N_UNITS argumennt in
+ call to tail_lines. Otherwise, NetBSD lost because N_UNITS (of type
+ off_t, a 64-bit type on NetBSD) wasn't converted to the target type,
+ long. Reported by Dan Hagerty (hag@gnu.ai.it.edu).
+
+ * comm.c: Reorder functions so main is last, so no forward dcls
+ are needed.
+
+Sun Jul 9 11:41:15 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (main): When using obsolescent +pos -pos syntax, allow
+ omission of field spec only when character offset is specified.
+ Otherwise, -. +. would be accepted.
+
+Sat Jul 8 13:48:06 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (main): Allow field spec, M, to be omitted in +M.N or -M.N
+ position specification. For compatibility with existing practice
+ (what vendors?), omitting M is now equivalent to specifying `0' for M,
+ but only when using the +pos -pos syntax, not with the -k option.
+ From Rick Sladkey (jrs@world.std.com).
+
+Thu Jul 6 23:44:20 1995 Jim Meyering (meyering@comco.com)
+
+ * od.c (dump): Correct loop-termination criterion.
+ Before, running `printf 1234| ./od --width=4 --read-bytes=4'
+ printed output for 8 bytes -- the last four were garbage.
+ This happened only when the dump limit, N, was specified (with
+ --read-bytes=N) and N was a multiple of bytes_per_block
+ (usually 16, but 4 in this example). From Andreas Schwab.
+
+Sun Jul 2 22:12:40 1995 Jim Meyering (meyering@comco.com)
+
+ * lib/Makefile.in (check): Depend on libtu.a.
+
+ * md5sum.c (split_3): Rewrite to parse Plumb/Lankester format as well.
+ (main): Print each sum line in (de facto) standard Plumb/Lankester
+ format.
+ New option: --quiet.
+ Check option no longer takes an argument.
+ When checking, exit status reflects success.
+
+Sat Jun 24 16:18:01 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c [__GNUC__]: Don't conditionalize use of "inline".
+ Autoconf (via config.h) defines it away for compilers that don't
+ grok it.
+
+ * cat.c, comm.c, join.c, sort.c, uniq.c: Undefine min/max before
+ defining to avoid redefinition warning on some systems.
+
+ * csplit.c (read_input): Rename paramater MAX to MAX_N_BYTES.
+ This avoids potential conflict with max macro from some system's
+ header files when using bad pre-ANSI compilers.
+
+ * uniq.c (usage): Fix typo in text of --help output.
+ From Steve McConnel <steve@acadcomp.sil.org>
+
+ * md5sum.c [uint32]: When testing for 32-bit arithmetic type,
+ also check `unsigned long', as a concession to systems with
+ int's smaller than 32 bits.
+
+ * configure.in (AC_REPLACE_FUNCS): Remove memcmp (again!) since
+ AC_FUNC_MEMCMP already handles it. This avoids warnings from
+ ranlib on nextstep systems. From Kaveh Ghazi.
+
+ * csplit.c (interrupt_handler): Declare to have a single integer
+ parameter. Otherwise, some compilers fail with a type mismatch
+ error in sa_handler assignment.
+
+ * fmt.c [word]: Redefine. Otherwise, systems (Unicos for one) with
+ headers that typedef `word' get syntax errors because of the
+ variable by the same name.
+
+ * join.c [join]: Redefine to avoid conflict with prototype in some
+ system header file. Also for Unicos.
+
+ * md5sum.c (main): Remove spurious colon in getopt spec string.
+ From Ken Pizzini <kenp@spry.com>.
+
+Tue Jun 20 06:59:16 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c (md5_file): Initialize two elements of LEN portably,
+ rather than with ANSI aggregate initialization. Reported by
+ Edzer Pebesma <Edzer.Pebesma@rivm.nl>.
+
+Sun Jun 18 09:15:57 1995 Jim Meyering (meyering@comco.com)
+
+ * Version 1.12.
+
+ * md5sum.c (process_buffer): Copy values from struct into
+ individual local variables before performing computation on them,
+ then copy results back into returned struct. Solely for better
+ optimization by compilers that can't keep struct members in
+ registers. From Ulrich Drepper.
+
+Thu Jun 15 22:09:14 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c: Remove unnecessary uses of `defined' in #if* tests.
+ Don't use #elif. Some older compilers don't grok it.
+ (split_3): New function to parse out sum, flag, and filename
+ when reading check file.
+ (hex_digits): Remove length parameter since string parameter is
+ now nul-terminated.
+ (main): Don't allocate separate arrays for filename and sum
+ when checking. Get pointers into line buffer with split_3 instead
+ of using sscanf.
+ (main): Treat `no file args' just like `-' when not checking
+ or using strings.
+ (hex_digits): Unprotoize.
+
+ * md5sum.c (main): Don't use a separate loop to convert to lower
+ case. Suggested by Ulrich Drepper.
+ (CLOSE): New macro.
+ (md5_file): Use it.
+ From Ulrich Drepper.
+
+ * md5sum.c: Don't include values.h.
+ [__P]: Undefine it.
+
+ * md5sum.c: [UNIX || unix]: Also test __UNIX__, __unix__,
+ and _POSIX_VERSION. Reported by Arne H. Juul.
+
+Tue Jun 13 21:20:10 1995 Jim Meyering (meyering@comco.com)
+
+ * tr.c [NDEBUG]: Define it to disable assertions. Some systems
+ have a broken <assert.h> header.
+ (is_char_class_member): Set a variable in each branch of switch
+ stmt and return that value after the switch (rather than returning
+ directly from every branch).
+ (unquote): More int->size_t changes.
+ (build_spec_list): More int->size_t changes.
+ Be very careful about comparison now that variables are unsigned:
+ Use i + 2 < len rather than i < len - 2. The latter didn't work
+ for len < 2. Caught early thanks to a thorough regression test
+ suite.
+
+Mon Jun 12 23:07:59 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (xfclose): Don't try to flush stdin, only stdout.
+ Otherwise, at least Ultrix-4.3's fflush would return EOF.
+ Reported by Jim Blandy (jimb@cyclic.com).
+
+ * tr.c (non_neg_strtol): Don't compare signed and unsigned.
+ [struct Spec_list] (indefinite_repeat_element): New member.
+ Use size_t rather than int or unsigned long where reasonable.
+ (get_spec_status): Make interface cleaner.
+ (get_s1_spec_status): New function.
+ (get_s2_spec_status): New function.
+ (validate): Use new functions instead of get_spec_status.
+
+Sun Jun 11 00:39:50 1995 Jim Meyering (meyering@comco.com)
+
+ * md5sum.c: New file. From Ulrich Drepper.
+ * md5-test.rfc: New file.
+ * Makefile.in (PROGS): Add md5sum.
+ (check): Run a recursive make in each subdirectory.
+ * man/Makefile.in (MANFILES): Add md5sum.1.
+ * src/Makefile.in (SOURCES): Add md5sum.c.
+ (OBJECTS): Add md5sum.o.
+ (PROGS): Add md5sum.
+ (check): Add basic checks for md5sum.
+ (md5sum): Add dependency and link rule.
+ (DISTFILES): Add md5-test.rfc.
+
+ * tr.c (look_up_char_class, append_char_class, append_equiv_class):
+ Use const attribute when appropriate.
+
+Sun May 28 14:48:58 1995 Jim Meyering (meyering@comco.com)
+
+ * join.c: Overhauled to make -a1 and -a2 options work.
+ Passed all tests in a fairly thorough test suite.
+ Reported by Michael Hasselberg (mikelh@zonta.ping.de).
+
+Sat May 27 00:35:47 1995 Jim Meyering (meyering@comco.com)
+
+ * tail.c (main): Remove dcl of and statements that set now-unused
+ variable.
+
+ * system.h [!STDC_HEADERS && HAVE_MEMORY_H]: Include memory.h.
+ Without this, SunOS doesn't get type for memchr.
+ Reported by Kaveh Ghazi.
+
+Thu May 25 00:06:50 1995 Jim Meyering (meyering@comco.com)
+
+ * tail.c (tail_lines): Change one more `long' to `off_t'.
+ Otherwise, tail didn't work on NetBSD. From Arne H. Juul.
+
+ * csplit.c [struct control]: Change type of `repeat' to unsigned
+ long to avoid conversion warning.
+
+Sun May 21 07:50:00 1995 Jim Meyering (meyering@comco.com)
+
+ * Makefile.in (.PHONY): TAGS is not a phony target. From Franc,ois.
+
+ * xstrtol.c (__strtol): Remove prototype altogether.
+ Move inclusion of xstrtol.h back so that it follows system headers.
+
+ * Version 1.11.2.
+
+Sat May 20 06:44:14 1995 Jim Meyering (meyering@comco.com)
+
+ * join.c (ADD_FIELD): Declare in K&R style, not ANSI.
+ From Kaveh Ghazi.
+
+ * xstrtol.c: Define NDEBUG for systems with losing assert.h.
+ (__strtol): Add __unsigned to prototype and use __P.
+ Move inclusion of xstrtol.h to precede prototype.
+ From Kaveh Ghazi.
+
+ * memmove.c: Include config.h for definition of const.
+ From Kaveh Ghazi.
+
+ * All Makefile.in (install-exec, install-exec): New targets.
+ From Karl Berry.
+
+ * tr.c (look_up_char_class): Take a string length argument -- required
+ because the argument is a string that is *not* NUL-terminated.
+ Use strncmp, not strcmp and add string lengths comparison.
+ (append_char_class): Update caller. Before this change,
+ tr '[:upper:]' '[:lower:]' read one uninitialized byte.
+ From Andreas Schwab.
+
+ * split.c (next_file_name): Move dcls of file-scope variables into
+ this function. Don't rely on arithmetic being two's complement.
+
+ * paste.c [CLOSED, ENDLIST]: Don't cast constants to FILE pointers.
+ Instead, declare two FILE structs and use their addresses.
+
+ * csplit.c (record_line_starts): Remove set-but-not-used,
+ file-scope variable.
+
+Sat May 13 08:57:20 1995 Jim Meyering (meyering@comco.com)
+
+ * all source files (usage): Include one- or two-line synopsis
+ in --help output. From Karl Berry.
+
+ * lib/Makefile.in [.c.o]: Remove -I. since safe-l?stat.h are no
+ longer used.
+
+Wed May 10 22:26:35 1995 Jim Meyering (meyering@comco.com)
+
+ * Version 1.11.1
+
+Sun May 7 13:35:49 1995 Jim Meyering (meyering@comco.com)
+
+ * all Makefile.in (maintainer-clean): Renamed from realclean
+ per GNU Standards.
+
+Thu May 4 23:15:58 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (main): Use stat, not safe_stat. The latter was unnecessary.
+ Don't include safe-stat.h.
+
+ * lib/Makefile.in (DISTFILES): Remove safe-xstat.hin.
+ Remove all associated rules. safe-l?stat.h are no longer used.
+
+ * sort.c Don't hard-code /tmp.
+ [DEFAULT_TMPDIR]: Use this instead.
+ * tac.c (save_stdin): Likewise.
+
+ * sort.c (set_ordering): Properly parse arguments like `+x.yn'.
+ Reported by John Salmon (johns@mullet.anu.edu.au).
+ Patch from Mike Haertel.
+
+Wed Apr 26 23:48:13 1995 Jim Meyering (meyering@comco.com)
+
+ * sort.c (tempname): AND-off high bits of pid so that its decimal
+ string representation is no longer than five digits.
+ From Hans Verkuil (hans@wyst.hobby.nl).
+
+Thu Apr 20 23:09:33 1995 Jim Meyering (meyering@comco.com)
+
+ * expand.c (add_tabstop): Give correct size when reallocating
+ tab_list buffer. From Geoff Odhner (geoff@franklin.com).
+ Reproduce with expand --t=`perl -e "print join (',', (1..300));"`.
+
+Tue Apr 18 22:57:43 1995 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_OUTPUT): Use echo, not date, to avoid creating
+ unnecessary conflicts for people using version control software
+ like RCS and CVS.
+ (AC_ARG_PROGRAM): Use it.
+
+Thu Apr 13 23:22:57 1995 Jim Meyering (meyering@comco.com)
+
+ * head.c: Remove block of redundant comments describing options.
+ (usage): Remove reference to -l option. It's not valid.
+
+ * od.c (write_block): Declare index I as unsigned int, not int.
+ (get_lcm): Likewise.
+ (dump_strings): Likewise.
+ (main): Likewise.
+ (dump): Cast BYTES_PER_BLOCK to off_t in MIN expression.
+ (dump_strings): Declare bufsize to be of type size_t, not int.
+
+ * split.c (next_file_name): Don't reuse X as an index.
+ Declare new variable I instead.
+
+Sat Mar 25 15:07:23 1995 Jim Meyering (meyering@comco.com)
+
+ * csplit.c: Declare as `unsigned int' all variables that were
+ just `unsigned'.
+ (make_filename): Change type of arg to unsigned int.
+ (split_file): Change type of indices to unsigned int.
+
+Thu Mar 16 22:05:05 1995 Jim Meyering (meyering@comco.com)
+
+ * od.c (main): Detect and fail when argument to -N is too large
+ to fit in an off_t.
+
+Sun Mar 12 12:02:39 1995 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_REPLACE_FUNCS): Add memcmp.c.
+ Remove check for sizeof long.
+
+ * linebuffer.h: Undefine __P before defining it.
+ * long-options.h: Likewise.
+ * xstrtol.h: Likewise.
+
+ * memcpy.c: New file.
+ * lib/Makefile.in (SOURCES): Add memcpy.c.
+
+Fri Mar 10 21:14:11 1995 Jim Meyering (meyering@comco.com)
+
+ * src/*.c: Update Copyright dates.
+
+Sat Feb 11 07:31:08 1995 Jim Meyering (meyering@comco.com)
+
+ * system.h: Remove index/rindex and bcmp/bcopy/bzero references.
+ Separate errno declaration from STDC_HEADERS.
+
+ * wc.c (wc): For efficiency, handle separately the cases in which
+ words need not be counted. Suggested by Karl Heuer.
+
+ * wc.c (wc): Don't overcount the number of bytes when reading
+ from a regular file on stdin with file pointer not at BOF.
+ From Karl Heuer <karl@gnu.ai.mit.edu>. Before, the command
+ `(dd ibs=99k skip=1; wc -c) < /etc/group' made wc wrongly output
+ the size of the file. Now it outputs `0'.
+
+Sat Jan 28 07:07:23 1995 Jim Meyering (meyering@comco.com)
+
+ * cat.c (cat): Use memmove rather than bcopy.
+ * csplit.c (load_buffer): Use memcpy rather than bcopy.
+ (extract_regexp): Use strrchr, not rindex.
+ * fmt.c (isopen, isclose, isperiod): Use strchr, not index.
+ (flush_paragraph): Use memmove instead of bcopy.
+ * fold.c (fold_file): Use memmove instead of bcopy.
+ * od.c (decode_format_string): Use memmove instead of bcopy.
+ [EQUAL_BLOCKS]: Use memcmp, not bcmp.
+ (parse_old_offset): Use strchr, not index.
+ (dump): Use memset, not bzero.
+ * sort.c (checkfp, mergefps): Use memcpy instead of bcopy.
+ (fillbuf): Use memmove instead of bcopy.
+ * split.c (main): Use memset, not bzero.
+ (line_bytes_split): Use memmove instead of bcopy.
+ * tac.c (tac): Use memmove instead of bcopy.
+ (output): Use memcpy instead of bcopy.
+ * tail.c (pipe_lines, pipe_bytes): Use memcpy instead of bcopy.
+ * tr.c (substr): Use memcpy instead of bcopy.
+ (card_of_complement, set_initialize): Use memset, not bzero.
+
+ * tr.c (substr): Don't allocate a byte for trailing NUL in result
+ since the result needn't be NUL-terminated. Don't NUL terminate it.
+
+ * configure.in (AC_REPLACE_FUNCS): Check for memmove and memcpy,
+ not bcopy.
+ (AC_CHECK_FUNCS): Add strchr and strrchr.
+
+ * lib/Makefile.in (SOURCES): Add memmove.c and memcpy.c.
+ * memmove.c: New file.
+ * memcpy.c: New file.
+
+Tue Jan 24 22:18:19 1995 Jim Meyering (meyering@comco.com)
+
+ * fmt.c (copy_rest): Replace `||' with `&&'. Before, a paragraph
+ not followed by a newline would be followed by data copied from
+ uninitialized storage. Repeat by `printf abc|fmt|od -ac'.
+ Reported by Franc,ois Pinard.
+
+ * od.c: Rename macros with FP_ prefix. Use FLOAT_ instead.
+ AIX-2.2.1 declares a typedef, FP_DOUBLE, that conflicted.
+ Be careful to use off_t instead of explicit `unsigned long'.
+ Otherwise, systems like 4.4BSD lose on calls to fseek that
+ expect off_t (which is long long on that system).
+ (parse_old_offset): Use xstrtoul
+ (main): Likewise.
+
+ * src/Makefile.in (od.o, tail.o): Depend on ../lib/strtol.h.
+
+Mon Dec 19 22:13:55 1994 Jim Meyering (meyering@comco.com)
+
+ * tail.c (numerous functions): Give char* filename arguments the
+ const attribute.
+
+ * lib/Makefile.in (SOURCES): Remove xwrite.c. It was no longer used.
+ Add xstrtol.c and xstrtoul.c.
+ (OBJECTS): Likewise for .o files.
+ (DISTFILES): Add error.h and xstrtol.h and xstrtoul.h.
+
+ * lib/Makefile.in (DISTFILES): Remove safe-xstat.cin.
+ (distclean): Remove references to safe-l?stat.c.
+ Remove all related rules and dependencies.
+
+ * src/Makefile.in: $(OBJECTS): Depend on ../lib/error.h.
+
+Thu Dec 15 23:14:04 1994 Jim Meyering (meyering@comco.com)
+
+ * tail.c (tail_file): Fix call to error with %s in format, but
+ no corresponding argument.
+
+ * src/*.c: Include "error.h" instead of simply declaring
+ `void error ();'.
+ * od.c (main): Use %lu, not %d for unsigned long.
+ (my_strtoul, uint_fatal_error): Remove functions. Use xstrtoul
+ and STRTOL_FATAL_ERROR instead.
+
+Sun Dec 11 17:24:09 1994 Jim Meyering (meyering@comco.com)
+
+ * sort.c (main): Fix interpretation of field offsets when specified
+ via -k option. They were being interpreted as zero-indexed. POSIX
+ says they are 1-based indices. From Rik Faith <faith@cs.unc.edu>.
+ (keycompare): Don't ignore characters at the end of words when
+ otherwise they would compare equal. From Rik Faith.
+
+ * tail.c (<most functions>): Change the type of n_units/n_lines/n_bytes
+ to off_t because n_bytes is used as the option to fseek and off_t may
+ be long long (e.g. on BSD4.4). The only place where a 32-bit limit is
+ imposed is in the string-to-integer converstion of xstrtol.
+ (main): Use xstrtol instead of manual string to integer conversion.
+
+ * csplit.c (get_format_width, get_format_prec): Use ISDIGIT instead of
+ comparisons against '0' and '9'.
+
+ * tr.c [!ULONGMAX]: Define it.
+ [!LONGMAX]: Define in terms of ULONGMAX instead of as a 32-bit constant.
+
+ * full-write.c: Declare (or not) errno based on definedness or
+ errno, not STDC_HEADERS.
+ * safe-read.c: Likewise.
+ * xwrite.c: Likewise.
+
+Thu Nov 17 06:37:33 1994 Jim Meyering (meyering@comco.com)
+
+ * tail.c (dump_remainder): Flush standard output just before
+ sleeping so that `tail -f' will output partial lines sooner.
+ This applies only when following the end of a single file.
+ From Leonard N. Zubkoff <lnz@dandelion.com>.
+
+ * tail.c (file_lines, pipe_lines, pipe_bytes, start_bytes,
+ start_lines, dump_remainder): Use STDOUT_FILENO instead of `1' in
+ XWRITE calls.
+ * tac.c (output): Use STDOUT_FILENO instead of `1' in xwrite call.
+ * system.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Define if
+ not already defined.
+
+Wed Nov 16 07:01:38 1994 Jim Meyering (meyering@comco.com)
+
+ * tr.c: Include <getopt.h> instead of "getopt.h".
+
+ * sort.c (tempname): Merge two very similar sprintf stmts into one.
+
+ * tail.c: Use BUFSIZ instead of BUFSIZE.
+
+ * cut.c: Declare DELIM to be `int' rather than unsigned char.
+
+ * fmt.c: Use index, not strchr -- per GNU Standards.
+ Reported by Kaveh Ghazi.
+ Always include <config.h>.
+ (main): Include program name in --version output.
+
+Sun Nov 06 00:17:21 1994 Jim Meyering (meyering@comco.com)
+
+ * Version 1.11.
+
+Sat Nov 05 15:14:44 1994 Jim Meyering (meyering@comco.com)
+
+ * memcmp.c, srtoul.c: Use up-to-date versions.
+ Reported by Franc,ois Pinard.
+
+ * src/Makefile.in (DEFS): Remove -Dlint... again.
+
+ * src/Makefile.in (PROGS): Add fmt!
+ Reported by Andreas Stolcke (stolcke@ICSI.Berkeley.EDU).
+
+Fri Nov 04 17:26:16 1994 Jim Meyering (meyering@comco.com)
+
+ * Version 1.10.
+
+Thu Nov 03 23:23:08 1994 Jim Meyering (meyering@comco.com)
+
+ * linebuffer.h: Use __P instead of _P since the latter conflicts
+ with a definition in some <ctype.h>. From Kaveh Ghazi.
+
+Wed Nov 02 17:36:34 1994 Jim Meyering (meyering@comco.com)
+
+ * tr.c: Add const attribute where appropriate.
+
+ * tail.c (BUFSIZ): Use definition from <stdio.h>.
+
+Tue Nov 01 23:54:09 1994 Jim Meyering (meyering@comco.com)
+
+ * tail.c (XWRITE): Allow n_bytes == 0 but call fwrite only if
+ n_bytes is positive. Turn off assertions. `tail /dev/null' was
+ getting a failed assertion. Reported by Doug McLaren
+ (dougmc@comco.com).
+
+ * cut.c (cut_bytes): Print at least a newline for every line of input.
+ (cut_fields): Print a newline even for lines whose only selected
+ field is empty. But print nothing when using -s without -f1.
+ And print nothing for empty input. Reported by
+ Richard_Sharman@software.mitel.com.
+
+Tue Nov 01 06:05:23 1994 Jim Meyering (meyering@comco.com)
+
+ * fmt.c: Change #ifdef __STDC__ to #if defined (__STDC__) && __STDC__.
+ * linebuffer.h: Likewise.
+
+Mon Oct 31 06:53:32 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_REPLACE_FUNCS): Remove memcmp since AC_FUNC_MEMCMP
+ already handles it. From Kaveh Ghazi.
+
+ * {lib,src}/Makefile.in (DEFS): Don't use -Dlint. Some systems
+ get failures when it's defined. From Kaveh Ghazi.
+
+ * cat.c (cat): Conditionalize test for errno == ENOSYS. It's not
+ defined on some Next and Alliant systems. From Kaveh Ghazi.
+
+ * sort.c join.c (main): Include version.h and call parse_long_options
+ with the proper number of arguments. Reported by Franc,ois Pinard.
+
+Sun Oct 30 01:30:41 1994 Jim Meyering (meyering@comco.com)
+
+ * (configure.in): Add AC_OFF_T and rearrange by type along the
+ same lines as autoscan.
+
+ * fmt.c, fmt.1: New files.
+ Both from Ross Paterson (rap@doc.ic.ac.uk).
+
+ * Makefile.in (PROGS): Add fmt.
+ * src/Makefile.in (SOURCES, OBJECTS): Add fmt.c and fmt.o respectively.
+ (fmt): Add a link rule.
+ * man/Makefile.in (MANFILES): Add fmt.1.
+
+Sat Oct 08 10:44:30 1994 Jim Meyering (meyering@comco.com)
+
+ * 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.
+
+Tue Oct 04 20:42:46 1994 Jim Meyering (meyering@comco.com)
+
+ * od.c (my_strtoul): Set errno to zero before calling strtoul.
+ Otherwise, od can fail complaining about a valid integer argument.
+ From Andreas Schwab.
+
+Sun Oct 02 17:57:09 1994 Jim Meyering (meyering@comco.com)
+
+ * tr.c (main): Give an error and fail when squeezing repeats
+ and no non-options are given. Reported by Tony Robinson
+ (ajr@eng.cam.ac.uk).
+
+ * sort.c (main): Temporarily copy each input file that might be
+ another name for the output file. When in doubt (e.g. a pipe),
+ copy. This allows the dangerous (historical -- in cnews) idiom
+ `cat file | sort -o file' to work properly. Don't rely on this
+ behavior in new shell scripts. From Paul Eggert (eggert@twinsun.com).
+
+Mon Sep 26 18:01:47 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * lib/xwrite.c safe-read.c memchr.c linebuffer.c full-write.c:
+ Remove CONFIG_BROKETS ifdef.
+ * src/Makefile.in lib/Makefile.in: Don't define it.
+
+Sat Sep 24 21:26:27 1994 Jim Meyering (meyering@comco.com)
+
+ * full-write.c (full_write): Declare argument LEN to be size_t.
+
+Mon Sep 12 13:35:27 1994 Jim Meyering (meyering@comco.com)
+
+ * tail.c (tail_file): [For multiple files only]: Report truncation
+ of monitored file and reset current file size. From Franc,ois Pinard.
+
+Sat Aug 27 16:57:20 1994 Jim Meyering (meyering@comco.com)
+
+ * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's.
+ From Franc,ois Pinard.
+
+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.
+
+Wed Jul 13 12:33:34 1994 Jim Meyering (meyering@comco.com)
+
+ * tr.c (substr): Fix off-by-one allocation error.
+
+Wed Jun 22 01:02:50 1994 Jim Meyering (meyering@comco.com)
+
+ * tac.c (tac_file): Use O_RDONLY instead of zero in call to open.
+ (tac): Fix typo that had `1' as arg #2 of error after failed read.
+ Use errno instead. From Michael I Bushnell <mib@gnu.ai.mit.edu>.
+
+Thu May 26 08:46:32 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in [INSTALL]: Revert change of March 25. autoconf
+ has been fixed.
+
+Mon Apr 11 17:25:43 1994 Jim Meyering (meyering@comco.com)
+
+ * join.c (prline): Remove unused function. Indent.
+
+Fri May 6 05:44:24 1994 Jim Meyering (meyering@comco.com)
+
+ * tail.c (tail_forever): Don't print headers when asked not to.
+ From Karsten Thygesen <karthy@kom.auc.dk>.
+
+ * wc.c (wc): Optimize for the case when only bytes are being counted
+ and the input is not a regular file. From Jeff Moore <jbm@mordor.com>.
+
+Sun Apr 24 10:54:08 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in [AC_SIZEOF_TYPE]: Update for autoconf-1.9.
+ * memchr.c: Test SIZEOF_LONG instead of LONG_64_BITS.
+
+Mon Apr 11 17:55:52 1994 Jim Meyering (meyering@comco.com)
+
+ * csplit.c (struct control): Add new field, repeat_forever.
+ Remove now-unneeded definition of INT_MAX.
+ (process_regexp): Test repeat_forever instead of comparing `repeat'
+ to INT_MAX.
+ (split_file): Don't even reference `repeat' count if repeat_forever
+ is set.
+ (new_control_record): Initialize repeat_forever field.
+ (parse_repeat_count): Set it instead of setting repeat count to
+ INT_MAX.
+ (process_line_count): Abort for internal error instead of calling
+ handle_line_error.
+
+ * long-options.c (parse_long_options): Take a new argument indicating
+ the utility name (e.g. "join", not "gjoin") for version output.
+ Print both the utility and the package names, e.g. `join - GNU
+ textutils-1.9.1' instead of just the package name.
+
+ * join.c (main): Call parse_long_options with program name arg.
+ * sort.c (main): Ditto.
+
+ * All source except sort.c and join.c (main): Change --version output
+ to include utility name as well as package name and version info.
+
+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 28 09:55:05 1994 Jim Meyering (meyering@comco.com)
+
+ * tr.c (main): In addition to the --help usage pointer, give an
+ explicit error message for too many arguments.
+
+Fri Mar 25 18:11:19 1994 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Use AC_VERBOSE, AC_CHECKING, and AC_WARN instead
+ of explicit echo commands.
+ [INSTALL]: When AC_PROG_INSTALL resorts to setting this to
+ `./install.sh', make it `../install.sh' instead since that
+ script will be invoked only from subdirectories.
+ [AC_SIZEOF_TYPE]: Use this instead of deprecated AC_LONG_64_BITS.
+
+ * cat.c (cat): The command `:|cat -s' failed on Irix5 because
+ ioctl (d, FIONREAD,... now returns ENOSYS for pipes -- under Irix4
+ it returned EINVAL. Detect this.
+ (main) [lint]: Initialize variables to suppress `used before
+ initialized' warnings.
+
+ * csplit.c: Change long option name from --suffix to --suffix-format.
+
+ * od.c (skip): Correct a comment.
+ (main): Don't output anything to stdout if the sole input file
+ doesn't exist. Reported by Bauke Jan Douma <bjd@dds.hacktic.nl>.
+
+ * od.c (dump) [lint]: Initialize a variable to suppress `used before
+ initialized' warning.
+ (main) [lint]: Ditto.
+ * paste.c (paste_parallel) [lint]: Ditto.
+
+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.
+
+Wed Jan 18 16:14:00 1994 Jim Meyering (meyering@comco.com)
+
+ * unexpand.c (unexpand): Don't segfault when given a name of a
+ nonexistent file.
+ * expand.c (expand): Ditto.
+ Both from Bauke Jan Douma <bjd@dds.hacktic.nl>.
+
+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).
+
+ * csplit.c (load_buffer): Rather than incrementing buffer size,
+ double it each time we fail to find a newline. Otherwise, csplit
+ would run out of memory when processing files with very long lines.
+
+Mon Jan 10 01:20:38 1994 Jim Meyering (meyering@comco.com)
+
+ * man/Makefile.in (manprefix): Use binprefix as the default.
+
+Sat Jan 08 22:22:45 1994 Jim Meyering (meyering@comco.com)
+
+ * cat.c: Use full_write and safe_read instead of write and read resp.
+ * csplit.c: Ditto.
+ * head.c: Ditto.
+ * split.c: Ditto.
+ * tac.c: Ditto.
+
+ * sum.c: Use safe_read instead of read.
+ * tr.c: Ditto.
+ * wc.c: Ditto.
+
+ * tail.c: Replace calls to xwrite with calls to fwrite.
+ Use fopen/fclose instead of open/close.
+ (write_header): Use a single call to printf instead of four to xwrite.
+ Use safe_read instead of read.
+ * head.c: Ditto.
+
+Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com)
+
+ * install.sh: New file.
+ Makefile.in [DISTFILES]: Add it.
+
+Wed Dec 22 18:52:44 1993 Jim Meyering (meyering@comco.com)
+
+ * memcmp.c: Use the latest version from the GNU C library.
+
+ * cut.c [ADD_RANGE_PAIR]: New macro.
+ (set_fields): Collect the list of all selected ranges before
+ allocating and initializing the boolean lookup table.
+ (cut_bytes, cut_fields): Complete rewrite. Avoid copying
+ into buffer whenever possible. Properly handle input without
+ trailing newline.
+ (getstr): New function. Copied from getline.c, but with minor changes.
+
+ * sort.c (main): Properly handle -Tdir.
+ Before, `sort -T/var/tmp' gave `sort: unrecognized option `-v''.
+ Reported by Kristoffer Rose (kris@diku.dk).
+
+ * cut.c (main): Give separate errors for `-s without -f'
+ and `-d without -f'.
+ (main): Now -d '' means `use the NUL byte as the delimiter'.
+ Before, it got an error.
+
+Mon Dec 20 23:29:30 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in [test for 8-bit clean memcmp]: Add a test to detect
+ losing memcmp from SunOS4.1.x. From Robert H. de Vries
+ <robert@and.nl>.
+
+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 Dec 02 23:53:03 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in (AC_HAVE_FUNCS): Add isascii.
+ * system.h [!defined (isascii) || defined (STDC_HEADERS)]: This failed
+ on AIX PS/2 1.3 systems because isascii is a function and it is used
+ in definitions (with the necessary side effect of assigning to a
+ global variable) of the is* macros. Also test HAVE_ISASCII and
+ redefine ISASCII(c) instead of isascii.
+ Reported by Minh Tran-Le (tranle@intellicorp.com).
+
+Fri Nov 19 22:41:48 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Don't run the test for 8-bit clean memcmp if we
+ already know we'll be using our replacement.
+
+Fri Nov 12 00:44:49 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.9.1.
+
+ * tac.c (usage): Fix typo in long usage.
+ * sort.c (usage): Likewise.
+ From Philippe.Schnoebelen@imag.fr.
+
+ * cut.c [FATAL_ERROR]: New macro.
+ (main): Call both error and usage (2) through FATAL_ERROR in
+ many places. Before, only `error (2...' was called.
+ (invalid_list): Removed. This function is subsumed by FATAL_ERROR.
+
+ * cut.c (cut_fields): Properly handle input lacking a terminating
+ newline. Before, the command `printf "a\tb" |cut -f 1' generated
+ no output.
+
+Tue Nov 09 17:26:25 1993 Jim Meyering (meyering@comco.com)
+
+ od.c (usage): Change --backward-compatible to --traditional in
+ the long usage message.
+
+Sun Nov 07 00:50:05 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.9.
+
+Sat Nov 06 22:51:31 1993 Jim Meyering (meyering@comco.com)
+
+ * cut.c (cut_fields): Revert July 27 change. Instead, strip off
+ trailing delimiter unless given a range of fields like `3-' that
+ extends to end of line.
+ (set_fields): Moved local `eol_range_start' to file-scope.
+ Reported by Arne H. Juul (arnej@solan.unit.no).
+
+Tue Nov 02 00:53:41 1993 Jim Meyering (meyering@comco.com)
+
+ * fold.c (fold_file): Don't get stuck in an endless loop when
+ width is smaller than 8 and there are TABs in the input.
+
+Sat Oct 30 15:31:28 1993 Jim Meyering (meyering@comco.com)
+
+ * join.c: Remove now-unused dcls of show_help and show_version.
+
+Fri Oct 29 13:58:50 1993 Jim Meyering (meyering@comco.com)
+
+ * csplit.c [INT_MAX]: Make sure it's defined.
+ [not HAVE_LIMITS_H]: Don't include limits.h.
+ From Kaveh R. Ghazi (ghazi@noc.rutgers.edu).
+
+Wed Oct 27 01:13:52 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.8.1.
+
+Mon Oct 25 20:16:33 1993 Jim Meyering (meyering@comco.com)
+
+ * sort.c: Accept but ignore -y0 for compatibility with Solaris 2.
+ From Chuck Hedrick (hedrick@klinzhai.rutgers.edu).
+
+ * sort.c (main): Handle --help and --version options.
+ * Makefile.in (sort.o): Depend on long-options.h.
+
+Sun Oct 24 00:31:02 1993 Jim Meyering (meyering@comco.com)
+
+ * csplit.c, cut.c, expand.c, fold.c, head.c, nl.c, od.c, paste.c,
+ split.c, tac.c, tail.c, unexpand.c, uniq.c: Use the preferred
+ `--longopt=arg' syntax in --help message rather than `--longopt arg'.
+ From Francois Pinard.
+
+ * tail.c: Don't include <signal.h>. It hasn't been necessary
+ since the Dec 12, 1992 change.
+
+ * join.c (main): Accept `-v 1' again. Adding the --version
+ long option had broken it, although -v1 still worked. Call
+ parse_long_options instead of adding "help" and "version"
+ to join's longopt strct.
+ * Makefile.in [SOURCES, OBJECTS, DISTFILES]: Add long-options.c
+ and long-options.h.
+ * (join): Depend on and link with long-options.o.
+ * (join.o): Depend on long-options.h.
+
+ * od.c: Change --compatible (-C) to --backward-compatible (-B).
+
+ * csplit.c: Change --abandon-null-files to --elide-empty-files.
+
+Sat Oct 23 01:00:12 1993 Jim Meyering (meyering@comco.com)
+
+ * tr.c (get_next, string2_extend): Add default: label to switch stmt.
+
+ * cat.c, cksum.c, comm.c, csplit.c, cut.c, expand.c, fold.c, head.c,
+ join.c, nl.c, od.c, paste.c, pr.c, split.c, sum.c, tac.c, tail.c,
+ tr.c, unexpand.c, uniq.c, wc.c (usage): Add long --help.
+ Exit successfully for --help, non-zero for usage error.
+ From Francois Pinard.
+
+ * configure.in: Add AC_STAT_MACROS_BROKEN.
+ * system.h [AC_STAT_MACROS_BROKEN]: Test it.
+
+Fri Oct 22 23:26:17 1993 Jim Meyering (meyering@comco.com)
+
+ * linebuffer.c, memchr.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include
+ <config.h> or "config.h".
+ * cat.c, cksum.c, comm.c, csplit.c, cut.c, expand.c, fold.c, head.c,
+ join.c, nl.c, od.c, paste.c, pr.c, sort.c, split.c, sum.c, tac.c,
+ tail.c, tr.c, unexpand.c, uniq.c, version.c, wc.c: Ditto.
+
+ * configure.in: Use AC_CONFIG_HEADER.
+ * Makefile.in [DIST]: Add config.h.in.
+
+ * Makefile.in: Convert so make may be run from subdirectories.
+ Add dependencies on config.h.
+ * src/Makefile.in: Ditto.
+ * lib/Makefile.in: Ditto.
+ * man/Makefile.in: Ditto.
+
+Wed Oct 20 20:05:48 1993 Jim Meyering (meyering@comco.com)
+
+ * memchr.c (memchr): Do the 32-bit assignment only if !LONG_64_BITS.
+ In the 64-bit assignment, be careful to cast the shift operand to
+ long.
+ Abort if sizeof (unsigned long) > 8.
+
+Tue Oct 19 22:37:58 1993 Jim Meyering (meyering@comco.com)
+
+ * csplit.c: Allow repeat counts to be specified via `{*}'.
+ New option --suffix=format. Supercedes --digits option.
+ New option --abandon-null-files.
+ From Ronald F. Guilmette (rfg@netcom.com).
+
+ * csplit.1: Updated.
+ From Ronald F. Guilmette.
+
+ * csplit.c: Remove register keyword (replace with `int' in two cases).
+
+ * csplit.c: [MAX]: Macro renamed from max and moved to top of file.
+ (bytes_to_octal_digits): New static array.
+ (get_format_flags): Combine '+' and ' ' cases of switch stmt.
+ Return count if for loop terminates.
+ (get_format_width): Use `bytes_to_octal_digits' instead of just 11.
+ (get_format_prec): Make sure is_negative is defined before used.
+ (get_format_conv_type): Give a different error message if there
+ is no conversion specifier.
+ Test ISPRINT (ch) instead of `ch < '~' && ch > ' ''.
+ (max_out): Use `%%' rather than `%' in format string.
+
+Sat Oct 16 10:45:17 1993 Jim Meyering (meyering@comco.com)
+
+ * pr.c (main): When argc == 1, don't try to xmalloc (0).
+
+Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com)
+
+ * xwrite.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
+ or "config.h".
+
+Sat Oct 09 23:37:43 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS.
+
+Thu Sep 9 21:52:10 1993 Jim Meyering (meyering@comco.com)
+
+ * src/*.c: Print version on standard output, not stderr.
+
+ * configure.in: Add AC_LONG_64_BITS.
+ * memchr.c: Use #ifdef LONG_64_BITS instead of
+ `if (sizeof(longword) > 4)'.
+
+Tue Jul 27 22:19:39 1993 Jim Meyering (meyering@comco.com)
+
+ * cat.c (cat): Don't fail just because ioctl (d, FIONREAD,... can't
+ always handle devices. Ignore errno == EINVAL and errno == ENODEV.
+ `cat -v /dev/null' was failing on many systems.
+
+ * cut.c (cut_fields): Don't strip off trailing delimiter e.g.
+ `echo 'a:b:c:' | cut -d: -f3-' should print `c:', not just `c'.
+ From William Dowling <will@franklin.com>.
+
+Thu May 27 01:37:51 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.8.
+
+ * memchr.c: De-ansify the fixed version from glibc.
+ It is supposed to work on systems with 64-bit long ints.
+
+Mon May 24 00:32:43 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.7.
+
+Sat May 22 02:13:12 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.6.
+
+Fri May 21 22:57:53 1993 Jim Meyering (meyering@comco.com)
+
+ * pr.c (cols_ready_to_print): New function. It replaces a global
+ variable by the same name and computes on the fly the value that
+ was supposed to be maintained through that variable. This should
+ put to rest the `pr -2a' bug.
+ (main): Don't let getopt_long reorder arguments so we can
+ distinguish between `pr -1 -2' and `pr -12'. Rework handling of
+ -n and +n options.
+
+ * fold.c: Declare xmalloc.
+
+Wed May 19 19:12:18 1993 Karl Berry (karl@owl.hq.ileaf.com)
+
+ * sort.c (main): fflush before exit, so a closed stdout doesn't lose.
+
+Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com)
+
+ * mkinstalldirs: New file.
+ * Makefile.in (installdirs): Use it to create installation directories.
+
+Fri May 14 23:45:52 1993 Jim Meyering (meyering@comco.com)
+
+ * all source: With --version, print version and exit immediately.
+
+Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com)
+
+ * Makefile.in (installdirs): New rules for creating installation
+ directories. (install): depend on it.
+
+ * tail.c (main): Remove --compatible since `+1f' may be used
+ to get the BSD `-0f' behavior portably.
+
+ * fold.c (main): Turn -N arguments, where N is a digit, into -wN.
+ From Ian Lance Taylor (ian@cygnus.com).
+
+Mon May 10 22:33:44 1993 Jim Meyering (meyering@comco.com)
+
+ * tail.c (main): New option -C, --compatible to make `tail -0f'
+ work like `tail +1f' for compatibility with BSD tail.
+
+Thu May 6 23:28:56 1993 Jim Meyering (meyering@comco.com)
+
+ * pr.c (print_page): Decrement cols_ready_to_print even when
+ lines_to_print == 0. The command `echo |pr -2ta' *still* didn't
+ terminate. Add parentheses for clarity.
+
+Mon May 3 23:57:47 1993 Jim Meyering (meyering@comco.com)
+
+ * Version 1.5.
+
+ * od.c (main): Remove set-but-not-used variable, `usage_error'.
+
+ * split.c (main): Call usage with an argument.
+
+Sun May 2 16:05:04 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in: Reverse if-else branches in AC_TEST_PROGRAM test
+ for 8-bit clean memcmp.
+
+ * cat.c (usage, main): Remove unused argument.
+
+ * csplit.c (remove_line): Remove set-but-not-used variable, `line_got.'
+ (check_for_offset): Remove unused argument `argnum.'
+
+ * configure.in: Add AC_SIZE_T.
+
+Sat May 1 09:03:19 1993 Jim Meyering (meyering@comco.com)
+
+ * uniq.c (main): Interpret non-option arguments with a leading `+'
+ only if we haven't seen `--'.
+
+ * tr.c (main): Change variable name to avoid shadowed dcl.
+ * wc.c (write_counts): Ditto.
+
+ * sum.1: Make documentation agree with the code.
+
+ * od.c: Depend only on HAVE_LONG_DOUBLE for long double support.
+
+Fri Apr 30 20:16:03 1993 Jim Meyering (meyering@comco.com)
+
+ * configure.in [AC_HAVE_HEADERS]: Add limits.h.
+
+ * configure.in [CFLAGS, LDFLAGS]: Assign reasonable defaults.
+
+ * od.c (parse_old_offset): Don't use prototype in function
+ definition. Remove unnecessary conjunct from test for hexadecimal
+ prefix.
+
+ * od.c: Depend on __GNUC__ || HAVE_LONG_DOUBLE rather than __STDC__
+ for long double support; there are compilers (Stardent Vistra svr4)
+ without long double but still define __STDC__.
+
+Thu Apr 29 02:01:27 1993 Jim Meyering (meyering@comco.com)
+
+ * src/*.c and man/*.c except for sort: Add --help and --version
+ options.
+
+ * pr.c: Convert to use getopt_long.
+
+ * lib/memcmp.c: Use version from glibc.
+ [WORDS_BIGENDIAN]: Test this instead of the using glibc's
+ __BYTE_ORDER macro.
+ * configure.in: Use AC_WORDS_BIGENDIAN to set it.
+
+ * od.c (parse_old_offset): Allow `0X' as well as `0x' prefix to
+ indicate hex.
+
+ * Makefile.in (dist): Depend on Makefile so that changes to
+ Makefile.in (like adding new files to DISTRIB) are reflected
+ in the new distribution.
+
+Fri Apr 23 21:53:47 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.
+ * src/Makefile.in [.c.o]: Add -I$(srcdir) for version.h.
+
+ * Makefile.in [CFLAGS, LDFLAGS]: Don't set to -g explicitely;
+ configure's AC_SUBST will set these.
+
+ * 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.
+
+ * Makefile.in [info, install-info, dvi, check, installcheck]:
+ New targets but no rules; comply with standards.
+
+ * configure.in [CFLAGS]: Default to -g -O if CC is gcc and the user
+ hasn't specified CFLAGS.
+ [LDFLAGS]: Substitute into Makefile.
+
+Tue Mar 30 21:36:11 1993 Jim Meyering (meyering@comco.com)
+
+ * od.c: New option --compatible, -C.
+ (parse_old_offset): New function.
+ * od.1: Document new option.
+
+Mon Mar 29 21:27:56 1993 Jim Meyering (meyering@comco.com)
+
+ * cut.c, expand.c, join.c, nl.c: Always call error with errno
+ (not zero) after failed fclose or non-zero ferror.
+
+Sun Mar 28 16:59:31 1993 Mike Haertel (mike@cs.uoregon.edu)
+
+ * configure.in: Add check for working memcmp; use GNU's if
+ the system's doesn't grok the 8th bit.
+ * memcmp.c: Fix it so it groks the 8th bit.
+ TODO: We really need to provide a fast memcmp, since most
+ machines will have a broken memcmp. Probably should get
+ the one from glibc.
+ * sort.c (mergefps): Maintain keybeg and keylim when copying
+ the current line to `saved'.
+ (numcompare): Skip white space here since -n no longer implies -b.
+ (getmonth): Skip white space here since -M no longer implies -b.
+ (compare): Completely overhauled to make the 8th bit work right,
+ also to properly handle the global reverse option.
+ (set_ordering): -n no longer implies -b, according to Posix.
+ For consistency, -M also no longer implies -b.
+ (main): Correct treatment of -r and global keys.
+ (findlines): Clear keybeg and keylim if no keys are used.
+ (sort): Avoid overwriting tempfiles[] array bounds.
+
+Sun Mar 21 22:29:29 1993 Jim Meyering (meyering@comco.com)
+
+ * pr.c (close_file): Reverse May 13, '92 change, but add the condition
+ that cols_ready_to_print not be decremented when printing across.
+ The command `echo |pr -2ta' didn't terminate.
+ (print_page): Rewrite conditional (that had side effects in second
+ conjunct) using nested if statements to make it clear that we do
+ indeed want those semantics.
+
+Tue Jan 19 13:35:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
+
+ * Version 1.4.
+
+ * system.h: Try BBSIZE if BSIZE isn't defined.
+ From Tony Robinson <ajr@eng.cam.ac.uk>.
+
+Sat Dec 12 12:37:00 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
+
+ * tail.c (tail_forever): Use an array of file descriptors
+ instead of forking processes.
+ (dump_remainder): Return number of bytes read.
+ (tail_file): Fill in the new array.
+ From Ian Lance Taylor.
+
+Fri Dec 11 17:18:16 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
+
+ * system.h: Only define index, bcmp, etc. if not already defined.
+
+Tue Dec 8 10:31:14 1992 Jim Meyering (meyering@idefix.comco.com)
+
+ * tr.c (is_char_class_member): Remove unreached return after abort.
+
+Sun Dec 6 22:34:52 1992 Jim Meyering (meyering@idefix.comco.com)
+
+ * csplit, cut.c, expand.c, fold.c, head.c, join.c, od.c, pr.c,
+ sort.c, split.c, tail.c, tr.c, unexpand.c, uniq.c: Remove inclusion
+ of <ctype.h> and definitions of is* ctype macros to system.h.
+ Change a few more uses of is* ctype macros to (protected) upper
+ case versions.
+
+ * system.h: Add isascii-protected ctype IS* macros.
+
+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 Dec 01 10:57:24 1992 Jim Meyering (meyering@idefix.comco.com)
+
+ * od.c, pr.c, sort.c: Make uses of ctype.h macros consistent.
+
+ * tr.c (main): Close stdin and stdout and check return status.
+
+Tue Nov 24 09:26:08 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * system.h, csplit.c: Use HAVE_FCNTL_H and HAVE_STRING_H
+ instead of USG.
+
+Tue Nov 24 08:42:30 1992 Jim Meyering (meyering@idefix.comco.com)
+
+ * tr.c: Define new macros ISPRINT, ISALNUM, ISXDIGIT, ... that
+ use isascii if it is defined.
+ (is_char_class_member, make_printable_char, make_printable_str,
+ non_neg_strtol): Use new macros instead of lower case ones
+ from <ctype.h>.
+
+ * od.c (print_ascii, dump_strings): Use ISDIGIT and ISPRINT
+ macros like pr.c. Suggested by David J. MacKenzie.
+
+ * od.c (print_ascii, dump_strings): Check for isascii before isprint.
+ (dump_strings): Free malloc'd buffer before returning.
+ (skip): Return non-zero if an error occurred, zero otherwise.
+ Exit only if asked to skip beyond end of combined input.
+ (check_and_close): New function.
+ (skip, read_block, read_char): Call check_and_close when done
+ processing the file associated with in_stream.
+ (skip, read_block, read_char): Set have_read_stdin.
+ (main): Close stdin (if it was ever read) and check for errors
+ just before exiting.
+ (write_block, dump_strings, dump): Don't test return value from
+ functions that operate on streams. Rely on later ferror tests.
+
+Sat Nov 21 12:41:49 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * sort.c (main, usage): Add -T option.
+
+Thu Nov 19 14:33:40 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * tail.c (tail_forever, sigusr1, kill_kids): New functions to
+ do -f on multiple files.
+ (main): Call tail_forever.
+ From Ian Lance Taylor.
+
+Tue Nov 10 14:29:11 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * cut.c (cut_fields): Add cast.
+
+ * od.c (decode_one_format): Remove '#' from pre_fmt_string;
+ many systems don't support it.
+ Conditionalize long double support on __STDC__, not __GNUC__.
+ From Ian Lance Taylor.
+
+Mon Nov 9 00:24:41 1992 Jim Meyering (meyering@idefix.comco.com)
+
+ * sort.c (numcompare, keycompare): Add parentheses suggested
+ by gcc -Wall. Put braces around individual monthtab initializers.
+
+ * cksum.c: Declare error. Make checksum table `const.'
+
+ * pr.c: Remove comment and dcl of unused variable, `print_a_number'.
+
+ * split.c (main): Add `default: abort();' to enumeration switch.
+
+ * All files: Make all functions and extern variables static.
+ Make all longopts arrays const as well as static.
+ Make a couple statically initialized aggregates `const.'
+
+Sun Nov 8 19:46:59 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * od.c (main): Make old-style format options accumulate.
+ From Jim Meyering.
+
+Sat Nov 7 00:26:14 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * tr.c (look_up_char_class): Add cast.
+
+ * nl.c (build_type_arg), csplit.c (extract_regexp), tac.c (main):
+ Add `const' to variable receiving value from re_compile_pattern.
+
+ * wc.c (wc): If doing only -c, use st_size for regular files.
+
+ * fold.c (fold_file): Was folding 1 column too early.
+ From Eric Backus <ericb@lsid.hp.com>.
+
+ * memset.c: New file.
+
+Fri Nov 6 20:14:51 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * cksum.c: New file.
+
+Tue Oct 13 16:24:06 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * tac.c (tac_stdin): Handle SIGPIPE.
+ * sort.c (main): Handle SIGTERM.
+
+ * od.c: New file.
+
+ * system.h [USG || STDC_HEADERS]: Define bcmp.
+
+Sat Oct 3 20:41:24 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * sort.c (main): Handle SIGPIPE. From trq@dionysos.thphys.ox.ac.uk.
+
+Tue Sep 29 01:10:05 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * paste.c (main): Don't write on a string constant.
+
+Mon Aug 24 00:02:45 1992 Jim Meyering (meyering@churchy.gnu.ai.mit.edu)
+
+ * tr.c: Minor cleanup. Replaced some assert(0) with abort().
+
+Tue Jul 7 02:14:19 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * cmp.c, cmp.1: Move to diff distribution.
+
+Fri Jul 3 16:37:59 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * system.h: Change FOO_MISSING to HAVE_FOO.
+
+Wed May 13 20:05:41 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * pr.c (COLUMN): Add structure member to remember filename.
+ (main, init_fps, open_file, close_file): Use it.
+
+ (close_file): Don't decrement cols_ready_to_print when closing
+ a file. From cdl@mpl.UCSD.EDU (Carl Lowenstein).
+
+Mon May 11 19:17:33 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * cmp.c: --show-chars -> --print-chars.
+
+ * pr.c: Rename some variables.
+
+Sat May 9 18:39:47 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * system.h: Define DEV_BSIZE if not defined.
+
+Wed Apr 22 02:15:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
+
+ * system.h, tac.c: SIGTYPE -> RETSIGTYPE.
+
+Fri Apr 17 10:42:23 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * sort.c (main): Don't stop processing args when we hit "-";
+ treat it like a regular filename.
+ From ian@airs.com (Ian Lance Taylor).
+
+ * pr.c (print_page): Fix off by one line count when ^L is in input.
+ From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de).
+
+Mon Apr 6 20:52:29 1992 Jim Meyering (meyering@churchy.gnu.ai.mit.edu)
+
+ * tr.c (validate): Change error message so it doesn't mention
+ actual name of --truncate-set1 option. From David MacKenzie.
+
+Sun Apr 5 14:22:42 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu)
+
+ * tr.c (string2_extend, validate): Give an error message when
+ translating without --truncate-set1, with empty string2, and
+ with non-empty string1. "tr 1 ''" produced a failed assertion.
+
+Mon Mar 30 02:20:56 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * system.h: Change how ST_BLKSIZE is calculated to allow for
+ non-POSIX systems that don't define BSIZE in sys/param.h.
+
+Sat Mar 28 11:18:01 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * sum.c (main, bsd_sum_file): Don't print filename if BSD
+ algorithm is used and only one file was given.
+
+Wed Mar 25 11:34:41 1992 Jim Meyering (meyering@wombat.gnu.ai.mit.edu)
+
+ * tr.c (get_spec_stats): Fix assertion to allow ranges like a-a
+ with starting character equal to ending character. This is
+ contrary to the POSIX spec, but what is already implemented
+ in find_closing_delim.
+
+Mon Mar 16 00:15:11 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * Version 1.3.
+
+ * sort.c (numcompare, checkfp): Add parens to placate gcc2.
+
+ * sort.c (mergefps): For -u, output the first, not last, of
+ the lines that compare equal. From Mike Haertel.
+
+Tue Mar 10 10:51:38 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * tr.c: Remove initial capitals and periods from error messages.
+
+Sun Mar 8 22:03:45 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
+
+ * sum.c (main): Add -r option for SYSV compat.
+
+Thu Feb 27 22:26:25 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * sort.c (compare): If -s given, leave lines in their original order.
+ (main): Recognize -s.
+ (usage): Document -s.
+ From Mike Haertel.
+
+Tue Feb 18 20:29:45 1992 Randall Smith (randy at geech.gnu.ai.mit.edu)
+
+ * sort.c (sort): Check for complete parsing of buffer into
+ lines before nixing temp files.
+
+Mon Feb 17 10:35:58 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * sum.c (sysv_sum_file): Use %lu instead of %u to print a
+ long. Not that it matters for GNU . . .
+
+ * tr.c (unquote, make_printable_str): Use \007 instead of ANSI \a.
+ (append_normal_char, append_range, append_char_class,
+ append_repeated_char, append_equiv_class, spec_init):
+ Initialize `next' field of new `struct List_element'.
+ From rommel@informatik.tu-muenchen.de (Kai-Uwe Rommel).
+
+Sat Feb 8 17:16:49 1992 David J. MacKenzie (djm at apple-gunkies.gnu.ai.mit.edu)
+
+ * join.c (get_line): Renamed from getline to avoid GNU libc conflict.
+
+Sun Feb 2 21:22:01 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * Version 1.2.
+
+ * nl.c: Support multiple files and "-" for stdin.
+ (main): Check for read and write errors.
+ (nl_file): New function.
+
+Wed Jan 29 10:09:10 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tr.c (main): -t option was called -b in getopt spec.
+ (validate): Don't warn that set1 is longer than set2.
+
+ * tr.c: Rename --sysv-string2-truncate to --truncate-string1.
+
+Fri Jan 17 16:29:05 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * nl.c: New program from bin-src.
+
+ * nl.c (main): Use a struct linebuffer for line_buf.
+ (process_file): Use readline instead of fgets, to preserve NULs.
+ (check_section): Use memcmp instead of strncmp.
+ (proc_text): Print line_buf with fwrite instead of printf.
+
+ * nl.c (main): Usage message if too many args given. Check
+ for error in closing input file. Lengths of section delimiter
+ strings were 1 too large. Take separator_str into account in
+ length of print_no_line_fmt.
+ (build_print_fmt): Allocate space for print_fmt, in case
+ separator_str is long.
+ (proc_text): A blank line is one that contains nothing, not
+ even nonprinting characters.
+
+Fri Jan 17 01:04:22 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * All programs: Document `--' instead of `+' to introduce
+ long-named options, in usage messages.
+
+ * sum.c (bsd_sum_file): Renamed from sum_file.
+ (sysv_sum_file): New function.
+ (main): Recognize an option to select between the algorithms.
+
+Sun Jan 5 17:41:18 1992 Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
+
+ * pr.c (close_file, print_page): Fixed bug that had the command
+ yes |head |pr -t printing "yyyyyyyyyy".
+ * (print_page): Fixed bug that had pr -3 -a printing two too few
+ trailer lines per page.
+ * (main): Added restriction that -a and -m are incompatible.
+ Although the POSIX spec doesn't explicitly say they shouldn't
+ be used together, it says -a modifies the -column option and
+ that -column shouldn't be used with -m.
+
+Thu Jan 2 15:23:59 1992 David J. MacKenzie (djm at albert.gnu.ai.mit.edu)
+
+ * nl.c: Include regex.h after, not before, sys/types.h.
+
+Thu Jan 2 12:18:10 1992 Tom Lord (lord at geech.gnu.ai.mit.edu)
+
+ * sort.c (fillbuf) return bytes buffered instead of bytes read.
+
+Fri Dec 27 22:53:36 1991 Jim Kingdon (kingdon at geech.gnu.ai.mit.edu)
+
+ * sort.c (LINEALLOC): New #define.
+ (struct lines): New field ``limit''.
+ (initlines): Set it from new arg ``limit''.
+ (sort, mergefps, checkfp): Pass new arg to initlines().
+ (findlines): Don't realloc past lines->limit.
+
+Tue Dec 24 01:24:03 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tac.c, sort.c, csplit.c, system.h: Change POSIX ifdefs to
+ HAVE_UNISTD_H and _POSIX_VERSION.
+
+ * xwrite.c: Change POSIX ifdef to HAVE_UNISTD_H.
+
+Sat 14 Dec 1991 11:46:42 Jim Meyering (meyering at wombat)
+
+ * tr.c: Fixed an inaccurate comment on posix_pedantic.
+
+Thu 12 Dec 1991 21:15:20 Jim Meyering (meyering at hal)
+
+ * tr.c: Changed underscores to hyphens in long option name
+ "sysv_string2_truncate".
+
+Wed Dec 11 13:33:34 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tac.c (main): Set obscure_syntax to tell re_search to
+ allocate memory for the group registers.
+
+Fri Dec 6 18:26:27 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tac.c, sort.c, csplit.c [POSIX]: Use sigaction instead of
+ signal, which POSIX doesn't have.
+ * sort.c: Replace inthandler and huphandler with sighandler.
+ * csplit.c (main): Only handle signals if they were not being
+ ignored.
+
+ * tr.c: POSIX_ME_HARDER -> POSIXLY_CORRECT.
+
+Wed Dec 4 00:47:47 1991 Jim Meyering (meyering at wombat)
+
+ * tr.c (unquote): Reformat code so it doesn't go beyond column 80.
+ * tr.c (squeeze_filter): Comment a little on why it's better
+ to step through the input by two.
+ * tr.c (set_initialize): Write a comment describing the function.
+ * tr.c: Eliminated the variable `portability_warnings' and replaced
+ references to it by references to `!posix_pedantic'. One of the
+ uses of portability_warnings had been wrong.
+
+Tue Dec 3 14:03:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * tr.c: New program.
+
+Sun Dec 1 15:07:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * linebuffer.[ch] (freebuffer): New function (used by cron).
+
+Thu Oct 17 22:30:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * system.h, configure, Makefile.in: Don't include memory.h if
+ STDC_HEADERS, removing need for MEMORY_H_MISSING.
+
+Thu 17 Oct 1991 16:53:07 Jim Meyering (meyering at wombat)
+
+ * pr.c (print_page): REALLY fixed `extra newline at EOF' problem.
+ Somehow, part of my patch didn't make it last time.
+
+Sat Oct 12 12:04:47 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
+
+ * tail.c (pipe_lines, pipe_bytes): Initialize `first->next'.
+
+ * cmp.c (cmp): Print EOF message to stderr, not stdout, for
+ POSIX 1003.2.11.2.
+
+ * sort.c (xfwrite): fwrite never returns < 0, so check if
+ number written is number we asked to write.
+ (fillbuf, main): fread never returns < 0, so check ferror instead.
+ From Rainer Orth.
+
+Tue Oct 8 18:07:08 1991 Jim Meyering (meyering at churchy)
+
+ * pr.c (print_page): Really fixed `extra newline at EOF' problem.
+ * (store_columns): Fixed bug that caused `pr -b -2' to coredump
+ on files of certain lengths.
+
+Fri Oct 4 22:30:25 1991 Jim Meyering (meyering at churchy)
+
+ * pr.c (print_page): Fixed to not add single spurious newline
+ at EOF when using -t.
+
+Wed Oct 2 01:02:05 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * pr.c (print_page): Don't pad the page if -t given.
+
+ * csplit.c (load_buffer), sort.c (mergefps): Use bcopy, not memcpy.
+
+Thu Sep 26 12:35:00 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
+
+ * Version 1.1.
+
+ * configure, system.h: Include memory.h if it works.
+
+ * split.c: Allow `b' unit as well as `k' and `m'.
+
+ * head.c, tail.c: Replace -b +blocks option with specifying
+ units (b, k, or m) after the number.
+ (parse_unit): New function.
+
+ * fold.c (main): Check that -w arg is a number.
+
+ * cut.c: +delimiter takes an arg.
+
+Mon Sep 16 14:52:38 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
+
+ * pr.c (close_file): Don't close an already closed file.
+
+Thu Sep 12 00:14:43 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * memchr.c: New file.
+ * configure: Check if it's needed.
+
+ * csplit.c, gcsplit.1: New program.
+
+ * pr.c (cleanup): Only free buffers if they were allocated.
+
+ * sort.c [!USG && !STDC_HEADERS]: Declare memchr.
+
+Wed Sep 11 20:54:16 1991 Jim Meyering (meyering at churchy)
+
+ * pr.c: The following 3 bugs appeared (at least) when printing
+ a single file with the options `-3 -f'.
+ * (print_white_space): Single spaces were being replaced
+ with tabs.
+ * (print_page): Some lines were getting too much white space
+ at the beginning because spaces_not_printed wasn't being reset
+ to 0.
+ * (read_line): The single space between a truncated column
+ on its left and the column on its right was omitted. Fixed
+ so that previous value of input_position is restored before
+ returning FALSE.
+
+Sat Sep 7 03:22:18 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * configure: Only remove /etc from PATH when it's not part of
+ a larger name.
+
+Wed Sep 4 17:09:24 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * linebuffer.c (readline): Fix incorrect recalculation of `end'.
+
+ * head.c, tail.c: Replace `mode' variables and bitmasks with
+ separate variables for each option.
+
+Mon Sep 2 04:00:37 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * wc.c: New program.
+
+Sun Sep 1 01:18:38 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * fold.c (fold_file): Read in an int, not a char, for EOF
+ comparison.
+
+ * configure: Check whether st_blksize is missing.
+
+ * tac.c (save_stdin): Put copy of pipe input in TMPDIR if
+ defined, instead of /tmp.
+
+Thu Aug 29 14:48:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * xwrite.c [POSIX]: unistd.h might require sys/types.h.
+
+Wed Aug 28 11:57:39 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * paste.c (main): Consider -d "" to be like -d "\0",
+ for POSIX (if I read it right).
+
+ * sort.c, join.c: New programs.
+
+ * cut.c (set_field): Allow blanks as well as commas to
+ separate numbers in ranges.
+
+Sun Aug 25 19:57:40 1991 Jim Meyering (meyering at apple-gunkies)
+
+ * pr.c: Failure to open an input file is no longer a fatal error.
+ A message is printed for each failed open. When printing
+ in parallel, each failed open results in one fewer output column.
+ Added POSIX -r option to suppress the message.
+ * pr.c: Added variables: failed_opens, ignore_failed_opens.
+ These changes were based in part on work by David MacKenzie.
+
+Sat Aug 24 15:27:39 1991 Jim Meyering (meyering at pogo)
+
+ * pr.c: Complain if user gives both -m and -[0-9]+ options.
+
+Wed Aug 21 22:04:57 1991 David J. MacKenzie (djm at apple-gunkies)
+
+ * Version 1.0.
+
+Mon Aug 19 00:16:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * expand.c: Rename some variables.
+ (expand): Don't access value off end of array.
+ * unexpand.c: Rename some variables.
+ (unexpand): Don't access value off end of array.
+ Instead of copying tabs verbatim and flushing pending spaces
+ when one is reached, count them as the proper number of
+ pending spaces. Instead of changing tabs to single spaces if
+ the tabstop list is exhausted, print the rest of the line
+ unchanged (for POSIX).
+
+Sat Aug 17 01:49:41 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * cut.c (cut_file), paste.c (paste_parallel, paste_serial):
+ Clear EOF and error conditions on stdin so it can be reused.
+
+ * expand.c, unexpand.c (parse_tabstops): Allow blanks as well
+ as commas to separate tabstops, for POSIX.
+ * expand.c (expand), unexpand.c (unexpand): Don't line-buffer
+ the output; send it directly to stdout.
+ * unexpand.c (main): Make -t stupidly imply -a for POSIX.
+ (unexpand): If a tab stop list was given and we move past its end,
+ copy the rest of the line verbatim.
+
+ * split.c (convint): New function to allow 'm' and 'k' after
+ byte counts.
+ (main): Use it. Change -c option to -b for POSIX.
+
+Fri Aug 9 02:47:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * pr.c: Protect isdigit with isascii, if required.
+
+Tue Aug 6 21:42:25 1991 David J. MacKenzie (djm at wheat-chex)
+
+ Most of the following is from Paul Eggert:
+ * cat.c (main): If stdin is read, check close at end.
+ * cmp.c (main): Check for stdin being closed.
+ Check for close errors on stdin and stdout.
+ (cmp): Return a value instead of exiting.
+ * cut.c (cut_file): New function, from code in main.
+ Check for read errors.
+ (main): Check for close errors.
+ * expand.c, unexpand.c (main): Check for close errors.
+ (next_file): Go to next file if one can't be opened.
+ Check for close errors.
+ * head.c (main), tail.c (main): If stdin was read, check for
+ close errors.
+ * head.c (head_file), tail.c (tail_file): Check for close errors.
+ * paste.c (main, paste_parallel, paste_serial), tac.c (main):
+ Check for close errors. Close stdin if it was read.
+ * split.c (main): Check for close errors.
+
+ * configure, Makefile.in's: Support +srcdir option.
+ Make config.status. Fix up clean targets.
+
+Wed Jul 31 01:32:59 1991 David J. MacKenzie (djm at hal)
+
+ * linebuffer.h (struct linebuffer): Add a field to indicate
+ the number of valid chars in the line.
+ * linebuffer.c (initbuffer, readline): Fill it in.
+ * uniq.c, comm.c: Use it.
+
+ * pr.c (main): Check stdin and stdout fclose for errors.
+ (init_parameters): If there's no room for header and footer,
+ omit them rather than dying (for POSIX).
+ (init_header): Take a file descriptor as additional arg.
+ (init_fps): Change callers. Note when stdin is read.
+ (open_file): For filename "-" use stdin.
+ (close_file): Don't close stdin. Check close for errors.
+ (print_char, char_to_clump): Use isprint instead of explicit
+ comparisons.
+
+ * memcmp.c: New file (needed for comm).
+ * bcopy.c: New file (needed for fold).
+ * system.h: Don't define bcopy as memcpy.
+ * configure: Check for bcopy and memcmp.
+
+ * uniq.c (main): Use "-" instead of NULL to mean stdin or
+ stdout.
+ (check_file): Use "-" instead of NULL to mean stdin or stdout.
+ Check readline return instead of for NUL character to
+ detect eof.
+ Check fclose for errors.
+ (find_field): Use linebuffer length, not NULs, to detect end
+ of line.
+ (different): New function, replaces compare. Uses memcmp
+ instead of strncmp.
+ (writeline): Use fwrite instead of fputs so NULs are preserved.
+
+ * comm.c (compare_files): Return an error indication.
+ Don't take a filename of NULL to mean stdin.
+ Use memcmp instead of strcmp to allow for NULs.
+ Check fclose for errors.
+ (writeline): Use fwrite instead of fputs so NULs are preserved.
+
+ * sum.c (sum_file): Take an arg indicating whether to print
+ the filename, and don't take NULL meaning stdin. Set a flag
+ when we read stdin. Check fclose return for errors.
+ (main): If stdin was read, check fclose return for errors.
+ Use filename of "-" if no args given.
+
+Thu Jul 25 15:17:10 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * fold.c: Rewritten from scratch for POSIX.
+
+Wed Jul 24 01:55:41 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * split.c (line_bytes_split): Use xmalloc instead of alloca.
+ * system.h: Don't declare alloca.
+
+ * tac.c, tail.c: Use SEEK_ instead of L_ for lseek.
+ * system.h: Define SEEK_ macros if not defined.
+
+ * pr.c: Rename variable `truncate' to avoid library function conflict.
+
+Tue Jul 23 13:21:48 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * linebuffer.c, linebuffer.h: New files.
+ * comm.c, uniq.c (initbuffer, readline): Functions
+ removed (use versions in linebuffer.c).
+
+Mon Jul 22 13:23:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
+
+ * sum.c (sumfile): Always print 5 digits for second number, too.
+ Interpret "-" to mean stdin.
+
+Sat Jul 20 14:24:40 1991 David J. MacKenzie (djm at bleen)
+
+ * uniq.c: Use isblank instead of isspace, to support POSIX.2.
+ * comm.c, pr.c, uniq.c (concat, fatal, error,
+ pfatal_with_name, xmalloc, xrealloc): Functions removed.
+
+Sat Jul 13 02:04:53 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * nl.c: Add long-named options. Doc fixes.
+
+Sat Jul 6 02:19:09 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * expand.c, unexpand.c [STDC_HEADERS]: Include stdlib.h.
+
+ * xwrite.c [POSIX]: Include unistd.h.
+ [STDC_HEADERS]: Don't declare errno.
+
+Sun Jun 30 23:35:16 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * uniq.c: Add long-named options. Remove marginally useful -z
+ option (zero padded repeat counts).
+
+Thu Jun 27 16:31:45 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * tail.c (tail_file), tac.c (save_stdin, tac_file), split.c
+ (cwrite), head.c (head_file), cat.c (main): Check close return
+ value for delayed error report due to NFS.
+
+Tue Jun 11 00:12:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * cat.c: Replace "uchar" with "unsigned char", to avoid
+ problems with various systems' typedefs.
+
+Thu Jun 6 12:54:26 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
+
+ * cat.c (cat): Interpret ENOTTY return from FIONREAD ioctl to mean
+ operation is unsupported, for HP-UX 7.0.
+
+Sun Apr 14 21:49:17 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * sum.c: Always print five digits for first number.
+
+Fri Mar 15 16:16:54 1991 David J. MacKenzie (djm at geech.ai.mit.edu)
+
+ * cat.c, cmp.c: Don't use fileno(); not needed.
+
+Thu Jan 10 02:16:55 1991 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * tac.c, tail.c: Change _POSIX_SOURCE to POSIX.
+
+Thu Dec 27 00:06:45 1990 David J. MacKenzie (djm at egypt)
+
+ * cut.c (cut_file_bytes, cut_file_fields): Make inbufp and
+ outbufp global.
+ (enlarge_line): Adjust inbufp and outbufp.
+
+Sun Sep 9 16:54:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cat.c: Declare free returning void, not int, so it
+ doesn't bomb on Xenix.
+
+Mon Sep 3 22:23:57 1990 David J. MacKenzie (djm at coke)
+
+ * tac.c: Print error messages before calling cleanup, not after.
+
+Tue Aug 28 18:05:24 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * tac.c (cleanup): Return SIGTYPE, not int.
+
+Tue Aug 7 12:51:18 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * cut.c (main, usage): Add -b and -n options for POSIX.
+ (set_fields): Don't allow SPC or TAB as number separators.
+
+ * paste.c (paste_parallel): If open of any file fails, quit
+ (for POSIX).
+
+Mon Aug 6 22:14:13 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * pr.c: Add POSIX -F option (same as -f).
+
+ * uniq.c (check_file): Allow '-' to mean stdin or stdout.
+
+Mon Aug 6 14:43:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * head.c, tail.c: Change `chars' to `bytes' globally.
+ (main, usage): Use POSIX.2 draft 10 option syntax.
+
+Sun Aug 5 11:51:12 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * cat.c (main): Don't delay error messages, so they appear
+ where expected.
+ (main, simple_cat, cat): Make errors in input files nonfatal.
+
+Sat Aug 4 10:11:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * cat.c: Remove -c option added for POSIX draft 9, since POSIX
+ draft 10 removed it.
+
+ * tac.c (tac_stdin): Use fstat instead of lseek to determine
+ whether stdin is seekable, because lseek silently fails on
+ some special files, like tty's.
+ tail.c (tail_chars, tail_lines): Use fstat instead of lseek;
+ don't turn off -f for non-regular files (assume the user knows
+ what he's doing; it might work for fifo's and sockets).
+
+ * paste.c (main): If no files given, use stdin.
+ Don't let collapse_escapes write on string constant (delim default).
+ (paste_parallel): Don't close stdin.
+
+ * cut.c (main): Use standard input for filename of "-".
+
+ * comm.c (compare_files): Allow '-' to mean stdin.
+
+Fri Aug 3 13:38:28 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * cut.c (enlarge_line): Take an arg giving the required amount
+ of space. Change callers.
+ (main): Don't allow -t'<TAB>' without -f.
+ Make `delim' unsigned to fix sign extension problem in comparison.
+
+Tue Jul 17 12:36:11 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
+
+ * pr.c Deleted excess whitespace from ends of lines.
+ Modified to work with current version of getopt, which
+ returns 1 instead of 0 for non-options.
+ Reversed the meaning of the -f option, to be compatable
+ with real pr.
+
+Sun Jul 8 00:39:31 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * cmp.c (main, usage): Rename -L option to -c and don't have
+ it imply -l.
+ (printc): Take an arg to specify number of chars to pad to,
+ for column alignment.
+ (cmp): Respect flag_print_chars in default output format.
+ Align columns for cmp -cl.
+
+Sat Jul 7 17:23:30 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * cmp.c: For +show-chars, have getopt return 'L' so
+ `flag_print_chars' gets set.
+
+Fri Jun 29 01:04:19 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * tac.c (main): Initialize fastmap and translate fields of
+ regex before compiling it.
+
+Fri Jun 22 00:38:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * tac.c: Change +regexp to +regex for consistency with GNU find.
+
+Wed Jun 20 01:46:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cat.c (cat): If FIONREAD is available, only use it if it is
+ supported by the filesystem that the file is on.
+
+Sun Jun 3 20:26:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cat.c (main): Add a variable to control whether the check
+ for input file == output file is made, because no values of
+ st_dev and st_ino should be assumed to be available for this
+ purpose. Only do the check for regular files.
+
+ * tac.c: Use bcopy instead of memcpy.
+
+Thu May 31 00:55:36 1990 David J. MacKenzie (djm at apple-gunkies)
+
+ * head.c: Use longs instead of ints for file offsets, for 16
+ bit machines.
+
+Tue May 22 00:56:51 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cmp.c: Change some ints to longs for 16 bit machines.
+ (bcmp_cnt): Make char-pointer counting slightly simpler.
+
+Sat May 12 01:16:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cat.c (main): Allow input file to be output file for devices
+ (ttys, etc.). Check whether input file is output file when
+ reading standard input. Print any error messages for standard
+ input.
+
+ * cmp.c (bcmp_cnt): Handle int comparisons correctly on 16 bit
+ machines as well as 32 bit ones.
+ * cmp.c, tail.c: Use longs instead of ints for file offsets.
+
+Fri May 11 02:11:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cmp.c: Fix some exit statuses for POSIX.
+
+Tue May 8 03:41:42 1990 David J. MacKenzie (djm at abyss)
+
+ * tac.c: Use regular expressions as the record boundaries.
+ Give better error messages.
+ Reformat code and make it more readable.
+ (main): Use getopt_long to parse options.
+ (tac_stdin): Do not make a temporary file if standard input
+ is a file.
+ (tac_file): New function.
+ (tac): Take an open file desc as an arg.
+ (output): Rewrite to use its own efficient buffering.
+ (xmalloc, xrealloc, xwrite): New functions.
+
+Sun Apr 8 20:33:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * head.c, tail.c: Use `error' instead of `fatal_perror' and
+ `nonfatal_perror'. Remove some unnecessary info from messages.
+
+Wed Mar 21 09:30:18 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * comm.c (main): Pass the list of files to compare_files as a
+ char ** instead of a char *.
+ (compare_files): Make arg a char **.
+
+ * uniq.c: Declare some functions as void.
+ Change global vars `countmode' and `mode' from ints to enums.
+ (main): Use getopt to parse options and support POSIX options.
+ Don't use integer_arg to parse numbers, since `-#' can't be
+ parsed that way using getopt.
+ (find_field): Use isspace for finding fields boundaries.
+
+Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
+
+ * comm.c (main): Call usage if given bad option or wrong
+ number of args. Exit with 0 status normally.
+ (usage): New function.
+ Declare some other functions as void.
+
+Wed Mar 14 10:48:40 1990 David J. MacKenzie (djm at rice-chex)
+
+ * cmp.c (main, cmp, usage): Replace -q +quick option with -L
+ +show-chars option to add ASCII representation of bytes to -l format.
+
+Tue Mar 13 00:50:14 1990 David J. MacKenzie (djm at rice-chex)
+
+ * cmp.c (cmp): Change EOF message for POSIX compatibility.
+ For -l format, clear bits > FF.
+
+Mon Mar 5 17:21:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * tail.c: Move global `errors' into main instead of having
+ nonfatal_perror set it.
+ (tail, tail_chars, tail_file, tail_lines, pipe_chars, pipe_lines):
+ Return an error status.
+ (file_lines, start_chars, start_lines): Reverse the meaning of
+ the return value.
+ (tail_lines, tail_chars): Account for that reversal.
+
+Mon Mar 5 00:34:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * head.c: Move global `errors' into main and have the various
+ functions return an error status instead of setting it in
+ nonfatal_perror.
+
+Sat Mar 3 11:27:27 1990 Torbj|rn Granlund (tege at echnaton)
+
+ * cmp.c (cmp): Call function bcmp_cnt for flag == 0 (i.e. no
+ options specified), to compare the two blocks and count
+ newlines simultaneously.
+ * cmp.c New function: bcmp_cnt.
+
+ * cmp.c (main): Test if output is redirected to /dev/null, and
+ assume `-s' if this is so.
+
+Tue Feb 20 17:09:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cat.c: Change `argbad' from a char to a short, so it will
+ work on machines with unsigned chars.
+
+Sat Feb 10 02:16:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
+
+ * cmp.c (cmp): Rename `r' to `first_diff', and `x' to `smaller'.
+ Remove unneccessary variable `c1'. If -l was given, increase
+ `char_number' by the number of bytes read, after producing output,
+ rather than by the offset of the first differing bytes, before
+ producing output.
+ Replace if-else-if constructions with case statements for clarity.
+ (bcmp2): Rename `n' to `nread'.
+
+Wed Dec 20 01:32:06 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
+
+ * nl.c (proc_text): Use re_search instead of re_match.
+
+Tue Dec 19 01:26:34 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
+
+ * nl.c: Indent. Un-nest statements. Use GNU regexp functions
+ instead of System V ones. Move function declarations together.
+ (quit): Remove useless function.
+ (program_name): New variable for error messages.
+ (main): Use perror in error message.
+ (xmalloc): New function to replace myalloc.
+ (myalloc): Function removed.
+ Global: use program_name and xmalloc.
+
+Sun Dec 17 00:36:36 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
+
+ * uniq.c: Declare some functions.
+ (main): Initialize infile and outfile. Call usage if given
+ invalid args. Normally exit with 0 status instead of garbage.
+ (usage): New function to print usage message and exit.
+ (check_file): Remove unused variable.
+ (readline): Compare against EOF, not < 0.
+ (xmalloc, xrealloc): Return char *, not int.
+ Ok to return 0 if 0 bytes requested.
+ (lb1, lb2): Remove unused global vars.
+ (concat): Remove unused function.
+
+Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
+
+ * comm.c: Remove unused global variables lb1, lb2.
+ (main): Remove unneeded variable.
+ (compare_files): Remove unused arg.
+ (readline): un-nest assignment. Test against EOF instead of < 0.
+ (error): Print to stderr, not stdout.
+ (xmalloc, xrealloc): Return char * instead of int.
+ Returning 0 is ok if 0 bytes requested (ANSI C).
+
+
+ -----
+
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006 Free Software
+ Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.
diff --git a/old/textutils/NEWS b/old/textutils/NEWS
new file mode 100644
index 0000000..da8d1a5
--- /dev/null
+++ b/old/textutils/NEWS
@@ -0,0 +1,472 @@
+Changes in release 2.1
+[2.0.22]
+* `od -t f8' works once again [bug introduced in textutils-2.0.8]
+* various portability fixes, and general clean-up
+* various minor, corner-case bug fixes
+[2.0.21]
+* split accepts new option -a or --suffix-length.
+* split no longer generates longer suffixes than requested; instead, it reports
+ an error when suffixes are exhausted. POSIX requires this behavior.
+* The _POSIX2_VERSION environment variable lets you select which version
+ of POSIX the utilities should conform to. Its default value is system
+ dependent. Set _POSIX2_VERSION=199209 to cause the utilities to support
+ obsolete usage like "sort +1".
+* The following obsolete usages are no longer supported when conforming
+ to POSIX 1003.1-2001, which (at the time this change was made) was thought
+ to say that implementations must reject most digit-string options:
+ expand -N (instead, use expand -t N)
+ head -N (instead, use head -c N or head -n N)
+ fold -N (instead, use fold -w N)
+ split -N (instead, use split -l N)
+ tail -N (instead, use tail -c N or tail -n N)
+ unexpand -N (instead, use unexpand --first-only -t N)
+ uniq -N (instead, use uniq -f N)
+ The following obsolete usages (options without arguments) are no
+ longer supported when conforming to POSIX 1003.1-2001, which (at the
+ time this change was made) was thought to say that implementations must
+ reject options with optional arguments:
+ od -s (instead, use od --strings)
+ od -w (instead, use od --width)
+ pr -S (instead, use pr --sep-string)
+[2.0.20]
+* tr no longer gets failed a assertion for [==] or [::]
+* The following obsolete usages are no longer supported when conforming
+ to POSIX 1003.1-2001, which says that arguments with leading "+"
+ are file names in these contexts:
+ sort +POS1 (instead, use sort -k)
+ tail +N (instead, use tail -c +N or tail -n +N)
+ uniq +N (instead, use uniq -s N)
+* Warnings are issued for obsolete usages on older hosts,
+ unless POSIXLY_CORRECT is set in the environment.
+* sort -m no longer segfaults when given an empty file
+* sort -S now accepts 'K' as a synonym for 'k'.
+* wc recognizes all locale-defined white-space characters, not just those
+ in the "C" locale.
+[2.0.19]
+* portability tweak to make lib/regex.c compile
+* split translatable strings only in the middle of sentences
+[2.0.18]
+* sort could segfault on systems without a working mkstemp function and
+ with a gettimeofday function that clobbers the static buffer that
+ localtime uses for it's return value -- introduced in 2.0.17
+[2.0.17]
+* csplit no longer gets a failed assertion for this:
+ printf 'a\n\n'|csplit - '/^$/' 2
+* sort detects physical memory attributes more portably
+* tail no longer gets a segfault on Linux's /proc/ksyms
+* sum -s produces the proper 16-bit checksum for large files
+ (this fixes a bug that was introduced in 2.0f)
+* uniq is now about 3 times faster than the version from 2.0 on Linux systems;
+ the code uses lock-avoiding variants of common I/O functions
+[2.0.16]
+* tail -F no longer segfaults
+[2.0.15]
+* `head -c N' and `od -N N' now read no more than N bytes of input
+* tail accepts new option: -F, equivalent to `--follow=name --retry',
+ for compatibility with the FreeBSD and NetBSD versions of tail.
+* fmt no longer segfaults when using a maximum line width larger than 32767
+* uniq's --all-repeated option has new modes to delimit groups
+ of duplicate lines: --all-repeated={precede,separate,none(default)}
+[2.0.14]
+* sort now accepts long options like "--reverse" and "--".
+* sort now checks option syntax as POSIX requires, except that (as usual
+ for GNU) options can follow file names unless POSIXLY_CORRECT is set.
+ For example, invalid positional combinations like "sort +1 -r -2" are
+ now rejected as per POSIX.
+* The next POSIX standard will require that obsolescent 'sort'
+ positional options like +1 be treated as file names, not options.
+ Please use 'sort -k' instead.
+[2.0.13]
+* pr accepts new -D or --date option, to specify date format.
+* The following changes are required by POSIX:
+ - If POSIXLY_CORRECT is set, dates in pr headers now look something like
+ 'Dec 4 23:59 2001', with the exact appearance affected by LC_TIME.
+ - pr -h now affects only the center header string, not the entire header.
+ - pr no longer truncates headers.
+* Spacing in pr headers has been adjusted slightly.
+* `fmt --prefix=S' now works when S contains a byte with the high bit set
+[2.0.12]
+* sort has improved performance when using very little main memory
+* sort has improved memory management
+* sort is no longer susceptible to certain denial of service attacks
+* sort no longer suffers from a race condition whereby an interrupt received
+ during cleanup could cause it to fail to remove temporary files.
+ This problem could arise only on hosts without sigaction.
+[2.0.11]
+* sort accepts new -S SIZE option, to specify main-memory usage.
+[2.0.10]
+* od is faster and more portable than it was in 2.0.9
+* tail avoids an uninitialized memory reference
+[2.0.9]
+* od now prints valid addresses for offsets of 2^32 and larger, and allows
+ the byte offset (-j) and byte count (-N) arguments to be 2^32 and larger.
+* tail now works with line and byte counts of 2^32 and larger, on systems
+ with large file support
+* join now works with an 8-bit delimiter
+* fix a compilation failure on some Solaris systems with wc.c
+[2.0.8]
+* od now supports 8-byte integers, assuming they're printable with e.g., %lld
+* new program: sha1sum
+* wc accepts new -m option: count (potentially multi-byte) characters
+* wc's `--chars' option is now equivalent to -m, not --bytes as it used to be
+* `cat -n' works properly when processing 2^31 or more lines
+[2.0g]
+* sort's --help output now warns that it is locale-aware
+* tail: fix a buffer underrun error that occurred on an empty pipe,
+ also thanks to bounded pointers
+* pr: fix a bounds violation found by Greg McGary's bounded-pointers-enabled gcc
+ It could have caused (with low probability) the columns on the last page of
+ output *not* to be `balanced' when they should have been.
+* sort: if the -T tmpdir option is given multiple times, all the given
+ directories are used; this can improve performance for huge sort/merges.
+[2.0f]
+* all programs fail when printing --help or --version output to a full device
+* cut no longer gets a segfault under some circumstances
+* unexpand accepts new option: --first-only
+[2.0e]
+* `tail -f directory' no longer gets a failed assertion
+* sort: big performance improvement when sorting many small files;
+ from Charles Randall
+* configure and portability changes in m4/ and lib/
+[2.0d]
+* preliminary sort performance improvements
+* tsort now works more like the traditional UNIX tsort. Before it would
+ exit when it found a loop. Now it continues and outputs all items.
+* unexpand no longer infloops on certain sequences of white space
+* unified lib/: now that directory and most of the configuration framework
+ is common between fileutils, textutils, and sh-utils
+[2.0c]
+* include lib/nanosleep.h.
+[2.0b]
+* portability tweaks for error.c vs. systems with deficient strerror_r
+[2.0a]
+* `tail --follow=name' no longer gets a failed assertion for a
+ dev,inode-reusing race condition
+* sort and comm no longer consider newlines to be part of the line,
+ as this requirement will likely be removed from POSIX.2.
+ This undoes some changes made for textutils 1.22m and 1.22n.
+* tail's (short only) -f option no longer accepts an optional argument,
+ so e.g., `tail -fn 2 file' works again.
+* tail no longer refuses to operate on certain types of files
+* fixed bug in tsort's handling of cycles
+
+Changes in release 2.0
+[1.22q]
+* HPUX portability fix: md5sum would dump core due to use of libc's getline
+[1.22p]
+* portability fixes from Paul Eggert based largely on tar-1.13 reports
+* `tail --pid=PID' now works even when PID belongs to some other user
+[1.22o]
+* tail accepts new option: --pid=PID
+[1.22n]
+* tail accepts the following new options (some of which were added in 1.22g):
+ --retry
+ --follow[={name|descriptor}]
+ --max-unchanged-stats=N
+ --max-consecutive-size-changes=N
+ --sleep-interval=S
+* wc uses the POSIX-mandated output format when POSIXLY_CORRECT is set
+* To maintain compatibility with sort, comm and join now obey the LC_COLLATE
+ locale, and comm now considers newlines to be part of the lines.
+* use lib/memchr.c only if it's not provided by the system -- this means
+ that on systems with a fast library memchr function you may notice an
+ improvement. If you use a system with a buggy or signifcantly slower
+ memchr, please report it.
+[1.22m]
+* sort now considers newlines to be part of the line, as required by POSIX.2.
+ E.g. a line starting with a tab now sorts before an empty line,
+ since tab precedes newline in the ASCII collating sequence.
+* sort handles NUL bytes correctly when configured/compiled with --enable-nls
+* fix typos in my version of AC_SEARCH_LIBS.
+* fix dates on config files so builders don't need autoconf/automake
+[1.22l]
+* sort no longer autodetects the locale of numbers and months,
+ as that conflicts with POSIX.2
+* `join -tC' now works when input contains trailing spaces
+* portability tweaks for Irix's cc
+[1.22k]
+* `sort -n' works with negative numbers when configured/compiled
+ with --enable-nls
+* head accepts byte and line counts of type uintmax_t (so up to 2^64 - 1)
+[1.22j]
+* tail: fix bug introduced in 1.22i
+[1.22i]
+* tail now terminates in `yes > k & sleep 1; tail -2c k'
+* `tail -f' now ensures that stdout is unbuffered
+* fix a bug in cut to allow use of 8-bit delimiters
+* pr accepts POSIX compliant options -s and -w,
+ the new capital letter options -J, -S and _W turn off the
+ unexpected interferences of the small letter options -s and -w
+ if used together with the column options.
+* pr output has been adapted to other UNIXes in some cases.
+[1.22h]
+* portability tweaks
+* Window/NT/DOS support
+[1.22g]
+* uniq accepts new option: --all-repeated (-D).
+* Windows/DOS portability fixes
+* new program: tsort
+* tail has several new options
+* md5sum can handle file names with embedded backslash characters
+* pr accepts long option names (see `pr --help')
+* new program: ptx (moved to this package from being its own distribution)
+[1.22f]
+* cut accepts new --output-delimiter=STR option
+* `sort -o no-such-file no-such-file' now fails, as it should
+* fix pr bug: pr -td didn't double space
+* fix tac bug when using -b, -r, and -s SEPARATOR
+* fix sort bug whereby using key-local `d' option would cause following
+ key specs to be ignored when any two keys (in the `d'-modified test)
+ compared equal.
+[1.22e]
+* remove maintainer mode
+[1.22d]
+* wc accepts new option: --max-line-length (-L)
+* sort can sort according to your locale if your C library supports that
+[1.22c]
+[1.22b]
+* od supports a new trailing `z' character in a type specification:
+ $ od -tx1z .
+ 0000000 be ef c6 0f fd f9 d7 e0 ec cb f3 c6 00 db e8 00 >................<
+ 0000020 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 >................<
+ 0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................<
+ *
+ 0000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 cc >..............5.<
+ 0000620 05 63 76 74 2e 6f 00 00 29 ac 08 70 72 6f 6a 65 >.cvt.o..)..proje<
+ 0000640 63 74 73 00 00 00 18 9a 05 63 76 74 2e 63 00 00 >cts......cvt.c..<
+ 0000660 18 d9 03 52 43 53 00 00 18 c0 05 78 2e 64 61 74 >...RCS.....x.dat<
+
+[1.22a]
+* sort -c reports both the number and the contents of the first out-of-order
+ line, in addition to the file name.
+* `head -c 4096m' is no longer treated just like `head -c 0'
+ now it gets a diagnostic about 4096m being too large.
+* pr: For compatibility (also more POSIX compliant): Include default
+ separator `TAB' when merging lines of full length.
+* When POSIXLY_CORRECT is not set, tail -N now accepts more than one file
+ argument, to be consistent with the way head -N works. If POSIXLY_CORRECT
+ is set, using two or more file arguments with the obsolescent form (-N)
+ evokes an error. To avoid the warning or failure, use the POSIX -n N option
+ or the GNU --lines=N option.
+
+Changes in release 1.22
+[1.21a]
+* Fix a bug in tail when invoked with an argument like `+NUMBERc'
+* Add test suite for tail
+
+Changes in release 1.21
+* Using --program-prefix no longer applies the prefix twice
+
+Changes in release 1.20
+* fix pr: -l now uses total number of lines per page also with -f
+* fix pr: use left-hand-side truncation of header string to avoid line
+ overflow
+* fix pr: it now accepts `form feeds set in input files', also with -m
+ and multiple form feeds at different pages in each file
+* pr now accepts: -h "", print a blank line header
+* pr: when skipping pages (+FIRST_PAGE option) line counting (-n option)
+ starts with 1st line of input file (not of 1st page printed) by default
+* pr accepts new option: -N, start printing with an optional line number
+* pr -t retains `form feeds set in input files' (`don't destroy page layout')
+* pr accepts new option: -T, equivalent to -t, but eliminate also form feeds
+ (`clear file')
+* pr accepts the extension: +FIRST_PAGE[:LAST_PAGE]
+* pr -w and -s option disentangled (`use a separator' no longer destroys
+ column alignment)
+* pr accepts new option: -j, merge lines of full length
+* pr accepts the extension: -s[STRING], use separator string instead of
+ character only
+* pr -b is no longer an independent option, balancing is always used
+ with -COLUMN (a requirement of unrestricted use of form feeds)
+* pr accepts new option: --test, to run the pr tests with a constant
+ header string
+* join passes all of its tests on Alpha OSF 4.0.
+* sort no longer improperly ignores blanks in determining starting and ending
+ positions for keys with explicit character offsets
+* fix bug in csplit with regexp and negative offset that led to infinite loop
+ Changes in test release 1.19q
+* fix bug in sort -c that sometimes resulted in a segfault
+ Changes in test release 1.19p
+* md5sum's --string option is being deprecated and is no longer documented.
+ It is still accepted, but will be removed altogether in 1.22.
+* tr '[:lower:]' '[:upper:]' no longer fails when LC_CTYPE is set to
+ iso_8859_1 on Solaris -- or any other character set with differing
+ numbers of uppercase and lowercase characters
+* split and tail diagnose unrecognized multiplier suffixes, in e.g.,
+ `split --bytes=1M' (should be `-b 1m' or `--bytes=1m')
+* fix bug in md5sum's handling of partial reads
+* fix bug in treatment by sort -f of bytes with high-bit set
+* update configuration system to use automake's aclocal program
+* configure performs sanity check on CC and CFLAGS to avoid a misleading
+ failure that suggested cross-compiling was the cause
+* distribute test suites for cut, join, sort, and tr
+* unexpand no longer gets in endless loop
+* when verifying checksums, md5sum uses the binary mode flag from the
+ input stream rather than the one from the command line
+
+Changes in release 1.19
+* md5sum can verify digests of files with names containing newline characters
+* update from gettext-0.10.20.
+
+Changes in release 1.18
+* when building sort, link with -lm on systems that use the replacement strtod
+* update from gettext-0.10.17.
+
+Changes in release 1.17
+* include texinfo.tex in the distribution
+
+Changes in release 1.16
+* sort is compatible with Unix sort when a key-end spec refers to the N'th
+ character in a field that has fewer than N characters
+* tail with old-style options like -20k and +31m operates on units of bytes,
+ as the --help usage message says. Before, it used units of lines.
+
+Changes in release 1.15
+* od gives better diagnostics for invalid format specs
+* uses automake-generated Makefile templates
+* configure takes a new option: --enable-maintainer-mode
+* fix a bug in fmt when prefix has trailing white space
+* internationalized diagnostic messages
+* fix a couple bugs in tr involving use of -c and/or -d flags -- see ChangeLog
+* diagnose some improper or questionable invocations of csplit
+* properly handle `echo |csplit - 1 1', rather than aborting
+* fix join: without -t it now ignores leading blanks
+* sort accepts new option: -z for NUL terminated records
+* join accepts new option: --ignore-case, -i
+* uniq accepts new option: --ignore-case, -i
+
+User-visible changes in release 1.14
+* sort -i and sort -d properly order strings containing ignored characters
+* nl: rename misleading --first-page=N option to --starting-line-number=N.
+* sort diagnoses invalid arguments to -k, then fails
+* sort -n properly orders invalid integers with respect to valid integers
+* sorting works with character offsets larger than corresponding field width
+* sort's -b option and `b' modifier work
+* sort -k2,2 works.
+* csplit detects integer overflow when converting command line arguments
+* sort accepts new option/flag, -g, for sorting numbers in scientific notation
+* join accepts POSIX `-o 0' field specifier.
+* tr 'a[b*512]' '[a*]' < /dev/null terminates
+* tr '[:*3][:digit:]' 'a-m' and tr 'a[=*2][=c=]' 'xyyz' no longer fail
+* special characters in tr's string1 and string2 may be escaped with backslash
+
+User-visible changes in release 1.13
+* md5sum: with --check, distinguish between open/read failure and bad checksum
+* md5sum: remove -h, -s, -v short options
+* md5sum: rename --verbose to --warn, --quiet to --status
+* md5sum --check fails if it finds no properly formatted checksum lines
+* sort -c prints `disorder on...' message on standard error, not stdout
+* sort -k works as described in the texinfo documentation
+* tail works on NetBSD
+* md5sum reads and writes (de facto) standard Plumb/Lankester format
+* sort accepts -.1 +.2 options for compatibility
+* od works properly when dump limit is specified and is a multiple of
+ bytes_per_block (set by --width, 16 by default).
+
+User-visible changes in release 1.12
+* sort no longer reports spurious errors on Ultrix systems
+* new program: md5sum
+* all --help messages have been improved
+* join's -a1 and -a2 options work
+* tr '[:upper:]' '[:lower:]' no longer reads uninitialized memory
+* sort properly handles command line arguments like `+7.2n'
+* fmt properly formats paragraphs not terminated by a newline
+* tail -f flushes stdout before sleeping so that it will output partial
+ lines sooner
+* sort properly orders fields where one field is a proper prefix of the other
+* sort properly interprets field offsets specified via the -k option
+* dd, od, and tail work on systems for which off_t is long long (e.g. BSD4.4)
+* wc is faster when not counting words
+* wc now works even when file pointer isn't at beginning of file
+* expand no longer seg faults with very long tab lists
+
+User-visible changes in release 1.11
+* fmt is built
+
+User-visible changes in release 1.10
+* skeletal texinfo documentation (mainly just the `invoking' nodes)
+* new program: fmt
+* tail -f on multiple files reports file truncation
+* tail -q has been fixed so it never prints headers
+* wc -c is much faster when operating on non-regular files
+* unexpand gives a diagnostic (rather than a segfault) when given a name of
+ a nonexistent file.
+* cat, csplit, head, split, sum, tac, tail, tr, and wc no longer fail
+ gratuitously when continued after a suspended read or write system call.
+* cut interprets -d '' to mean `use the NUL byte as the delimiter' rather
+ than reporting that no delimiter was specified and failing.
+* `echo a:b:c: | cut -d: -f3,4' prints `c:'. Before it printed just `c'.
+* cut has been rewritten, is markedly faster for large inputs, and passes a
+ fairly large test suite.
+* sort properly handles the argument to the -T option.
+
+Major changes in release 1.9.1:
+* cut no longer ignores the last line of input when that line lacks a
+ trailing newline character
+
+Major changes in release 1.9:
+* `echo a:b:c: | cut -d: -f3-' prints `c:' and
+ `echo a:b | cut -d: -f1' prints `a'.
+* the command `printf '\t\n' |fold -w n' now terminates.
+ Before, it wouldn't stop for n less than 8.
+* sort accepts and ignores -y[string] options for compatibilty with Solaris.
+* cat -v /dev/null works on more systems
+* od's --compatible (-C) flag renamed to --traditional (no short option)
+* --help and --version exit successfully
+* --help gives a one-line description of each option and shows the
+ correspondence between short and long-named options.
+* fix bug in cut. Now `echo 'a:b:c:' | cut -d: -f3-' works.
+ Before it printed `c' instead of `c:'
+* csplit allows repeat counts to be specified via `{*}'.
+* csplit accepts a new option, --suffix=format that supercedes the
+ --digits option. The --digits option will continue to work.
+* csplit accepts a new option, --elide-empty-files.
+* configure uses config.h, so DEFS won't exceed preprocessor limits of
+ some compilers on the number of symbols defined via -D.
+* work around problem where $(srcdir)/config.h was used instead of
+ ../config.h -- this happened only when building in a subdirectory
+ and when config.h remained in $(srcdir) from a previous ./configure.
+
+Major changes in release 1.8:
+* added non-ANSIfied version of memchr.c from GNU libc.
+
+Major changes in release 1.7:
+* none
+Major changes in release 1.6:
+* with the --version option programs print the version and exit immediately
+* pr -2a really terminates
+* pr -n produces multi-column output
+
+Major changes in release 1.5:
+* sort is 8-bit clean
+* sort's -n and -M options no longer imply -b
+* several bugs in sort have been fixed
+* all programs accept --help and --version options
+* od --compatible accepts pre-POSIX arguments
+* pr -2a terminates
+
+Major changes in release 1.4:
+* add od and cksum programs
+* move cmp to GNU diff distribution
+* tail -f works for multiple files
+* pr prints the file name in error messages
+* fix some off by 1 errors in pr and fold
+* optimize wc -c on regular files
+* sort handles `-' argument correctly
+* sort supports -T option
+* tr ranges like a-a work
+* tr x '' fails gracefully
+* default sum output format is BSD compatible
+* paste -d '' works
+
+========================================================================
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2006 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.