diff options
author | Indrajith K L | 2022-12-03 17:00:20 +0530 |
---|---|---|
committer | Indrajith K L | 2022-12-03 17:00:20 +0530 |
commit | f5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch) | |
tree | 2764fc62da58f2ba8da7ed341643fc359873142f /coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old | |
download | cli-tools-windows-master.tar.gz cli-tools-windows-master.tar.bz2 cli-tools-windows-master.zip |
Diffstat (limited to 'coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old')
6 files changed, 23447 insertions, 0 deletions
diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/fileutils/ChangeLog b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/fileutils/ChangeLog new file mode 100644 index 0000000..5f12d1c --- /dev/null +++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/fileutils/ChangeLog @@ -0,0 +1,8382 @@ +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 ©_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. diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/fileutils/NEWS b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/fileutils/NEWS new file mode 100644 index 0000000..b89ca31 --- /dev/null +++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/fileutils/NEWS @@ -0,0 +1,748 @@ +[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 diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/sh-utils/ChangeLog b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/sh-utils/ChangeLog new file mode 100644 index 0000000..9005a62 --- /dev/null +++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/sh-utils/ChangeLog @@ -0,0 +1,4850 @@ +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. diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/sh-utils/NEWS b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/sh-utils/NEWS new file mode 100644 index 0000000..7da709d --- /dev/null +++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/sh-utils/NEWS @@ -0,0 +1,272 @@ + [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 diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/textutils/ChangeLog b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/textutils/ChangeLog new file mode 100644 index 0000000..12ceb73 --- /dev/null +++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/textutils/ChangeLog @@ -0,0 +1,8738 @@ +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). diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/textutils/NEWS b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/textutils/NEWS new file mode 100644 index 0000000..a172299 --- /dev/null +++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/old/textutils/NEWS @@ -0,0 +1,457 @@ +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 prohibits 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 + prohibits most 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 prohibits most options with leading "+": + sort +POS1 -POS2 (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 |