From 2c64bc87293bd8bf369b8dbd487a793ea9803775 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Tue, 31 Jan 2017 21:55:22 -0800 Subject: doc: only distribute 5 years of ChangeLogs Remove old log files that have corresponding entries in the source code repository. This saves about 2.5MB uncompressed, 0.5M compressed. * Makefile.am (gen-ChangeLog): Adjust to taking all logs since a particular version (8.15 in this case). Also mention in the truncated log where to get older entries. (changelog_etc): Remove the no longer distributed files. * build-aux/git-log-fix: Remove now unused entries. * ChangeLog-200[5-8]: Delete. * doc/ChangeLog-2007: Likewise. * po/ChangeLog-2007: Likewise. * old/*: Likewise. --- ChangeLog-2005 | 11616 ----------------------------------------- ChangeLog-2006 | 4040 -------------- ChangeLog-2007 | 4022 -------------- ChangeLog-2008 | 379 -- Makefile.am | 26 +- build-aux/git-log-fix | 49 - doc/ChangeLog-2007 | 2009 ------- old/fileutils/ChangeLog | 8397 ----------------------------- old/fileutils/ChangeLog-1997 | 6165 ---------------------- old/fileutils/NEWS | 759 --- old/sh-utils/ChangeLog | 4865 ----------------- old/sh-utils/ChangeLog.0 | 1719 ------ old/sh-utils/NEWS | 283 - old/textutils/ChangeLog | 8752 ------------------------------- old/textutils/NEWS | 471 -- po/ChangeLog-2007 | 253 - 16 files changed, 7 insertions(+), 53798 deletions(-) delete mode 100644 ChangeLog-2005 delete mode 100644 ChangeLog-2006 delete mode 100644 ChangeLog-2007 delete mode 100644 ChangeLog-2008 delete mode 100644 doc/ChangeLog-2007 delete mode 100644 old/fileutils/ChangeLog delete mode 100644 old/fileutils/ChangeLog-1997 delete mode 100644 old/fileutils/NEWS delete mode 100644 old/sh-utils/ChangeLog delete mode 100644 old/sh-utils/ChangeLog.0 delete mode 100644 old/sh-utils/NEWS delete mode 100644 old/textutils/ChangeLog delete mode 100644 old/textutils/NEWS delete mode 100644 po/ChangeLog-2007 diff --git a/ChangeLog-2005 b/ChangeLog-2005 deleted file mode 100644 index 744b93c49..000000000 --- a/ChangeLog-2005 +++ /dev/null @@ -1,11616 +0,0 @@ -2005-12-27 Jim Meyering - - * Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY. - (sc_prohibit_assert_without_use): New rule. - (syntax-check-rules): Add it to the list. - * .x-sc_prohibit_assert_without_use: New empty file. - * Makefile.am (EXTRA_DIST): Add it. - - * Makefile.maint (CVS_LIST): Define in terms of $(srcdir). - - * cp.c, df.c, link.c, mknod.c, nice.c, sleep.c, unlink.c: - Don't include ; it wasn't used. - -2005-12-26 Paul Eggert - - * src/chown-core.c (restricted_chown): - Don't try O_WRONLY unless O_RDONLY failed wth EACCES. - * src/remove.c (fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY - | O_NOFOLLOW too, for consistency with other dir-openers. - Use POSIX-preferred O_NONBLOCK rather than O_NDELAY. - (is_empty_dir): Likewise. - * src/shred.c (wipename): Likewise. Don't bother trying to open - dir for writing, since POSIX prohibits it. - -2005-12-22 Jim Meyering - - * tests/help-version: Redirect stderr to /dev/full, to suppress - write error diagnostic. - -2005-12-19 Jim Meyering - - * src/mkdir.c, src/mknod.c, src/mkfifo.c (main) - Avoid a minor race condition when `-m MODE' is specified, by using - open, fchown, and close rather than just chown. To do that reliably -- - even with an overly restrictive umask -- ensure that each mkdir, - mknod and mkfifo call uses a mode including at least owner-read access. - * src/mknod.c (main): When `-m MODE' is specified, exit nonzero if - the subsequent chown (or equivalent open,fchown,close) fails. - * tests/misc/mknod: New tests. - * tests/misc/Makefile.am (TESTS): Add mknod. - -2005-12-17 Jim Meyering - - * src/remove.c (is_empty_dir): Open with O_NDELAY, so we don't hang, - e.g., on a named pipe. - (OPEN_NO_FOLLOW_SYMLINK): Remove definition. Use O_NOFOLLOW in - place of all uses, since it is guaranteed (system.h) to be defined. - -2005-12-05 Andreas Gruenbacher - - Add POSIX ACL support - * src/ls.c: Switch back from HAVE_ACL to USE_ACL: The acl() syscall - is no requirement for ACL support; particularly, it does not exist - on systems that have POSIX ACLs. - * src/copy.h (cp_option_init) [umask_kill]: Remove member. - * src/cp.c (umask_kill): With default acls, the umask is not to be - applied. Remove umask_kill, don't change the process umask, and let - the kernel apply the umask where appropriate. - * src/cp.c (make_dir_parents_private): Fix logic for POSIX ACLs. - * src/copy.c (get_dest_mode): Remove; it is obsolete after removing - umask_kill. - (copy_reg, copy_internal): Use copy_acl and set_acl - instead of fchown/chown. Fix the logic for POSIX ACLs. - (chown_succeded): Remove; we now always copy acls and - preserve S_ISUID, S_ISGID, and S_ISVTX when needed, no matter if we - did a chown before or not. - * src/mv.c, src/install.c (cp_option_init): Don't set umask_kill member. - * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD, cp_LDADD, - mv_LDADD, ginstall_LDADD): On systems with an ACL library, arrange - to link with it via $(LIB_ACL), for the utilities that need it. - -2005-12-16 Paul Eggert - - * src/remove.c (OPENAT_CWD_RESTORE__REQUIRE): Remove. - (OPENAT_CWD_RESTORE__ALLOW_FAILURE): Likewise. - (fd_to_subdirp): Remove openat_cwd_restore_allow_failure arg; its - value is now signified by whether cwd_errno is null. - (fd_to_subdirp, remove_dir, rm_1); Change cwd failure indicator from - pointer-to-bool to pointer-to-errno-value. All callers changed. - (rm_1): Don't bother setting a local cwd failure flag and then - ORing it into the caller's. Just set the caller's. - (rm): Use cwd failure errno value to print a slightly-better - diagnostic. - -2005-12-15 Jim Meyering - - * src/stat.c (print_it): Properly handle a backslash at the - end of a --printf format string. Reported by Paul Eggert. - * tests/misc/stat-printf (end-bs): Add a test for the above. - -2005-12-15 Paul Eggert - - * tests/acl: Port to pre-POSIX shells like Solaris 8 /bin/sh. - Don't assume /etc/passwd contains user names; use 'id' instead. - -2005-12-15 Jim Meyering - - stat: revert behavior of --format=FMT (-c) - stat: add new option: --printf=FMT - * NEWS: Mention this. - * src/stat.c (isodigit, octtobin, hextobin): Define. - (PRINTF_OPTION): Define. - (interpret_backslash_escapes, trailing_delim): New globals. - (usage): Document them. Alphabetize on long option names. - (print_esc_char): New function. - (print_it): Rewrite, in order to handle backslash escapes. - (main): Handle new option. Set globals for --format, too. - - * tests/misc/stat-printf: Test --printf and --format. - * tests/misc/Makefile.am (TESTS): Add stat-printf. - -2005-12-14 Paul Eggert - - * NEWS: sort now reports incompatible options. - * src/sort.c (incompatible_options, check_ordering_compatibility): - New functions. - (main): Use them. Don't bother with a usage message for - "sort -c a b", for consistency with other error diagnostics. - * tests/sort/Test.pm (incompat1, incompat2, incompat3, incompat4): - New tests. - - * src/cat.c (main): Undo previous change. close_stdout already - does the check, so the previous change wasn't necessary. - -2005-12-13 Paul Eggert - - * src/cat.c (main): Check for close (STDOUT_FILENO) failure. - -2005-12-12 Paul Eggert - - Install a more-conservative approach for sort -R. It's the - same basic idea as the existing code, except it uses the full ISAAC - approach (called the "more kosher" approach in the existing comments). - This makes "sort -R" quite a bit slower (about a factor of 2 on my - little tests involving 10000 lines on a 2.4 GHz P4), but I think it's - better to be conservative here at first, and review any performance - improvements carefully. - * .x-sc_require_config_h: Add src/rand-isaac.c. - * src/rand-isaac.h: Remove. All uses now simply include rand-isaac.c. - * src/Makefile.am (noinst_HEADERS): Remove rand-isaac.h. - (shred_SOURCES, sort_SOURCES): Remove. - (EXTRA_DIST): Add rand-isaac.c. - * src/rand-isaac.c: Revert to what used to be in shred.c, without - changing it to allow for varying numbers of words in the state. - Alter so that we include rand-isaac.c directly rather than - compiling it and linking to it. Don't include config.h or - system.h; that's the includer's responsibility. - Omit functions that are specific to shred. - (ISAAC_LOG, ISAAC_WORDS, ISAAC_BYTES, struct isaac_state, ind): - (isaac_step, struct irand_state): - Resurrect these, with the same defns that used to be in shred.c. - (ISAAC_SIZE, isaac_new, isaac_copy): Remove. - (isaac_refill, isaac_seed_start, isaac_seed_data, irand_init, irand32): - static again. - (struct isaac_state, isaac_refill, isaac_mix, isaac_init): - (isaac_seed_start, isaac_seed_data, isaac_seed_finish, isaac_seed): - (irand_init, irand32, irand_mod): - Number of words is constant again. - (struct irand_state, irand_init, irand32, irand_mod): Move to shred.c. - * src/shred.c: Include rand-isaac.c rather than rand-isaac.h. - * src/sort.c: Likewise. - * src/shred.c (fillrand, dopass, main): Undo previous change. - (struct irand_state, irand_init, irand32, irand_mod): Moved back here, - from rand-isaac.c. - * src/sort.c: Don't include md5.h; it wasn't needed. - (struct keyfield): Rename random_hash to random, for consistency - with the other member names. All uses changed. - (usage): Tweak wording to mention STRING for --seed option. - (short_options): Rorder for consistency with other programs. - (rand_state): Now a struct, not a pointer to one. All uses changed. - (HASH_WORDS, HASH_SIZE): Remove. - (get_hash): Remove comments around resbuf size, since we can assume C89. - Use a "more-kosher" (but slower) approach of invoking isaac_refill. - (keycompare): Adjust to the new get_hash. - Add a FIXME. - (badfieldspec): Omit recently-introduced comment; it isn't needed. - (main): Don't set need_random simply because gkey has it set; that - doesn't necessarily mean we'll need random numbers. - Redo seeding to match new get_hash approach. - -2005-12-10 Jim Meyering - - * src/Makefile.am (noinst_HEADERS): Add rand-isaac.h. - - Avoid shred segfault on 64-bit systems. - * src/rand-isaac.c (isaac_refill): Don't try to negate a - local of type uint32_t. Make the local an `int' instead. - - * NEWS: Mention sort's new options. - - * src/rand-isaac.c (isaac_mix): Declare to be static. - Mark all other functions as `extern' so the tight-scope - part of `make distcheck' passes once again. - * src/rand-isaac.h (isaac_mix): Remove declaration. - - * src/sort.c (get_hash): Change position of `*' in parameter - type to conform with convention. - (main): Split a long line so it fits in 80 columns. - (keycompare): Remove stray SPACE before TAB that was - causing `make distcheck' to fail. - - * src/shred.c: Don't include gethrxtime.h. No longer needed. - - * tests/misc/sort-rand: New file: basic tests for the new options. - * tests/misc/Makefile.am (TESTS): Add sort-rand. - -2005-12-10 Frederik Eaton - - * src/Makefile.am (sort_LDADD): Add $(LIB_GETHRXTIME). - (shred_SOURCES, sort_SOURCES): New macros, so we compile rand-isaac.c. - * src/rand-isaac.c: New file, containing ISAAC code that was in shred.c. - Make state size runtime-configurable. - (isaac_new, isaac_copy): New functions. - * src/rand-isaac.h: New file. - * src/shred.c: Include rand-isaac.h. Move ISAAC code to rand-isaac.c. - (fillrand, main): Adjust to the fact that the state size is now - runtime-configurable. - * src/sort.c (short_options, long_options, WORDS, keycompare, main): - (usage): Add options --random-sort and --seed to implement a random - shuffle. - Include md5.h and rand-isaac.h. - (get_hash): New function. - (rand_state): New var. - (HASH_WORDS, HASH_SIZE): New macros. - -2005-12-09 Paul Eggert - - * tests/dd/misc: Add test for dd iflags=noatime. - -2005-12-09 Jim Meyering - - * src/sort.c (usage): Mention white space vs -b and -t options. - From The Wanderer. - -2005-12-09 Eric Blake - - * src/test.c (main): Fix misleading comment. - -2005-12-07 Paul Eggert - - * NEWS: Mention dd's new noatime flag. - * src/system.h (O_NOATIME): Define to 0 if not already defined. - * src/dd.c (flags, usage): Add support for noatime flag. - -2005-12-07 Jim Meyering - - Distribute the cvsu script, used only by `make syntax-check'. - * Makefile.am (EXTRA_DIST): Add build-aux/cvsu. - * Makefile.maint (CVS_LIST): Use build-aux/cvsu, now that we - distribute a copy of this script. - * .x-sc_unmarked_diagnostics: Add build-aux/cvsu. - - * tests/mv/acl: exit-77 before the trap, not after, if we fail - to create a temporary directory on another partition. - From Andreas Gruenbacher. - -2005-12-06 Tomas Pospisek (tiny change) - - * man/basename.x: Cross-reference to dirname and readlink. - * man/dirname.x: Cross-reference to basename and readlink. - -2005-12-05 Andreas Gruenbacher - - * src/copy.c [!HAVE_FCHOWN]: Define fchown(...) to -1. - (set_owner, preserve_author): New functions, factored out of copy_reg. - (copy_reg): Use them. - (copy_internal): Use them here, too. - -2005-12-04 Jim Meyering - - * src/sleep.c (usage): Say what happens with two or more arguments. - Suggested by Justin Pryzby. - - * src/uptime.c (print_uptime): Move decl of `upsecs' into scope - where it's used. - -2005-12-03 Jim Meyering - - * src/rm.c (long_opts): Change the name of each undocumented, for- - testing-only option to start with `-', so that it cannot render - ambiguous any prefix it happens to share with some other option name. - Problem reported by Eric Blake. - * src/head.c (long_options): Likewise. - * src/tail.c (long_options): Likewise. - - * tests/misc/head-elide-tail: Update uses of undocumented, for- - testing-only --presume* options to start with `---'. - * tests/rm/dangling-symlink: Likewise. - * tests/rm/dir-no-w: Likewise. - * tests/rm/isatty: Likewise. - -2005-11-30 Jim Meyering - - * Makefile.maint: Add a comment about cvsu. - -2005-11-25 Paul Eggert - - * NEWS: df updates for "none", "proc", inaccessible file systems. - * src/df.c (show_point): Ignore inaccessible file systems. - (usage): -a includes dummy file systems, not size-0 file systems. - - * src/od.c (unsigned_long_long_int): Renamed from ulonglong_t, - to avoid collision with POSIX name space. All uses changed. - -2005-11-24 Jim Meyering - - * tests/Makefile.am (EXTRA_DIST): Add acl to the list. - * tests/acl: Add `$0: ' prefix to diagnostics. - - * .x-sc_require_config_h: Add lib/buffer-lcm.c to the list. - -2005-11-23 Paul Eggert - - * src/copy.c: Improve performance a bit by optimizing away - unnecessary system calls and going to a block size of at least - 8192 (on normal hosts, anyway). This improved performance 5% on my - Debian stable host (2.4.27 kernel, x86, copying from root - ext3 file system to itself). - Include "buffer-lcm.h". - (copy_reg): Omit last argument. All callers changed. - Use xmalloc to allocate rather than trusting alloca - (which is unwise with large block sizes). - Declare locals more locally, if possible. - Use uintptr_t words instead of int words, for a bit more speed - when looking for null blocks on 64-bit hosts. - Optimize away reads of zero bytes on regular files. - In the typical case, insist on 8 KiB buffers, at least. - Avoid unnecessary extra call to fstat when checking for sparse files. - Avoid now-unnecessary cast to off_t, and "0L". - Avoid unnecessary test of *new_dst when checking for same owner - and group. - -2005-11-22 Paul Eggert - - * src/remove.c (rm): Don't assume C99 for-loop syntax. - -2005-11-22 Jim Meyering - - * src/remove.c (AD_push): Remove debugging cruft. - - * tests/rm/unread2 (rm): Change expected diagnostic, - `cannot open directory' to `cannot remove', to align with - new version of rm. - * tests/rm/rm2: Ensure that rm now continues removing entries - even after certain types of failure. - - * src/remove.c: Rewrite. Now, this module is reentrant on systems - that provide openat (Solaris), and on systems like Linux+procfs - where our openat emulation code is reentrant. This also fixes a - few low-probability leaks and eliminates some code that could, - in very unusual circumstances, cause rm() (via a callee) to exit. - * NEWS: Mention this. - - * configure.ac: Put copyright dates all on one line so the - emacs function that updates them works properly. - -2005-11-18 Paul Eggert - - * configure.ac (AM_PROG_CC_C_O): Add. Needed for CVS Automake. - Problem reported by Eric Blake. - (AC_PROG_CC_STDC): Use this instead of AC_PROG_CC, so that - we get a standard-conforming compiler. This relies on the new - m4/c.m4 file. Note that it's a bit tricky, since c.m4 doesn't - define AC_PROG_CC_STDC; we are relying on Autoconf 2.59 internals. - m4/c.m4 can go away with Autoconf 2.60 comes out. - -2005-11-17 Jim Meyering - - * src/remove.c (AD_mark_helper): Make a `char *' parameter `const'. - (AD_mark_current_as_unremovable): Likewise, but for a local. - (rm_1): Likewise. - - * tests/mv/acl: Let traps handle removing temporary directories. - - Expect acl-related tests to fail, until the corresponding - patches are committed. - * tests/mv/Makefile.am (XFAIL_TESTS): Add acl. - * tests/cp/Makefile.am (XFAIL_TESTS): Likewise. - - ACL tests, from Andreas Gruenbacher. - * tests/acl, tests/mv/acl, tests/cp/acl: New files. - * tests/mv/Makefile.am (TESTS): Add acl. - * tests/cp/Makefile.am (TESTS): Add acl. - - * src/ls.c (basename_is_dot_or_dotdot): Correct wording in comment. - -2005-11-16 Paul Eggert - - * NEWS: Improve quality of ln's diagnostics. - * src/ln.c (do_link, usage): Likewise. - (do_link): Don't use alloca on a buffer of unbounded size. - -2005-11-16 Jim Meyering - - * tests/cp/fail-perm: Accommodate HPUX. It appears to fail - with EACCES rather than EPERM. Reported by Peter O'Gorman here: - http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/5766 - This also affects AIX 4.3.3, according to Ralf Wildenhues, in - http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html - -2005-11-14 Jim Meyering - - * NEWS (sort): Mention consequences of today's mkstemp-safer.c fix. - -2005-11-13 Jim Meyering - - * announce-gen: Accept new option, --gpg-key-id=ID and - emit a blurb telling how to use the .sig files. - * Makefile.cfg (gpg_key_ID): Define. - * Makefile.maint (announcement): Use new option and key. - - Require that most .c files include . - * Makefile.maint (sc_require_config_h): New rule. - (syntax-check-rules): Add it. - * .x-sc_require_config_h: New file listing exceptions to the - above rule. Some are legit, others are simply grandfathered in. - * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h here, too. - -2005-11-12 Jim Meyering - - * src/checksum.h, src/md5.c, src/sha1sum.c: Remove now-unused files. - -2005-11-11 Jim Meyering - - * NEWS: Mention `readlink -f' bug fix in 5.3.0 news. - Mention new readlink options in 5.3.0's `New features' section. - Spotted by Thomas Hood. - -2005-11-08 Jim Meyering - - * NEWS: Merge in changes from b5_9x branch. - -2005-11-08 Paul Eggert - - * NEWS: ls now defaults to --time-style='locale', which in turn acts - like --time-style='posix-long-iso' if the locale settings are messed up. - * src/ls.c (decode_switches): Implement this. - -2005-11-08 Jim Meyering - - * tests/du/2g: s/expensive/very expensive/ in a comment. - From Paul Townsend. - -2005-10-17 Eric Blake - - * src/ls.c (usage): Fix descriptions of --sort, --time. - Reported by Vitaly A. Ostanin. - -2005-11-04 Paul Eggert - - * src/ln.c: Include filenamecat.c. - (FILE_BASENAME_CONCAT): Remove. - (do_link): Remove last arg DEST_IS_DIR. All callers changed. - (main): Use file_name_concat, base_name, and strip_trailing_slashes - instead of FILE_BASENAME_CONCAT. This simplifies the code, and avoids - the use of alloca. - -2005-11-04 Jim Meyering - - * src/du.c (process_file): Don't overflow for files of size >= 2^31 - on systems with stat.st_blocks of a signed 32-bit type. - This bug causes trouble on some AIX 5.1 systems. - Report and trivial patch from Paul Townsend: - - * NEWS: Mention this. - - * tests/du/2g: New (very-expensive) test for the above-fixed bug. - * tests/du/Makefile.am (TESTS): Add it here. - * tests/very-expensive: New file. - * tests/Makefile.am (EXTRA_DIST): Add it here. - * tests/cp/perm: Mark this test as `very-expensive', too. - -2005-11-02 Paul Eggert - - * NEWS: Mention that rm -d and maybe ln -d are scheduled for - removal in 2006. - * src/remove.h (struct rm_options): Remove unlink_dirs. All uses - removed. - * src/rm.c (usage): Don't mention rm -d. - -2005-11-02 Jim Meyering - - * tests/dd/skip-seek: Fix typo in comment: s/fileutils/coreutils. - From Andreas Schwab. - - * tests/dd/unblock-sync: Redirect stderr to /dev/null so the - `M+N records in/out' lines don't pollute `make check' output. - - * tests/dd/skip-seek (sk-seek4): New test, to exercise the bug - fixed on 2005-10-31. This test uses the new, IN_PIPE specifier. - * tests/Coreutils.pm: Accept a new type of input specifier: IN_PIPE, - to indicate that the input file should be piped into the command - under test (via `cat FILE | $prog ...'). - - * src/remove.c (remove_entry): Emit a better diagnostic when rm - (without -r) fails to remove a directory on a non-Linux system. - This change affects only newer Solaris systems (with priv_* - functions like priv_allocset). Reported by Keith Thompson. - - * tests/rm/dir-nonrecur: New file/test for the above fix. - * tests/rm/Makefile.am (TESTS): Add dir-nonrecur. - -2005-11-01 Paul Eggert - - * NEWS: "tail -c 2 FILE" and "touch 0101000000" now operate as - POSIX 1002.1-2001 requires. - * src/tail.c (parse_obsolete_option): Implement this. - Problem reported by Vincent Lefevre. - * src/touch.c (main): Pass PDS_PRE_2000 to posixtime. - * tests/tail/Test.pm (c-2, c-2-minus, c2, c2-minus): New tests. - (test_vector): Add special cases for _POSIX2_VERSION, and - regularize the old ones a bit. - * tests/touch/obsolescent: Add y2000 test. - -2005-10-31 Paul Eggert - - * src/dd.c (skip): Fix off-by-one error reported by - Theodoros V. Kalamatianos. - -2005-10-30 Paul Eggert - - * tests/mkdir/p-3: Require that the test be run as non-root. - Problem and trivial fix reported by Theodoros V. Kalamatianos. - -2005-10-28 Paul Eggert - - * src/ln.c (FILE_BASENAME_CONCAT): Omit unnecessary slashes in the - boundary between DEST and SOURCE in the result. - -2005-10-26 Dmitry V. Levin - - * src/md5sum.c (main) [!O_BINARY]: Changed default read mode - back to text, to sync with documentation and for backwards - compatibility. - -2005-10-25 Jim Meyering - - * tests/dircolors/simple (other-wr): Add an explicit test for - the dircolors bug (NULL-dereference) fixed yesterday. - -2005-10-24 Jim Meyering - - * src/tac.c (tac_file): When determining whether a file is seekable, - also test whether it is a tty. Using only the lseek-based test would - give a false positive on Solaris. Reported by Peter Fales. - -2005-10-24 Dmitry V. Levin - - * tests/install/d-slashdot: New test, for "install -d" failure. - * tests/install/Makefile.am (TESTS): Add d-slashdot. - * tests/mkdir/p-slashdot: New test, for "mkdir -p" failure. - * tests/mkdir/Makefile.am (TESTS): Add p-slashdot. - -2005-10-24 Jim Meyering - - * src/dircolors.c (ls_codes): Add missing comma. - Anonymous report and patch from - http://savannah.gnu.org/bugs/?func=detailitem&item_id=14849 - - * src/dircolors.c: Add compile-time assertion that the slack_codes - and ls_codes arrays have the same number of elements. This would - have prevented the above-fixed bug. - - * src/expand.c (parse_tab_stops): Add a comment to make this function - identical to the one in unexpand.c. - * src/unexpand.c (parse_tab_stops): Adjust syntax to make this function - identical to the one in expand.c. - - * src/expand.c (next_file): Don't assume fopen cannot return stdin. - -2005-10-23 Jim Meyering - - * src/md5sum.c (digest_check, main): Use ptr_align rather than - a dangerous pointer-value-to-`unsigned' cast. - * NEWS: mention the new sha* programs. - * AUTHORS: Add new sha* programs. - -2005-08-28 David Madore - - Add new programs: sha224sum, sha256sum, sha384sum, sha512sum. - * README: Add their names to the list. - * src/md5sum.c: Provide framework for computing sha-2 hashes. - * src/Makefile.am (sha224sum, sha256sum, sha384sum, sha512sum): - Rules for compiling sha-2 utilities - (noinst_HEADERS): Remove checksum.h. - * man/sha512sum.x, man/sha384sum.x, man/sha256sum.x, man/sha224sum.x: - New files. - * man/Makefile.am (dist_man_MANS): Add the corresponding .1 names. - (sha224sum.1, sha256sum.1, sha384sum.1, sha512sum.1): New dependencies. - * tests/misc/sha224sum, tests/misc/sha256sum: New files. - * tests/misc/sha384sum, tests/misc/sha512sum: New files. - * tests/misc/Makefile.am (TESTS): Add new sha224sum, sha256sum, - sha384sum, sha512sum test scripts here rather that each in its - own directory. - -2005-08-28 David Madore - - * tests/sha1sum/basic-1 (million-a): Add the "million a's" test (one - of the FIPS test vectors). - -2005-10-23 Jim Meyering - - * configure.ac: Use 6.0-cvs as the version string. - * NEWS: Adjust accordingly. - -2005-10-22 Jim Meyering - - * Version 5.92. - - * configure.ac: Remove -cvs suffix from version string. - * NEWS: Add today's date. - - * tests/mkdir/writable-under-readonly: New test, neither run - nor distributed via tarballs. - -2005-10-20 Jim Meyering - - * tests/chmod/octal: New file/test, to exercise today's - lib/modechange.c fix. - * tests/chmod/Makefile.am (TESTS): Add octal. - * NEWS: Mention this chmod fix as well as the dircolors one. - -2005-10-18 Paul Eggert - - * src/dircolors.c (append_quoted): Quote ' correctly. - Problem reported by Eric Blake. - -2005-10-19 Jim Meyering - - * tests/dircolors/simple (quote): Add test for the above fix. - -2005-10-18 Jim Meyering - - * tests/chgrp/basic: Add a comment explaining (probably) why this - test fails on OpenBSD 3.2 when run in an NFS-mounted directory. - -2005-10-17 Jim Meyering - - * configure.ac: Use 5.92-cvs as the version string. - * NEWS: Adjust accordingly. - - * Makefile.maint (my-distcheck): Depend on - $(release_archive_dir)/$(prev-tgz) here, so that if it's missing - we fail earlier. - -2005-10-16 Jim Meyering - - * Version 5.91. - - * Makefile.maint (VERSION_REGEXP): New variable. - (news-date-check, changelog-check): Use tighter regular expressions. - - * configure.ac: Remove -cvs suffix from version string. - * NEWS: Add today's date. - - * NEWS: Mention the `mkdir -p' bug fix. - -2005-10-15 Jim Meyering - - * src/who.c (usage): Undocument deprecated --idle (-i) option. - - * src/df.c (main): Warn about the deprecated --kilobytes option. - * src/ls.c (decode_switches): Likewise. - - * src/du.c (usage): Document -m, once again. - (main): Warn about use of deprecated long options: - --kilobytes and --megabytes. - * src/tail.c (parse_options): Remove --allow-missing option. - You can use --retry instead. - * src/stat.c (main): Remove --link -l options. - You can use --dereference (-L) instead. - -2005-09-30 Eric Blake (tiny change) - - * man/Makefile.am (.x.1): Remove temp directory first. - * NEWS: Document dircolors change of 2005-09-05. - -2005-10-07 Paul Eggert - - * src/sort.c (sortlines_temp): Redo previous change, since I'm - no longer confident that the m4/stdbool.m4 patch suffices. - -2005-10-06 Paul Eggert - - * src/sort.c (sortlines_temp): Undo previous change, since - today's change to m4/stdbool.m4 should catch it. - -2005-10-06 Jim Meyering - - * TODO: rm: add support for a -I option, like that from FreeBSD's. - -2005-10-05 Jim Meyering - - * src/sort.c (sortlines_temp): Declare temporary as `int' rather - than `bool' to work around AIX 5.3 compiler bug in 64-bit mode. - From James Lemley. - -2005-10-03 Jim Meyering - - * src/factor.c (MAX_N_FACTORS): Define in terms of sizeof (uintmax_t) - rather than hard-coding to 128. From Thomas M.Ott. - -2005-10-02 Jim Meyering - - * Makefile.maint (sc_unmarked_diagnostics): - Search only cvs-controlled files. - * .x-sc_unmarked_diagnostics: New file. - * Makefile.am (EXTRA_DIST): Add it. - -2005-10-01 Jim Meyering - - * src/factor.c (main): Don't stop processing arguments upon - the first invalid one. Suggestion from Eric Blake - * tests/factor/basic: Add a test for this. - -2005-09-30 Jim Meyering - - * configure.ac: Use 5.91-cvs as the version string. - * NEWS: Adjust accordingly. - -2005-09-29 Paul Eggert - - * src/dd.c (main): Don't assume size_t has the same width - as unsigned long. Problem reported by Eric Blake. - - * NEWS: Clarify "tail - f" example. - -2005-09-29 Jim Meyering - - * Version 5.90. - - * configure.ac: Remove -cvs suffix from version string. - * NEWS: Add today's date. - - * NEWS: Mention this bug fix: - stat now exits nonzero if a file operand does not exist - -2005-09-28 Paul Eggert - - * src/system.h (LONGEST_MODIFIER): Use ULONG_MAX_LT_ULLONG_MAX - instead of ULLONG_MAX, as the latter doesn't work with GCC 2.7.2.1. - -2005-09-28 Jim Meyering - - * configure.ac: Use 5.90-cvs as the version string, not 5.3.1-cvs. - * NEWS: Adjust accordingly. - - * README: Remove note about FreeBSD make test failure. - -2005-09-28 Paul Eggert - - * tests/install/trap: Work around a bug in FreeBSD 5.0. - -2005-09-28 Jim Meyering - - * README: Warn about a (now-)known problem on FreeBSD 5.0: - -2005-09-26 Paul Eggert - - * src/touch.c (touch): Handle "touch -c - >&-" by checking for EBADF - and ENOSYS. - Do not pass "-" to futimens; pass NULL instead. - If close (STDIN_FILENO) fails, report the error separately instead - of letting the 'close' pollute errno. - * tests/touch/empty-file: Test "touch -" too. - * tests/touch/no-create-missing: Likewise. - * tests/touch/read-only: Likewise. - -2005-09-26 Jim Meyering - - * tests/touch/read-only: New test, for root of chmod/usage failure. - * tests/touch/Makefile.am (TESTS): Add read-only. - - Work around the root cause of alpha-linux-1.sf.net test failure. - * tests/chmod/usage: Remove *all* files before each inner loop - iteration. Otherwise, with a touch program that fails on unwritable - files, (this happens at least on linux-2.2.20) a -w file left behind - from a previous iteration could cause a spurious test failure. - -2005-09-25 Paul Eggert - - * tests/chmod/usage: Undo the s/files/file/ change, but add - comments about why the old version was desired. - -2005-09-25 Jim Meyering - - * tests/ls-2/tests (setuid-etc): Work around output mismatch when - a just-created test file cannot be made set-group-ID. - - Avoid test failures on alpha-linux-1.sf.net. - * tests/chmod/usage: Use newer trap and tmpdir-creation framework. - Fix apparent typos (s/files/file/) in inner loop. - -2005-09-24 Paul Eggert - - * NEWS: "touch -" now touches standard output. - * src/touch.c (touch): Implement this. - (usage): Document this. - - * src/copy.c (HAVE_FCHMOD, HAVE_FCHOWN): Define to 0 if not defined. - (copy_reg): New args CHOWN_SUCCEDED and DST_SB. All callers changed. - Add a "goto close_src_and_dst_desc;" that was missing in the - previous patch. - (copy_reg) [HAVE_FCHOWN]: Prefer fchown to chown. - (copy_reg) [HAVE_FCHMOD]: Prefer fchmod to chmod. - (copy_internal): Don't invoke chown if fchown worked, - and likewise for chmod and fchmod. - -2005-09-24 Jim Meyering - - * src/shred.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H', - for consistency with gnulib. - * src/dircolors.c: Likewise. - - * Makefile.maint (sc_no_if_have_config_h): New rule. - (syntax-check-rules): Add it. - .x-sc_no_if_have_config_h: New file. - * Makefile.am (EXTRA_DIST): Add it. - - * tests/seq/basic (eq-wid-1, eq-wid-2): Disable these tests for now. - They fail with non-gcc compilers and some combinations - of options and libraries on Solaris systems. - - * tests/misc/date (uninit-64): Restore this test. - Add start-up code to detect, and work around, the cases in - which the test might fail. - -2005-09-24 Paul Eggert - - * tests/misc/date (uninit-64): Remove this test. It wasn't - portable in theory (it doesn't work on hosts where 'int' is 64 - bits, example) or in practice (Solaris 8 localtime returns garbage - in tm_year for the specified date, but that's not coreutils's - fault). - -2005-09-23 Paul Eggert - - * src/copy.c (copy_reg): Preserve time stamps if - x->preserve_timestamps is set, using futimens so that - we needn't resolve the path again. - (copy_internal): Don't preserve time stamps if copy_reg did it - already. - * src/install.c (change_timestamps): First arg is source - struct stat, not file name. All uses changed. - (install_file_in_file): Stat the source file. - Don't try to change time stamps if copy_file did it. - * src/system.h: Don't include utime.h; not needed. - (struct utimbuf) [!defined HAVE_STRUCT_UTIMBUF]: Remove; not needed. - -2005-09-23 Jim Meyering - - * src/od.c: Use `verify' to ensure that our hard-coded - bytes_to_*_digits arrays are long enough. Of course, 17+-byte - integral types aren't on the near horizon, but just in case... - (MAX_INTEGRAL_TYPE_SIZE): Move definition to precede new first use. - (bytes_to_oct_digits, bytes_to_signed_dec_digits): - (bytes_to_unsigned_dec_digits, bytes_to_hex_digits): Change base - type from `char' to the clearer `unsigned int'. - -2005-09-21 Paul Eggert - - * src/rmdir.c (EEXIST, ENOTEMPTY): Remove unused macros. - - Sync from gnulib. - - * src/dircolors.c: Include strcase.h. - * src/pinky.c: Include canon-host.h rather than declaring - canon_host ourselves. - * src/who.c: Likewise. - - * src/system.h (X2NREALLOC, X2REALLOC): Moved here from - ../lib/xalloc.h, with args properly parenthesized, and using - verify_expr rather than the old VERIFY_EXPR. - -2005-09-21 Jim Meyering - - * tests/install/basic-1: Require that this test be run as non-root. - Otherwise, it fails due to the fact that the chmod 0 . doesn't - affect root. - -2005-09-20 Jim Meyering - - * src/remove.c (write_protected_non_symlink): Change comment to - agree with the code. - -2005-09-19 Jim Meyering - - * src/remove.c (remove_dir): Return RM_ERROR, not `1', - when attempting to remove `/' with --preserve-root. - - * src/remove.c (remove_cwd_entries): Syntactic tweak: move an - assignment out of an if-expression. - -2005-09-17 Jim Meyering - - * src/extract-magic (usage): Request that additions be sent to - bug-coreutils@gnu.org, too. - -2005-09-16 Jim Meyering - - * tests/misc/date (rfc822-1): Compensate for Solaris 5.9's /bin/sh, - which emits a diagnostic to stderr when this test's LC_ALL=de_DE - setting cannot be honored. - - * tests/misc/date (subfmt-up1): Put quotes around format string - to protect `^' from interpretation by some shells. - Add a use of OUT_SUBST to compensate for Solaris strftime's slightly - different formatting of %c. - - * src/dd.c (main): When failing to truncate, mention both the seek - block count and the block size, in case the block size is very large. - Now `make distcheck' should pass, once again. - -2005-09-16 Paul Eggert - - * src/copy.c: Include stat-time.h. - (copy_internal): Use its functions instead of the obsolete - TIMESPEC_NS macro. - * src/cp.c (re_protect): Likewise. - * src/date.c (main): Likewise. - * src/du.c (struct duinfo, duinfo_init, duinfo_set, duinfo_add): - (show_date, print_size, process_file): Likewise. - * src/install.c (change_timestamps): Likewise. - * src/ls.c (cmp_ctime, cmp_mtime, cmp_atime, print_long_format): - Likewise. - * src/pr.c (init_header): Likewise. - * src/stat.c (human_time, print_stat): Likewise. - * src/tail.c (record_open_fd, tail_forever): Likewise. - * src/test.c (get_mtime, binary_operator): Likewise. - * src/touch.c (touch, main): Likewise. - * src/test.c (get_mtime): Renamed from age_of. All uses changed. - -2005-09-16 Jim Meyering - - Date no longer needs to allocate virtual memory to do its job, - so it can no longer fail due to an out-of-memory condition. - - * src/date.c: Include fprintftime.h. - Don't include strftime.h or xanstrftime.h -- no longer needed. - (show_date): Use new fprintftime function rather than xanstrftime. - Correct comment: this function no longer handles a NULL format string. - * src/du.c: Likewise. - * NEWS: Mention this. - - * tests/misc/date (subfmt-up1): Test the combination of the - to-upper-case modifier (^) and a conversion specifier that - expands to a string containing lower case characters. - -2005-09-15 Paul Eggert - - * NEWS: uname -a no longer generates the -p and -i outputs if they - are unknown. - * src/uname.c (usage): Document this. - (main): Implement this. - -2005-09-14 Jim Meyering - - * tests/misc/date (tz-5w, tz-5wf): Test new %:z format with - a field width. - -2005-09-13 Paul Eggert - - * src/dd.c: Detect some very unlikely buffer overflows. - (INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP): New macros. - (MAX_BLOCKSIZE): Now accepts an arg. All uses changed. - (page_size): New var. - (scanargs, skip, main): Use more-straightforward way to detect overflow. - (dd_copy): Use page_size rather than invoking getpagesize. - Use INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP. - (main): Set page_size. - Avoid a call to stat in the usual case where ftruncate succeeds. - - * src/expr.c (docolon): Add IF_LINT check to avoid GCC warning. - - * configure.ac: Don't invoke AC_CONFIGURE_HOST directly; AB_INIT - does it for us, and our invocation evokes a diagnostic from - Autoconf 2.59. - - * NEWS: date has a new --rfc-3339 option, and the old --iso-8601 - option is deprecated. date, du, ls, and pr also have new time format - specifiers %:z, %::z, %:::z. - * src/date.c (TIME_SPEC_DATE): No longer needs to be nonzero, so - remove the "=1". - (TIME_SPEC_HOURS, TIME_SPEC_MINUTES): Must be at end now, so put - them there. - (time_spec_string, time_spec): Hours and minutes must be at - start now, so put them there. - (rfc_2822_format): Now a string constant, not a boolean. All uses - changed. - (iso_8601_format, rfc_format): Remove. - (RFC_3339_OPTION): New constant. - (long_options): Add --rfc-3339. - (usage): Add --rfc-3339. Don't mention --iso-8601. - Mention %:z, %::z, %:::z. - (main): Simplify calculation of 'format'; it was getting too hairy - to follow. Add --rfc-3339. - (show_date): Assume format arg is not NULL, which is the case - now. The default code is moved to 'main'. This simplifies things - and allows the default to be calculated just once. - * tests/misc/date: Add tests for --rfc-3339, %:z, %::z, %:::z. - -2005-09-13 Jim Meyering - - * Makefile.maint (GZIP_ENV): Add --rsyncable option. - (makefile-check): Escape a `$' in a diagnostic. - - * configure.ac: Use AB_INIT (from autobuild). - -2005-09-11 Jim Meyering - - * src/factor.c (usage): Remove leading spaces in 2-line - description, so that help2man doesn't mangle it. - Reported by Justin Pryzby. - -2005-09-10 Jim Meyering - - csplit could produce corrupt output, given input lines longer than 8KB - - * src/csplit.c (load_buffer): Don't read from free'd memory - when handling lines longer than the initial buffer length. - (save_to_hold_area): Don't leak the previous hold_area buffer. - Reported by Tristan Miller and Luke Kendall. - * NEWS: Mention this. - * tests/misc/csplit: New test for this. - - * src/csplit.c (load_buffer): Avoid integer overflow in buffer - size calculations for very long lines. - -2005-09-09 Paul Eggert - - Support regular expressions in 64-bit code correctly, by - importing the latest gnulib regexp code, and not assuming - that sizes fit in 32 bits. - * src/csplit.c (process_regexp): Store match length in regoff_t, - not int. Assume that negative return values less than -2 - represent regoff_t overflow. - * src/expr.c (docolon): Likewise. - * src/nl.c (proc_text): Likewise. - * src/ptx.c (SKIP_SOMETHING, find_occurs_in_text): Likewise. - * src/tac.c (tac_seekable): Likewise. - * src/expr.c (docolon) Check for size calculation overflow. - * src/nl.c (build_type_arg): Likewise. - * src/ptx.c (matcher_error): New function. - (SKIP_SOMETHING): Use it to report matcher errors. - (alloc_and_compile_regex): No longer any need to worry about - int versus size_t mismatch. - - * NEWS: Document "niceness" vs "nice value". - * configure.ac (utils_cv_func_setpriority): Simplify the tests. - Define HAVE_NICE rather than NICE_PRIORITY (since a niceness is - not a priority); all uses changed. - * src/nice.c (main): Hoist errno=0 outside the ifdef. - -2005-09-09 Jim Meyering - - * tests/misc/date (neg-secs2, fill-1, fill-2): Add new tests. - -2005-09-07 Paul Eggert - - Use the phrase "niceness" instead of "nice value" to describe - the biased nice value that can go negative. This corrects - a discrepancy with POSIX, which states that nice values are - nonnegative. - * src/nice.c (GET_NICENESS): Renamed from GET_NICE_VALUE. - All uses changed. - (usage): Say "niceness" rather than "nice value". - (main): Say "niceness" rather than "priority" (which is something else - entirely nowadays). - -2005-09-07 Jim Meyering - - * src/du.c (time_args): Use NULL in place of 0. - -2005-09-05 Jim Meyering - - * src/dcgen: Don't omit comments until there is better documentation. - - Colorize set-user-ID and set-group-ID files and sticky, - other-writable, and sticky-and-other-writable directories. - * src/dircolors.c (slack_codes): Add new dircolors mode names. - (ls_codes): Add corresponding two-letter ls mode strings. - * src/ls.c (indicator_no[]): Add new symbols. - (indicator_name[]): Add corresponding mode strings. - (color_indicator[]): Add an entry for each new mode string. - (print_color_indicator): Honor new types. - * src/dircolors.hin: Document the default colors for the new strings. - From Mike Frysinger, based on a patch from Fedora. - * tests/ls-2/tests (setuid-etc): New test, for the above. - -2005-08-29 Paul Eggert - - * NEWS: "rm -FOO" now suggests "rm ./-FOO" if the file "-FOO" - exists and "-FOO" is not a valid option. - * src/rm.c: Include lstat.h, quotearg.h. - (diagnose_leading_hyphen): New function. - (main): Use it. - -2005-08-27 Jim Meyering - - * src/du.c: Go ahead and leave the patch in (i.e., revert - today's change). It doesn't cause a problem after all, since - --exclude-from=- is always handled before --files0-from=F. - - * src/du.c: Revert the du.c part of the change from 2005-07-02: - That change (to reopen stdin on F for --files0-from=F) made it so - --exclude-from=- and --files0-from=F would not work together. - -2005-08-23 Jim Meyering - - * configure.ac: Use `5.3.1-cvs' as the version string. - * NEWS: Adjust accordingly. - - * Makefile.maint (sc_useless_cpp_parens): New rule. - (syntax-check-rules): Add it. - * .x-sc_useless_cpp_parens: New file. - * Makefile.am (EXTRA_DIST): Add it. - - * src/od.c: Include unconditionally. - * src/uptime.c (print_uptime): Remove unnecessary parens in - `#if defined (SYMBOL)' expressions. - * src/system.h: Likewise. - * src/hostname.c: Likewise. - * src/su.c: Likewise. - * src/test.c: Likewise. - -2005-08-22 Jim Meyering - - * src/tail.c (xwrite_stdout): Rename from xwrite. Remove always- - equal-to-STDOUT_FILENO parameter and associated assertion. - Adjust all callers. - -2005-08-21 Jim Meyering - - * src/ln.c (do_link): If ln is invoked with --interactive (-i), - encounters an existing destination file, and gets an affirmative - response, then first try to unlink the destination file rather - than simply failing. Suggestion from Karl Berry. - FIXME: add test for this - - * src/ln.c (main): Declare `target_directory' with const attribute. - * src/du.c (time_style): Add `const' attribute. - (tot_dui): Remove unnecessary (and too-short) initializer list. - -2005-08-19 Jim Meyering - - * src/sort.c (usage) [-b,-t]: Ensure that there are at least two - spaces between each option and the corresponding description -- this - lets help2man format entries properly. Reported by Edward Welbourne. - -2005-08-17 Jim Meyering - - * src/sort.c (usage): Fix typo s/POS 2/POS2/. - Reported by Edward Welbourne. - - * tests/misc/date [neg-secs]: New test for today's strftime.c bug fix. - * tests/misc/date: Remove terminating "\n"s once again. - Automatically add them whenever EXIT != 0. - -2005-08-16 Paul Eggert - - * src/df.c (show_dev): New arg STAT_FILE. All uses changed. - This sometimes gives better results on networked file systems - that do not respect POSIX semantics. Problem reported by - Bruno Haible. - -2005-08-15 Jim Meyering - - Don't print uninitialized data (or anything else) to stdout - upon localtime failure. - * src/date.c (show_date): Remove stray `puts (buf);' (debugging?) - from the 2004-02-02 change. - * tests/misc/date (uninit-64): New test for the above. - Rewrite all other OUT strings to include the terminating "\n". - -2005-08-14 Jim Meyering - - * src/md5sum.c (usage): Fix typo s/formated/formatted/ reported - by Norbert Kiesel. - - Use one fewer file descriptor in a common case. - * src/touch.c: Include "fd-reopen.h", rather than "fcntl--.h". - Use fd_reopen rather than open. - -2005-08-14 James Youngman - - * src/test.c (age_of): Return the nanoseconds part of the timestamp, - if available. - (binary_operator) [-nt, -ot]: Use nanosecond values to break ties. - -2005-08-14 Jim Meyering - - * src/ls.c (long_time_expected_width): Revert last change, just to - be paranoid, and add a comment explaining why. Paul Eggert mentioned - the possibility. - - * src/wc.c: Don't define mbrtowc at all. - If mbstate_t is not defined, then AC_TYPE_MBSTATE_T will define - it to `int' for us. Now wc.c really does compile on HP-UX 11.23. - -2005-08-13 Jim Meyering - - * tests/date: Remove directory - * tests/Makefile.am (SUBDIRS): Remove date. - * configure.ac (AC_CONFIG_FILES): Remove tests/date/Makefile. - - * tests/Coreutils.pm: New keywords, ENV and ENV_DEL, to support - tests/misc/date. - - With today's additions, the generated shell script, - tests/date/date-tests had becoming far too large (over 350KB), - so use the superior-but-perl-requiring framework instead. - * tests/date/Test.pm: Move all tests from here... - * tests/misc/date: ...to this new file. - * tests/misc/Makefile.am (TESTS): Add date. - - * tests/date/Test.pm (test_vector) [cross-dst]: New test for - just-fixed getdate.y bug. - * tests/date/Test.pm (test_vector): Add 364 more tests like the above. - Remove unused $sunos4 variable. - -2005-08-12 Jim Meyering - - * src/nohup.c (main): Explain why we reopen stdin for write-only access. - - * src/ls.c (long_time_expected_width): Don't test for failed localtime. - That cannot happen when the result date's year is in range. - Add an assertion instead. - - * src/ls.c (sort_files): Use cleaner `sizeof *VAR_NAME' - rather than `sizeof (TYPE_NAME)'. - * src/ptx.c (sort_found_occurs, digest_word_file): Likewise. - (alloc_and_compile_regex): Likewise. - - * src/wc.c: Test `!defined HAVE_MBSTATE_T' rather than - `defined mbstate_t' to detect missing support for mbstate_t. - The latter didn't work for HP-UX 11.23. - - Add bulletproofing in case stdin is closed. - * src/dircolors.c (have_read_stdin): Remove global variable. - (dc_parse_stream): Always use stdin (freopen, if needed) rather - than sometimes using fopen to get a new file descriptor. - Call fclose unconditionally. - (main): Don't close stdin here. If needed, now it's already done - by dc_parse_stream. - - * src/dircolors.c (dc_parse_file): Remove comment about - now-removed OPENOPTS. - - * src/fold.c (fold_file): Cosmetic: use X2REALLOC rather than x2realloc. - * src/pr.c (main): Likewise. - - * src/csplit.c (new_control_record): Cosmetic: use X2NREALLOC (only - two arguments) rather than x2nrealloc (with three). - * src/cut.c (ADD_RANGE_PAIR): Likewise. - * src/expand.c (add_tab_stop): Likewise. - * src/join.c (extract_field, getseq): Likewise. - * src/od.c (decode_format_string): Likewise. - * src/sort.c (add_temp_dir): Likewise. - * src/unexpand.c (add_tab_stop): Likewise. - - * src/pr.c (main): Cosmetic: use '\0' in place of 0. - -2005-08-02 Jim Meyering - - * src/date.c: Include "xanstrftime.h". - (show_date): Use xanstrftime instead of open-coding it. - * src/du.c: Likewise. - -2005-07-29 Jim Meyering - - * src/date.c (show_date): Remove now-unnecessary code that - treated an empty format string as a special case. - * tests/date/Test.pm (empty-format): New test, for this case. - -2005-07-19 Jim Meyering - - * src/md5sum.c (usage): Adjust printf argument list to match - new format string. - -2005-07-19 Paul Eggert - - * NEWS: md5sum --check now accepts multiple input files, and - similarly for sha1sum. Extension suggested by Chris Girling. - * src/md5sum.c (usage, main): Support this new usage. - -2005-07-18 Paul Eggert - - Fix a problem noted by James Youngman: VPATH-style builds don't - work because of po file problems. - * src/Makefile.am (BUILT_SOURCES): Remove false.c. - (false.c): Remove; it's now a source file. - * src/false.c: New file. - * src/true.c (EXIT_STATUS): New macro. - (PROGRAM_NAME, usage): Behave like "false" if EXIT_STATUS indicates. - (usage): Remove "These option names may not be abbreviated." - -2005-07-15 Paul Eggert - - * src/nohup.c (main): Don't worry about POSIXLY_CORRECT. Today's - Austin Group Minutes says that the GNU behavior will be put - forward as proposed text for a future revision. - -2005-07-13 Paul Eggert - - * src/Makefile.am (nanosec_libs): Remove $(FESETROUND_LIBM); no longer - needed. Problem reported by Jeff Bailey. - -2005-07-12 Jim Meyering - - * Makefile.maint (copyright-check): Reflect rearrangement in - version-etc files. - -2005-07-11 Paul Eggert - - * NEWS: Binary input and output are now implemented more consistently. - These changes affect only platforms like MS-DOS that distinguish - between binary and text files. - * src/cat.c (usage, main, long_options) [O_BINARY]: - Remove support for -B. Use same rules as other programs to decide - whether to use binary I/O, except that the -bensAE options always - select text mode. - * src/cat.c (main): Avoid setmode; use POSIX-specified routines instead. - * src/cksum.c (cksum): Likewise. - * src/head.c (head_lines, head_file): Likewise. - * src/od.c (open_next_file): Likewise. - * src/split.c (main): Likewise. - * src/sum.c (bsd_sum_file, sysv_sym_file): Likewise. - * src/tac.c (copy_to_temp, tac_file, main): Likewise. - * src/tail.c (tail_bytes, tail_lines, tail_file, main): Likewise. - * src/tee.c (tee): Likewise. - * src/tr.c (main): Likewise. - * src/wc.c (wc): Likewise. - * src/copy.c (copy_reg): Always copy in binary mode. - * src/expand.c (expand): Always copy in text mode. POSIX says - the input and output must be text. - * src/unexpand.c (unexpand): Likewise. - * src/head.c (elide_tail_bytes_file, elide_tail_lines_file, head_bytes): - (head_lines, head_file): Always use binary mode except for std tty. - * src/md5sum.c (usage): Clarify whether text or binary is the default. - (split_3, main): BINARY is now a 3-way value. All uses changed. - (digest_file): Likewise. Clear *BINARY if we determine the file - to be text. All uses changed. - (main): Don't report a file to be binary if we actually read it - as text in MS-DOS, because it was a terminal. - * src/shred.c (wipefile): Always use binary mode. Clearly this - never worked right on DOS! - * src/system.h (setmode, fileno): Remove; no longer needed, we think. - (SET_MODE, SET_BINARY, SET_BINARY2): Remove. - [defined __DJGPP__]: Don't include or . - * src/wc.c (wc_file): FILE might be null now. - (main): Simplify code a bit, so that fewer places need the - setmode fixes. - -2005-07-09 Paul Eggert - - * src/comm.c, src/csplit.c, src/dd.c, src/join.c, src/md5sum.c: - * src/pr.c, src/sort.c, src/tee.c: - Don't include stdio.h; no longer needed. - -2005-07-08 Paul Eggert - - Fix porting problems reported by Eric Blake. - - * configure.ac: Remove check for AC_HEADER_TIOCGWINSZ. - * src/cat.c, src/ls.c, src/stty.c: Include stropts.h if available, - because POSIX says that's where ioctl is declared. - * src/cat.c: Use HAVE_SYS_IOCTL_H instead of _POSIX_SOURCE - to decide whether to include . - * src/stty.c: Use only HAVE_SYS_IOCTL_H to decide whether - to include . - - * src/id.c (print_user): Don't assume uid fits in unsigned int. - (print_group): Likewise, for gid. - -2005-07-05 Paul Eggert - - * src/system.h (DECIMAL_DIGIT_ACCUMULATE): Generate a hard error - (not just a warning) if GCC is used and the types don't match. - -2005-07-04 Paul Eggert - - * src/system.h (VERIFY_W_TYPEOF): Remove; no longer needed. - (DECIMAL_DIGIT_ACCUMULATE): Change last arg from T's maximum value - to T itself. All callers changed. Check that T is unsigned, and - that Accum is of type T. This fixes a bug in the unlikely case - where SIZE_MAX <= INT_MAX, and it no longer requires typeof to do - the proper validity checks. - - * src/od.c: Adjust to verify.h change. - * src/system.h (VERIFY_W_TYPEOF): Likewise. - -2005-07-04 Jim Meyering - - * src/system.h: Include "verify.h". - - * src/system.h (verify): Rename from VERIFY_EXPR, to be lower case, - like assert. Use sizeof, rather than equivalent ((...)0), for - it's slightly simpler syntax. Suggestions from Paul Eggert. - (verify_decl): Rename from VERIFY. - * src/od.c: Reflect name change. - -2005-07-03 Jim Meyering - - * NEWS: cp and mv: the --reply=X option is deprecated - Suggested by Bob Proulx, after numerous user complaints - about how --reply=no appeared not to work. - * src/mv.c (main): Using --reply now evokes a warning. - (usage): Remove description of --reply. - * src/cp.c (main): Using --reply now evokes a warning. - (usage): Remove description of --reply. - * tests/mv/i-link-no: Adjust for new diagnostic. - * tests/mv/reply-no: Likewise. - - * src/printf.c (verify_numeric): Rename from verify. - Update caller. - -2005-07-03 Paul Eggert - - * src/copy.h: Include "lstat.h" rather than rolling our own. - * src/ls.c: Likewise. - * src/remove.c: Likewise. - -2005-07-02 Paul Eggert - - Cleanup to isolate "safer" functions to a small part of the code. - * src/comm.c: Include stdio--.h, not stdio-safer.h. - (compare_files): Use fopen, not fopen_safer. - * src/copy.c: Include fcntl--.h, not unistd-safer.h. - (copy_reg): Don't call fd_safer; no longer needed - now that we include fcntl--.h. - * src/csplit.c: Include fd-reopen.h. - Include stdio--.h, not stdio-safer.h. - (input_desc): Remove. All uses changed to STDIN_FILENO. - (set_input_file): Reopen stdin, to simplify code. - (create_output_file): Use fopen, not fopen_safer. - * src/dd.c: Include fd-reopen.h. - (open_fd): Remove. All callers changed to use fd_reopen instead. - * src/join.c: Include stdio--.h, not stdio-safer.h. - (main): Use fopen, not fopen_safer. - * src/md5sum.c: Include stdio--.h. - (digest_check): Don't try to read both checksums and data from stdin. - * src/nohup.c: Include fd-reopen.h. - Include unistd--.h, not unistd-safer.h. - (main): Use fd_reopen to simplify code. When replacing stdin, - use "/dev/null" not "/", as that's less likely to go wrong these days. - (main): Use dup, not dup_safer. - * src/pr.c: Include stdio--.h, not stdio-safer.h. - (open_file): Invoke fopen, not fopen_safer. - * src/shred.c: Include fcntl--.h, not unistd-safer.h. - (wipename, wipe_file): Don't use fd_safer; no longer needed - now that we include fcntl--.h. - * src/sort.c: Include stdio--.h rather than stdio-safer.h. - Include stdlib--.h. Do not include unistd-safer.h. - (create_temp_file): Don't call fd_safer; no longer needed - now that we include *--.h files. - (xfopen): Don't call fopen_safer, for similar reasons. - * src/split.c: Include fcntl--.h rather than unistd-safer.h. - Include fd-reopen.h. - (input_desc): Remove. All uses replaced by STDIN_FILENO. - (cwrite): Don't call fd_safer; no longer needed now that - we include fcntl--.h. - (main): Reuse stdin rather than opening a new one. This - saves a file descriptor. - * src/stty.c: Include fd-reopen.h. - (display_all, display_settings, display_window_size, set_window_size): - Remove fd arg, since we now assume stdin. All callers changed. - (main): Reuse stdin rather than opening a new one. This - saves a file descriptor. - * src/tac.c: Include stdlib--.h rather than unistd-safer.h. - (copy_to_temp): Don't call fd_safer; no longer needed now - that we include stdlib--.h. - * src/tail.c: Include fcntl--.h, not unistd-safer.h. - (recheck, tail_file): Don't call fd_safer; no longer needed - now that we include fcntl--.h. - * src/tee.c: Include stdio--.h, not stdio-safer.h. - (tee): Don't call fopen_safer; no longer needed now that we - include stdio--.h. - * src/touch.c: Include fcntl--.h, not unistd-safer.h. - (touch): Don't call fd_safer; no longer needed now that - we include fcntl--.h. - - * src/du.c (main): Reuse stdin rather than opening a new stream. - This saves a file descriptor. - * src/uniq.c: Don't include stdio-safer.h; no longer needed. - (writeline): Remove stream arg; we now always output to stdout. - All callers changed. - (check_file): Reuse stdout rather than opening a new stream. - This saves a file descriptor. - -2005-07-02 Jim Meyering - - * Makefile.maint (sc_obsolete_symbols): New rule. - (syntax-check-rules): Add it to the list. - * Makefile.am (EXTRA_DIST): Add .x-sc_obsolete_symbols. - * .x-sc_obsolete_symbols: New file. - -2005-07-01 Jim Meyering - - * src/system.h: Assume HAVE_FCNTL_H (i.e., include - unconditionally, and don't include ). - * src/system.h: Likewise for HAVE_UNISTD_H. - -2005-06-30 Jim Meyering - - * src/cp.c: Add uses of ARGMATCH_VERIFY to ensure that - corresponding option string and value arrays are consistent. - * src/date.c: Likewise. - * src/du.c: Likewise. - * src/ls.c: Likewise. - cp.c and date.c each had a harmless trailing `, 0' (now-removed) - in a value list. - - * src/system.h (VERIFY): Guard definition with #ifndef. - (VERIFY_EXPR): Undef before defining. - -2005-06-29 Jim Meyering - - * src/pr.c (main, store_char): Use X2REALLOC rather than x2realloc. - * src/du.c (show_date): Likewise. - * src/date.c (show_date): Likewise. - * src/od.c (dump_strings): Likewise. - * src/sort.c (fillbuf): Likewise. - * src/chmod.c (main): Likewise. - - * src/system.h (VERIFY): Rewrite to use string-concatenation - and __LINE__ so as not to require a struct name parameter. - (GL_CONCAT, GL_CONCAT2): Define helper macros. - * src/od.c: Update sole use. - - * src/ls.c (gobble_file): Use stat.st_author, not stat.st_uid - when computing the --author column width. This bug might have - resulted in misaligned columns when using the --author option - on the Hurd. Spotted by Arnold Robbins. - -2005-06-28 Jim Meyering - - * src/pr.c (main, store_char): Use x2realloc on 1-byte base types, - not x2nrealloc. The former is a little more concise and readable. - N.B. this sort of transformation is ok only when the base type is - unlikely ever to change to a multibyte type. - * src/du.c (show_date): Likewise. - * src/date.c (show_date): Likewise. - * src/od.c (dump_strings): Likewise. - * src/sort.c (fillbuf): Likewise. - -2005-06-24 Jim Meyering - - * src/mv.c (usage): Clarify how --reply=no works. - -2005-06-23 Paul Eggert - - Address the following "du" issues: - - - The option name "--last-time=TYPE" is different from the ls's option - "--time=TYPE" with a similar meaning. I assume this wasn't intended. - - - --time-style implies --time, but this is not true for "ls". It's - better to be consistent. - - - Since we don't have POSIX compatibility concerns, there's no need - for the "posix-" styles, or for support of styles with newlines, or - for the "locale" style, except for parsing the TIME_STYLE - environment variable. - - - It's cleaner (and these days, no less efficient) to use functions - rather than macros when possible. - - - struct duinfo doesn't need a 'valid' flag; you can simply use a time - stamp that is less than all valid time stamps. - - - The code needs a bit of reformatting to fit the usual GNU style. - - * NEWS: du's --last-time option is now --time. - * doc/coreutils.texi (ls invocation): Fix typo: --time=use is - equivalent to --time=atime, not --time=ctime. - (ls invocation, du invocation): Fix typo: --time-style=long-iso - is equivalent to a time style with a leading "+". - (du invocation): --last-time is now --time. - --time-style no longer implies --time. - The locale and posix- stuff now works only for TIME_STYLE, not - for --time-style. Give equivalent format for --time-style=iso. - * src/du.c: Do not include hard-locale.h. - (struct duinfo): Remove 'valid' member. All uses changed to use - negative nsec instead. - (DUIINFO_INI, DUINFO_SET, DUINFO_ADD): Remove. - (duinfo_init, duinfo_set, duinfo_add): New functions, taking the - role of the removed macros. - (opt_time): Renamed from opt_last_time. All uses changed. - (TIME_OPTION): Renamed from LAST_TIME_OPTION. All uses changed. - (long_options, usage): Rename --last-time to --time. - (locale_time_style): Remove. - (time_style_args, time_style_types, usage): Remove support for - --time-style=locale. - (show_date): Now returns void, since nobody looked at the result. - Assume FORMAT is not null. An empty FORMAT now outputs an empty time. - Simplify nstrftime invocation. - (main): Put in ls compatibility workarounds only for TIME_STYLE, - not for --time-style. Omit unnecessary space in iso time style. - -2005-06-23 Jim Meyering - - * src/du.c (time_format): Add `const' attribute. - - * src/date.c (show_date): Use puts rather than printf ("%s\n",. - - * src/du.c (show_date): Rename local `time_format' so as not to - shadow the file-scoped global by that name. - (show_date): Add a FIXME comment. - - * src/du.c: Include hard-locale.h and strftime.h. - (DUINFO_INI, DUINFO_SET, DUINFO_ADD): - Enclose body in `do {...} while (0)', not just `{...}'. - Adjust uses (add semicolons). - Adjust formatting, indentation. - (usage): Tweak formatting to maintain more or less constant indentation. - -2005-06-14 William Brendling - - * src/du.c: Add --last-time and --time-style options. - -2005-06-22 Paul Eggert - - * tests/umask-check: New file. - * tests/Makefile.am (EXTRA_DIST): Add umask-check. - * tests/mkdir/perm: Use umask-check. - * tests/cp/cp-parents: Likewise, instead of using chmod - as described below. Problem reported by Kevin Mudrick. - -2005-06-22 Jim Meyering - - Make rmdir produce diagnostics like this: - rmdir: /tmp: Permission denied - not like this: - rmdir: `/tmp': Permission denied - - * src/rmdir.c: Include "quotearg.h", not "quote.h". - (remove_parents, main): Use quotearg_colon, not quote. - -2005-06-22 Paul Eggert - - * tests/cp/cp-parents: Use chmod to work around some hosts with - ACL problems. Problem reported by Kevin Mudrick. - -2005-06-21 Jim Meyering - - * tests/du/deref-args: Use --apparent-size to avoid the vagaries - of counting blocks. Kevin Mudrick reported that this test would - fail on an nfs-mounted directory where attribute-caching is - turned on. - -2005-06-19 Jim Meyering - - * src/tac.c (tac_mem, tac_stdin_to_mem): Remove #if-0'd functions. - - * src/shred.c (usage): Use `file system', not `filesystem'. - -2005-06-18 Jim Meyering - - * src/tr.c (unquote): Remove unnecessary `' quotes from a diagnostic. - -2005-06-17 Jim Meyering - - * src/shred.c (usage): Clarify that shred works on an ext3 file - system as long as it's not in data=journal mode. - Tiny change by Mark Melahn. - -2005-06-16 Paul Eggert - - * src/hostid.c (main): Don't print fewer than 8 digits, or spurious - leading "f"s. "f" problem reported by Tim Waugh. - * NEWS: Document this. - -2005-06-16 Jim Meyering - - Don't embed `this'-style quotes in format strings. - * src/tr.c: Rather than this: error (..., "...`%s'...", arg); - do this: error (..., "...%s...", quote (arg)); - * src/od.c, src/tr.c, src/csplit.c, src/date.c, src/hostname.c: - * src/join.c, src/ptx.c, src/seq.c, src/sort.c, src/split.c: - * src/split.c, src/tail.c: Likewise. - - * src/sleep.c: Include "quote.h". Remove hard-coded quotes, as above. - * src/nice.c, src/printf.c, src/fold.c, src/pr.c: Likewise. - * src/factor.c, src/cat.c, src/expr.c, src/stty.c: Likewise. - - * src/mv.c: Finally remove support for --version-control=S (-V). - It was deprecated nearly 6 years ago and has been warning - users to switch to --backup=S since fileutils-4.0j. - * src/cp.c, src/install.c, src/ln.c: Likewise. - -2005-06-15 Jim Meyering - - * src/install.c (main): Fix my typo: s/argv[optind]/file[i]/. - * tests/install/basic-1: Ensure that each `-d'-specified directory - is created. Ensure that rel-named dirs are not created when - chdir($PWD) fails. - - * tests/mkdir/p-3: Add a test for just-fixed bug in mkdir-p.c. - -2005-06-14 Paul Eggert - - Improve diagnostics for restore_cwd failure. - * src/install.c (main): Standardize on a diagnostic for - restore_cwd failure, and report errno. - (install_file_in_file_parents): Fail if restore_cwd fails and - one of the files is relative. This fixes a bug (albeit unlikely). - * src/mkdir.c (create_parents): Remove static var (now local to 'main'). - (main): Standardize on a diagnostic for restore_cwd failure, - and report errno. - Don't bother to check cwd_errno unless create_parents. - Use mkdir rather than make_dir; it's simpler. - - * src/install.c (main): Adjust to new make_dir_parents convention. - * src/mkdir.c (main): Likewise. - -2005-06-14 Jim Meyering - - * tests/mkdir/p-3: Ensure mkdir succeeds if the following argument - is an absolute directory name. - - * Makefile.maint (my-distcheck): Add -Wall to the list of options that - are used with -Werror. This target is not intended for general use. - -2005-06-13 Jim Meyering - - * src/mkdir.c (main): Give a diagnostic for -- and skip -- each - relative directory name after make_dir_parents fails to restore - the working directory. Before, `mkdir -p' could create directories - in the wrong place in unusual circumstances. - * src/install.c (main): Likewise. - (install_file_in_file_parents): Update make_dir_parents caller. - * tests/mkdir/p-3: New test for today's mkdir.c/mkdir-p.c bug fixes. - * tests/mkdir/Makefile.am (TESTS): Add p-3. - -2005-06-10 Paul Eggert - - Act on the Austin Group's response yesterday to XCU ERN 63; see - . - * NEWS: ls no longer outputs an extra space between mode and link count. - * doc/coreutils.texi: Remove the extra spaces in "ls -l" output. - * src/ls.c (any_has_acl): New var. - (clear_files): Clear it. - (gobble_file): Set it if a file has an ACL. - (print_long_format): Omit needless space unless some file has an ACL. - -2005-06-10 Jim Meyering - - * src/system.h (VERIFY_W_TYPEOF): Add parentheses. - -2005-06-02 Jim Meyering - - * src/sort.c (usage): Put `Ordering options:' line where it belongs. - -2005-06-01 Paul Eggert - - Use "file name" when talking about file names, instead of "filename" - or "path", as per the GNU coding standards. - * src/basename.c: Don't use "path" or "filename". - * src/copy.c: Likewise. - * src/copy.h: Likewise. - * src/cp-hash.c: Likewise. - * src/cp.c: Likewise. - * src/df.c: Likewise. - * src/install.c: Likewise. - * src/ls.c: Likewise. - * src/pinky.c: Likewise. - * src/pr.c: Likewise. - * src/pwd.c: Likewise. - * src/remove.c: Likewise. - * src/rmdir.c: Likewise. - * src/sort.c: Likewise. - * src/system.h: Likewise. - * src/tty.c: Likewise. - * src/who.c: Likewise. - * src/cp.c (parents_option): Renamed from flag_path. All uses changed. - (make_dir_parents_private): Renamed from make_path_private. - All uses changed. - * src/cp.c (usage): Don't use "path" to describe a file name. - * src/readlink.c (usage): Likewise. - * src/rmdir.c (usage): Likewise. - * src/df.c: Don't include "path-concat.h"; not needed. - * src/install.c (install_file_in_file_parents): Renamed from - install_file_to_path. All uses changed. - * src/ln.c (FILE_BASENAME_CONCAT): Renamed from PATH_BASENAME_CONCAT. - All uses changed. - * src/ls.c (make_link_name): Renamed from make_link_path. - All uses changed. - * src/pwd.c (struct file_name): Renamed from struct Path. - All uses changed. - (file_name_free): Renamed from path_free. All uses changed. - (file_name_init): Renamed from path_init. All uses changed. - (file_name_prepend): Renamed from path_prepend. All uses changed. - * src/rmdir.c (remove_empty_parents): Renamed from empty_paths. - All uses changed. - (longopts): Add comment that --path is deprecated. - -2005-05-31 Jim Meyering - - * src/copy.c (chown_privileges, chown_failure_ok): Mark as `extern'. - This is a crutch so that `make distcheck's sc_tight_scope rule - knows that they really are deliberately declared that way. - -2005-05-30 Paul Eggert - - Port to Solaris 10's rules for whether programs can chown files. - * src/copy.c [HAVE_PRIV_H]: Include . - (DO_CHOWN): Remove. Replaced by chown_failure_ok. All callers - changed. - (copy_internal): If chown failed, don't worry about what happened - to the mode bits; they can't have changed. - (chown_privileges, chown_failure_ok): New functions. - * src/copy.h: Add copyright notice. - (struct cp_options): Remove myeuid member. Add chown_privileges - member. - (chown_privileges, chown_failure_ok): New function decls. - * src/cp.c (re_protect): Remove unnecessary call to geteuid. - Use chown_failure_ok rather than our own code. - * src/cp.c (cp_options_init): Use chown_privileges rather than geteuid. - * src/install.c (cp_option_init): Likewise. - * src/mv.c (cp_option_init): Likewise. - -2005-05-29 Paul Eggert - - * src/chgrp.c (getgrnam) [!defined _POSIX_VERSION]: Remove decl. - * src/chown-core.c (getgrnam, getgrgid) [!defined _POSIX_VERSION]: - Remove decls. - * src/cp.c (geteuid) [!defined _POSIX_VERSION]: Remove decl. - * src/id.c (getpwuid, getgrgid, getuid, getgid, geteuid, getegid) - [!defined _POSIX_VERSION]: Remove decls. - * src/install.c (getpwnam, getgrnam): Remove decl. - (getuid, getgid) [!defined _POSIX_VERSION]: Remove decls. - * src/md5sum.c (OPENOPTS, TEXT1T01, TEXTCNVT): Remove. - (digest_file): Use O_BINARY-using expr instead of OPENOPTS. - * src/system.h: Don't bother mentioning _POSIX_VERSION in comment. - * src/test.c: Include sys/param.h if it exists, not if _POSIX_VERSION - isn't defined. - Don't include ; no longer needed. - (getegid, geteuid): Remove no-longer-necessary decls. - - * src/pathchk.c (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: - Define to 256, not 255, as per modern POSIX. - -2005-05-27 Paul Eggert - - * NEWS: dd seek=N now conforms to POSIX if the output isn't seekable. - * src/dd.c (skip): Return the number of records that were not - skipped due to encountering EOF. - (dd_copy): If the file wasn't seekable and EOF was encountered, - write zeros past EOF until the desired offset is reached. - - * NEWS: expr and test now correctly compare integers of unlimited size. - (Also, correct a comment that claimed that expr detects integer - overflow; it does so only when converting from strings.) - * src/expr.c: Include strnumcmp.h, xstrtol.h. - (looks_like_integer): New function. - (toarith): Use it. Also, use xstrtoimax rather than rolling our - own diagnostics. - (eval2): Don't look for trouble if !evaluate; this simplifies things. - Compare numbers using string comparison, so that overflow is - not possible. - * src/sort.c: Refactor so that others can use large-integer - comparison functions. - Include "strnumcmp.h". - (NEGATION_SIGN, NUMERIC_ZERO, fraccompare): - Remove; moved to strnumcmp. - (decimal_point): Now int, to simplify converison overhead with - new API. All uses changed. - (thousands_sep): Now -1 if there isn't one, as per new API. - All uses changed. - (numcompare): Move contents to strnumcmp module, except for - skipping blanks. - * src/test.c: Include inttostr.h, strnumcmp.h. - (whitespace, digit, digit_value, integer_expected_error): Remove. - (is_int): Remove; replaced by... - (find_int): New function. - (binary_operator): Don't let integers overflow in comparisons; - return the correct answer instead. Simplify the code. - (unary_operator): Convert the integer ourself, since find_int - no longer does so. - * tests/expr/basic (bigcmp): New test. - * tests/test/Test.pm (eq-6, gt-5, lt-5): New tests. - -2005-05-26 Paul Eggert - - * NEWS: nohup now redirects a tty stdin to an unreadable fd - instead of closing it. - * doc/coreutils.texi (nohup invocation): Document this. - * src/nohup.c (main): Implement this. - -2005-05-26 Jim Meyering - - * src/expr.c (toarith): Fix a sign error introduced on 2005-01-14. - Reported by David Alan Gilbert. - * tests/expr/basic: Add tests using arithmetic on negative integers. - -2005-05-19 Jim Meyering - - * src/remove.c (AD_mark_helper, AD_mark_current_as_unremovable): - Remove inaccurate-but-harmless `const' attributes. - - * src/join.c (decode_field_spec): Add an abort after - `error (EXIT_FAILURE, ...' to avoid a gcc warning in caller, - about variables being used uninitialized. - -2005-05-18 Paul Eggert - - * configure.ac: Add copyright notice. gl_LIB_CHECK -> cu_LIB_CHECK. - * src/Makefile.am: Add copyright notice. - (factor_LDADD): Remove, as factor no longer needs sqrt. - * src/hostname.c: Remove test for HAVE_LIMITS_H; we can assume - it's always true now. - -2005-05-16 Paul Eggert - - Fix Cygwin porting problem reported by Eric Blake. - * src/remove.c (DT_IS_DIR): Remove. - (DT_IS_KNOWN, DT_MUST_BE): New macros. - (remove_entry): Use them. - -2005-05-14 Paul Eggert - - * src/remove.c: Include unlinkdir.h. - (UNLINK_CAN_UNLINK_DIRS): Remove. - (remove_entry): Use cannot_unlink_dirs () rather than - UNLINK_CAN_UNLINK_DIRS. - -2005-05-14 Jim Meyering - - Update FSF postal mail address. - * Makefile.maint, Makefile.cfg, gnupload - * src/basename.c, src/cat.c, src/checksum.h, src/chgrp.c - * src/chmod.c, src/chown-core.c, src/chown-core.h, src/chown.c - * src/chroot.c, src/cksum.c, src/comm.c, src/copy.c, src/copy.h - * src/cp-hash.c, src/cp-hash.h, src/cp.c, src/csplit.c, src/cut.c - * src/date.c, src/dcgen, src/dd.c, src/df.c, src/dircolors.c - * src/dirname.c, src/du.c, src/echo.c, src/env.c, src/expand.c - * src/expr.c, src/factor.c, src/fmt.c, src/fold.c, src/fs.h - * src/groups.sh, src/head.c, src/hostid.c, src/hostname.c, src/id.c - * src/install.c, src/join.c, src/kill.c, src/lbracket.c, src/link.c - * src/ln.c, src/logname.c, src/ls-dir.c, src/ls-ls.c, src/ls-vdir.c - * src/ls.c, src/ls.h, src/md5.c, src/md5sum.c, src/mkdir.c - * src/mkfifo.c, src/mknod.c, src/mv.c, src/nice.c, src/nl.c - * src/nohup.c, src/od.c, src/paste.c, src/pathchk.c, src/pinky.c - * src/pr.c, src/printenv.c, src/printf.c, src/ptx.c, src/pwd.c - * src/readlink.c, src/remove.c, src/remove.h, src/rm.c, src/rmdir.c - * src/seq.c, src/setuidgid.c, src/sha1sum.c, src/shred.c - * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c - * src/su.c, src/sum.c, src/sync.c, src/system.h, src/tac-pipe.c - * src/tac.c, src/tail.c, src/tee.c, src/test.c, src/touch.c - * src/tr.c, src/true.c, src/tsort.c, src/tty.c, src/uname.c - * src/unexpand.c, src/uniq.c, src/unlink.c, src/uptime.c - * src/users.c, src/wc.c, src/who.c, src/whoami.c, src/yes.c - -2005-05-13 Jim Meyering - - * NEWS: `rm -r' now removes all of the files it should, even on - systems with a buggy readdir affecting file systems inaccessible - at configure time. - - In some unusual circumstances `rm -r' would fail to remove -- - or even consider -- all entries in a directory with more than 254 - (SunOS) or 338 (Darwin) entries. This could cause trouble even on - other types of systems when using an affected file system via e.g., - NFS. The underlying cause was a bug in readdir on those systems. - Coreutils-5.2.1 and earlier used a configure-time test designed - to detect precisely those problem systems, but it would detect - the problem and enable remove.c's work-around code only when its - configure-time test was run on a losing file system. Obviously, - it couldn't detect a problem if the offending file system wasn't - tested or even mounted at coreutils configure time. Now, rm itself - performs a minimal-cost run-time test to detect the problem. - - * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Define. - (remove_cwd_entries): When readdir returns NULL for a directory from - which we've removed more than CONSECUTIVE_READDIR_UNLINK_THRESHOLD - entries, call rewinddir and then resume the readdir/unlink loop. - (UNLINK_CAN_UNLINK_DIRS): Rename from ROOT_CAN_UNLINK_DIRS. - -2005-05-12 Paul Eggert - - * NEWS: nohup now closes stdin if it is a terminal, unless - POSIXLY_CORRECT is set. This fixes a glitch noted by Wayne Pollock in - . - * doc/coreutils.texi (nohup invocation): Document this. - * src/nohup.c (main): Implement this. - -2005-05-12 Jim Meyering - - * src/date.c: Assume `free (NULL)' works. - * src/dd.c: Likewise. - * src/df.c:Likewise. - * src/dircolors.c:Likewise. - * src/head.c: Likewise. - * src/ls.c: Likewise. - * src/md5sum.c: Likewise. - * src/pr.c: Likewise. - * src/sort.c: Likewise. - -2005-05-10 Jim Meyering - - * tests/touch/not-owner: Skip this test if the user running it - owns `/' or has write access to it. - - * src/copy.c (abandon_move): Remove erroneous UNWRITABLE check. - This makes `mv -i --reply=no f1 f2' work as expected (in not - performing the move operation). But note that specifying `-i' - after `--reply=no' does *not* work. - Tiny patch from Vlada Macek. - Correct a comment. - * tests/mv/reply-no: New file. Test for the above fix. - * tests/mv/Makefile.am (TESTS): Add reply-no. - - * tests/ls-2/tests: Don't print PATH to stderr. - -2005-05-08 Paul Eggert - - * NEWS: cp, ln, mv, rm no longer discard white space when intepreting - responses. - -2005-05-06 Paul Eggert - - * NEWS: dd has new iflag= and oflag= flags "binary" and "text". - * src/dd.c (flags, usage): Add support for "binary" and "text". - -2005-05-04 Paul Eggert - - * NEWS: chmod -w now complains if it differs from chmod a-w. - * src/chmod.c: Include quotearg.h. - (diagnose_surprises): New var. - (process_file): Diagnose surprises. Simplify the logic a bit, - while we're at it. - (main): Prepare to diagnose surprises. Remove useless code for - '-' option. - * tests/chmod/Makefile.am (TESTS): Add umask-x. - * tests/chmod/umask-x: New file. - -2005-05-02 Paul Eggert - - * NEWS: ls --indicator-style=directory renamed to ls - --indicator-style=slash, to avoid confusion with ls --directory. - * src/ls.c (usage): Likewise. - (slash): Renamed from directory_only. All uses changed. - -2005-05-01 Paul Eggert - - * NEWS: "chmod +1 foo" is now diagnosed. - -2005-04-29 Paul Eggert - - * NEWS: ls -p now marks only directories. New option - --indicator-style=directory equivalent to -p. - * doc/coreutils.texi (ls invocation): Document this. - Also, mention ">" is for doors. - * src/ls.c (enum indicator_style): New constant directory_only, - for -p. - (indicator_style_args, indicator_style_types): Set it appropriately. - (decode_switches, gobble_file, print_type_indicator): - (length_of_file_name_and_frills): - Implement the change described in NEWS. - (decode_switches): Quote ">", too. - (usage): Update to match the new behavior. Describe ">". - * tests/ls/file-type: Test for new behavior. Omit -1 option. - The "ls --color" test wasn't being checked; add a check for - "ls --color=auto" instead. - - * tests/head/Test.pm: Don't set _POSIX2_VERSION; no longer needed. - * tests/misc/split-fail: Likewise. - * tests/pr/Test.pm: Likewise. - * tests/sort/Test.pm: Fix comment to match new behavior of "sort". - * tests/tail/Test.pm (tv): Rename tests from obs to obs-plus - if they use file names starting with +. - (test_vector): Don't set _POSIX2_VERSION if obs but not obs-plus. - * tests/uniq/Test.pm (tv, test_vector): Likewise. - - The following was partly derived from a tiny change by Eric Blake: - * tests/misc/nice: Don't use 'set -'. It's not portable to strict - POSIX 1003.1-2001 hosts. Also, don't set _POSIX2_VERSION. - * tests/mkdir/perm: Don't use 'set -'. Simplify test construction. - Work even if the underyling system attaches ACLs to new dirs. - * tests/mv/part-hardlink: Don't use 'set -'. - * tests/stty/row-col-1: Don't use 'set -'. - -2005-04-28 Paul Eggert - - * NEWS: Document fixes described below. - * src/chmod.c (change, umask_value): New static vars. - (reference_file): Move this static var to inside "main". - (process_file, process_files): Remove CHANGES arg; now taken from - static var. All uses changed. - (usage): Fix incorrect description of MODE operand. - (main): For invalid mode usages, output a brief usage message. - Adjust to new modechange API. - * install.c (main): Adjust to new modechange API. - Also, free the mode_change object when done. - * mkdir.c (main): Likewise. - * mkfifo.c (main): Likewise. - * mknod.c (main): Likewise. - * tests/chmod/equal-X: Check for =xX bug. - * tests/chmod/equals: Check for =u bug. - * tests/chmod/usage: Check for u+gr and ug,+x bugs. - -2005-04-26 Paul Eggert - - Restore support for usages like "head -1" and "tail -1", - even when conforming to POSIX 1003.1-2001. - Fix bug with "POSIXLY_CORRECT=1 fold file -3". - join now supports a NUL field separator, e.g., "join -t '\0'". - join now detects and reports incompatible options, e.g., - "join -t x -t y", - * NEWS: Document this. - * src/date.c: Remove posixver.h and its uses. - (COMMON_SHORT_OPTIONS): Remove. - (short_options): New constant. - (short_options, usage): -I now always takes an optional arg. - * src/expand.c: Remove posixver.h and its uses. - (shortopts): New constant. -DIGIT now always takes an optional arg. - (main): Revamp parsing of -DIGIT to let parse_tab_stops handle it. - Don't complain about -DIGIT. - * src/fold.c: Remove posixver.h and its uses. - (shortopts): New constant. -DIGIT now always takes an optional arg. - (main): Don't preprocess arg list; that was buggy. Use method - similar to expand. - * src/head.c: Remove posixver.h and its uses. - (header_mode_option): Remove. - (main): Don't complain about obsolete -NUM args. - * src/join.c: Remove posixver.h and its uses. - (obsolete_usage): Remove. - (join_field_1, join_field_2): Initialize to SIZE_MAX to indicate - they haven't been set yet. - (tab): Now int, not char. Initialize to -1 to indicate white space - separates columns, so that we can use NUL as a separator. - All uses changed. - (OBSOLETE_LONG_OPTIONS, get_option): Remove. - (string_to_join_field): Remove ERR_MSG_FMT arg; a single format - suffices. Use xstrtoul for sizes; it suffices. - (decode_field_spec): Report an error and exit on failure. Return void, - not bool. - (add_field_list): Likewise. - (set_join_field): New function. - (enum operand_status): New enum. - (add_file_name): New args OPERAND_STATUS, JOPTION_COUNT, - PREV_OPTC_STATUS, OPTC_STATUS to handle the bewildering array of - possibilities with obsolete option parsing. - (main): Use it. Do not depend on POSIX version. - Check for conflicting options. Parse obsolete options -j1 and -j2 - so that it is a pure extension to POSIX 1003.1-2001. - Allow '-t\0' to specify a NUL tab, stealing the code from 'sort'. - * src/nice.c: Remove posixver.h and its uses. - (main): Always support -NUM option. - * src/od.c: Remove posixver.h and its uses. - (short_options): New constant, which always supports -w[num]. - (COMMON_SHORT_OPTIONS): Remove. - * src/pr.c: Remove posixver.h and its uses. - (short_options): New constant, which always supports -S[string]. - (COMMON_SHORT_OPTIONS): Remove. - * src/sort.c: Remove posixver.h and its uses. - (short_options): New constant, which always supports -y arg. - (COMMON_SHORT_OPTIONS): Remove. - (main): Redo workaround for Solaris compatibility with -y. - This change isn't visible to the user; it just cleans up the - code so that we don't need posixver.h. - * src/split.c: Remove posixver.h and its uses. - (main): Don't complain about -NUM option. - * src/tail.c (parse_obsolete_option): Don't complain about -NUM. - * src/unexpand.c: Remove posixver.h and its uses. - (main): Don't complain about -TAB. - * src/uniq.c (main): Don't complain about -NUM. - -2005-04-22 Paul Eggert - - * src/nohup.c (main): If getopt fails, exit with status 127, - not status 1. POSIX requires this. - * NEWS: Document this. - - * src/nice.c (main): Report proper program name when getopt finds - trouble. Problem reported by Behdad Esfahbod. - - * NEWS: Fix bug with "mkdir -m =+x dir"; the umask was being ignored - when the "+x" was being evaluated. - * mkdir.c (main): Compile mode with MODE_MASK_ALL and initial umask. - * mkfifo.c (main): Likewise. - * mknod.c (main): Likewise. - * tests/mkdir/perm: Test for the above bug. - -2005-04-20 Paul Eggert - - Port test cases to Microsoft-Windows-related environments, - following suggestions from Eric Blake. - * tests/install/Makefile.am (TESTS_ENVIRONMENT): Add EXEEXT. - * tests/install/basic-1: Undo previous change. - (dd, dd2): New vars, which use $EXEEXT. All uses of dd and dd2 changed. - * tests/install/trap: Undo previous change. - (sig): New var. Use it insted of "trap '' CHLD". - Append $EXEEXT to executable name. - - "fetish" -> "coreutils" in more places. - * tests/Coreutils.pm: Renamed from tests/Fetish.pm. - (package Coreutils): Renamed from package Fetish. All uses changed. - * tests/Makefile.am (EXTRA_DIST): Add Coreutils.pm and - remove Fetish.pm. - -2005-04-19 Paul Eggert - - * tests/mv/setup (dot_mount_point): Use stat -L, in case the - directory is actually a symbolic link. Problem reported by - Eric Blake. - - * tests/mv/mv-special-1: Use test -p to test for fifos, rather - than the (incorrect) test -f and the (inadequate) ls. ls is - inadequate because on some hosts a buggy mv will create a file of - the wrong type (problem reported by Eric Blake). Skip this test - if test -p doesn't work. - - * tests/chmod/setgid: Use numeric group ids, not symbolic group names, - since the latter can have shell metacharacters in them (e.g., spaces). - This follows up to the 2005-01-17 patch, which missed this occurrence. - -2005-04-18 Paul Eggert - - "fetish" -> "coreutils" in several places. - * Makefile.cfg (ftp): Remove fetish.sf.net. - * Makefile.maint (emit_upload_commands): Likewise. - * src/Makefile.am (LDADD, $(PROGRAMS)): fetish -> coreutils. - * tests/group-names (COREUTILS_GROUPS): Renamed from FETISH_GROUPS. - * tests/chmod/setgid (FETISH_GROUP): Renamed from COREUTILS_GROUP. - - * tests/install/basic-1: Use "cat", not "test", to test for - ../../src/dd. Problem reported by Eric Blake. - -2005-04-18 Jim Meyering - - * src/dd.c: Don't include stat-macros.h directly. system.h does that. - -2005-04-17 Paul Eggert - - Work around a couple of "make check" failures reported for Cygwin - and ash by Eric Blake. - * tests/install/basic-1: Skip this test if ../../src/dd isn't readable. - * tests/install/trap: Skip this test if "trap '' CHLD" doesn't work. - -2005-04-16 Jim Meyering - - * src/dd.c (S_TYPEISSHM): Remove definition. - Get the definition by including "stat-macros.h", instead. - -2005-04-14 Paul Eggert - - Fix test suite problems reported by Eric Blake on Cygwin. - * tests/mv/mv-special-1: Ignore chatter about when files are removed, - since POSIX doesn't require rename to fail across file systems. - * tests/mv/setup (dot_mount_point): Use stat rather than df, as - it's more reliable. - (other_partition_tmpdir): Remove df from name as that would be - misleading now. - -2005-04-14 Jim Meyering - - * src/chown-core.c: Correct typo, fchmod -> fchown, in a comment. - -2005-04-12 Paul Eggert - - * src/ls.c (usage): "uid" -> "user ID". - -2005-04-12 Jim Meyering - - * src/tsort.c (tsort): Use "%s" as the format string, - rather than a diagnostic or a file name. - - * src/comm.c (compare_files): Remove declaration of unused local. - - * src/chown-core.c (chopt_free): Mark parameter as unused. - -2005-04-11 Paul Eggert - - * man/chown.x: Reword to match user manual. - * man/id.x: Likewise. - * src/setuidgid.c (usage): Use "user ID", not "UID", and similarly - for "group ID". - * src/whoami.c (usage, main): Likewise. - - Add bulletproofing for cases where stdin, stdout, or stderr are closed. - * src/comm.c: Include stdio-safer.h. - (compare_files): Exit right away on I/O error rather than continuing - and producing confusing output and error messages. - Return void, not int; all callers changed. - Use fopen_safer to avoid confusion with file descriptors. - * src/copy.c: Include unistd-safer.h. - (copy_reg): Use fd_safer. - * src/csplit.c: Include stdio-safer.h. - (input_desc): Remove unnecessary static initialization. - (set_input_file): Use STDIN_FILENO, not 0. - (create_output_file): Use fopen_safer. - * src/dircolors.c (dc_parse_file): Don't assume fopen does not - return stdin. - * src/head.c (head_file): Don't assume open does not return 0. - * src/join.c: Include stdio-safer.h. - (main): Use fopen_safer. Simplify the resulting code. - * src/md5sum.c (digest_file, digest_check): - Don't assume that fopen does not return stdin. - * src/nohup.c: Include unistd-safer.h. - (main): Don't dup stderr to stdin or stdout by mistake. - * src/od.c (check_and_close): Don't assume fopen does not return stdin. - * src/paste.c (paste_serial): Likewise. - * src/pr.c: Include stdio-safer.h. - (open_file): Use fopen_safer. - (close_file): Don't assume fopen does not return stdin. - * src/ptx.c (main): Don't assume fopen returns stdout after closing - stdout. Use freopen instead. - * src/shred.c: Include unistd-safer.h. - (wipename): Use fd_safer on directory file descriptor. - (wipefile): Remove special case for /dev/fd/* on older hosts. - It didn't work in general, and wasn't documented. - Use fd_safer. - * src/sort.c: Include unistd-safer.h. - (create_temp_file): Use fd_safer. - (xfclose): Don't assume fileno (stdin) == STDIN_FILENO, etc. - * src/split.c: Include unistd-safer.h. - (cwrite): Use fd_safer. Replace mystery constant 0666 with symbolic - version, as POSIX requires. - * src/sum.c (bsd_sum_file, sysv_sym_file): - Use same pattern as elsewhere for checking for stdin. - * src/tac.c: Include unistd-safer.h. - (copy_to_temp): Use fd_safer. - (tac_file): Don't assume fopen cannot return stdin. - * src/tail.c: Include unistd-safer.h rather than fcntl-safer.h. - (recheck, tail_file): Use fd_safer rather than open_safer. - * src/tee.c: Include stdio-safer.h. - (tee): Use fopen_safer. - * src/touch.c: Include unistd-safer.h. - (touch): Use fd_safer. - * src/tsort.c (have_read_stdin): Remove; no longer needed. All uses - removed. - (tsort): Do not assume fopen can't return stdin. - Close stdin before returning. All uses changed. - * src/unexpand.c (next_file): Don't assume fopen cannot return stdin. - * src/uniq.c: Include stdio_safer.h. - (check_file): Don't assume fopen cannot return stdin or stdout. - -2005-04-09 Jim Meyering - - * src/dd.c (quit): Define with ATTRIBUTE_NORETURN. - - Now that close_stdout closes standard output unconditionally, - these workarounds for dd and cat are no longer necessary. - * src/dd.c (close_stdout_wrapper): Remove function. - (main): Call atexit with close_stdout, instead. - * src/cat.c (close_stdout_wrapper): Likewise. - Don't close STDOUT_FILENO explicitly; close_stdout does it. - - * src/system.h (__attribute__): Readability nit: - Change this: - # define __attribute__(x) - to this: - # define __attribute__(x) /* empty */ - -2005-04-09 Jim Meyering - - * src/rm.c (usage): Mention that --recursive removes listed - directories too, not just their contents. - Say that by default, rm does not remove directories. - - * src/pr.c: Don't include "timespec.h". system.h does that. - * Makefile.maint (sc_system_h_headers): Propagate exit status - through trap. - -2005-04-08 Paul Eggert - - * NEWS: Document that dd no longer treats QUIT or PIPE specially, - and when conforming to POSIX no longer treats USR1 specially. - Document that dd no longer dumps core when handling signals. - * src/system.h (RETSIGTYPE): Remove; no longer needed. All uses - replaced with void. - * src/csplit.c (SA_NOCLDSTOP): Define to 0 if not defined. - All uses changed. - (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. - (delete_all_files): New arg IN_SIGNAL_HANDLER, to avoid undefined - behavior when called from a signal handler. All uses changed. - (main) [!defined SA_NOCLDSTOP]: - Use siginterrupt to specify that system calls should be interrupted. - * src/dd.c: Do not include safe-read.h or full-write.h; no longer needed. - (process_signals): Add forward decl. - (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: - New macros. - (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro. - (SA_NODEFER) [!defined SA_NODEFER]: New macro. - (SA_RESETHAND) [!defined SA_RESETHAND]: New macro. - (caught_signals, interrupt_signal, info_signal_count, catch_siginfo): - New vars. - (usage): Mention -USR1 versus -INFO. - (cleanup): Don't invoke print_stats; the caller must do it now. - All callers changed. - (quit): Process signals just before exiting. - (interrupt_handler): Simply record the signal and return. - (siginfo_handler): Simply increment the signal counter and return. - (install_handler): Remove, replacing with: - (install_signal_handlers, process_signals, iread, iwrite): - New functions. All callers to safe_read and full_write replaced - by iread and iwrite. All callers to install_handler replaced by - install_handlers. - * src/ls.c (SA_NOCLDSTOP): Define to 0 if not defined. - All uses changed. - (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro. - (main) [! SA_NOCLDSTOP]: Use it. - * src/shred.c: Remove all uses of signals; modern hosts have - /dev/random and don't need this gorp. - Do not include signal.h. - (env, sigill_handler, isaac_seed_machdep): Remove. All uses removed. - * src/sort.c (SA_NOCLDSTOP): Define to 0 if not defined. - All uses changed. - (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro. - (main) [! SA_NOCLDSTOP]: Use it. - - * src/dd.c: Do not include inttostr.h, no longer needed. - (print_stats, main): Rewrite and simplify formats to use PRIuMAX - instead of umaxtostr. - (print_stats): Work even in languages that have special - forms for two of things, for r_truncate and w_bytes. We can't - fix delta_s in this way, since ngettext doesn't support floating-point. - (main): Rewrite to avoid casts. - -2005-04-07 Jim Meyering - - Placate gcc-4's -Wuninitialized. - * src/md5sum.c (digest_check) [lint]: Initialize hex_digest to NULL. - * src/test.c (binary_operator) [lint]: Initialize lt and rt to 0. - - * src/test.c (is_int, age_of, binop): Declare `char *' parameters to - be `const'. - (binop): Move function definition to precede first use so we can... - (binop): ...remove prototype. - -2005-04-05 Paul Eggert - - * man/Makefile.am (.x.1): Remove "COMMAND.td/" from examples. - * src/basename.c (usage): Add examples. - * src/cat.c (usage): Likewise. - * src/chgrp.c (usage): Likewise. - * src/chown.c (usage): Likewise. - * src/dirname.c (usage): Likewise. - -2005-04-05 Jim Meyering - - * src/nice.c (usage): Mention that some shells provide a - built-in function by the same name. - * src/nohup.c (usage): Likewise. - * src/printenv.c (usage):Likewise. - -2005-04-04 Dmitry V. Levin - - * src/tee.c (tee): When closing files, do not close stdout, - leave this job to close_stdout() instead. - * configure.ac (AC_CONFIG_FILES): Add tests/tee/Makefile. - * tests/Makefile.am (SUBDIRS): Add tee. - * tests/tee/Makefile.am: New file. - * tests/tee/.cvsignore: Likewise. - * tests/tee/{basic,dash}: New tee tests. - -2005-04-04 Jim Meyering - - * src/echo.c (usage): Mention that some shells provide a - built-in function by the same name. - * src/kill.c (usage): Likewise - * src/printf.c (usage): Likewise. - * src/pwd.c (usage): Likewise. - * src/stat.c (usage): Likewise. - * src/test.c (usage): Likewise. - * src/true.c (usage): - * src/system.h (USAGE_BUILTIN_WARNING): New macro. - - * man/echo.x: Remove `DESCRIPTION' section, now that --help includes it. - * man/printf.x: Likewise. - * man/pwd.x: Likewise. - -2005-04-03 Jim Meyering - - * src/pr.c (main): Fix off-by-one error. - pr -$(perl -e 'print "0"x63 . 1') would write one byte beyond the - end of a malloc'd buffer. - -2005-04-01 Jim Meyering - - * src/pr.c (main): Free column_count_string when done with it. - - Don't let pr treat +1:-1 like +1:18446744073709551615. - * src/pr.c (strtoumax): Remove declaration. - (first_last_page): Use xstrtoumax in place of strtoumax, - so we don't interpret a negative page number (e.g., in an option - like --pages=1:-1) as valid. - * tests/pr/Test.pm (neg-page): Add a test for this. - -2005-03-30 Paul Eggert - - * src/pinky.c (short_pinky): Adjust to read_utmp signature change. - * src/uptime.c (uptime): New arg OPTIONS. All uses changed. - * src/users.c (users): Likewise. - * src/who.c (who): Likewise. - * src/uptime.c (main): Check PIDs when invoked with zero arguments. - * src/users.c (main): Likewise. - * src/who.c (main): Likewise. Also with two arguments. - Omit duplicate code in 2-arg case. - (UT_PID): Moved to ../lib/readutmp.h. - -2005-03-29 Jim Meyering - - * src/system.h (ptr_align): Declare `ptr' parameter to be a - `const' pointer, since this function never writes through it. - - * src/uname.c: Indent cpp directives to reflect nesting. - -2005-03-28 Jim Meyering - - * src/seq.c (get_width_format) [HAVE_RINT && HAVE_MODF && HAVE_FLOOR]: - Add `void' to make this an ANSI-style function declaration. - * src/remove.c (ds_init): Likewise. - * src/pr.c (print_sep_string): Likewise. - - * src/stty.c (speeds): Declare this array to be static. - * src/Makefile.am (sc_tight_scope): Adjust to catch any - new declarations like that of stty.c's `speeds'. - - * src/system.h (GETOPT_HELP_OPTION_DECL): Use NULL, not `0'. - (GETOPT_VERSION_OPTION_DECL): Likewise. - * src/chown.c (long_options): Likewise. - * src/chgrp.c (long_options): Likewise. - * src/chmod.c (long_options): Likewise. - * src/cp.c (sparse_type_string, reply_args, decode_preserve_arg): - Likewise. - * src/chown-core.c (chopt_init): Likewise. - * src/comm.c (long_options): Likewise. - * src/copy.c (copy_reg): Likewise. - * src/csplit.c (extract_regexp): Likewise. - * src/cut.c (longopts): Likewise. - * src/date.c (time_spec_string): Likewise. - * src/df.c (find_mount_point, show_point): Likewise. - * src/expr.c (docolon): Likewise. - * src/fmt.c (long_options): Likewise. - * src/ls.c (time_style_args, indicator_style_args, long_options) - (format_args, sort_args, time_args, decode_switches) - (gobble_file): Likewise. - * src/md5sum.c (long_options): Likewise. - * src/mv.c (reply_args): Likewise. - * src/paste.c (longopts): Likewise. - * src/pinky.c (print_entry): Likewise. - * src/pr.c (long_options): Likewise. - * src/ptx.c (long_options, format_args): Likewise. - * src/readlink.c (longopts): Likewise. - * src/sort.c (long_options, mergefps): Likewise. - * src/stat.c (long_options): Likewise. - * src/tac.c (main): Likewise. - * src/tail.c (follow_mode_string): Likewise. - * src/touch.c (longopts, time_args): Likewise. - * src/uniq.c (delimit_method_string): Likewise. - * src/uptime.c (print_uptime): Likewise. - * src/who.c (print_user): Likewise. - -2005-03-27 Jim Meyering - - * src/dcgen: Simplify further, clean up. - Add a standard-output-closing global destructor. - Require perl-5.002. - * src/wheel-gen.pl: Use the same global destructor as dcgen. - -2005-03-26 Paul Eggert - - * src/dcgen: Squeeze multiple blanks into one. Output a simple - array of adjacent strings rather than a more complicated data - structure; this saves space in the dircolors executable. - * src/dircolors.c (parse_line): Use char *, not unsigned char *. - This avoids casts. - (dc_parse_stream, main): Avoid casts. - Adjust to simpler data structure generated by new dcgen. - -2005-03-25 Eric Blake (tiny change) - - * src/ls.c (usage): Document usage of LS_COLORS. - -2005-03-25 Paul Eggert - - * src/dircolors.hin: Add "TERM cygwin". - -2005-03-25 Jim Meyering - - * src/system.h (DECIMAL_DIGIT_ACCUMULATE): Reverse the sense of - the return value, and update callers: - * src/cut.c (set_fields): Update use of DECIMAL_DIGIT_ACCUMULATE. - * src/expand.c (parse_tab_stops, main): Likewise. - * src/split.c (main): Likewise. - * src/unexpand.c (parse_tab_stops, main): Likewise. - * src/uniq.c (main): Likewise. - -2005-03-22 Jim Meyering - - * build-aux: New directory. Renamed from config. - * configure.ac: Reflect renaming: config -> build-aux. - * Makefile.am (dist-hook): Likewise. - * Makefile.maint: Likewise. - * Makefile.cfg (cvs_files): Likewise. - * .x-sc_sun_os_names: Likewise. - * .x-sc_trailing_blank: Likewise. - - * src/ls.c (get_funky_string): Use '\a', rather than 7, for - portability to EBCDIC hosts. - -2005-03-20 Jim Meyering - - * src/pr.c (init_header): Add missing `%' in new format string. - (init_header): Use zero-filled `.%09d' format, not space-filled `.%9d'. - -2005-03-19 Jim Meyering - - * src/Makefile.am (pr_LDADD): Now that pr uses gettime, add - $(LIB_CLOCK_GETTIME) to get the required -lrt on newer Linux systems. - -2005-03-18 Paul Eggert - - * NEWS: pr -D "FORMAT" now accepts the same formats that - date +"FORMAT" does. - * src/pr.c: Include strftime.h, timespec.h. - (init_header): Obtain and format nanosecond part of time stamp. - - * NEWS: nohup now ignores the umask when creating nohup.out. - nohup now closes stderr if it is a terminal and stdout is closed. - * src/nohup.c (main): Likewise. Be a little more paranoid about - return values; e.g., check for any negative return from open. - Assume free (NULL) works. - Close file descriptor leak when redirecting standard output to a file. - -2005-03-17 Jim Meyering - - * src/cut.c (set_fields): Use DECIMAL_DIGIT_ACCUMULATE macro, - in place of functionally-equivalent code. - * src/expand.c (parse_tab_stops, main): Likewise. - * src/split.c (main): Likewise. - * src/unexpand.c (parse_tab_stops, main): Likewise. - * src/uniq.c (main): Likewise. - * src/od.c: Use VERIFY macro in place of an equivalent open-coded - declaration. - * src/system.h (VERIFY, VERIFY_EXPR, DECIMAL_DIGIT_ACCUMULATE): - New macros. - - Before, this command would make uniq skip 11 fields and print - only the first line: - $ _POSIX2_VERSION=1 ./uniq -f1 -1 <(seq --format='1 %g' 2) - 1 1 - 1 2 - * src/uniq.c (main): Interpret `uniq -f1 -1' like `uniq -f1', - not like `uniq -f11'. - -2005-03-15 Jim Meyering - - Both `pr -0' and e.g., `pr -03' would evoke `column count too large'. - `pr -0' should give a better diagnostic and `pr -03' should be - equivalent to `pr -3'. - * src/pr.c (parse_column_count): Change return type to void. - Call error (EXIT_FAILURE, ... for an invalid string. - (main): Allocate space for column_count_string using malloc. - Accumulate all old-style column-count digits before converting. - When the number of columns is specified via both old-style, - (e.g., -3), and a long option (--columns=5), ensure that only - the last one specified takes effect. - * tests/pr/Test.pm: Add tests for the above. - -2005-03-15 Corinna Vinschen (tiny change) - - * src/copy.c (copy_reg): Copy regular files in binary mode. - -2005-03-14 Paul Eggert - - * NEWS: Restate why ls limits time stamp lengths. - -2005-03-12 Jim Meyering - - Add a little infrastructure to help prevent future bugs like the - one fixed below. - * src/stat.c (xstrcat): New function. - (print_statfs, print_stat): Add buf_len parameter and convert all - uses of strcat to xstrcat. Update callers. - (print_it): Call print_func with buf_len parameter. - - Invoking stat -c FMT with a lone format directive of %s, %f, %h, %s, - could cause a buffer overrun error. - * src/stat.c (print_it): Allocate 2 more bytes, to accommodate our - conversion of the stat %s format string to the longer printf %llu one. - Patch from Guochun Shi. - -2005-03-11 Paul Eggert - - * src/ls.c (TIME_STAMP_LEN_MAXIMUM): New constant. - (long_time_expected_width, print_long_format): Use it, to avoid - some possible denial-of-service attacks. - * NEWS: Document this. - -2005-03-11 Jim Meyering - - Prompt once again for `mv -i A B' when A and B are hard links - to the same file. This fixes a bug introduced by my 2003-04-04 - (coreutils-5.0.1) change. Reported by Thomas Wolff via Eric Blake. - * src/copy.c (abandon_move): New function, factored out of - copy_internal, now that this code is being used from two places. - (copy_internal): Perform the same interactive-related test for - whether it's alright to proceed and (usually) overwrite the - destination file. - * tests/mv/i-4: Add tests for the above. - - Don't segfault for a very long date format string, e.g., - ls -ld --time-style=+%99999999H . - * src/ls.c (long_time_expected_width): Use x2nrealloc, not alloca, - so format string abuse cannot provoke stack overflow. - (print_long_format): Likewise. - - Don't segfault for a long header date string, e.g., - echo a|pr -D +%9999999A - * src/pr.c (init_header): Use x2nrealloc, rather than alloca. - Don't bother with fixed-sized initial buffer; always use x*alloc. - - * src/pr.c (init_header): Use slightly clearer INT_BUFSIZE_BOUND - in place of equivalent INT_STRLEN_BOUND + 1. - * src/expr.c (tostring, printv): Likewise. - -2005-03-09 Paul Eggert - - * src/system.h: Include intprops.h. - (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_STRLEN_BOUND): Remove; - they are now defined in intprops.h. - -2005-03-09 Jim Meyering - - * TODO: Remove entry about named pipes. It was fixed in 5.3.0. - -2005-03-08 Paul Eggert - - * src/date.c (usage): Redo to match recent documentation changes. - Don't bother documenting which usages are GNU extensions; the list - wasn't correct, and is better left to the printed manual anyway. - -2005-03-06 Jim Meyering - - Factor out column-count processing. - * src/pr.c: Include "inttostr.h". - (parse_column_count): New function. - (main): Use the new function for both old-style, -9, and long, - --columns=-9, options. - - * src/cksum.c: Remove `register' keyword. - * src/cut.c: Likewise. - * src/dd.c: Likewise. - * src/env.c: Likewise. - * src/factor.c: Likewise. - * src/fmt.c: Likewise. - * src/fold.c: Likewise. - * src/id.c: Likewise. - * src/logname.c: Likewise. - * src/ls.c: Likewise. - * src/pr.c: Likewise. - * src/printf.c: Likewise. - * src/shred.c: Likewise. - * src/sort.c: Likewise. - * src/sum.c: Likewise. - * src/test.c: Likewise. - * src/tsort.c: Likewise. - * src/uniq.c: Likewise. - * src/wc.c: Likewise. - * src/whoami.c: Likewise. - -2005-03-01 Paul Eggert - - * src/Makefile.am (nanosec_libs): Remove $(LIB_XANOSLEEP); no - longer needed. - -2005-03-01 Jim Meyering - - * src/copy.c (copy_internal): Change test of source type from - !S_ISREG to S_ISLNK. Reported by Paul Eggert in - http://lists.gnu.org/archive/html/bug-coreutils/2004-10/msg00050.html. - -2005-02-28 Jim Meyering - - * NEWS: Mention that xnanosleep fixes sleep failure on linux-2.6.8.1. - -2005-02-21 Paul Eggert - - * src/Makefile.am (dd_LDADD, shred_LDADD): Add $(LIB_GETHRXTIME). - (nanosec_libs): Add $(LIB_XNANOSLEEP). Needed for newer GNU/Linux - hosts with clock_gettime. - -2005-02-20 Paul Eggert - - * NEWS: Describe user-visible change to dd. - * src/Makefile.am (dd_LDADD, shred_LDADD, nanosec_libs): - Remove $(LIB_CLOCK_GETTIME). These functions now use - gethrxtime instead. - * src/dd.c: Include gethrxtime.h, xtime.h. - (start_time): Now of type xtime_t, not struct timespec. - (print_stats, main): Use gethrxtime rather than gettime. - * src/ls.c (time): Remove obsolete decl. - (get_current_time): gettimeofday always returns 0, so don't - check its result. - * src/shred.c: Include gethrxtime.h. - (isaac_seed): Use gethrxtime rather than a mishmash. - * src/touch.c (time): Remove obsolete decl. - - * tests/misc/split-fail: Don't assume that the current host - supports integers wider than 32 bits. Fix comment typo. - * tests/od/x8: Likewise. - - * src/chown-core.c (enum RCH_status): Remove trailing comma, - as it's not valid in standard C89. - -2005-02-15 Jim Meyering - - * src/stat.c (human_fstype): Add case/definition for S_MAGIC_XFS - so that file systems of type `xfs' are recognized as such. - * src/fs.h: Regenerate. - Reported by Bernd Eckenfels. - * src/stat.c (human_fstype): Likewise for S_MAGIC_JFS/jfs. - * src/fs.h: Regenerate. - Reported by Andreas Schwab. - - * src/nice.c (NZERO) [NZERO == 0]: Undefine and define to 20, - to work around the invalid definition from Darwin 7.7.0. - Test failure reported by Sébastien Maret. - -2005-02-14 Paul Eggert - - * src/sort.c (mergefps): Use binary search rather than linear one - when comparing new line to lines already in main memory. - Idea suggested by James Lemley. - -2005-02-09 Jim Meyering - - * src/copy.c (valid_options): Add an assertion that - not both hard_link and symbolic_link are set. - -2005-02-08 Paul Eggert - - * NEWS: Document stat -f -c %S, plus changes to default formats. - * doc/coreutils.texi (stat invocation): Normalize terminology, - capitalization, and sort order to match --help output. Mention %c - for file systems. Add new -f -c format %S, and document %s versus %S; - problem reported by Jeroen van Wolffelaar. - * src/stat.c (usage): Likewise. - (STATFS_FRSIZE): New macro. - (print_statfs): Use it, for stat -f -c %S. - (do_statfs): Change default formats to output %S. - -2005-02-03 Paul Eggert - - * src/system.h: Include "memrchr.h". - (memrchr) [!HAVE_DECL_MEMRCHR]: Remove decl. - -2005-02-02 Jim Meyering - - * tests/du/8gb: Also adjust the test (s/64/128/) to detect - systems that don't support sparse files. - Check for $2 -ge 128, rather than $2 = 128, in case - there is a file system type that doesn't support sparse files, - yet for which metadata takes up additional space. - Both reported by Andreas Schwab. - -2005-02-01 Eric Blake (tiny change) - - * tests/du/8gb: Create a larger test file, so we properly - detect that sparse files can be created on NTFS under cygwin. - -2005-01-30 Jim Meyering - - * src/head.c (elide_tail_bytes_pipe): Correct wording in diagnostic. - - * src/stty.c: Remove unnecessary parentheses in all #if directives. - -2005-01-29 Eric Blake (tiny change) - - * .cvsignore: Ignore config.cache and config.status.lineno. - * src/stty.c [VSWTCH]: Some systems, like Cygwin, use VSWTC - instead of VSWTCH, for use with CSWTCH. - -2005-01-29 Eric Blake (tiny change) - - * tests/Makefile.am (.PHONY): Add check-root and root-hint. - * tests/rwx-to-mode: Ignore ACL designation. - * tests/setgid-check: Likewise. - * tests/chown/separator: Quote user and group names. - -2005-01-24 Jim Meyering - - * src/cp.c (usage): Merge the descriptions of --no-dereference and -P. - Suggestion from Johan Boule. - -2005-01-17 Eric Blake (tiny change) - - * src/Makefile.am (all_programs.list): Strip $(EXEEXT) and remove - duplicates. - * man/Makefile.am (all_programs): Revert previous patch; updated - all_programs.list fixes this. - (.x.1): No need to add $(EXEEXT). - -2005-01-03 Corinna Vinschen (tiny change) - - * src/system.h: Use S_BLKSIZE value for ST_NBLOCKSIZE where - available. - -2005-01-22 Jim Meyering - - * Makefile.maint (v_etc_file): The version string has moved to - version-etc-fsf.c, search that new file, not version-etc.c. - -2005-01-17 Paul Eggert - - * tests/group-names: Use numeric group ids, not symbolic group names, - since the latter can have shell metacharacters in them (e.g., spaces). - Problem reported by Eric Blake. - * tests/chgrp/basic: Assume groups are numeric, not symbolic. - * tests/chgrp/deref: Likewise. - * tests/chgrp/posix-H: Likewise. - * tests/chgrp/recurse: Likewise. - -2005-01-15 Jim Meyering - - * src/shred.c (isaac_seed) [HAVE_GETHRTIME]: #if-0 this block, - because just calling gethrtime evokes an `illegal instruction' - failure when compiled with Sun's c89 on Solaris 8 and 9. - Reported by Nelson Beebe. - - * src/shred.c (isaac_seed) [HAVE_GETHRTIME]: Don't call ISAAC_SEED - twice with the same value of `t'. - Replace nested #if-#else blocks with #if-#elif-#elif chain. - -2005-01-14 Jim Meyering - - The test, tests/tail/f-1, failed on powerpc-apple-darwin7.7.0. - * src/tail.c (IS_TAILABLE_FILE_TYPE): Adjust definition also to include - sockets, since that's what you get when reading from a command-line- - supplied pipe on Darwin 7.7. - (IS_PIPE_LIKE_FILE_TYPE): Define. - (main): Use new IS_PIPE_LIKE_FILE_TYPE rather than simply S_ISFIFO. - Reported by Nelson Beebe. - This same change is also required on NetBSD/sparc-1.5. - Reported by Adrian Bunk. - - * src/expr.c (toarith): Rewrite to detect/diagnose integer overflow, - rather than suffering silently. - Before, expr would silently overflow and wrap around: - $ expr 9223372036854775808 = 0 # $(echo 2^63|bc) - 1 - Now it detects the problem and exits nonzero: - $ ./expr $(echo 2^63|bc) = 0 - ./expr: 9223372036854775808: integer is too large - - * tests/chown/separator (id_gn): Exit 77, not 1, for a test-framework - failure, so that doesn't cause `make check' to stop. Nelson Beebe - reported that this test would fail with the diagnostic, - `cannot find name for group ID 10', on one of his systems. - -2005-01-13 Jim Meyering - - * src/test.c (is_int): Don't overflow when evaluating integer - constants. Before, ./test $(echo 2^64|bc) -eq 0 && echo FAIL - would print `FAIL'. - - * tests/Fetish.pm (run_tests): Add code (if-0'd out) to detect - names of temporary files that would clash on 8.3 file systems. - * tests/mk-script (validate): Likewise. - -2005-01-12 Jim Meyering - - * tests/dd/skip-seek: Shorten test names to accommodate 8.3 systems. - - * tests/tr/Test.pm (repeat-xC): Change test name from - `repeat-Compl', to avoid 8.3 conflict with `repeat-compl'. - Reported by Eric Blake. - (repeat-000): Rename to `repeat-zeros' for the same reason. - -2005-01-11 Jim Meyering - - * configure.ac: Update version to 5.3.1. - -2005-01-11 Eric Blake - - * src/Makefile.am (check-README, check-AUTHORS): Account for $(EXEEXT). - * man/Makefile.am (all_programs): Account for $(EXEEXT). - -2005-01-11 Jim Meyering - - * src/unexpand.c (add_tab_stop): Properly diagnose a tabstop list - with decreasing values. - - * src/expand.c (main): Likewise. - * src/unexpand.c (main): Check for overflow in tabstop values - specified via the obsolete form. E.g., now this command fails: - _POSIX2_VERSION=1 ./unexpand -$(echo '2^64+1'|bc) - Before it would act like `_POSIX2_VERSION=1 ./unexpand -1'. - * tests/unexpand/basic-1 (obs-ovflo): New test for this. - -2005-01-10 Paul Eggert - - Respond to POSIX interpretations about pathchk -p dated 2005-01-06. - * NEWS: Document the changes. - * doc/coreutils.texi (pathchk invocation): Likewise. - * src/pathchk.c (PORTABILITY_OPTION): New constant. - (longopts, usage, main, validate_file_name): - Add support for new -P option. - Reject empty file names (unless -p is not specified and the - current system allows empty file names). - Change --portability so that is now equivalent to -p -P. - Don't test whether file name is too long, if it is known to exist. - (no_leading_hyphen): New function. - * tests/misc/pathchk1: Add tests for empty file names and - pathchk -P. - -2005-01-08 Jim Meyering - - * Version 5.3.0. - - `pr --columns=N' was not equivalent to `pr -N' when also using - either -s or -w. - - * src/pr.c (main): Set `explicit_columns' for --columns=N, - not just for -N. This bug has existed since the introduction - of the --columns=N option on 1998-08-15. - * NEWS: Document this. - * tests/pr/Test.pm (test_vector): For each -N test, automatically - create a new test vector using --columns=N. - -2005-01-07 Paul Eggert - - * src/pr.c (main): Check for column count overflow with - usages like "pr -2147483648". - -2005-01-07 Jim Meyering - - * src/pr.c (init_fps): Use xnmalloc, rather than xmalloc. - -2005-01-06 Jim Meyering - - * README: List the precise HP-UX version numbers that are affected. - Suggestion from Bob Proulx. - - * Makefile.maint (sc_changelog): Specify find's `-maxdepth 2' - predicate before `-name ChangeLog' to avoid a harmless warning - from find-4.2.10. - -2005-01-05 Jim Meyering - - * tests/help-version: Punt on the uptime test, since it fails when - it can't get boot time, and I don't want that to stop `make check'. - - * src/du.c (process_file): Evaluate exclusion rules against - the entire file name, not just the last component. - Reported by Robert Lindgren. - * tests/du/exclude: Test for this. - * NEWS: Document this. - - Ensure that tests/Makefile.am's check-root actions stay up to date. - * Makefile.maint (sc_root_tests): New rule. - (syntax-check-rules): Add it to the list. - -2005-01-04 Jim Meyering - - * man/shred.x: Change one-line summary to reflect that shred does - not remove files by default. Suggestion from Helen Faulkner in - http://bugs.debian.org/288552 - - * README: Request VERBOSE=yes output when reporting test failures. - Other minor changes. - - * tests/Makefile.am (check-root): Update. - -2005-01-03 Paul Eggert - - * src/system.h: Undo previous change; we now use Autoconf. - -2005-01-03 Jim Meyering - - * tests/stty/row-col-1: Don't set rows or columns to zero, to avoid - a bug in the TIOCGWINSZ ioctl on at least Solaris5.9 systems. Setting - either (or both) to zero would succeed, but subsequent `stty size' - would say `no size information for this device' due to the ioctl - failing with EINVAL. - - * src/system.h: If PRIdMAX, PRIoMAX, PRIuMAX, and PRIxMAX are - not all defined and either ULONG_MAX or ULLONG_MAX is not defined, - then fail at compile-time rather than let tools like od produce - invalid results at run time. - -2004-12-21 Jim Meyering - - * src/csplit.c (usage): Say the default names are `xx00, xx01, ...', - not `xx01, xx02, ...'. - Reported by Matt Kraai in http://bugs.debian.org/286605 - - * tests/misc/split-fail: Avoid spurious failure on x86 Solaris5.9 - when using c89. - -2004-12-20 Paul Eggert - - * src/split.c (usage): Mention default size. Suggested by Dan Jacobson. - -2004-12-19 Paul Eggert - - * NEWS: Mention that one should eval "`dircolors`" rather than - `dircolors`. - -2004-12-17 Jim Meyering - - * tests/mv/hard-link-1: Rearrange to use newer trap-handling code, - so temporary directories aren't left behind upon e.g., interrupt. - -2004-12-16 Paul Eggert - - * src/ls.c (print_dir): Use "%s: not listing already-listed - directory", not "not listing already-listed directory: %s", to - format already-listed directories, to be consistent with other - diagnostics involving file names and colons. - -2004-12-15 Jim Meyering - - * src/Makefile.am (__LDADD): Define, so that building `[' on - Solaris still uses the -lgen library that it requires in order - to get a definition of eaccess. - -2004-12-14 Jim Meyering - - tac would exit immediately upon I/O or temp-file creation failure. - Now it continues on, processing any remaining command line arguments. - - * src/tac.c: Include quotearg.h. - Use quotearg_colon in most diagnostics. - (copy_to_temp): Rewrite not to exit upon I/O or temp-file-creation - failure. Before, this command (with /full/tmp being a full partition) - TMPDIR=/full/tmp ./tac /proc/modules tac.c - would exit immediately upon the write error while trying to copy - non-seekable /proc/modules to the full partition. Now it still - reports the failure but continues on with the remaining file. - (tac_nonseekable): Return false also if copy_to_temp fails. - [DONT_UNLINK_WHILE_OPEN]: Add a FIXME comment explaining that - using atexit like this is wrong. - * NEWS: Document this. - * tests/misc/tac-continue: New test for this. - * tests/misc/Makefile.am (TESTS): Add tac-continue. - - * tests/chown/basic: Add a few more tests. - -2004-12-13 Paul Eggert - - * src/ls.c (gobble_file): Change arg name to be command_line_arg - rather than explicit_arg, for consistency with copy.c. - (extract_dirs_from_files): Remove ignore_dot_and_dot_dot arg, since - it is deducible from dirname arg. All callers changed. - (extract_dirs_from_files, print_dir, queue_directory): - Add command_line_arg arg. All callers changed. - (struct pending): Add command_line_arg member. - (main): Use NULL rather than 0 when appropriate. - (set_exit_status, file_failure): New functions. - (queue_directory): Store command_line_arg into new structure. - (print_dir, gobble_file, get_link_name): - Use file_failure to report problems in accessing files, - so that the exit status is set consistently. - (print_dir): Simplify readdir failure code yet again. - If closedir fails, report "closing directory" rather than "reading - directory" failure. - (xstrcoll): Use set_exit_status to set status on failure. - * tests/ls-2/tests (no-a-isdir-b): This now exits with status 2, - not status 1. - -2004-12-11 Jim Meyering - - Avoid a race condition vulnerability in chown, when used with - --from=O:G and without the (-h) --no-dereference option. - * src/chown-core.c (restricted_chown): New function. - (change_file_owner): Call it. - Reported by Ulrich Drepper. - * NEWS: Mention this. - -2004-12-09 Paul Eggert - - * ls now exits with status 1 on minor problems, 2 if serious trouble. - * NEWS: Document this. - * src/ls.c (LS_MINOR_PROBLEM, LS_FAILURE): New constants. - All uses of EXIT_FAILURE replaced with LS_FAILURE, unless - specified below. - (main): Initialize exit failure to LS_FAILURE. - (print_dir, gobble_file, get_link_name, xstrcoll): - Set exit status to LS_MINOR_PROBLEM if the failure is minor. - (print_dir): Do not give up on entire directory merely because readdir - returns EOVERFLOW. - (usage): Explain exit status. - * tests/help-version: ls and variants now exit with status 2 - on serious trouble. - -2004-12-08 Paul Eggert - - * NEWS: Document new UTC+HH:MM date syntax, and put date changes - together. - -2004-12-07 Paul Eggert - - * src/factor.c (factor): Don't list 1 as a factor of 1. - Problem reported by Thomas Folz-Donahue. - -2004-12-06 Jim Meyering - - * tests/du/files0-from: Sanitize environment. - Otherwise, e.g., BLOCKSIZE=k would cause a failure, and that - setting is the default (exported from /etc/profile) on at least one - NetBSD 1.6 system. - * tests/du/no-deref: Likewise. - * tests/cp/symlink-slash: Likewise. - * tests/ls/symlink-slash: Likewise - -2004-12-05 Jim Meyering - - * tests/tail/Test.pm (err-6) ["tail -c"]: Avoid test failure when - _POSIX2_VERSION=199209 is in the environment, or when building on - e.g., OpenBSD 3.2. - -2004-12-04 Jim Meyering - - * NEWS: Mention cut's new --complement option. - -2004-10-01 Paolo Bonzini - - * cut.c (complement, COMPLEMENT_OPTION): New. - (longopts): Add --complement. - (usage): Say not that -b, -c, and -f `print' fields, - but rather that they `select' fields for printing. - Describe the new --complement option. - (mark_range_start): Extracted from set_fields. - (print_kth): Support --complement. - (compare_ranges): New function. - (set_fields): Rewrite the part that populates range_start_ht, - merging it with the part that populates printable_field. - (main): Handle --complement. - -2004-12-03 Paul Eggert - - * src/tail.c (tail_file): Set errnum to -1 if the initial "tail" - failed. This works around an assertion failure reported by - Roberto Nibali in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-12/msg00012.html - -2004-12-02 Jim Meyering - - With using --color and with LS_COLORS saying not to color - executables, don't stat every file. - * src/ls.c (is_colored): New function. - (gobble_file): Use it. - (main): Use it here, in place of too-strict tests against NULL: - if either ORPHAN or MISSING was set to 0 from LS_COLORS, the - old test would fail. - -2004-12-01 Paul Eggert - - * src/comm.c (compare_files): Assume setlocale exists. - * src/join.c (keycmp): Likewise. - * src/seq.c (decimal_point): Treat like sort. Now char. - All uses changed. - (main): Assume localeconv exists. Use same code as sort. - * src/sort.c (C_DECIMAL_POINT): Remove. Use changed to '.'. - Assume setlocale exists. - (thousands_sep): Renamed from th_sep. - (IS_THOUSANDS_SEP): Remove. All uses replaced by comparisons. - (NONZERO): Parenthesize use of arg. - (numcompare): Avoid duplicate loads. Use ISDIGIT as boolean, for - consistency. Avoid unnecessary negation by reversing - fraccompare args. - (main): Rewrite localeconv call to match seq.c. - * src/system.h: Assume locale.h exists. - (HAVE_SETLOCALE): Remove. - * src/uniq.c (different): Assume setlocale exists. - - * src/ls.c (sort_files): Minor cleanup. Remove an unnecessary - 'volatile' on a local variable. Rewrite to avoid unnecessary - double-assignment to 'func' in the usual case where strcoll does - not fail. - -2004-11-30 Paul Eggert - - * src/pinky.c (gethostname): Remove decl. - (scan_entries): Use IS_USER_PROCESS instead of by-hand code. - * src/uptime.c (print_uptime): Use IS_USER_PROCESS and - UT_TYPE_BOOT_TIME instead of by-hand code. - * src/users.c (list_entries_users): Use IS_USER_PROCESS - instead of by-hand code. - * src/who.c (USER_PROCESS, RUN_LVL, INIT_PROCESS, LOGIN_PROCESS, - DEAD_PROCESS, BOOT_TIME, NEW_TIME, UT_TYPE_UNDEF, UT_TYPE): Remove. - (IS_USER_PROCESS): Move to ../lib/readutmp.h. - (UT_TYPE_RUN_LVL, UT_TYPE_INIT_PROCESS, UT_TYPE_LOGIN_PROCESS, - UT_TYPE_DEAD_PROCESS, UT_TYPE_NEW_TIME): New macros. - (gethostname): Remove decl. - (list_entries_who, scan_entries): Use the new macros defined above, - for consistency with pinky, uptime, and users. - -2004-11-25 Paul Eggert - - Fix problem reported by Scott S. Tinsley for HP-UX 11.11 using - HP's ANSI C compiler. Declaring int functions causes warnings on - some modern systems and shouldn't be needed to compile on ancient - ones. - * src/copy.h (stat, lstat, rename): Remove decls. - * src/install.c (stat): Remove decl. - * src/ln.c (link, symlink): Remove decls. - -2004-11-25 Jim Meyering - - * man/help2man: Import help2man-1.35.1. - * man/Makefile.am (.x.1): Remove now-unnecessary use of - locally-added --program-name=NAME option. Now, help2man gets - the name from the [NAME] section (i.e. from our .x file). - * man/install.x: Use `install', not `ginstall' in the one-line - description. Reported by Brendan O'Dea. - * man/sha1sum.x: Use `sha1sum', not `shasum'. - -2004-11-24 Jim Meyering - - Since the changes of 2004-05-22, the u.saved_cwd member at - the bottom of the active-directory stack was no longer - strictly necessary. This change removes that member and uses - the newer cwd_state parameter for the final restore_cwd. - - * src/remove.c (struct AD_ent) [u]: Remove now-unnecessary union. - [dev_ino]: Rename from `a'. - (AD_pop_and_chdir): Add a parameter to play the role of just-removed - bottom-of-stack cwd-state member. - (AD_pop_and_chdir): No longer return boolean. Adjust caller. - (AD_push_initial): Remove CWD parameter. Adjust caller. - -2004-11-23 Paul Eggert - - Minor performance improvements and cleanups for "touch". - * src/touch.c (posix_date): Remove; not needed as a static var. - All uses rewritten. - (touch): Use new futimens function to operate more efficiently - in some cases. Don't stat/fstat existing file when - (!amtime_now && change_times == (CH_ATIME | CH_MTIME)); the - old time stamps aren't needed in that case. - (main): change_times is int, not bool. Simplify test for - change_times. - -2004-11-20 Paul Eggert - - * src/install.c (usage): Avoid usage that runs afoul of Docbook - translation. Problem reported by Eric S. Raymond. - - Restore dd's noctty flag, reverting the change of 2004-04-08. - POSIX does not allow "dd" to use O_NOCTTY by default. - * NEWS: Add noctty flag to dd. - * doc/coreutils.texi (dd invocation): Likewise. - * src/dd.c (flags, usage, main): Likewise. - -2004-11-19 Alfred M. Szmidt - - * src/ls.c (usage): Clarified description of --no-group (-G), - --human-readable (-h), --inode (-i), --size (-s), --time, - and --time-style. - -2004-11-19 Jim Meyering - - * src/ls.c (usage): Clarify description of --author. - Tweak indentation so that help2man creates better nroff. - Reported by Dan Jacobson. - - * src/uniq.c (check_file): Don't check stdout for errors here. - - * src/pwd.c (find_dir_entry): Update comment to match reality. - -2004-11-18 Jim Meyering - - * src/pwd.c (robust_getcwd): Correct the comment: this function - constructs the directory name. The caller prints it. - -2004-11-16 Paul Eggert - - * src/stat.c (STATFS): New macro, for portability to Solaris 9. - (do_statfs): Use it. - - * src/basename.c, src/chroot.c, src/cksum.c, src/dd.c, src/dirname.c, - src/factor.c, src/hostid.c, src/hostname.c, src/link.c, src/logname.c, - src/nohup.c, src/printenv.c, src/pwd.c, src/setuidgid.c, src/sleep.c, - src/sync.c, src/tsort.c, src/unlink.c, src/uptime.c, src/users.c, - src/whoami.c, src/yes.c (main): Use getopt_long rather than getopt. - * src/readlink.c (main): argv is not const. - - * src/cut.c (usage): Improve documentation along the lines suggested - by Debian 5.2.1-2. - * src/echo.c (usage): Likewise. - * src/expr.c (usage): Likewise. - - * src/dircolors.hin: Add putty, screen-bce. - - * src/pinky.c (print_entry): Fix memory leak. - * src/who.c (print_user): Likewise. - -2004-11-15 Paul Eggert - - * NEWS: New dd operand "status=noxfer". - * src/dd.c (C_ASCII, C_EBCDIC, C_IBM, C_BLOCK, C_UNBLOCK, - C_LCASE, C_UCASE, C_SWAB, C_NOERROR, C_NOTRUNC, C_SYNC, C_TWOBUFS, - C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): Now constants, not - macros. - (STATUS_NOXFER, statuses): New constants. - (usage, print_stats, scanargs): Add support for status=noxfer. - (usage): Update status output to match new behavior. - (print_stats): Always output complete byte count. - Put space between numbers and units, as SI requires. - Use ngettext so that i18n can use plurals for "byte" and "second". - Don't multiply by 1e-9 (inexact); divide by 1e9 (which is exact). - (iflag_error_msgid, oflag_error_msgid): Remove; replace uses by - the string. - * tests/dd/skip-seek (@Tests): Use status=noxfer to avoid - problems with regression testing. - -2004-11-14 Paul Eggert - - * NEWS: dd now outputs total bytes, seconds, and bytes per second. - * src/Makefile.am (dd_LDADD): Add $(LIB_CLOCK_GETTIME). - * src/dd.c: Include "human.h". - (w_bytes, start_time): New vars. - (usage): Document new I/O statistics output - (print_stats): Output new I/O statistics. - (cleanup): Do statistics after closing stdin and stdout, so that - the times are more accurate. - (write_output, dd_copy): Count output bytes. - (main): Get initial value of clock. - -2004-11-14 Jim Meyering - - Backslash-escape `-'s in email addresses, so that they are - rendered properly in UTF-locales. - * man/help2man (escape_hyphens): New function. - (main): Call it on email addresses. - - * src/sort.c (zaptemp): Mark new diagnostic for translation. - - * tests/misc/close-stdout: New file. Test today's closeout.c change. - * tests/misc/Makefile.am (TESTS): Add close-stdout. - -2004-11-13 Jim Meyering - - * src/test.c (usage): Put the description of `[-n] STRING' - on two lines, one for `-n STRING' and one for `STRING' so that - help2man properly escapes the `-'. Otherwise, the hyphen is - rendered inappropriately in UTF-8 locales. - Reported by Uwe Zeisberger in http://bugs.debian.org/281069. - -2004-11-12 Paul Eggert - - * NEWS: Document the following changes. - - * src/sort.c: Avoid O(N**2) behavior when there are many temporary - files. - (temptail): New variable, so that we can easily append to list. - (create_temp_file): Create new files at end of list, so that - searching the list has O(N*NMERGE) behavior instead of O(N**2). - (zaptemp): Update temptail if needed. - (mergefps, merge): Accept new arg that counts temp files, and keep it - up to date as we create and remove temporaries. This is for - efficiency, so that we don't call zaptemp so often. - All callers changed. - (sort): Don't create array in reverse order, since the list of - temporaries is now in the correct order. - - (zaptemp): Protect against race condition: if 'sort' is - interrupted in the middle of zaptemp, it might unlink the - temporary file twice, and the second time this happens the file - might already have been created by some other process. - - (zaptemp): Warn if a temporary file is not removed. - - (create_temp_file): Use offsetof for clarity. - (die): Move it up earlier, to clean up the code a bit. - - * src/pr.c (strtoumax): Declare if not declared. - (skip_to_page, first_page_number, last_page_number, page_number, - first_last_page, print_header): - Use uintmax_t for page numbers. - (first_last_page): Remove unnecessary forward declaration. - Do not modify arg (it is now a const pointer). - Return a true if successful, false (without print a diagnostic) - otherwise. - (main): If +XXX does not specify a valid page range, treat it - as a file name. This follows the response to Open Group XCU ERN 41 - , - which says the behavior is allowed. - (skip_to_page): When starting page number exceeds page count, - print both numbers in the diagnostic. - (print_header): Detect page number overflow. - -2004-11-07 Jim Meyering - - * src/uname.c [__APPLE__]: Include and . - (main) [__APPLE__]: Get the processor type via syscall rather than - hard-coding "powerpc". From Toby Peterson. - - * src/sort.c (merge): Remove declarations of now-unused variables. - -2004-11-06 Paul Eggert - - * src/sort.c (first_same_file): Remove. Move most of the code to.... - (avoid_trashing_input): New function. - (merge): Avoid some silly merges, e.g., copying a single file to - a temporary file when there are exactly 17 input files to merge. - Take a count of temporary files rather than a max_merge arg. - All uses changed. - -2004-11-06 Jim Meyering - - * src/sort.c (xfclose): Don't close stdout here (just flush it), - since close_stdout now closes stdout unconditionally. - -2004-11-05 Paul Eggert - - * src/sort.c (inittables, sort_buffer_size, getmonth, mergefps, - first_same_file, merge, sort, main): Use size_t for indexes to arrays. - This fixes some unlikely havoc-wreaking bugs (e.g., more than INT_MAX - temporary files). - (getmonth, keycompare, compare): Rewrite to avoid need for alloca, - thus avoiding unchecked stack overflow in some cases. As a side - effect this improve the performance of "sort -M" by a factor of 4 - on my benchmarks. - -2004-11-03 Paul Eggert - - * src/stty.c: Include "vasprintf.h" since we use vasprintf now. - - * src/Makefile.am (check-AUTHORS): Don't assume \? works in a sed - expression; it's not portable. Problem reported by Albert Chin. - Don't invoke a program more than once. - * src/groups.sh (version): New variable, containing author info, - for benefit of AUTHORS check. Use it when acting on --version option. - * AUTHORS: Remove duplicate lines. Remove bogus "chroot:" - in groups line. - - * src/system.h: Don't #define and #undef getopt around , - as this breaks the new regime that does "#define getopt rpl_getopt". - Problem reported by Albert Chin for Solaris 9 with Sun cc in: - http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00019.html - I suppose this may cause problems on ancient hosts with - incompatible getopt declarations, but we'll cross that bridge if - the problem gets reported to us by someone who can test the fix. - -2004-11-03 Jim Meyering - - * src/tac.c: quote(...) file names in diagnostics. - -2004-10-29 Paul Eggert - - * NEWS: Document getdate changes. - -2004-10-29 Jim Meyering - - * src/tac.c (tac_file): Remove temporary prototype and move this - function `down' so that it precedes definition of tac_nonseekable. - - `tac /proc/modules' would print nothing - Reported by Harald Dunkel in http://bugs.debian.org/278604. - - * src/tac.c (copy_to_temp): Renamed from save_stdin, since - now it copies a general file descriptor, not just stdin. - (tac_nonseekable): Renamed/adapted from tac_stdin. - (tac_file): Get fd via `open' directly rather than via fopen/fileno, - since we never used the stream. Perform "-" to stdin mapping here - rather than in main. Determine whether a file is seekable, - by trying to `lseek' to its end, and dispatch to tac_seekable or - tac_nonseekable accordingly. - (main): Rewrite argument handling now that it uses only tac_file. - * NEWS: Mention it here. - -2004-10-21 Jim Meyering - - * tests/mv/leak-fd: New file. - * tests/mv/Makefile.am (TESTS): Add it. - * tests/rm/dot-rel: New file. - * tests/rm/Makefile.am (TESTS): Add it. - - Correct my patch of 2004-10-18. - * src/remove.c (rm): Destroy the saved_cwd here (via cwd_state), - if necessary, not in remove_dir. Otherwise, removing multiple - `.'-relative nonempty directories no longer worked. - -2004-10-20 Paul Eggert - - * src/fmt.c (usage): Improve description of --prefix. - Problem reported by Edward Welbourne. - - * man/uniq.x: Change summary so that it doesn't imply that - uniq writes to its input file. Problem reported by - Dan Jacobson. - -2004-10-18 Jim Meyering - - Plug a leak that would cause a cross-device mv to fail when - operating on too many command-line-specified nonempty directories. - * src/remove.c (remove_dir): Destroy the `struct saved_cwd' on the - top of the stack before returning. This usually closes the file - descriptor that was used to return to the original working directory. - Reported by Cyril Bouthors in - http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/3048 - * NEWS: Mention it here. - - * src/pathchk.c (validate_file_name): Give a more descriptive - diagnostic when pathconf fails. This also avoids an unwarranted - warning from gcc-3.3.5 about a format not being a string literal. - - * src/sleep.c (main): Remove declaration of unused local, c. - * src/printenv.c (main): Likewise. - * src/logname.c (main): Likewise. - * src/uptime.c (main): Likewise, for optc. - * src/tsort.c (main): Likewise, for opt. - -2004-10-17 Paul Eggert - - * AUTHORS: Add self to pathchk. - * src/pathchk.c (AUTHORS): Add self. - Change "path" to "file name" whenever possible. - Remove usage comment, as it was a duplication of the code or doc. - Include if available. - (mbrlen, mbstate_t) [! (HAVE_MBRLEN && HAVE_MBSTATE_T)]: Define. - (NEED_PATHCONF_WRAPPER, PATH_MAX, PATH_MAX_FOR, NAME_MAX, - pathconf_wrapper, portable_chars, dir_ok): Remove. - (NAME_MAX_MINIMUM, PATH_MAX_MINIMUM): New macros. - (pathconf, _PC_NAME_MAX, _PC_PATH_MAX): Define if nonexistent. - (portable_chars_only): New arg FILELEN. - Don't assume ASCII; we might be on an EBCDIC host. - Don't assume unibyte locale in diagnostic. - (component_start, component_len): New functions. - (validate_file_name): Renamed from validate_path. All uses changed. - Pretty much a complete rewrite. - Don't make copy of file arg. Always append trailing slash to - pathconf arg, just in case it's a symlink (this is pure paranoia; - we don't know of any hosts where the trailing slash is required). - Use size_t instead of long int when possible. - Avoid need to call pathconf in most practical cases. - Don't use euidaccess several times to test searchability; - just use lstat once. Reword diagnostic to put the (often very long) - file names last. - -2004-10-15 Paul Eggert - - * src/printf.c (usage): Mention Unicode, and use H for hex digits. - -2004-10-13 Jim Meyering - - * NEWS: Mention today's fts.c fix. - -2004-10-13 Paul Eggert - - * tests/stty/row-col-1: Set LC_ALL=C. - -2004-10-12 Jim Meyering - - * src/dircolors.hin: Add .flac and .mpc as audio suffixes. - From Jesus Climent in http://bugs.debian.org/276149. - -2004-10-05 Paul Eggert - - * src/ls.c (ignore_mode): Renamed from ignore, to avoid shadowing - problems. All uses changed. - -2004-10-05 Jim Meyering - - * .x-sc_trailing_blank: Add an exclusion for config/texinfo.tex, - since Karl says its trailing blanks are there to stay :-) - -2004-10-04 Paul Eggert - - * src/expr.c (NEW, OLD): Remove, partly to avoid - reference to obsolescent macro XMALLOC. - All uses replaced by xmalloc and free. - -2004-09-28 Jim Meyering - - * src/tail.c (usage): Clarify: --retry works only with --follow=name. - Reported by Nik A. Melchior in http://bugs.debian.org/273781. - -2004-09-27 Paul Eggert - - * src/od.c (format_address_paren): c is optional, so don't output - it if it's '\0'. - -2004-09-26 Paul Eggert - - Add support for ls --hide. Idea suggested by Bardur Arantsson. - * NEWS: Document this. - * src/ls.c (file_ignored): Renamed from file_interesting, with - inverted return value. Accept the file name, not a struct dirent *. - All uses changed. Avoid the expense of calling fnmatch if the - file is ignorable due to leading '.'. - (all_files, really_all_files): Removed; replaced by: - (ignore): New variable. All uses changed. - (IGNORE_DEFAULT, IGNORE_DOT_AND_DOTDOT, IGNORE_MINIMAL, HIDE_OPTION): - New constants. - (hide_patterns): New variable. - (long_options, decode_switches, file_ignored, usage): - Add support for --hide. - (patterns_match): New function. - (usage): Replace "hide" with "ignore" in explanation, to avoid - confusion. - -2004-09-25 Paul Eggert - - * src/ls.c (gobble_file, print_long_format): Don't assume that - human-readable output has a byte count equal to its column width; - this isn't always true in locales where the radix character is not - '.' or ','. - (format_user_or_group): Revamp code to match the above fix; - this avoids the (very faint) possibility of integer overflow. - -2004-09-24 Paul Eggert - - * NEWS: Mention that "chmod -r -w x" now works as expected. - * src/chmod.c (main): Revamp option processing to support this. - * tests/chmod/Makefile.am (TESTS): Add 'usage'. - * tests/chmod/usage: New set of tests for usage like that. - -2004-09-24 Jim Meyering - - * Makefile.maint (CVS_LIST): Use --types=AFGM option so that - it lists only cvs-controlled regular files. - - * src/csplit.c (xalloc_die): Declare to be `extern', not `static' - to avoid a warning from gcc-3.4.1. Reported by Paul Eggert. - -2004-09-23 Paul Eggert - - * Makefile.maint (CVS_LIST): New macro. - (sc_space_tab, sc_prohibit_atoi_atof, sc_file_system, - sc_prohibit_jm_in_m4, sc_system_h_headers, sc_sun_os_names, - sc_trailing_blank, po-check): Use it instead of the - nonstandard "cvsu --list". - - * src/tail.c (parse_obsolete_option): Bring back support - for obsolete option followed by non-obsolete, or by more - than one file. When obsolete, conform to SUSv2 rather than - original POSIX 1003.2-1992, as SUSv2 corrected the case of - "tail -c". Add support for the SUSv2 "b" modifier. - * NEWS: Mention the above. - * tests/tail/Test.pm: New test case obs-b to check the above. - err-[134] no longer need _POSIX2_VERSION=199209. - Fix comments to match revised behavior. - -2004-09-22 Jim Meyering - - * Use automake-1.9.2. Regenerate dependent files. - - * src/remove.c (struct dirstack_state) [current_arg_jumpbuf]: - Improve the comment. - - Clean up scoping etc. so that some make `distcheck' tests pass. - * src/csplit.c (xalloc_die): Declare to be static. - * src/chown-core.c (chown_files): Declare as `extern'. - * src/cp-hash.c (remember_created): Likewise. - * src/copy.c (copy): Likewise. - * src/checksum.h (enum) [ALG_MD5]: Define to be 1, not 0. - - * src/id.c, src/nl.c, src/expand.c: Remove trailing blanks. - * src/unexpand.c: Likewise. - - * src/Makefile.am (check-AUTHORS): New rule. - (check): Depend on it. - * AUTHORS: Update. - - * Makefile.maint (syntax-check-rules): Remove duplicate sc_tight_scope. - (sc_system_h_headers): Also exclude copy.h; it includes . - -2004-09-22 Paul Eggert - - * src/ls.c (decode_switches): Don't compare a short value - to SIZE_MAX: GCC sometimes complains. - -2004-09-21 Paul Eggert - - * NEWS: The following commands now reject unknown options: - basename dirname factor hostname link nohup sync unlink yes - Also, pathchk no longer accepts trailing options. - - * src/basename.c: Include . - * src/chroot.c: Likewise. - * src/dirname.c: Likewise. - * src/factor.c: Likewise. - * src/hostid.c: Likewise. - * src/hostname.c: Likewise. - * src/nohup.c: Likewise. - * src/pwd.c: Likewise. - * src/setuidgid.c: Likewise. - * src/sync.c: Likewise. - - * src/basename.c (main): Reject unknown options. - * src/dirname.c (main): Likewise. - * src/factor.c (main): Likewise. - * src/hostid.c (main): Likewise. - * src/hostname.c (main): Likewise. - * src/link.c (main): Likewise. - * src/nohup.c (main): Likewise. - * src/pwd.c (main): Likewise. - * src/setuidgid.c (main): Likewise. - * src/sync.c (main): Likewise. - * src/unlink.c (main): Likewise. - * src/yes.c (main): Likewise. - - * src/cat.c (main): Remove unused "case 0". - * src/chgrp.c (main): Likewise. - * src/chmod.c (main): Likewise. - * src/chown.c (main): Likewise. - * src/comm.c (main): Likewise. - * src/cp.c (main): Likewise. - * src/csplit.c (main): Likewise. - * src/cut.c (main): Likewise. - * src/date.c (main): Likewise. - * src/df.c (main): Likewise. - * src/du.c (main): Likewise. - * src/env.c (main): Likewise. - * src/expand.c (main): Likewise. - * src/fold.c (main): Likewise. - * src/head.c (main): Likewise. - * src/id.c (main): Likewise. - * src/install.c (main): Likewise. - * src/join.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/ls.c (decode_switches): Likewise. - * src/mkdir.c (main): Likewise. - * src/mkfifo.c (main): Likewise. - * src/mknode.c (main): Likewise. - * src/mv.c (main): Likewise. - * src/nl.c (main): Likewise. - * src/paste.c (main): Likewise. - * src/pinky.c (main): Likewise. - * src/pr.c (main): Likewise. - * src/ptx.c (main): Likewise. - * src/readlink.c (main): Likewise. - * src/rm.c (main): Likewise. - * src/rmdir.c (main): Likewise. - * src/seq.c (main): Likewise. - * src/shred.c (main): Likewise. - * src/split.c (main): Likewise. - * src/sum.c (main): Likewise. - * src/tac.c (main): Likewise. - * src/tail.c (main): Likewise. - * src/tee.c (main): Likewise. - * src/touch.c (main): Likewise. - * src/tr.c (main): Likewise. - * src/tty.c (main): Likewise. - * src/uname.c (main): Likewise. - * src/unexpand.c (main): Likewise. - * src/wc.c (main): Likewise. - * src/who.c (main): Likewise. - - * src/chroot.c (main): Use getopt where it suffices, not getopt_long. - * src/cksum.c (main): Likewise. - * src/dd.c (main): Likewise. - * src/logname.c (main): Likewise. - * src/printenv.c (main): Likewise. - * src/sleep.c (main): Likewise. - * src/tsort.c (main): Likewise. - * src/uptime.c (main): Likewise. - * src/users.c (main): Likewise. - * src/whoami.c (main): Likewise. - - * src/du.c (long_options): Standardize on NULL vs 0. - * src/rm.c (long_opts): Likewise. - - * src/logname.c (long_options): Remove. - * src/printenv.c (long_options): Likewise. - * src/sleep.c (long_options): Likewise. - * src/tsort.c (long_options): Likewise. - * src/uptime.c (longopts): Likewise. - * src/users.c (longopts): Likewise. - * src/whoami.c (long_options): Likewise. - - * src/pathchk.c (longopts): Add --help, --version. - (main): Use longopts rather than parse_long_options. - * src/stty.c (longpts, main): Likewise. - - * src/pathchk.c (main): Don't reorder arguments, so that - we can check weird file names. - - * src/readlink.c: Don't include "long-options.h". - * src/sort.c: Likewise. - * src/stty.c: Likewise. - - * src/split.c (verbose): Now bool, not int. - (VERBOSE_OPTION): New enum. - (longopts, main): Use it. - - * tests/factor/basic: Adjust to new wording in diagnostic - that results from the above changes. - -2004-09-21 Jim Meyering - - * man/rm.x: Say "the response is affirmative" rather than "the - response begins with y or Y", so that the documentation is - accurate in non-English locales. Problem reported by Munzir Taha. - -2004-09-19 Paul Eggert - - * src/echo.c (main): Don't pass NULL to strcmp when - POSIXLY_CORRECT and given no arguments. - - * src/md5sum.c (STRING_OPTION): Remove. - (long_options, main): Remove support for undocumented and - obsolete --string option, as suggested in the 1996-09-26 patch. - * NEWS: Document this. - - * tests/rm/fail-eperm: Don't try to remove writeable files in a - sticky /tmp directory, as SVR4-like systems (e.g., Solaris 9) let - you remove such files. Problem reported by Bert Fischer in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-09/msg00074.html - -2004-09-18 Paul Eggert - - * src/md5sum.c (STATUS_OPTION, STRING_OPTION): New enums. - (long_options, main): Use them instead of magic numbers 2 and 1. - For --string, optarg can't possibly be NULL. - - * src/dd.c (usage): Distinguish between options and operands. - (scanargs): Don't mess with argc, argv; getopt_long handles this now. - Say "operands" for operands, not "options". - (main): Use getopt_long, so that "dd --" works as POSIX requires. - * tests/dd/misc: Check for "dd --". - - * src/chroot.c (main): Reject unknown options instead of - interpreting them as a directory to chroot to. - - * src/cksum.c: Remove obsolete comment about POSIX 1003.2/D11.2. - The current standard (POSIX 1003.1-2004) is correct. - (crc_remainder) [defined CRCTAB]: Renamed from "remainder" to avoid - collision with builtin function. - (main) [defined CRCTAB]: Output in lowercase hexadecimal, and - output the first 0 as 8 digits, to make it easier to compare to - the text of the standard. Output crctab to be a const array. - (crctab): Use result of above changes. - (long_options): Remove; not needed if empty. - (main): getopt_long can't return 0 here, so simplify the code. - -2004-09-13 Jim Meyering - - * src/Makefile.am (localedir.h): Don't redirect directly to target. - -2004-09-13 Paul Eggert - - * src/id.c (print_full_info): Don't exit with failure status simply - because a user or group number can't be turned into a name. - Problem reported by Felipe Kellermann in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-09/msg00081.html - -2004-09-12 Jim Meyering - - * Makefile.maint (my-distcheck): When building with -Werror, also - require -Wshadow. - -2004-09-10 Paul Eggert - - * NEWS: "tail" now handles obscure POSIX 1003.2-1992 cases better. - * src/tail.c (parse_obsolete_option): Renamed from - parse_obsolescent_option, since the options are obsolete now. - Remove bool *arg; just exit if there's an error. Revamp to follow - POSIX 1003.2-1992 more precisely, to handle cases like "tail - - file" and "tail -10 -- file" correctly when we are conforming to - the older standard. - (main): Adjust to this change. - * tests/tail/Test.pm (test_vector): minus-* requires - _POSIX2_VERSION=199209 now, to work correctly if there is - an input file. err-1 and err-3 no longer errors if there - is another file. - -2004-09-09 Paul Eggert - - * src/test.c (usage): Document -r, -w, -x more carefully. - -2004-09-08 Paul Eggert - - * src/test.c (usage): Document "test" (with no args) and "[ ]". - Document that -h and -L don't dereference. - - * NEWS: Document that "tr xy -z" now works as per POSIX. - Sort the descriptions. - * src/tr.c (main): Don't reorder options. - * tests/tr/Test.pm (fowler-1): New test case. - -2004-09-06 Paul Eggert - - * src/touch.c (main): Fix POSIX-conformance bug: "touch -- - MMDDhhmm file" must be treated like "touch MMDDhhmm file" when - conforming to pre-2001 POSIX. - * NEWS: Document this. - * tests/touch/obsolescent: Test for this bug. Also, set - _POSIX2_VERSION=199209 and POSIXLY_CORRECT=1 so that it's - a better test for obsolescent features. - - * src/sort.c (main): Emulate Solaris 8 and 9 "sort -y", so that - "sort -y abc" is like "sort abc" whereas "sort -y 100" is like - plain "sort". - - * src/od.c: Several changes for POSIX and FreeBSD compatibility. - (COMMON_SHORT_OPTIONS): Add -B, -D, -e, -F, -H, -I, -L, -O, -s, -X. - (long_options, main): --strings is now -S, not -s. - (usage): Reflect the usage changes. - (parse_old_offset): Do not issue a diagnostic on failure; - callers now do this as necessary. - (main): Support POSIX syntax. Remove unused case 0 from getopt_long. - Add support for new short options (many undocumented) for - compatibility with FreeBSD. Remove FIXME for -s; it's now - POSIX-compatible. Default format is now oS, not o2. - * NEWS: Describe the above. - -2004-09-05 Paul Eggert - - * src/stty.c (valid_options): Remove. - (main): Fix some bugs in handling invalid option-combinations - like "stty -F". - (recover_mode): Arg is now char const *, not char *. - (main): Use STDIN_FILENO, not 0. - Simplify option-parsing code a tad. - * tests/stty/basic-1: Check for the fixed bugs. - -2004-09-03 Paul Eggert - - * src/stat.c (HAVE_STRUCT_STATXFS_F_TYPE): Fix typo that prevented - it from ever being nonzero. Reported by Pozsar Balazs in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00189.html - (human_fstype): Add ramfs, squashfs, sysfs. - Reported by Pozsar Balazs in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00188.html - (human_fstype): Return char const *, not char *. - Simplify internals a bit, and avoid casts. - - * src/dd.c (usage): "alternated EBCDIC" -> "alternate EBCDIC". - (bit_count): Remove. All uses changed to.... - (multiple_bits_set): New function. - (scanargs): Use it, and check separately for each set of - incompatible options, to improve diagnostics. - (MX): Remove. - (apply_translations): Move checks for incompatible options - to scanargs, so that they're done consistently. - -2004-09-02 Paul Eggert - - Output correct errno-related diagnostic on "paste" I/O errors. - * src/paste.c (write_error, xputchar): New functions. - (paste_parallel): Use correct errno value after input error. - (paste_parallel, paste_serial): Report errno value after output error. - - Port to diet libc. Problem reported by Felix von Leitner in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00171.html - * src/paste.c (dummy_closed, CLOSED, dummy_endlist, ENDLIST): Remove; - it's not portable C to assume FILE is a complete type. - (paste_parallel): Use index test instead of ENDLIST, and NULL - instead of CLOSED. - -2004-08-24 Paul Eggert - - POSIX-conformance fixes for "expand" and "unexpand". - Also, consistently use "tab stop" rather than "tabstop". - * NEWS: Document fixes. - * src/expand.c: Revamp to resemble the new unexpand.c better. - (usage): -i does not convert tabs after non-tabs. - (add_tab_stop): Renamed from add_tabstop. All uses changed. - (parse_tab_stop): Renamed from parse_tabstop. All uses changed. - (validate_tab_stop): Renamed from validate_tabstop. All uses changed. - (next_file, main): Check fclose against 0, not EOF. - (expand): Remove unnecessary casts. - Add another loop nesting level, for lines, so that per-line variables - are initialized cleanly. - Revamp tab checking. Check for write error immediately, rather - than just once at the end of the program. - * src/unexpand.c: Lkewise (for the expand.c changes). - (TAB_STOP_SENTINEL): Remove. - (tab_size): Now size_t, not uintmax_t, since we need to store - the sequences of blanks. - (max_column_width): New var. - (usage): Say "blank" where POSIX requires this. - (add_tab_stop): Calculate maximum column width. - (unexpand): Store the pending blanks, instead of merely counting them. - Follow POSIX's rules about -a requiring two blanks before a tab stop. - Get rid of internal label and goto. - * tests/unexpand/basic-1: Fix infloop-3 to match POSIX. - Add blanks-1 through blanks-13. - -2004-08-19 Paul Eggert - - * NEWS: "chown : file", "chown '' file", and "chgrp '' file" now - succeed without changing the uid and gid, like FreeBSD. - * src/chgrp.c (parse_group): Return gid_t rather than storing it - through a pointer. Treat "chgrp '' file" as a no-op change, - as FreeBSD does. - (main): Set chopt.group_name to NULL if the group is the empty - string. - * src/chown-core.c (describe_change): Describe changes to -1:-1 - without using "to OWNERSHIP" phrase. - * src/chown.c (usage): "chown '' file" is now allowed. - (main): Do not set user name to the empty string if the group - name is null. - * tests/chgrp/basic: Test "chgrp '' file". - * tests/chown/Makefile.am (TESTS): Add separator. - * tests/chown/separator: New file, partly taken from - Dmitry V. Levin's suggestion in - - -2004-08-11 Paul Eggert - - * tests/install/basic-1: Test for the -d regression. - -2004-08-11 Dmitry V. Levin - - * src/install.c (main): Fix -d regression introduced with - --target-directory support at 2004-06-25. - -2004-08-11 Paul Eggert - - * src/copy.c (copy_internal): When preserving links, unlink - a destination with link count greater than one. This is so - that commands like "cp -a" don't get confused when copying into - a destination that already contains many hard links. Problem - reported by Tim Waugh in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00053.html - -2004-08-10 Paul Eggert - - Convert all files to UTF-8. - * tests/fmt/basic (8-bit-pfx): Use UTF-8, not Latin-1. - * tests/sort/Test.pm (16a): Likewise. - * tests/uniq/Test.pm (8): Likewise. - * tests/misc/printf-hex: Use ASCII, not Latin-1. - - * NEWS: Document "sort -o -" and "tee -" POSIX-conformance fixes. - * src/shred.c (usage): "-" is an operand, not an option. - * src/sort.c (die, xfopen, mergefps, first_same_file, merge): - A null file arg means standard output. - (main): "-o -" means to write to a file named "-", - not to standard output. - * src/tee.c (usage, tee): "tee -" writes to standard output, not - to a file named "-". - -2004-08-10 Dmitry V. Levin - - * src/install.c (change_timestamps): Fix int->bool conversion - bugs introduced on 2004-07-29. - -2004-08-09 Paul Eggert - - * src/shred.c (wipename): Work even if the directory is writeable - and not readable. Prefer write access, since this should work - better with fdatasync. - - * src/csplit.c (xalloc_die): New function. - (main): Remove now-obsolete initialization of xalloc_fail_func. - - * src/md5sum.c: Adjust to sha->sha1 renaming. - -2004-08-08 Dmitry V. Levin - - Minor code cleanup. - * src/readlink.c (canonicalize_fname): Remove unneeded proxy function. - (can_mode): Make variable local. - -2004-08-07 Paul Eggert - - * src/system.h (O_BINARY) [!O_BINARY && defined O_BINARY]: - Do not define, to avoid annoying compiler messages on QNX 6.3. - Problem reported by Johan in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00050.html - -2004-08-04 Paul Eggert - - * src/system.h (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): - Define to a concatenation of string literals, not to an expression; - needed for concatenation contexts. - (INTMAX_MAX, INTMAX_MIN): New macros. - - * src/stat.c (print_stat): Don't assume st_ino / st_dev fits in - unsigned long; this isn't true for st_ino on Solaris 9. - -2004-08-03 Paul Eggert - - * src/uname.c: Do not depend on HAVE_SYSCTL when deciding - whether to include files. Include if - HAVE_SYS_PARAM_H (not HAVE_SYSCTL). - (main) [defined __POWERPC__]: Add a kludge to work around a - Mac OS X bug, so that uname -p defaults to "powerpc" if - sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, &bufsize, 0, 0) - fails. Problem reported by Petter Reinholdtsen in: - http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html - - * src/uniq.c (hard_LC_COLLATE, ignore_case, different, check_file, - main): Use bool for booleans. - (writeline, check_file): Use uintmax_t for line counts. - (check_file): Check for and report line number overflow, - when that matters. - * src/wc.c (iswspace, wc): Use to_uchar rather than a cast. - (print_lines, print_words, print_chars, print_bytes, print_linelength, - have_read_stdin, wc, wc_file, main): - Use bool for booleans. - (exit_status): Remove. - (wc, wc_file): Return bool status. All callers changed. - * src/who.c (scan_entries): 0 -> STDIN_FILENO. - * src/whoami.c (main): Print uids using unsigned long int, not - unsigned int. - - * src/unexpand.c: Int cleanup and minor reorganization to be more - like src/expand.c. - Include quote.h, xstrndup.h. - (TAB_STOP_SENTINEL): Increase from INT_MAX to INTMAX_MAX. - (convert_entire_line, have_read_stdin, parse_tabstops, next_file, - unexpand, main): - Use bool for booleans. - (tab_size, tab_list, add_tabstop, validate_tabstops, unexpand): - Use uintmax_t for column counts. - (first_free_tab, validate_tabstops, unexpand): Use size_t for sizes. - (add_tabstop, parse_tabstops, main): Don't reserve UINTMAX_MAX - as a tab stop. - (parse_tabstops): Don't use ISBLANK on possibly-signed char. - Detect overflow in tab stop string. - (next_file, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0. - (unexpand): Concatenate input files the same way expand does. - - * src/touch.c (no_create, use_ref, posix_date, amtime_now, - touch, main): Use bool for booleans. - (main): Avoid integer overflow when given more than INT_MAX - options. - * src/tsort.c (struct item, n_strings): Use size_t for sizes. - (have_read_stdin, count_items, scan_zeros, detect_loop, - recurse_tree, walk_tree, tsort, main): - Use bool for booleans. - (exit_status): Remove. - (tsort): Return a success flag instead of storing into a global. - (main): Use it. - * src/tty.c (silent, main): Use bool for booleans. - (main): 0 -> STDIN_FILENO. - * src/uname.c (print_element): Use bool for booleans. - - * src/test.c (TRUE, FALSE, SHELL_BOOLEAN, TRUTH_OR, TRUTH_AND): - Remove. All uses replaced by C99 boolean primitives. - (TEST_TRUE, TEST_FALSE): New constants, for readability. - (test_unop, binop, unary_operator, binary_operator, two_arguments, - three_arguments, posixtest, expr, term, and, or, is_int, age_of, - one_argument, main): Use bool for booleans. - (advance, unary_advance): Now inline procedures rather than a macros. - (is_int): Renamed from isint, to avoid namespace clash with ctype.h. - (term, and, or): When it's easy, loop instead of recursing. - (term): Avoid integer overflow if there are INT_MAX-3 args (!). - (binary_operator, unary_operator): Simplify by systematically rewriting - true==FOO to FOO (where FOO is a boolean). - (unary_operator): Don't consider a file to be a regular file - merely because its mode&S_IFMT is zero. Just use S_ISREG. - Remove unnecessary casts. Remove ifdefs for things like - S_ISSOCK that are no longer needed, since stat-macros.h always - defines them now. - - * src/tac-pipe.c (buf_init_from_stdin, find_bol, tac_mem): - Use bool for booleans. - (buf_init_from_stdin, buf_free, find_bol, print_line): - Use size_t for sizes. - * src/tac.c (separator_ends_record, tac_seekable, tac_file, - tac_stdin, tac_stdin_to_mem, main): Use bool for booleans. - (match_length, G_buffer_size, tac_seekable, main): Use size_t for sizes. - (tac_seekable): Use ptrdiff_t for pointer subtraction. - Report an error if the result is out of range. - (tac_seekable, main): Check for integer overflow in buffer size - calculations. - (main): Remove unnecessary casts. - - * src/su.c (run_shell): Pass a new n_additional_args arg, so that - the callee doesn't have to count 'em. All callers changed. - Don't allocate more space for the arg vector than we'll need. - Use memcpy to copy the args rather than rolling our own loop. - Use size_t for sizes. - (fast_startup, simulate_login, change_environment, log_su, - correct_password, restricted_shell, main): Use bool for booleans. - (longopts): Don't assume change_environment is an int. - Use NULL, not 0, for pointers. - (xsetenv): New function, replacing xputenv and concat. - All callers changed. - (elements): Remove; no longer needed. - (log_su, correct_passwd, main): Prefer !x to x==NULL. - (log_su): 2 -> STDERR_FILENO. - (modify_environment, main): Don't assume that getenv's returned value - has an indefinite lifetime. - (modify_environment): Allocate a larger environ. - (main): Remove an impossible 'case 0'; if it happens now, it'll - get diagnosed. Don't assume getpwnam results outlive endpwent. - Check for null or empty pw_name, pw_dir and for null pw_passwd. - - * src/stty.c (VA_START): Remove. All callers now use va_start. - (_POSIX_VDISABLE): Remove unnecessary cast. - (struct control_info, visible): Use cc_t for control chars. - (struct control_info): Use size_t for sizes. - (recover_mode, set_mode, display_speed, display_window_size, - valid_options, main, display_changed): - Use bool for booleans. - (integer_arg): Return unsigned long int, not long int. - Accept new max arg; all callers changed, to specify a maximum - value for integer parameters instead of silently overflowing. - (wrap): Do not overrun the stack buffer if the output contains - more than 1024 bytes. Instead, malloc a buffer. - (main): Remove a "what is this?!?" FIXME. Nobody knows what it is. - Remove unnecessary casts. - (set_control_char): Allow int values only up to cc_t range. - (screen_columns): Don't reject INT_MAX. - (display_changed, display_all, display_speed, recover_mode): - Don't assume cc_t fits in int. - - * src/remove.h: Add copyright notice. - (struct rm_options): Use bool for booleans. - * src/rmdir.c (empty_paths, ignore_fail_on_non_empty, verbose, - errno_rmdir_non_empty, remove_parents, main): Likewise. - * src/sum.c (have_read_stdin, bsd_sum_file, sysv_sum_file, - main): Likewise. - (main): Don't dump core if invoked with argv[0]==NULL. - * src/tee.c (tee, append, ignore_interrupts, main, tee): - Use bool for booleans. - (tee): Use ssize_t for read returns. - - * src/ptx.c: Add a FIXME mentioning that there are many - unchecked integer overflows in this file. - (gnu_extensions, auto_reference, input_reference, right_reference, - ignore_case, initialize_regex, fix_output_parameters, - output_one_roff_line, output_one_text_line, output_one_dumb_line, main): - Use bool for booleans. - (SKIP_SOMETHING, compare_words, digest_break_file, - find_occurs_in_text, fix_output_parameters): - Use to_uchar instead of a caset. - (print_field): Rewrite to avoid cast. - - * src/printf.c (posixly_correct): Use bool for booleans. - (verify, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0. - (STRTOX): Rewrite to avoid casts. - (print_esc_char): Arg is char, not int. - * src/readlink.c (canonicalize): Remove. All uses now merely inspect - can_mode. - (no_newline, verbose): Use bool for booleans. - (can_mode): Now of type int; use -1 to denote otherwise-uninitialized. - * src/shred.c (struct Options, main): Use bool for booleans. - (isaac_seed_data, fillpattern, wipefile): Rewrite to avoid casts. - * src/split.c (cwrite, bytes_split, lines_split, line_bytes_split): - Use bool for booleans. - * src/stat.c (G_fail): Remove. - (print_statfs): Print various gotta-be-nonnegative values using - unsigned long int, not long int or int. - (do_statfs, do_stat): Return a boolean success flag. - (do_stat, main): Use bool for booleans. - - * src/pr.c: Add a FIXME mentioning that there are many - unchecked integer overflows in this file. - (TRUE, FALSE): Remove. All uses replaced by true and false. - (struct COLUMN, read_line, print_page, print_stored, open_file, - skip_to_page, init_fps, parallel_files, align_empty_cols, - empty_line, FF_only, explicit_columns, extremities, keep_FF, - print_a_FF, print_a_header, use_form_feed, have_read_stdin, - print_across_flag, storing_columns, balance_columns, - truncate_lines, join_lines, untabify_input, failed_opens, - numbered_lines, skip_count, use_esc_sequence, use_cntrl_prefix, - double_space, ignore_failed_opens, use_col_separator, - pad_vertically, last_line, main, init_parameters, skip_read, - read_line, print_stored): - Use bool for booleans. - (struct COLUMN, char_to_clump, store_char, print_char): - Use char for chars. - (clump_buff, print_clump): Use char[], not int[], for an array whose - elements are always chars. - (first_last_page, main, getoptarg, balance, add_line_number, - char_to_uclump): Remove unnecessary casts. - (init_parameters): Allocate chars, not ints, for clump_buff. - (print_char): Use to_uchar before invoking ISPRINT. - (char_to_clump): Convert to unsigned char before invoking ISPRINT. - - * src/nohup.c (main): Use bool for booleans. - * src/paste.c (paste_parallel, paste_serial, main): Likewise. - * src/pathchk.c (validate-path, main, portable_chars_only): Likewise. - (portable_chars_only): Use to_uchar rather than a cast. - * src/printenv.c (main): Use bool for booleans. - Do not assume that the environ has at most one matching entry - for each option (integer overflow was possible otherwise). - - * src/od.c (FMT_BYTES_ALLOCATED): Now an enum, not a decimal - constant. Do not assume PRIdMAX etc. are strings of length 3 or - less. - (struct tspec): Use it. fmt_string is now an array, not - a pointer, as there's little point to the indirection here. - (struct tspec, flag_dump_strings, - traditional, flag_pseudo_start, limit_bytes_to_format, - abbreviate_duplicate_blocks, have_read_stdin, simple_strtoul, - decode_one_format, open_next_file, check_and_close, - decode_format_string, skip, write_block, read_char, read_block, - parse_old_offset, dump, dump_strings, main): - Use bool for booleans. - (struct tspec): Use void *, not char *, for generic pointers. - (bytes_to_oct_digits, bytes_to_signed_dec_digits, - bytes_to_unsigned_dec_digits, bytes_to_hex_digits): - Use char, not unsigned int, since char suffices. - (print_s_char, print_char, print_s_short, print_short, - print_int, print_long, print_long_long, print_float, - print_double, print_long_double): Rewrite to avoid casts. - These now take void * arguments, instead of char *. - Use the same body for all functions, except for the choice - of type. Assume C89 to simplify handling of signed char. - (dump_hexl_mode_trailer, print_named_ascii, print_ascii): - Rewrite to avoid casts. - (print_named_ascii, print_ascii): Now takes void *, not char *. - (decode_one_format): Use int for printf field widths, not - unsigned int. Pass void * to subsidiary printers, - not char *. Simplify handling of floating-point formats - by factoring out common code dealing with precision and field width. - (decode_format_string): Avoid need for temporary copy of - each decoded struct tspec. - (get_lcm): Remove unnecessary cast. - (main): Fix bug where more than INT_MAX failed decodes were ignored. - -2004-08-02 Paul Eggert - - * src/nl.c (TRUE, FALSE): Remove; all uses changed to true, false. - (enum number_format): Remove. - (FORMAT_RIGHT_NOLZ, FORMAT_RIGHT_LZ, FORMAT_LEFT): Now strings, - not enum values. - (DEFAULT_SECTION_DELIMITERS): Now an array constant, not a macro. - (section_del): Now const. - (print_fmt): Remove. - (starting_line_number, page_incr, blank_join, line_no, - print_lineno, proc_text, main): - Use intmax_t for line numbers. - (reset_numbers, have_read_stdin, build_type_arg, nl_file, main): - Use bool for booleans. - (lineno_format): Now a string, not an enum value. - (build_print_fmt): Remove. All calls removed. This work is - now done within print_lineno. - (build_type_arg): Use size_t for sizes. - (print_lineno): Check for line number overflow. - (proc_text, main): Remove unnecessary cast. - - * src/ln.c (symbolic_link, interactive, remove_existing_files, - verbose, hard_dir_link, dereference_dest_dir_symlinks, - do_link, main): Use bool for booleans. - - * src/ls.c (struct fileinfo, file_interesting, - extract_dirs_from_files, color_symlink_as_referent, - FILE_OR_LINK_MODE, sort_reverse, print_owner, print_group, - numeric_ids, print_block_size, dired, print_with_color, - check_symlink_color, print_inode, recursive, immediate_dirs, - all_files, really_all_files, qmark_funny_chars, - print_dir_name, format_needs_stat, format_needs_type, visit_dir, - main, decode_switches, parse_ls_color, print_dir, file_interesting, - gobble_file, make_link_path, basename_is_dot_or_dotdot, - extract_dirs_from_files, print_long_format): - Use bool for booleans. - (dir_defaulted): Remove; no longer needed. - (main): Use int to count files, since it suffices for argv. - Rewrite to avoid need for dir_defaulted. - (main, print_dir, gobble_file, get_link_name, - xstrcoll): - Set exit status to EXIT_SUCCES/EXIT_FAILURE rather than 0/1. - (decode_switches): Put back check for ws.ws_col <= SIZE_MAX. - Remove unnecessary cast to int. Use int instead of unsigned - int to count from 0 to 1. - (get_funky_string, print_type_indicator): Use char for bytes, not int. - (make_link_path): Use NULL for null pointers. - (quote_name): Use to_uchar instead of cast. - - * src/id.c (use_name, main, print_user, xgetgroups, print_group_list, - print_full_info): Use bool for booleans. - (problems): Remove, replacing with.... - (ok): New var (inverted from old sense). - (print_user, print_group, print_full_info): - Print uids/gids with %lu, not %u. - (xgetgroups): Don't run out of memory if getgroups or getugroups - returns -1. - * src/setuidgid.c (main): Print uids/gids with %lu, not %ld. - - * src/factor.c (wheel_tab): Use unsigned char instead of unsigned - int, since it suffices. - (factor, print_factors): Use size_t for sizes. - (print_factors, do_stdin, main): Use bool for booleans. - * src/fold.c (TAB_WIDTH): New macro; use it instead of "8". - (fold_file, main): Use bool for booleans. - (fold_file, main): Use size_t for sizes. - (main): Allow -w options up to SIZE_MAX - TAB_WIDTH - 1, instead - of prohibiting widths greater than INT_MAX. - * src/head.c (presume_input_pipe, print_headers, have_read_stdin, - write_header, elide_tail_bytes_pipe, elide_tail_bytes_file, - elide_tail_lines_pipe, elide_tail_lines_seekable, - elide_tail_lines_file, head_bytes, head_lines, head, head_file, - string_to_integer, main): - Use bool for booleans. - (main): Rewrite to avoid cast. - - * src/csplit.c (struct line): Use size_t for sizes. - (main): Remove unnecessary cast. - * src/cut.c (cut_fields): Use to_uchar rather than a cast. - * src/cut.c (cut_file, main): Use bool for booleans. - * src/date.c (show_date, rfc_format, batch_convert, main): Likewise. - * src/env.c (main): Likewise. - * src/expr.c (nextarg): Likewise. - * src/env.c (main): Remove unused and nonstandard envp arg. - - * src/fmt.c (COST, MAXWORDS): Add a comment describing some of - fmt's arbitrary limits. - (TRUE, FALSE): Remove; all uses changed to (true, false). - (main): Use bool for booleans. - Limit maximum width to MAXCHARS / 2. Use xstrtoul, not xstrtol, - to parse width. - (copy_rest): Remove unnecessary cast. - (get_prefix): Rewrite to avoid cast. - (check_punctuation): Use char *, not unsigned char *; C89 requires - this. Avoid off-by-one buffer read overrun when line is empty. - (flush_paragraph): Don't assume wptr-parabuf is <= INT_MAX. - Remove unnecessary casts. - * tests/fmt/basic (wide-1, wide-2, bad-suffix): Adjust to above - changes. - - * src/expand.c (convert_entire_line, have_read_stdin, parse_tabstops, - next_file, expand, main): - Use bool for booleans. - (tab_size, tab_list, add_tabstop, parse_tabstops, validate_tabstops, - expand, main): - Use uintmax_t for column counts. - (add_tabstop): Don't reserve -1 (now UINTMAX_MAX) as a special value. - All callers changed. - (parse_tabstops): Don't pass a negative char to isblank. - Avoid memory leak with large tab stops. - (validate_tabstops, expand): Don't assume number of tab stops is - <= INT_MAX. - (next_file, main): Use EXIT_SUCCESS/EXIT_FAILURE rather than 0/1 when - storing values into exit_status. - (expand): Use same pattern as unexpand for reading chars. - Report an error when input line is too long, instead of silently - screwing up. Do not mishandle tab stops when backspacing left - over start of line. - - * src/dircolors.c (have_read_stdin, append_quoted, - dc_parse_stream, dc_parse_file, main): Use bool for booleans. - (dc_parse_stream): Use enum for state, rather than int. - Use ssize_t to store getline result. - - * src/dd.c (translation_needed, parse_integer, scanargs, - apply_translations, char_is_saved, swab_buffer, skip_via_lseek): - Use bool for booleans. - (translate_buffer): Use to_uchar rather than a cast. - (swab_buffer, copy_simple, copy_with_unblock): - Use size_t for sizes. - - * src/seq.c (equal_width, valid_format, main): Use bool for booleans. - * src/sleep.c (apply_suffix): Likewise. - * src/tail.c (struct File_spec, reopen_inaccessible_files, count_lines, - forever, from_start, print_headers, have_read_stdin, valid_file_spec, - write_header, file_lines, pipe_lines, pipe_bytes, recheck, - tail_forever, tail_bytes, tail_lines, tail, tail_file, - parse_obsolescent_option, parse_options, main): Likewise. - * src/sleep.c (apply_suffix): Invert sense of result. - Use int (not unsigned int) for multiplier, as this generates better - code with some compilers. Simplify code a bit. - * src/tail.c (struct File_spec, max_n_unchanged_stats_between_opens, - parse_options): Use uintmax_t, not unsigned int or unsigned long int, - for state counters. - (tail_bytes, tail_lines): Redo test of return value (-1, 0, 1) to - make it a bit clearer. - - * src/hostname.c: Include "xgethostname.h". - (xgethostname): Remove decl; xgethostname.h has it. - (sethostname) [!defined(HAVE_SETHOSTNAME) && defined(HAVE_SYSINFO) - && defined (HAVE_SYS_SYSTEMINFO_H) && defined(HAVE_LIMITS_H)]: Use - prototypes rather than K&R form. Assume any negative value from - sysinfo denotes failure, not just -1. - (main): Simplify use of sethostname. - - * src/pinky.c (include_idle, include_heading, include_fullname, - include_project, include_plan, include_home_and_shell, do_short_format, - include_where, main): Use bool for booleans. - (count_ampersands, create_fullname, scan_entries, short_pinky): - Use size_t for sizes. - (create_fullname): Check for overflow in size calculations. - (idle_string): Don't assume that the number of idle days - is less than 10**8 and/or INT_MAX/(24*60*60). - (main): No need to pass a non-NULL last arg to getopt_long. - * src/uptime.c (print_uptime, uptime): Use size_t for sizes. - (print_uptime): Remove unused local variable. - (main): No need to pass a non-NULL last arg to getopt_long. - * src/users.c (list_entries_users, users): Use size_t for sizes. - (list_entries_users): Use char for bytes. - (main): No need to pass a non-NULL last arg to getopt_long. - * src/who.c (do_lookup, short_list, short_output, include_idle, - include_heading, include_mesg, include_exit, need_boottime, - need_deadprocs, need_login, need_initspawn, need_clockchange, - need_runlevel, need_users, my_line_only, main): Use bool for booleans. - (print_runlevel): Use unsigned char for bytes. - (list_entries_who, scan_entries, who): Use size_t for sizes. - (main): No need to pass a non-NULL last arg to getopt_long. - - * src/install.c (isdir): Remove decl. - (install_file_to_path): Rely on make_path to fail if the destination - is not a directory, by passing preserve_existing==true to it. - Hence we no longer need to call isdir. - Free dest_dir immediately when it's no longer needed, rather than - waiting until the end of the function. - (copy_file): Don't bother calling isdir, as copy will do the - right thing if the destination is a directory. - - * src/du.c (fts_debug, opt_all, apparent_size, opt_count_all, - print_grand_total, opt_separate_dirs, hash_ins, process_file, main): - Use bool for booleans. - (max_depth): Now size_t, not int, to avoid an arbitrary limit - of INT_MAX on depth. - (G_fail): Remove: no longer needed, now that the relevant - functions return bool. - (process_file): Use return value to signal success rather than - setting a global. Remove first_call static var; not needed, since - we can look at n_alloc. Use size_t for depths. Remove FIXME - about size_t casts, as it's now fixed. Use xnrealloc rather - than the obsolescent XREALLOC. Don't bother to check whether - reallocation is needed unless level > prev_level. - (du_files): Invert sense of result, for consistency with - other coreutils code. All callers changed. - (main): Allow --max-depth values up to SIZE_MAX. - - * src/df.c (inode_format, show_all_fs, show_local_fs, - show_listed_fs, posix_format, require_sync, print_type, - selected_fstype, excluded_fstype, show_dev, show_point, main): - Use bool for booleans. - (df_readable, show_dev): Use UINTMAX_MAX instead of -1. - (show_dev, show_point, main): - Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1. - Don't assume disk name lengths are <= INT_MAX. - Rewrite pct calculation to avoid cast. - (show_point): Don't assume resolved length is <= SSIZE_MAX. - - * src/cut.c (hash_int) [!defined UINTPTR_MAX]: Use size_t - instead of uintptr_t. - * src/shred.c (UINT_MAX_32_BITS): Remove. - (word32): Remove. All uses changed to uint32_t. - (isaac_seed_data): Remove unnecessary cast. - * src/system.h (ptr_align): Use size_t; in practice, this is just as - good as uintptr_t in checking for alignments, and has fewer - configuration hassles. - - * src/Makefile.am (localedir.h): Make it readonly; this - undoes part of the 2004-07-27 patch. - -2004-07-30 Paul Eggert - - * src/sort.c (UCHAR): Remove; all uses changed to to_uchar. - (IS_THOUSANDS_SEP): Use bool when appropriate. - (numcompare, main): Use char, not int, when the value is always a char. - (numcompare): Remove "register"; compilers are smart enough these days. - * src/system.h (errno, CHAR_BIT): Remove decls; - no longer needed now we assume C89 or better. - Include before , as it's the - Autoconf-recommended pattern. - (to_uchar): New inline function, moved here from tr.c. - Use full names for int types, e.g. "long int" rather than "long". - * src/tr.c (to_uchar): Remove; now in system.h. - (is_char_class_member): Use bool when appropriate. - - * src/mkdir.c (create_parents, main): Use bool when appropriate. - (main): Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1. - -2004-07-29 Paul Eggert - - * src/mkfifo.c (main): Use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1. - - * src/chmod.c (recurse, force_silent, process_file, process_files, - main): Use bool when appropriate. - * src/cksum.c (cksum, main): Likewise. - * src/comm.c (hard_LC_COLLATE, only_file_1, only_file_2, both, - compare_files, main): Likewise. - - * src/copy.h (struct cp_options): Likewise. - * src/copy.c (copy_internal, is_ancestor, copy_dir, copy_reg, - same_file_ok, seen_file, copy_internal, valid_options, copy): Likewise. - * src/cp-hash.h (remember_created): Likewise. - * src/cp-hash.c (remember_created): Likewise. - * src/cp.c (struct dir_attr, flag_path, remove_trailing_slashes, - re_protect, make_path_private, target_directory_operand, do_copy, - cp_option_init, decode_preserve_arg, main): Likewise. - * src/install.c (isdir, change_timestamps, change_attributes, - copy_file, install_file_to_path, install_file_in_dir, - install_file_in_file, strip_files, dir_arg, cp_option_init, main, - change_attributes, change_timestamps): Likewise. - * src/mv.c (remove_trailing_slashes, rm_option_init, - cp_option_init, do_move, movefile, main): Likewise. - * src/remove.c (right_justify), full_filename_, AD_pop_and_chdir, - AD_push, prompt, remove_dir): Likewise. - * src/rm.c (rm_option_init, main): Likewise. - - * src/remove.c (top_dir, pop_dir, full_filename_): - Use size_t for sizes. - * src/cp.c (target_directory_operand): Do not clear *NEW_DST if stat - succeeds. It's not necessary in that case, as *NEW_DST is always - false already. - (do_copy): Rewrite slightly to avoid need for "unreachable" comment. - (main): Use EXIT_SUCCESS, EXIT_FAILURE instead of 0, 1. - * src/rm.c (main): Likewise. - - md5sum, sha1sum integer cleanups. - - * src/checksum.h: Don't include config.h, sys/types.h, stdio.h: - not needed. - (ALG_UNSPECIFIED): Remove. - (ALG_MDT): Don't make it equal to CHAR_MAX + 1; this isn't necessary. - * src/md5.c: Don't include any files other than checksum.h. - * src/sha1sum.c: Likewise. - * src/md5sum.c (OPENOPTS, have_read_stdin, status_only, warn, - bsd_split_3, split_3, hex_digits, digest_file, digest_check, main): - Use bool when appropriate. - (digest_check): Increase limit of number of input lines to - UINTMAX_MAX from INT_MAX. Diagnose any overflows of this counter. - Use ngettext instead of hard-to-i18nize hardcoded stuff for plurals. - -2004-07-28 Paul Eggert - - * src/cat.c (exit_status): Remove. Now done by passing a boolean - 'ok' flag around. - (simple_cat, cat): Return true if successful. All callers changed. - (simple_cat, cat, main): Use bool for booleans. - (simple_cat): Use size_t for sizes. - (cat, main): Use the same names for parameters that we use for - long options, to avoid confusion. This inverts the sense of the - show_tabs (formerly output_tabs) and number_nonblank - (formerly numbers_at_empty_lines) variables. - (main): Don't mess up (due to integer overflow) if we are given - INT_MAX - INT_MIN + 1 options. - [O_BINARY]: Don't invoke isatty unless the other options require it. - (main): When deciding whether to use simple_cat, don't worry - about binary option; it's irrelevant. - - * src/dcgen: Remove comments, trailing white space, and empty - lines from the output strings, to save space. - Use a narrower type like 'unsigned char' for line lengths, if - that will do. - Make the output variables static, not extern. - - * src/chgrp.c (parse_group): Require base 10 when parsing - groups as integers. - (main): int -> bool when appropriate. - * src/chown.c (main): Likewise. - * src/chown-core.c: Include inttostr.h. - (UINT_MAX_DECIMAL_DIGITS, uint_to_string): Remove. - (gid_to_name, uid_to_name): Use imaxtostr/umaxtostr - instead of uint_to_string). - (describe_change): Instead of an int flag, use a char * - auxiliary; this avoids the need for casts. - Assume free (NULL) works. - (change_file_owner): Return true/false, not 0/-1, since - we don't set errno. All callers changed. - Use bool when appropriate. - (chown_files): Likewise. - * src/chown-core.h (chown_files): Likewise. - - * tests/chown/basic: Test for proper handling of uids like - "010", which must be parsed as decimal. - - * tests/misc/pwd: Don't assume that Perl's getpwd agrees with our - pwd when there are multiple names for the working directory - (which can happen with an automounter, sigh). - - * src/Makefile.am ($(SCRIPTS)): Don't depend on Makefile; - this causes Solaris 8 'make' to refuse to build "groups". - (localedir.h): Don't depend on Makefile: this causes Solaris - 8 'make' to build localedir.h unnecessarily. The dependence - on Makefile is ineffective anyway, since $(localedir) might - change even if Makefile hasn't. - - * src/remove.c (remove_dir): If we can't save the state of the - working directory, pretend we started from "/", not ".". - This avoids a bug on hosts like Solaris that don't let you - remove the working directory. - -2004-07-27 Paul Eggert - - * src/printf.c (strtiomax, strtoumax): Declare if not already - declared: this fixes a portability bug with Solaris 8 + GCC. - (STRTOX): Parenthesize use of macro arg as expression. - (vstrtoimax, vstrtoumax, vstrtold): Remove now-unnecessary - parentheses. - * configure.ac: Check for declaration of strtoumax, for - src/printf.c. - - * src/Makefile.am (cp_LDADD, ginstall_LDADD, mv_LDADD, - pathchk_LDADD, rm_LDADD, test_LDADD): New vars, for eaccess. - - * tests/readlink/can-e: Don't assume that we can remove the - working directory: this isn't possible under Solaris 8, say. - * tests/readlink/can-f: Likewise. - * tests/readlink/can-m: Likewise. - - * src/copy.c (copy_internal): find_backup_file_name no longer - returns NULL, so don't bother to check for this. - * src/cp.c (do_copy): Likewise. - * src/ln.c (do_link): Likewise. - -2004-07-25 Paul Eggert - - * src/nice.c (GET_NICE_VALUE): Renamed from GET_PRIORITY. - All uses changed. - (NZERO): New macro, if system doesn't define it already. - (usage): Distinguish priorities from nice values. - Don't assume NZERO is 20. - (main): Use bool instead of int where appropriate. - If user specifies an adjustment out of range, always truncate it - to an inrange value instead of sometimes giving an error message - and sometimes not. - Do not assume that -1 is an error return from "nice" or - "getpriority", as it might be the current nice value minus NZERO. - If nice/setpriority fails with errno == EPERM, go ahead and run - the command anyway; POSIX requires this. - - * src/pathchk.c: Include euidaccess.h. - (dir_ok): Use euidaccess, not access. - * src/test.c (R_OK, W_OK, X_OK, FOK): Remove; system.h defines them. - (eaccess): Remove. All users changed to use euidaccess instead. - -2004-07-24 Paul Eggert - - * src/uptime.c (print_uptime) [defined BOOT_MSG]: - Don't assume ut_line is null-terminated. - * src/who.c (print_line): New arguments USERLEN and LINELEN, - since USER and LINE might not be null terminated. All callers - changed. - -2004-07-23 Paul Eggert - - Fix bug with "tail -f" reported by Rob Holland in - . - Also, remove the undocumented and unsupported-since-2000 - --max-consecutive-size-changes options. Fix another related bug: - "tail" got confused if stdin, stdout, or stderr were closed. - Also, use output buffering even with "tail -f". - - * NEWS: Document this, plus yesterday's patch. - * doc/coreutils.texi (tail invocation): "size has remained the same" - -> "file has not changed", which is more accurate for fifos. - * src/tail.c: Include fcntl-safer.h. - (COPY_TO_EOF): Set to UINTMAX_MAX, not OFF_T_MAX (which was wrong). - (COPY_A_BUFFER): New macro. - (struct File_spec): New members mtime, mode, blocking. - Remove member n_consecutive_size_changes. - (DEFAULT_MAX_N_CONSECUTIVE_SIZE_CHANGES, - max_n_consecutive_size_changes_between_opens, - MAX_CONSECUTIVE_SIZE_CHANGES_OPTION): Remove. - (long_options, tail_forever, parse_options): - Remove (non-)support for --max-consecutive-size-changes. - (record_open_fd): New function. - (recheck, tail_file): Use it. Don't assume that stdin is open. - (dump_remainder): Add support for new COPY_A_BUFFER special value. - Treat errno==EAGAIN like EOF, since it might be a nonblocking read. - (recheck): New arg BLOCKING, specifying whether to use blocking reads. - All uses changed. - (n_live_files): Remove, replacing with... - (any_live_files): New function. All uses changed. - (tail_forever): Use nonblocking I/O unless we know that blocking I/O - is safe; this avoids some hangs when reading from a fifo. - Avoid invoking fstat or sleep when using blocking I/O. - Do not check for changes to size if the file is not a regular file, - as the size is undefined in that case. - Check for changes to mtime or mode, too; this works for non-regular - files. - (tail_forever, main): Redo fflush strategy to work even when input - is nonblocking. Don't use unbuffered output; just flush when needed. - -2004-07-22 Paul Eggert - - * src/tail.c (main): Ignore -f if no file operand is specified - and standard input is a pipe. - * doc/coreutils.texi (tail invocation): Do not ignore -f for - all pipes, just for when standard input is a pipe and no - file operand is specified. - * tests/tail/Test.pm: Reinstate f-1 test, since we now pass. - Add a new commented-out f-2 test, which we still fail. - (test_vector): All f-* tests are special cases, not just f-1. - -2004-07-12 Paul Eggert - - * src/uptime.c: Include c-strtod.h. - (print_uptime): Use c_strtod instead of setlocale and sscanf. - Use long int rather than int to count days (for 64-bit hosts), - and check for arithmetic overflow when converting double to time_t. - -2004-07-11 Paul Eggert - - * src/printf.c (vstrtold): Renamed from vstrtod. - Now returns long double. All uses changed. - (print_direc): Use "L" length modifier when printing floating point - numbers, since we're now printing long double. - -2004-07-06 Paul Eggert - - printf cleanup, to avoid undefined behavior, to add support for - formats that Bash supports, and to support wide integers like - Bash does. - - * NEWS: Document this. - * src/printf.c (UNSPECIFIED): Remove. All uses now replaced by - booleans, so that we don't reserve any values for precision or - width (like Bash). - (STRTOX): Use prototype, not K&R-style definition. - (vstrtoimax): Renamed from xstrtol (to avoid confusion with xstrtol - in ../lib), with type change to intmax_t. - All uses changed. - (vstrtoumax): Renamed from xstrtoul, with type change to uintmax_t. - All uses changed. - (vstrtod): Renamed from xstrtod. All uses changed. - (print_direc): Use boolean arg instead of special value to indicate - a missing precision or width. LENGTH no longer includes - length modifiers or conversion character. New arg CONVERSION - now specifies conversion character. - Use intmax_t-width formatting for integers (like Bash). - Add support for C99 %a, %A, %F (like Bash). - Add support for field width with %c (POSIX requires this). - Add a FIXME for lack of support for field width and precision - for %b. - Add support for '\'', '0' flags. - Check for invalid combinations of flags, field width, precision, - and conversion, to prevent use of undefined behavior. - Allow multiple length modifiers, for formats like "%lld" (like Bash). - Add support for C99 'j', 't', 'z' length modifiers (like Bash). - In error message, output entire invalid conversion specification, - instead of merely outputting % followed by the conversion char. - * tests/misc/printf: Add tests for the above. - -2004-04-03 Dmitry V. Levin - - Change "readlink -f" to be more compatible with prior implementations. - Add more canonicalize options, -e and -m. - Add comprehensive tests for all readlink modes. - - * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): - Do not add canonicalize.c here. - - * src/readlink.c (longopts): Add new options. - (usage): Document them. - (canonicalize_fname): New proxy function. - (main): Handle new options. - * doc/coreutils.texi (readlink invocation): Document new - "readlink -f" behaviour and new canonicalize options, -e and -m. - - * configure.ac (AC_CONFIG_FILES): Add tests/readlink/Makefile. - * tests/Makefile.am (SUBDIRS): Add readlink. - * tests/readlink/Makefile.am: New file. - * tests/readlink/{rl-1,can-e,can-f,can-m}: New readlink tests. - * tests/misc/Makefile.am (TESTS): Remove basic readlink test. - * tests/misc/readlink: Remove file. - -2004-07-04 Jim Meyering - - * src/copy.c (copy_internal): Add a FIXME comment. - -2004-07-02 Paul Eggert - - * src/copy.c (copy_dir): Assume path_concat returns non-NULL. - * src/cp.c (do_copy): Likewise. - * src/mv.c (movefile): Likewise. - - * src/cp.c (make_path_private): 2nd arg is now size_t, not int, - to avoid problem when path_concat dir name is longer than 2 GiB (!). - - * src/nohup.c (main): Don't pass NULL first argument to path_concat. - This cleans up the semantics a bit, as we no longer try to open the - same file twice. - -2004-07-01 Paul Eggert - - * NEWS: Add short names -t and -T for --target-directory - and --no-target-directory options, respectively. - - * src/cp.c (NO_TARGET_DIRECTORY_OPTION, TARGET_DIRECTORY_OPTION): - Remove. All uses changed to 'T' and 't', respectively. - * src/install.c, src/ln.c, src/mv.c: Likewise. - - * src/cp.c (long_opts, usage, do_copy, main): Add -t and -T as - aliases for --target-directory and --no-target-directory, - respectively. - * src/install.c (long_options, main, usage): Likewise. - * src/ln.c, src/mv.c: Likewise. - -2004-07-01 Jim Meyering - - * Makefile.maint (sc_file_system): New target. - (syntax-check-rules): Add it. - .x-sc_file_system: New file. - * Makefile.am (EXTRA_DIST): Add it. - - * man/sync.x: Use "file system" rather than "filesystem". - * man/stat.x, man/df.x: Likewise. - -2004-06-30 Paul Eggert - - * src/df.c (usage, main): Output "file system" rather than - "filesystem". - * src/du.c (usage): Likewise. - * src/shred.c (usage): Likewise. - * src/stat.c (usage): Likewise. - * src/stat.c (long_options, usage): Rename "--filesystem" to - "--file-system". But keep the old name around, for compatibility - reasons. - -2004-06-29 Paul Eggert - - Add support for --no-target-directory option. - - * NEWS: Document it. - * doc/coreutils.texi (Common options, Target directory, cp - invocation, install invocation, mv invocation, ln invocation): - Likewise. - (link invocation): Explain how to rewrite link using ln now - that we have --no-target-directory. - (ln invocation): Explain that --no-target-directory subsumes - --no-dereference. - (unlink invocation): Modify wording to match new wording in - link invocation. - - * src/cp.c (NO_TARGET_DIRECTORY_OPTION): New constant. - (long_opts, usage, do_copy, main): Add support for - --no-target-directory, - * src/install.c (NO_TARGET_DIRECTORY_OPTION, long_options, main, - usage): Likewise. - * src/ln.c (NO_TARGET_DIRECTORY_OPTION, long_options, usage, - main): Likewise. - * src/mv.c (NO_TARGET_DIRECTORY_OPTION, long_options, usage, - main): Likewise. - * src/mv.c (enum): Sort values. - -2004-06-29 Jim Meyering - - Don't let verbose-mode output from a subshell obscure actual differences. - * tests/rm/inaccessible: Turn off command-echoing just before - invoking subshell, then turn it back on if VERBOSE=yes afterward. - -2004-06-25 Paul Eggert - - Add support for 'install --target-directory', an option - that has been documented for years but not implemented (!). - * doc/coreutils.texi (install invocation): Document - --target-directory in synopsis, too. - * src/install.c (TARGET_DIRECTORY_OPTION): New var. - (long_options, main, usage): Add --target-directory. - (target_directory_operand): New function, stolen from mv.c. - (main): Use it. Check for -d and --target-directory. - Alter wording of diagnostics to match other programs. - -2004-06-28 Jim Meyering - - * src/cp.c (usage): Fix copy+paste error in description of - --target-directory: s/move/copy/. From Paul Jarc. - -2004-06-27 Paul Eggert - - Use more-consistent rules among cp, ln, and mv when dealing with - last operands that are (or look like) directories. - - * src/cp.c (target_directory_operand): New, nearly-common function, - It reports an error if the destination appears to be a directory - (e.g., because it has a trailing slash) but is not. - * src/ln.c, src/mv.c: Likewise. - * src/cp.c (do_copy): Use it. - * src/ln.c (main): Likewise. - * src/mv.c (main): Likewise. - - * src/cp.c (do_copy): Don't assume argc is positive. - Don't bother to lstat dest, since copy() will do that for us. - Use "const" to avoid the need for cast. - - * src/cp.c (do_copy): Don't output a usage message because of file - problems (e.g., an operand is not a directory). Use it only for - syntax. Standardize on "target %s is not a directory" for the - diagnostic. - * src/ln.c (main): Likewise. - * src/mv.c (main): Likewise. - - * src/cp.c (do_copy): Remove test for trailing slash, since - target_directory_operand now does this. - * src/ln.c (main): Likewise. - * src/mv.c (movefile): Likewise. - - * src/cp.c (main): Reject multiple target directories. - Check whether a specified target is a directory when parsing the - options, using stat. This gives more-accurate diagnostics. - * src/ln.c (main): Likewise. - - * src/ln.c (isdir): Remove decl; no longer needed. - * src/mv.c (isdir, lstat): Likewise. - - * src/ln.c (do_link): New arg dest_is_dir. All uses changed. - Don't check the destination ourself; rely on dest_is_dir. - This way we can avoid lstatting the destination in the - usual case, and in the worst case we lstat 1, not 3 times. - Don't bother to unlink unless link failed; this saves a syscall. - Remove unnecessary backup_succeeded flag; - it was identical to "dest_backup != NULL". - - * src/ln.c (main): Use int to count to argc, not unsigned int. - This handles negative operand counts. - * src/mv.c (main): Likewise. - - * src/mv.c (do_move): Don't call hash_init; expect the caller to - do it, for consistency with cp.c and ln.c. All callers changed. - (movefile): dest_is_dir parameter is now bool, not int. - (main): Standardize on "missing destination file operand after %s" - for the diagnostic, for consistency with cp.c. - - * tests/mv/diag: Don't assume "mv --target=nonexistentdir" - will complain about the arg count. - Adjust to new (briefer) diagnostics. - * tests/cp/fail-perm: Add a test to verify that we get the new - diagnostic when failing to copy through a symlink-to-inaccessible-dir. - -2004-06-27 Paul Eggert - - Fix a bug: formerly, if d/x was a directory and x a file, "ln x - d/" incorrectly created a link d/x/x. It also saves some system - calls. - - * NEWS: Document the fix. - - * src/ln.c (main): Don't append basename to dest if this - results in an existing directory name. - * tests/ln/misc: See whether a trailing slash is followed too far. - -2004-06-26 Jim Meyering - - * src/printf.c (main): When given no arguments, print the standard - "missing operand\nTry printf --help..." message -- to be consistent. - -2004-06-26 Jim Meyering - - * src/mknod.c (main): Add \n at the end of message output via fprintf. - -2004-06-25 Jim Meyering - - * tests/ln/misc: Add test for ln subscript error. - -2004-06-23 Paul Eggert - - * src/ln.c (do_link): Remove unnecessary call to lstat. - (main): Avoid subscript error when the destination is "". - -2004-06-23 Jim Meyering - - * tests/*: Replace all occurrences of `(exit N); exit' with - `(exit N); exit N'. Otherwise, those many tests could exit with - improper exit status when exiting via e.g., a trapped interrupt. - Thanks to a report from Bob Proulx. - -2004-06-22 Paul Eggert - - * src/who.c (idle_string, print_user): New arg boottime, - specifying the most recent boot time. All uses changed. - (idle_string) Consider a line to be "old" if it hasn't been used - since the last boot time. Watch out for overflow when computing - times, and for times in the future. - (idle_string): Record latest boot time. - -2004-06-22 Jim Meyering - - * src/test.c (usage): Correct description of `-t FD'. The file - descriptor, FD, is no longer optional. Reported by Ton Nijkes. - -2004-06-21 Paul Eggert - - The 2004-06-19 fix for who and pinky was incomplete, as ctime - has undefined behavior if the year precedes -999 or follows 9999. - Since we have to stop using ctime anyway, we might as well use - strftime and fix the FIXME, and support internationalized dates. - - * NEWS: Document the new behavior. - * src/who.c: Include "hard-locale.h". - (time_format, time_format_width): New vars. - (time_string, print_line): Use them. - (main): Set them. - (time_string): Use localtime + strftime instead of - ctime, to avoid problems with years before -999 or after 9999. - * src/pinky.c: Likewise. - -2004-06-21 Paul Eggert - - Fix bug: GNU 'ls' didn't count columns correctly if user or group - names contained multibyte characters where the column count - differed from the byte count. This patch also corrects - some comments. - - * src/ls.c (format_user_or_group): New function, which counts - columns correctly. - (format_user, format_group): Use it. - (format_user_or_group_width): New function, which counts columns - correctly. - (format_user_width, format_group_width): Use it. - -2004-06-21 Jim Meyering - - * tests/priv-check: Quote "$PATH" in PATH=$PATH. - Suggestion from Andreas Schwab. - - * tests/priv-check: When running as root, be sure to propagate - PATH through to the process we exec as non-root. - Reported by michael@aplatform.com. - - * src/mknod.c (main): Don't segfault when calculating the - expected number of operands for `mknod NAME'. - -2004-06-20 Jim Meyering - - * src/dd.c (input_seek_errno): Declare file-scoped variable as static. - -2004-06-20 Paul Eggert - - * src/basename.c (main): - Standardize on the diagnostics given when someone gives - too few operands ("missing operand after `xxx'") or - too many operands ("extra operand `xxx'"). - Include "quote.h" and/or "error.h" if it wasn't already being included. - * src/chgrp.c (main): Likewise. - * src/chmod.c (main): Likewise. - * src/chown.c (main): Likewise. - * src/chroot.c (main): Likewise. - * src/comm.c (main): Likewise. - * src/cp.c (do_copy): Likewise. - * src/csplit.c (main): Likewise. - * src/date.c (main): Likewise. - * src/dircolors.c (main): Likewise. - * src/dirname.c (main): Likewise. - * src/du.c (main): Likewise. - * src/expr.c (main): Likewise. - * src/hostid.c (main): Likewise. - * src/hostname.c (main): Likewise. - * src/id.c (main): Likewise. - * src/install.c (main): Likewise. - * src/join.c (add_file_name, main): Likewise. - * src/link.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/logname.c (main): Likewise. - * src/md5sum.c (main): Likewise. - * src/mkdir.c (main): Likewise. - * src/mkfifo.c (main): Likewise. - * src/mknod.c (main): Likewise. - * src/mv.c (main): Likewise. - * src/nohup.c (main): Likewise. - * src/od.c (main): Likewise. - * src/pathchk.c (main): Likewise. - * src/ptx.c (main): Likewise. - * src/readlink.c (main): Likewise. - * src/rm.c (main): Likewise. - * src/rmdir.c (main): Likewise. - * src/seq.c (main): Likewise. - * src/setuidgid.c (main): Likewise. - * src/shred.c (main): Likewise. - * src/sleep.c (main): Likewise. - * src/sort.c (main): Likewise. - * src/split.c (main): Likewise. - * src/stat.c (main): Likewise. - * src/test.c (beyond, main): Likewise. - * src/touch.c (main): Likewise. - * src/tr.c (main): Likewise. - * src/tsort.c (main): Likewise. - * src/tty.c (main): Likewise. - * src/uname.c (main): Likewise. - * src/uniq.c (main): Likewise. - * src/unlink.c (main): Likewise. - * src/uptime.c (main): Likewise. - * src/users.c (main): Likewise. - * src/who.c (main): Likewise. - * src/whoami.c (main): Likewise. - - * tests/basename/basic: Adjust to new diagnostics. - * tests/du/files0-from: Likewise. - * tests/expr/basic: Likewise. - * tests/mv/diag: Likewise. - * tests/tsort/basic-1: Likewise. - -2004-06-20 Jim Meyering - - * src/ln.c: Remove declaration of yesno. - Instead, include yesno.h. - * src/copy.c: Likewise. - - * src/remove.c: Remove declaration of yesno. - Instead, include yesno.h. - (top_dir): Remove now-unnecessary cast of obstack_base. - (pop_dir): Likewise. - (full_filename_): Likewise. - -2004-06-19 Paul Eggert - - Don't dump core if ctime returns NULL; this is possible on - hosts with 64-bit time_t and 32-bit int. - * src/who.c: Include "inttostr.h". - (time_string): If ctime fails, print the raw time as an integer - instead of dumping core. - * src/pinky.c: Likewise, as follows: - Include "inttostr.h". - (time_string): New function, copied from who.c. - (print_entry): Use it. - -2004-06-19 Paul Eggert - - * src/who.c (print_line): Don't truncate user names at 8 bytes. - Problem reported by Guido Leenders in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00056.html - * NEWS: document this. - -2004-06-19 Jim Meyering - - * src/system.h (case_GETOPT_VERSION_CHAR): Switch back to - using GNU_PACKAGE (from PACKAGE) once again. This restores - `GNU' to the parenthesized package name in --version output. - Before, the first argument from AC_INIT, `GNU coreutils', would - be propagated to the PACKAGE variable. Now, `GNU ' is trimmed. - Reported by Richard Stallman. - -2004-06-17 Jim Meyering - - * src/tr.c (to_uchar): Rename function from `uchar'. The latter - would clash with a typedef in Tru64's . From Albert Chin. - -2004-06-15 Paul Eggert - - * NEWS: Remove more special cases for POSIXLY_CORRECT when POSIX - allows the GNU behavior. "--" is now supported by chroot, hostid, - hosname, pwd, sync, yes. - * doc/coreutils.texi (yes invocation, false invocation, - true invocation): Document this. - * src/chroot.c (main): Handle "--". - * src/hostid.c (main): Likewise. - * src/hostname.c (main): Likewise. - * src/pwd.c (main): Likewise. - * src/sync.c (main): Likewise. - * src/yes.c (main): Likewise. - * src/true.c (main): Recognize --help and --version even if - POSIXLY_CORRECT is set. - * src/yes.c (main): Likewise. - -2004-06-09 Paul Eggert - - * NEWS: Remove special cases for POSIXLY_CORRECT when POSIX allows - the GNU behavior. - * doc/coreutils.texi (pr invocation, unlink invocation): Document this. - * src/ls.c (decode_switches): Pay attention to TABSIZE even if - POSIXLY_CORRECT is set. POSIX reserves upper-case environment - variables to the implementation, so it's OK for ls to depend on - TABSIZE. - * src/pr.c: Include "hard-locale.h". - (main): When in a non-POSIX locale, ignore POSIXLY_CORRECT, since - POSIX specifies the behavior only in the POSIX locale. - * src/printf.c (print_esc): Support \x, \u, \U even if POSIXLY_CORRECT, - since POSIX says the behavior is unspecified here. - * src/tail.c (parse_obsolescent_option): Support multiple file operands - even if POSIXLY_CORRECT, since POSIX does not require a diagnostic. - * src/printf.c (main): Recognize --help, --version even if - POSIXLY_CORRECT. POSIX does not specify any options, but it - does not prohibit options either, so "printf" is like "expr" here. - * src/unlink.c (main): Likewise. - * tests/misc/printf: Adjust to the new semantics for \x if - POSIXLY_CORRECT. - -2004-06-14 Jim Meyering - - * tests/misc/pwd: New test, for fix of 2004-04-19. - * tests/misc/Makefile.am (TESTS): Add pwd. - (BUILD_SRC_DIR): Define BUILD_SRC_DIR. - - * src/copy.c: Remove declaration of euidaccess. - Instead, include "euidaccess.h". - -2004-06-13 Paul Eggert - - * src/who.c (PIDSTR_DECL_AND_INIT): Don't assume pid_t fits in int. - (UT_ID) [!HAVE_STRUCT_XTMP_UT_ID]: Remove bogus comment, - as (sizeof "??") reliably returns 3. - (print_line): Guard against idle and pid being too long - (which is possible when printing headers). - (print_user): Allocate enough bytes for idlestr. Use IDLESTR_LEN. - Avoid unnecessary cast of sizeof to int. - (make_id_equals_comment): Do not assume that UT_ID returns - a string; it might return a non-null-terminated array. - Use strncat instead. It's not very often where strncat is - exactly what you want, but this is one of those rare cases. - -2004-06-11 Paul Eggert - - * src/who.c (list_entries_who): Don't output a trailing space. - -2004-06-09 Jim Meyering - - * src/touch.c (usage): Improve wording in description of the - --time=WORD option. Reported by Dan Jacobson. - - * src/chown-core.c (change_file_owner): Change names of parameters - old_uid and old_gid to required_uid and required_gid respectively. - - * src/chmod.c (mode_changed): Return false, not 0, now that the - function returns `bool'. - -2004-06-08 Paul Eggert - - Adjust chmod and chown to be similar if -c or -v are given. In - particular, a no-op chown is no longer reported as a change; this - reverts to previous behavior. Also, fix both commands so that -v - report failures even if the failure is not due to the chmod or - chown syscalls. - - * src/chmod.c (CH_NOT_APPLIED): New constant. - (describe_change): Handle it. - (process_file): Use it, if a symlink wasn't changed. - (mode_changed): Return bool, not int. Accept new argument - NEW_MODE; all callers changed. This lets us avoid statting the - file unless the new mode has unusual bits. - (process_file): Return -1 on error. With -v, report all errors - verbosely, not just some. - - * src/chown-core.c (change_file_owner): Return -1 on error, not - 1 sometimes and -1 on others. Our caller ORs together our results, - and (-1 | 1) == 0 on ones-complement hosts. - With -v report all errors verbosely, not just some. - Fix bug when chopt->root_dev_ino && !chopt->affect_symlink_referent: - file_stats wasn't set properly in that case. - - * tests/chgrp/basic: Adjust to above changes. - -2004-05-20 Paul Eggert - - * tests/chgrp/basic: Test that chgrp -h does not fail on - symlinks, even on hosts where that's not supported. - Test that if -R is specified without -H or L, -h is assumed. - Test that chown() is not optimized away. - -2004-05-18 Paul Eggert - - Several fixes to chgrp and chown for compatibility with POSIX and BSD: - - Check for incompatible options. When -R and --dereference are - both used, then either -H or -L must also be used. When -R and -h - are both used, then -P must be in effect. - - -H, -L, and -P have no effect unless -R is also specified. - If -P and -R are both specified, -h is assumed. - - Do not optimize away the chown() system call when the file's owner - and group already have the desired value. This optimization was - incorrect, as it failed to updated the last-changed time and reset - special permission bits, as POSIX requires. - - Do not report an error if the owner or group of a - recursively-encountered symbolic link cannot be updated because - the file system does not support it. - - * NEWS: Document the above. - - * src/chgrp.c (main): Check for incompatible options. -R --dereference - requires either -H or -L, and -R -h requires -P. If -H, specify - FTS_PHYSICAL as well as FTS_COMFOLLOW; this is faster. Make this - file as much like chown.c as possible. - * src/chown.c (main): Likewise. - - * src/chown-core.c (change_file_owner): Use ent->fts_statp only if - needed. Chown a directory only after chowning its children; this - avoids problems if the new directory ownership doesn't permit - access to the children. Dereference symlinks before doing - ROOT_DEV_INO_CHECK, not after, so that we catch symlinks to /. - Do not optimize away the chown() system call when the file's owner - and group already have the desired value. POSIX does not permit - this optimization. Rely on chown and lchown to do the right - thing with symlinks and/or -1 arguments, now that we have wrappers - to do this. Use ENOTSUPP not ENOSYS, and ignore all ENOTSUPP - errors, not just command-line errors. - (chown_files): Pass FTS_NOSTAT to xfts_open if we don't need file status. - - * src/system.h (ENOTSUP): Remove. - - * tests/chgrp/basic: Use chown --from to discover whether the - group changed, since chgrp now changes unconditionally. This - complicates the sed script a bit. Do not specify --dereference, - since it's the default (and we want to test this). Adjust output - to match the fact that chgrp no longer optimizes the case of - changing a file's group to the same value as before. - * tests/chgrp/posix-H: Do not attempt to combine -h and -H; these - options are incompatible, and their behavior is undefined with POSIX. - (changed, not_changed): Adjust to match the fact that -h is no longer - specified. Sort names. - * tests/chown/deref: Adjust error-diagnostic spelling to match new - behavior. - -2004-06-07 Paul Eggert - - * src/uname.c (main): Fix typo introduced on 2003-05-10 that - prevented a diagnostic of any operands. - -2004-06-08 Jim Meyering - - * src/shred.c (direct_mode): Turn it on/off with directio, too. - -2004-06-07 Jim Meyering - - Enable direct-mode I/O (bypassing the buffer cache), if possible. - Prompted by a suggestion from Kalle Olavi Niemitalo - in http://bugs.debian.org/207035. - * src/shred.c (direct_mode): New function. - (do_wipefd): Turn on direct-mode I/O. - (dopass): If a file's first write fails with EINVAL, - turn off direct-mode I/O and retry the write. - -2004-06-05 Paul Eggert - - * src/tr.c (main): "tr -d a b" is now a fatal error even if - POSIXLY_CORRECT is set. The POSIX SYNOPSIS does not allow this - option combination. - -2004-06-04 Paul Eggert - - * src/shred.c (dopass): Don't subtract 1 from the offset after - a write error. Problem reported by Jon Peatfield in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00020.html - -2004-06-02 Paul Eggert - - Fix bug reported by Buciuman Adrian in - - where 'dd' created a file that was too large. The bug was that dd - assumed that the input file offset does not advance after a failed - read; but POSIX says that the input file offset is undefined after - a failed read. - - * src/dd.c (MAX_BLOCKSIZE): New macro. - (input_seekable, input_seek_errno, input_offset, - input_offset_overflow): New vars. - (scanargs): Reject block sizes greater than MAX_BLOCKSIZE. - (advance_input_offset): New function. - (skip_via_lseek): Set errno to zero when reporting our failure, - so that we don't report based on garbage errno. - (skip): If fdesc is standard input, advance the input offset. - Do not quit if reading, and if noerror was specified; - POSIX seems to require this. - If read fails on output file, report the earlier lseek failure - instead; this fixes a FIXME in dd_copy. - (advance_input_after_read_error): New function. - (dd_copy): Use it, instead of assuming that failed reads - do not advance the file pointer. Advance input offset - after nonfailed reads. Advance only a partial block if - the previous read (before the failed read) succeeded, and - do not generate an output block of zeros in this case. - (main): Determine initial input offset, seekability of input, - and error if it wasn't seekable. - -2004-06-02 Jim Meyering - - rm (without -f) could hang unnecessarily when attempting to - remove a symlink to a file on an off-line NFS-mounted partition. - Reported by David Howells in https://bugzilla.redhat.com/124699. - * src/remove.c (write_protected_non_symlink): New function. - Don't invoke euidaccess on symlinks. - (prompt): Use write_protected_non_symlink rather than using - euidaccess directly, being careful not to call lstat twice for a file. - - Fix a bug in how the --output-delimiter=D option works with - abutting byte or character ranges. Reported by David Krider in - http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00132.html - * src/cut.c (print_kth): Remove special case for open-ended range. - (set_fields): Record the range start index for an interval even - when it abuts another interval on its low side. - Also record the range start index of the longest right-open-interval. - * tests/cut/Test.pm: Add tests of --output-delimiter=S with - abutting and overlapping byte ranges. - -2004-06-01 Paul Eggert - - Some POSIX-conformance cleanups for tr. - - * src/tr.c (posix_pedantic): Remove; no longer needed since - we need to test this in just one place now. - (usage): Mention -C. - (unquote): Note that \055, \n, etc are escaped. - Do not worry about POSIXLY_CORRECT when warning about ambiguous - escape sequences. - \ at end of string stands for itself. - Do not diagnose invalid backslash escapes: POSIX says the behavior - is unspecified in this case, so we don't need to diagnose it. - (main): Add support for -C (currently an alias for -c). - Do not diagnose 'tr [:upper:] [:upper:], as POSIX does not require - a diagnostic here. - * tests/tr/Test.pm: New tests bs-055, bs-at-end, repeat-Compl. - Fix comment for range-a-a. - -2004-05-25 Paul Eggert - - Improve the efficiency (and in one case, correctness) of code - that reads symlinks. - - * src/copy.c (copy_internal): Don't use alloca, as it can mess up - royally if the link length is long (e.g., GNU/Hurd). Use - xreadlink instead, it's safer. Don't bother to read the link if - it's the wrong size. Add a FIXME because this area is a bit murky - and undocumented. - * src/ls.c (get_link_name): Update use of xreadlink. - * src/readlink.c (main): Likewise. - * src/stat.c (print_stat): Likewise. - -2004-06-01 Jim Meyering - - * src/env.c (main): Prefer the notation `STREQ (a, b)' - over `!strcmp (a, b)'. - * src/sort.c (main, sort_buffer_size): Prefer the notation - `STREQ (a, b)' over `strcmp (a, b) == 0'. - * src/date.c (batch_convert): Likewise. - * src/expr.c (nextarg): Likewise. - * src/su.c (correct_password, restricted_shell, main): Likewise. - * src/ptx.c (swallow_file_in_memory, main): Likewise. - * src/test.c (binary_operator, and, or, main): Likewise. - -2004-05-13 Paul Eggert - - * NEWS: echo compatibility cleanup. - * doc/coreutils.texi (echo invocation): Document the changes. - * src/echo.c (V9_ECHO): Remove; always enabled. - (DEFAULT_ECHO_TO_XPG): Renamed from V9_DEFAULT, so that - we use the same naming convention as bash. Now an enum, - not a macro. - (usage): Reword to mention -e/-E more accurately. - Mention \0NNN (the POSIX syntax) rather than \NNN (nonstandard). - (hextobin): New function. - (main): Use bool rather than int for local vars when appropriate. - Do not allow options if POSIXLY_CORRECT, unless we are using - BSD semantics and the first argument is "-n". - Don't pass unnecessary extra arg to parse_long_options. - do_v9 now defaults to DEFAULT_ECHO_TO_XPG, not to allow_options. - Do not look for options if !allow_options. - Use size_t rather than int when appropriate. - Open-code option test rather than using strrchr. - Use faster test for "-". - Avoid redundant argc test. - Add support for \x, for Bash compatibility. - Use e.g. '\a' rather than '\007', for portability to EBCDIC hosts. - When '\c' is encountered, stop printing immediately, as POSIX - requires. - Add support for \xhh syntax. - Add support for \0ooo syntax; POSIX requires this. - -2004-06-01 Jim Meyering - - * Use automake-1.8b. Regenerate dependent files. - -2004-05-31 Jim Meyering - - * tests/Makefile.am.in (TESTS_ENVIRONMENT): Define PATH to include - the build src/ directory -- at the front. - ($(srcdir)/$x-tests): Depend on Makefile.am. - Use $x as the program name, except when it would be `test' (test is - the sole program tested via mk-script that is also a shell built-in). - In that case, use the old ../../src/$x. - -2004-05-30 Jim Meyering - - Work around HPUX /bin/cc compiler bug that is exposed, now that - sets are arrays of type `bool'. More details here: - http://lists.gnu.org/archive/html/bug-gnulib/2004-05/msg00094.html - FIXME: verify that the above URL points to the right message - - * src/tr.c (card_of_complement): Use cleaner `sizeof in_set' - rather than `N_CHARS * sizeof(in_set[0])'. Using HPUX's /bin/cc - (aC++/ANSI C B3910B A.05.55 [Dec 04 2003]) on an ia64-hp-hpux11.22 - system, those two expressions are not the same (256 vs. 1024). - The effect of this problem was that `tr -c x y' would fail: - tr: when not truncating set1, string2 must be non-empty - (set_initialize): Remove unnecessary initialization of the `in_set' - buffer; that initialization triggered the same compiler bug as above. - -2004-05-29 Paul Eggert - - tr cleanup, mostly having to do with integer type ranges. - Remove all casts. - - * tests/tr/Test.pm: Add a few tests for the below. Alas, most of - the test cases wouldn't be portable, or would take too much CPU - time, or both. - - * src/tr.c (N_CHARS, N_CHAR_CLASSES): Now an enum, not a macro. - This is safe since the code already assumes N_CHARS fits in int. - (Filter): Remove: we want to prototype everything. - (ORD, CHR): Remove. All uses removed. Some replaced with: - (uchar): New function. All places where a char must be converted - to an unsigned char are now done this way, not by ad-hoc methods. - (count): New type. Use it whenever counts or states are needed. - (BEGIN_STATE): Increase from INT_MAX - 1 (which was bogus, anyway, - since we used it in an unsigned int context) to UINTMAX_MAX - 1. - (REPEAT_COUNT_MAXIMUM): New macro. Use it in place of BEGIN_STATE - whenever appropriate. - (NOT_A_CHAR): Remove global macro; now a local enum. - (UL_LOWER, UL_UPPER, UL_NONE): No longer specify values, since - the rest of the code no longer depends on them. - (class_ok): Remove; all uses changed to use inline comparisons. - (RE_NO_TYPE): Remove; wasn't used or needed. - (struct List_element): normal_char and equiv_code are now unsigned - char, not int. - first_char, last_char, and the_repeated_char are now unsigned char, - not unsigned int. repeat_count is now count, not size_t. - All uses changed. - (struct Spec_list): state is now count, not unsigned int. - lengthis now count, not size_t. - n_indefinite_repeats is now size_t, not int. - has_equiv_class, has_char_class, and has_restricted_char_class - are now bool, not int. All uses changed. - (struct E_string): s is now char *, not unsigned char *. - escaped is now bool *, not int *. All uses changed. - (ES_MATCH): Remove macro, replacing with: - (es_match): New inline function. All uses changed. - (squeeze_repeats, complement, posix_pedantic, truncate_set1, - translating): Now bool, not int. - (io_buf): Now char array, not unsigned char. - (SET_TYPE): Remove. All uses replaced with bool. - (is_equiv_class_member, unquote, append_range, append_char_class, - append_equiv_class, find_closing_delim, star_digits_closebracket, - build_spec_list, parse_str, homogeneous_spec_list): - Now returns bool, not int. All uses changed. - (is_equiv_class_member): Now inline. - (is_equiv_class_member, is_char_class_member, make_printable_str, - append_normal_char, append_range, append_repeated_char, - get_s2_spec_stats): - Args are now of proper integer type. - (unquote, look_up_char_class, make_printable_str, - append_equiv_class, build_spec_list, squeeze_filter): - Avoid unsigned char *p; gently convert *p to unsigned char instead. - (unquote, get_spec_stats): Do not jump past declarations and then - use them; C doesn't allow this in portable programs. - (make_printable_str): Check for overflow in size calculations. - (xmemdup): Remove. All uses rewritten. - (find_bracketed_repeat): Args are now of proper pointer-to-integer - type. Do not reject [c*0]. Use xstrtoumax, not xstrtoul. - (find_bracketed_repeat, star_digits_closebracket): Check that the - digits are not escaped. - (build_spec_list): Don't bother to copy opnd_str; not needed. - (build_spec_list, get_next): Simplify internal logic a bit. - (card_of_complement): Fix bug due to char overflow. - (get_spec_stats): Don't assume len fits into int. - Check for integer overflow. Use abort() rather than assert(0). - (string2_extend): Fix subscript error: is_char_class_member (..., 255) - was being invoked. - (squeeze_filter): READER is never null now; simplify code. - READER arg now has a simpler type. Remove unnecessary casts. - (squeeze_filter, main): Calls to fwrite improperly checked result - against zero, rather than against requested size. - (plain_read): New function. - (read_and_delete, read_and_xlate): - Remove unused filter arg, and don't worry about hit_eof. - Simplify by using plain_read. - (set_initialize): Args are bool and bool *, not int and SET_TYPE *. - (main): Always pass a non-null procedure to squeeze_filter. - Rewrite so that class_ok isn't needed. - -2004-05-29 Paul Eggert - - * src/shred.c (dosync): Ignore EBADF errors, as IRIX 6.5 - fdatasync reports EBADF when syncing (unwritable) directories. - Problem reported by Albert Chin-A-Young in: - http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00165.html - -2004-05-29 Jim Meyering - - * tests/chown/deref: Fix typo: use ls -ldo, not ls -ldg. - Patch from Albert Chin. - - * src/ptx.c (text_buffer_maxend): Remove declaration of unused variable. - - * src/remove.c (push_dir): Merge declaration and adjacent assignment - into a single statement. - -2004-05-28 Jim Meyering - - * src/remove.c (AD_mark_helper): Eliminate an unnecessary comparison. - -2004-05-22 Jim Meyering - - rm -r would get a failed assertion when run from an inaccessible - directory and with two or more command line arguments including an - absolute-named directory followed by a relative-named directory. - - * src/remove.h (struct rm_options) [require_restore_cwd]: New member. - * src/remove.c (struct cwd_state): Define. - (AD_pop_and_chdir): Redesign interface so that a restore_cwd failure - can be detected by the caller. Instead of returning a malloc'd - directory name, communicate it to caller via a new parameter, and - return an indication of whether restore_cwd failed. Update caller. - Eliminate an unnecessary call to AC_stack_top. - (remove_dir): Change type of cwd_state parameter to `struct cwd_state' - so we can now communicate to caller whether/how functions like - restore_cwd have failed. Update caller. - (rm_1): Fail if we've failed to restore the working directory - and the name of the next file to remove is `.'-relative. - (rm): Fail if the require_restore_cwd flag is true and we've - failed to restore the working directory. - * src/mv.c (rm_option_init): Initialize new member, - x->require_restore_cwd. - * src/rm.c (rm_option_init): Likewise. - -2004-05-21 Jim Meyering - - * tests/rm/inaccessible: New test for the above fix. - * tests/rm/Makefile.am (TESTS): Add inaccessible. - - * src/remove.c (rm): Use free rather than XFREE. - (remove_dir): Use xmalloc, not XMALLOC. - (ds_init): Likewise. - -2004-05-20 Jim Meyering - - * Makefile.maint (sc_unmarked_diagnostics): Now that the unmarked - diagnostics in shred.c have been fixed, don't exempt shred.c from - this check. - - * src/shred.c: Use translatable diagnostics, e.g. - change "%s: remove" to _("%s: failed to remove") and - change "%s: close" to _("%s: failed to close"). - -2004-05-17 Paul Eggert - - * src/shred.c (names): Bring back lower-case letters, "_", and - ".". But continue to omit +, =, %, @, #, as they're either - shell metacharacters (for some shells) or are not in some - character sets, or (in the case of '%') must be a - metacharacter somewhere. - -2004-05-16 Paul Eggert - - * src/cut.c (cut_fields): Adjust to new signature of getndelim2. - -2004-05-17 Jim Meyering - - * src/shred.c (incname): Decrement `len' only once per loop iteration. - - chgrp and chown now dereference symlinks by default, per POSIX. - Reported by Michal Politowski as http://bugs.debian.org/249177. - - * src/chown-core.c (chopt_init): Affect each symlink referent by default. - * src/chown.c (usage): Update to reflect this. - * src/chgrp.c (usage): Likewise. - * NEWS: Describe the change. - Adapt tests accordingly. - * tests/chgrp/basic: Use -h where necessary to retain semantics. - * tests/chgrp/deref: Likewise. - * tests/chgrp/posix-H: Likewise. - -2004-05-15 Paul Eggert - - In shred, check for errors from fdatasync more carefully. If - fdatasync fails with errno==EINVAL, it means this implementation - does not support synchronized I/O for this file. Do not report - this as an error, as (for example) AIX 5.2 fdatasync reports it - for raw disk devices. Problem reported by Albert Chin in - . - - Check for write errors, though: the old code ignored them. - Improve error checking in a few other cases, too (e.g., close of a - directory). - - Also, change several 'int' values to 'bool', so that the error - checking is a bit clearer. Similarly, change unsigned values - to size_t where appropriate. - - * src/shred.c: Include "dirname.h". - (datasync) [!HAVE_FDATASYNC]: Remove. - (dosync): New function. - (dopass): Use it. Return 1 on write error, -1 on other error. - All callers changed. Report write error if dosync does. - (do_wipefd, wipefd, wipename, wipefile): Return bool (true/false), - not int (0/-1). All callers changed. Return false if there's a - write error. - (incname): Return bool (true/false), not int (0/1). Accept - size_t length, not unsigned. All callers changed. Do not - bother checking for non-digits; it can't happen. Replace - recursion with iteration. - (wipename): Use dir_name, base_name, etc. instead of assuming - Unix file names. Use size_t for length, not unsigned. - Report error if unlink or close fails. - (wipename, main): Use bool for booleans. - - (names): Use only digits and uppercase letters, for greater - portability. - -2004-05-16 Jim Meyering - - * tests/chown/deref: New test for the yesterday's change. - * tests/chown/Makefile.am (TESTS): Add deref. - -2004-05-15 Jim Meyering - - chown --dereference did nothing when the owner/group of a - symlink matched the desired owner/group. Reported by David Malone. - Also reported in 1999 as http://bugs.debian.org/39642. - - * src/chown-core.c (change_file_owner): When --dereference has - been specified, and when processing a symlink, stat it to get the - owner and group of the referent. - -2004-05-14 Jim Meyering - - * man/pwd.x, man/echo.x, man/printf.x: Fix typo: - s/supercede/supersede/ reported by Andrew Fabbro. - -2004-05-13 Paul Eggert - - Improve performance of `sort -m' on large files, at the cost of - making some contrived examples unsafe. POSIX allows this - optimization. Performance problem reported by Jonathan Baker in - . - - * src/sort.c (first_same_file): Do not treat input pipes - differently from other files. - * doc/coreutils.texi (sort invocation): Document that "sort -m -o F" - might write F before reading all the input. - * NEWS: Likewise. - -2004-05-12 Paul Eggert - - * src/od.c (print_ascii, dump_strings): Use e.g. '\a' rather than - '\007', for portability to EBCDIC hosts. - * src/printf.c (print_esc_char): Likewise. - * src/tr.c (unquote, make_printable_str): Likewise. - -2004-05-12 Jim Meyering - - * src/remove.c (AD_pop_and_chdir): Move lstat-`.' into if-block - where the result is used. This avoids one unnecessary lstat call - per command line argument. - -2004-05-12 Paul Eggert - - Don't assume that "make -C" works; Solaris "make" doesn't have -C. - - * src/Makefile.am (all_programs.list): New rule, copied from - man/Makefile.am and tests/Makefile.am, except that we use the - system tr rather than ./tr and we don't use tr -s. - * tests/Makefile.am (all_programs): Use it. - * man/Makefile.am (all_programs): Likewise. Renamed from programs, - for consistency. All uses changed. - -2004-05-11 Jim Meyering - - * tests/rm/unread3: New test, for the above fix and today's - lib/save-cwd.c improvement. - * tests/rm/Makefile.am (TESTS): Add unread3. - - * src/rm.c: Don't include "save-cwd.h". It's no longer used. - -2004-05-10 Jim Meyering - - * tests/install/trap: New file. Test for bug fix of 2004-04-18. - * tests/install/Makefile.am (TESTS): Add trap. - - * src/remove.c (AD_push): Don't use errno in diagnostic about - `changed dev/ino'. - - Remove these generated files from CVS. - * tests/cut/cut-tests, tests/date/date-tests, tests/join/join-tests: - * tests/ls/ls-tests, tests/pr/pr-tests, tests/tac/tac-tests: - * tests/tail/tail-tests, tests/test/test-tests, tests/tr/range-tests: - * tests/tr/tr-tests, tests/wc/wc-tests: - -2004-05-09 Jim Meyering - - * src/tr.c (unquote): Use xcalloc rather than xmalloc and - a loop initializing the just-allocated memory to zero. - -2004-05-08 Jim Meyering - - * tests/rm/no-give-up: New file; check for today's fix. - * tests/rm/Makefile.am (TESTS): Add no-give-up. - -2004-05-08 Paul Eggert - - Fix bug where "rm" gave up too easily, reported by Dan Jacobsen in - . - - * src/remove.c (remove_entry): Check for errno values like ENOENT - that show the file cannot be directory, instead of for errno - values like EPERM that show the file might be a directory. This - is necessary because, when a single unlink() call has multiple - reasons to fail, it can set errno to any of those reasons; it's - only the rare errno value like ENOENT that excludes all the other - possible reasons to fail even when the file is a directory. - (remove_cwd_entries): Don't attempt chdir if the file is known - to not be a directory. - (remove_dir): Use the same method that remove_cwd_entries uses - (for some reason they differed). Don't assert that saved_errno - must be EPERM; it might be just about anything. - -2004-05-06 Jim Meyering - - * src/id.c (xgetgroups): Use xnmalloc, rather than xmalloc. - Don't add `1' to the buffer size (it was to protect against malloc - implementations that fail to allocate a buffer of size zero). - That is no longer necessary, since we use a malloc wrapper - on such systems. - - * src/wc.c (get_input_fstatus): Use xnmalloc, rather than xmalloc. - * src/head.c (elide_tail_bytes_pipe): Likewise. - * src/df.c (main): Likewise. - * src/shred.c (do_wipefd): Likewise. - * src/users.c (list_entries_users): Likewise. - * src/tail.c (main): Likewise. - * src/md5sum.c (main): Likewise. - -2004-04-29 Paul Eggert - - * src/df.c (show_disk, show_point): If several filesystems are - mounted on the same mount point, prefer the last one, not the first. - Problem reported by Christian Jones in - . - (show_disk): Remove unused statp arg. Return bool, not int. - (show_point): Rewrite to avoid gotos. Use the same algorithm - for lofs and dummies for each pass through the mount table, - rather than subtly different algorithms (which are probably - inadvertent). - -2004-05-03 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add m4/ChangeLog, now that we no longer - have m4/Makefile*. - -2004-05-01 Jim Meyering - - When chown or chgrp is modifying the referent of a symlink, - use the chown(2) function, if possible. - * src/chown-core.c (change_file_owner): Don't hard-code the - open/fchown/close kludge here. Use `chown' instead. - The chown function works just fine on conforming systems. - Other systems now go through the new chown wrapper that - resorts to the old kludge. - - * src/chown-core.c (change_file_owner): Add a comment. - -2004-04-27 Jim Meyering - - * src/ptx.c: Make over 40 global extern variables `static'. - (syntax_table, re_syntax_table): Remove declarations of two unused - variables (they were exposed by the above change). - - * src/du.c (G_fail, opt_nul_terminate_output): Declare `static'. - * src/ln.c (backup_type): Likewise. - - * src/remove.c (rm): Add `extern' keyword. - * src/cp-hash.c (forget_created, remember_created) - (src_to_dest_lookup, remember_copied, hash_init, forget_all): Likewise. - * src/copy.c (dest_info_init, src_info_init, copy): Likewise. - * src/chown-core.c (chopt_init, chopt_free, gid_to_name) - (uid_to_name, chown_files): Likewise. - - * src/Makefile.am (sc_tight_scope): New rule. - * Makefile.maint (sc_tight_scope): New rule. - (syntax-check-rules): Add it. - -2004-04-26 Jim Meyering - - * Use automake-1.8.4. Regenerate dependent files. - - * src/sort.c (limfield): Make a comment clearer. - -2004-04-25 Paul Eggert - - Fix POSIX-conformance bug: "sort -k 3,3.5b" is supposed to skip - leading blanks when computing the location of the field end; - it is not supposed to skip trailing blanks. Solaris 8 "sort" - does conform to POSIX. Also fix the documentation to clarify - this and related issues. - - * doc/coreutils.texi (sort invocation): Mention -k earlier, so - that the options are in alphabetical order. Describe how -b works - more-accurately; this involves fixing some examples, too. Mention - what happens if the start field falls after an end field or after - a line end. Warn about using -k without -b, -g, -M, -n, or -t. - Add an example of how to sort IPv4 addresses and Apache Common - Log Format dates. Remove a duplicate example. - (Putting the tools together): Use separate options rather - than agglomerating them. - * src/sort.c (limfield): Use skipeblanks, not skipsblanks, to - decode whether to skip leading blanks. - (trailing_blanks): Remove. - (fillbuf, getmonth, keycompare): Don't trim trailing blanks. - - * tests/pr/Test.pm: Fix typo in env_default comment. - * tests/sort/Test.pm: Likewise. - (18c, 18d): Reverse the order of output lines, so that the - test cases conform to POSIX. - -2004-04-22 Paul Eggert - - More signal-handling cleanup for ls.c. Do not allow signals to - happen between arbitrary output bytes, as the - restore-default-color sequence can bollix up multibyte chars or - color-change sequences in the ordinary output. Instead, process - signals only between printing a file name and changing the color - back to non_filename_text color. That way, if the signal handler - changes the color (to the default), 'ls' will change it back when - 'ls' continues (after being suspended). - - Also, do not bother with signal-handling unless stdout is a - controlling terminal; this lets stdio buffer better when "ls - --color" is piped or sent to a file. - - * src/ls.c (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: New macros. - Do not include "full-write.h"; no longer needed. - (tcgetpgrp) [! HAVE_TCGETPGRP]: New macro. - (put_indicator_direct): Remove. All callers changed to use - put_indicator. - (caught_signals, interrupt_signal, stop_signal_count): New vars. - (restore_default_color): Don't bother checking for put_indicator - failure. - (sighandler): Don't handle SIGTSTP; that's another handler now. - Simply set interrupt_signal to the signal, then exit. - (stophandler, process_signals): New functions. - (main): Don't output any color changes until _after_ the signal - handlers are set up. This fixes a race condition where 'ls' - could be interrupted while initializing colors, and leaving the - terminal in an undesirable state. - Don't mess with signal-handling if standard output is not a - controlling terminal. - When exiting, restore the default color, then restore the - default signal handling, then act on any signals that weren't - acted on yet. - Do not print //DIRED// etc. in colors; this avoids the need - to catch signals when printing them. - (print_name_with_quoting): Process signals just before switching - color back to non_filename_text. - -2004-04-23 Jim Meyering - - Avoid segfault on systems for which SIZE_MAX != (size_t) -1. - * src/ls.c (quote_name): Use SIZE_MAX, not -1, in calls - of quotearg_buffer. Patch by Mikulas Patocka. - -2004-04-18 Paul Eggert - - tee ignored SIGPIPE, but POSIX doesn't allow this. - - * src/tee.c (main): Do not ignore SIGPIPE, as POSIX 1003.1-2001 - does not allow this. This undoes the 1996-10-24 patch. - -2004-04-18 Paul Eggert - - Signal-handling cleanup for coreutils. Here are the highlights: - - - csplit sometimes failed to remove files when interrupted. - - csplit didn't clean up if two signals arrived nearly simultaneously. - - install -s would infloop on System V if SIGCHLD was ignored. - - ls could incorrectly restore color if multiple signals - arrived nearly simultaneously. - - * src/csplit.c (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: - Define. - (filename_space, prefix, suffix, digits, files_created, remove_files): - Now volatile. - (caught_signals): New var. - (cleanup): Block signals while deleting all files. - (cleanup_fatal, handle_line_error, regexp_error): - Mark with ATTRIBUTE_NORETURN. - (create_output_file, close_output_file, interrupt_handler): - Block signals while changing the number of output files, - to fix some race conditions. - (delete_all_files): Do nothing if remove_files is zero. - Clear files_created. - (main): Don't mess with signals until after argument processing - is done. - - * src/csplit.c (main): Rewrite signal-catching code to make it - similar to other coreutils programs. When processing signals, - block all signals that we catch, but do not block signals that we - don't catch. Avoid problems with unsigned int warnings. - * src/ls.c (main): Likewise. - * src/sort.c (main): Likewise. - - * src/csplit.c (interrupt_handler): - Use void, not (obsolete) RETSIGTYPE. - * src/shred.c (sigill_handler, isaac_seed_machdep): Likewise. - - * src/csplit.c (interrupt_handler) [defined SA_NOCLDSTOP]: - Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent. - * src/ls.c (sighandler) [defined SA_NOCLDSTOP]: Likewise. - * src/sort.c (sighandler) [defined SA_NOCLDSTOP]: Likewise. - * src/nohup.c (main) [!defined _POSIX_SOURCE]: Likewise, except - for SIG_IGN. - * src/tee.c (main) [!defined _POSIX_SOURCE]: Likewise. - - * src/install.c: Include . - (main) [defined SIGCHLD]: Set SIGCHLD handler to the default, if -s is - given, since System V fork+wait does not work if SIGCHLD is ignored. - - * src/ls.c (sighandler) [!defined SA_NOCLDSTOP]: Reset signal - handler to self, not to SIG_IGN, since SIGTSTP can be received - more than once. - (main): Use SA_RESTART, as that is simpler than checking for EINTR - failures all over the place. - -2004-04-20 Jim Meyering - - * src/remove.c (is_empty_dir): Clarify comment. - - * man/help2man: Accept new option: --program-name=NAME, so that we - can override the one in --version output. This is needed solely - so that test.1 doesn't refer to `[' as the program name. - Reported by Benjamin Cutler as http://bugs.debian.org/205251. - * man/Makefile.am (.x.1): Use help2man's new --program-name option. - - * src/pwd.c: Don't include pathmax.h; system.h already does it. - - * src/cut.c (cut_fields): Free buffer upon getndelim2 failure. - -2004-04-19 Jim Meyering - - * src/shred.c (isaac_seed_start) [AVOID_USED_UNINITIALIZED_WARNINGS]: - Initialize a buffer to avoid warnings from tools like valgrind. - - * Makefile.maint (sc_trailing_blank): New rule. - (syntax-check-rules): Add it. - * .x-sc_trailing_blank: New file. - - Make pwd work even if the resulting name is so long that getcwd fails. - * src/pwd.c: (path_free, path_init, path_prepend): New functions. - (nth_parent, find_dir_entry, robust_getcwd): New functions. - (main): First try getcwd, then, upon failure, robust_getcwd. - -2004-04-18 Jim Meyering - - * src/who.c (print_user): Use xrealloc here, rather than - unchecked realloc. Remove anachronistic casts. - - * src/remove.c (full_filename_): Don't leak upon failed realloc. - - * src/system.h (readdir_ignoring_dot_and_dotdot): New inline function, - from remove.c. - * src/remove.c (readdir_ignoring_dotdirs): Move function to system.h, - renaming it. Update uses. - -2004-04-17 Jim Meyering - - * configure.ac: Depend on automake-1.8.3. - - * src/join.c (add_file_name): Declare function to be `static'. - (string_to_join_field): Likewise. - * src/remove.c (ds_init, ds_free): Likewise. - - * Makefile.maint (sc_prohibit_jm_in_m4): New rule. - (syntax-check-rules): Add to the list. - -2004-04-13 Paul Eggert - - Use page-aligned buffers whenever we bother to do I/O using buffer - sizes that are tailored for the files. - - * src/cat.c: Include getpagesize.h. - * src/copy.c: Likewise. - * src/shred.c: Likewise. - * src/split.c: Likewise. - * src/cat.c (main): Align I/O buffers to page boundaries. - * src/copy.c (copy_reg): Likewise. - * src/shred.c (dopass): Likewise. - * src/split.c (main): Likewise. - * src/dd.c (ROUND_UP_OFFSET, PTR_ALIGN): Remove. - All uses replaced by ptr_align. - * src/od.c (gcd, lcm): Remove; now in system.h. - * src/system.h (gcd, lcm, ptr_align): New functions, moved from od.c. - -2004-04-14 Jim Meyering - - Remove m4/Makefile.am: it's no longer needed, with newer automake - * configure.ac (AC_CONFIG_FILES): Remove m4/Makefile.in from the list. - * Makefile.am (SUBDIRS): Remove `m4' from the list. - -2004-04-13 Jim Meyering - - * configure.ac: Change `jm_' in AC_DEFINE'd names to `gl_'. - -2004-03-27 Paul Eggert - - * NEWS: cp -pu and mv -u (when copying) now take the destination - file system time stamp resolution into account. - * doc/coreutils.texi (mv invocation): Document this. - (cp invocation): Document -u (it was missing!) with new behavior. - - * src/copy.c: Include "utimecmp.h". - (copy_internal): Compare time stamps using utimecmp rather than - MTIME_CMP. - -2004-04-09 Jim Meyering - - * Makefile.maint (.re-list): New rule/file, to replace - hard-coded list of header file names. - (sc_system_h_headers): Use the new file. - Don't look for sys2.h anymore. - - * src/system.h: Include new "stat-macros.h" rather than hard-coding - all of its macro definitions -- the list was slightly out of date. - Suggestion from Dmitry V. Levin. - -2004-04-08 Paul Eggert - - * NEWS: Remove noctty flag from dd. Suggested by Philippe Troin. - * doc/coreutils.texi (dd invocation): Likewise. - * src/shred.c (O_NOCTTY): Remove redundant decl. - * src/dd.c (flags, usage): Remove noctty flag. - (main): Always use O_NOCTTY when opening files. - -2004-04-08 Jim Meyering - - * src/dd.c (dd_copy): Mark two diagnostics for translations. - (set_fd_flags): Undo part of today's change: it's a little - cleaner -- and more efficient in the common case -- to go - ahead and OR in the -1 when fcntl fails. - - * Makefile.maint (sc_dd_max_sym_length): New target. - (syntax-check-rules): Add it. - - * src/md5sum.c (PROGRAM_NAME) [algorithm == ALG_SHA1]: - Correct spelling: s/shasum/sha1sum. Reported by Jesse Kornblum. - - * src/dd.c (set_fd_flags): Don't OR in -1 when fcntl fails. - Rename parameter, flags, to avoid shadowing global. - (LONGEST_SYMBOL): Tweak comment. - -2004-04-07 Paul Eggert - - * NEWS: New dd conv= symbols nocreat, excl, fdatasync, fsync, - and new dd options iflag= and oflag=. - * src/dd.c (usage): Likewise. - * src/Makefile.am (dd_LDADD, shred_LDADD): Add fdatasync's lib. - * src/dd.c (fdatasync) [!HAVE_FDATASYNC]: New macro. - (C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): New macros. - (input_flags, output_flags): New vars. - (LONGEST_SYMBOL): New macro. - (struct symbol_value): Renamed from struct conversion. Members - symbol and value renamed from convname and conversion. The - symbol value is now an array instead of a pointer; this saves - a bit of space and time in practice. All uses changed. - (conversions): Add nocreat, excl, fdatasync, fsync. Now const. - (flags): New constant array. - (iflag_error_msgid, oflag_error_msgid): New constants. - (parse_symbols): Renamed from parse_conversion and generalized - to handle either conversion or flag symbols. - (scanargs): Adjust uses of parse_symbols accodingly. Add - support for iflag= and oflag=. Reject attempts to use - both excl and nocreat. - (set_fd_flags): New function. - (dd_copy): Just return X rather than calling quit (X), since our - caller invokes quit with the returned value. Add support for - fdatasync and fsync. - (main): Add support for iflag=, oflag=, and new conv= symbols. - * src/system.h (O_DIRECT, O_DSYNC, O_NDELAY, O_NOFOLLOW, - O_RSYNC, O_SYNC): Define to 0 if not already defined. - - * NEWS: Remove duplicate mention of BLOCKSIZE. - -2004-04-02 Andreas Schwab - - * src/stty.c: Add support for IUTF8 input flag. - -2004-04-06 Jim Meyering - - * src/system.h (makedev) [mkdev && !makedev]: Define in terms of mkdev. - Interix spells it `mkdev'. Reported by Mark Funkenhauser. - -2004-04-04 Jim Meyering - - A specified format is no longer automatically newline terminated. - If you want a newline at the end of your format, use `\n'. - * src/stat.c (print_it): Don't print a newline at the end of - every format. - (do_statfs): Add a newline at end of each default format string. - -2004-03-30 Paul Eggert - - * src/nohup.c (main): Adjust to new calling convention - for set_cloexec_flag. - -2004-03-31 Jim Meyering - - * tests/Fetish.pm (run_tests): Remove `.orig' file. - Remove debugging diagnostic. - - Specifying an invalid --width=N (-w) or --gap-size=N (-g) - would not elicit an error. - * src/ptx.c: Include "xstrtol.h" and "quotearg.h". - (main): Don't use atoi. Use xstrtoul instead. - -2004-03-30 Jim Meyering - - * Makefile.maint (sc_prohibit_atoi_atof): New rule. - (syntax-check-rules): Add it. - * .x-sc_prohibit_atoi_atof: New file. - -2004-03-29 Jim Meyering - - * tests/du/files0-from: Use new OUT_SUBST directive, so that this - test is not sensitive to system-dependent block size differences. - Prompted by a report of Solaris 8 differences from Paul Eggert. - - * tests/Fetish.pm: Accept new directives: OUT_SUBST, ERR_SUBST. - Rename `%tmp' to `%actual'. Reverse order of last two args to - _compare_files (to $actual, $expected) so as to match declaration. - -2004-03-28 Paul Eggert - - Fix some gotchas encountered when porting to Solaris 8, using - the Forte 6u2 compiler. - - * src/hostname.c [HAVE_SETHOSTNAME && !defined sethostname]: - Declare sethostname, since no Solaris header does it. - * src/who.c: Include "vasprintf.h", for asprintf. - -2004-03-28 Jim Meyering - - Minor optimization: - * src/du.c (process_file): Don't record dev/inode for directories. - - Under some circumstances, without -c, du would mistakenly count the - space of hard-linked files, not just the first one it encountered. - Reported by Anthony Thyssen. - * src/du.c (du_files): Don't ever clear the set of `seen' dev/inodes. - - * src/du.c: Rename global `print_totals' to `print_grand_total'. - - * src/du.c (main): Rearrange filtering loop to be a tiny bit - more efficient. - - * src/chown-core.c: Don't include savedir.h -- no longer needed. - * src/chmod.c: Likewise. - -2004-03-25 Jim Meyering - - * src/du.c (main): Remove now-unused declaration of `i'. - -2004-03-24 Paul Eggert - - * src/du.c (main): Filter out file names of length zero before - invoking fts, so that they don't cause fatal errors. - -2004-03-25 Jim Meyering - - * tests/du/files0-from (zero-len): Add a test for the above. - -2004-02-25 Paul Eggert - - * NEWS: New environment var BLOCKSIZE. - * lib/human.c (humblock): Support BLOCKSIZE as well as BLOCK_SIZE. - * tests/envvar-check: Test for it. Factor the code to simplify it. - -2004-03-23 Paul Eggert - - * NEWS: Shorten the du --files0-from announcement, and say - "NUL-terminated" rather than "NUL-separated". - * src/du.c (EXPECTED_BYTES_PER_FILE_NAME, DEFAULT_PROJECTED_N_FILES): - Remove: not used. - (usage): Say "NUL-terminated", not "NUL-separated". - (main): Check for I/O error when istream is closed. - Allow --files0-from=F even if F is empty; this specifies no files. - (du_files): Now that we allow the list of files to be empty, - handle that case. - * tests/du/files0-from: Adjust to above changes to src/du.c. - -2004-03-24 Jim Meyering - - * tests/tail-2/assert: Avoid race condition that could cause - spurious failure. Based on a patch from Andreas Schwab. - -2004-03-23 Jim Meyering - - * src/du.c (main): Free the hash table, too. - -2004-03-22 Jim Meyering - - * man/Makefile.am (.x.1): Remove --info-page= option, reverting - the change of 2004-01-22. I can no longer reproduce the problem - that prompted that change, and `info coreutils pr' would display the - `printing text' section of the manual, not the one on `pr invocation'. - - * tests/du/files0-from (nul-1, nul-2): Adjust expected diagnostics - to match corrected output. - - * src/du.c: Include "readtokens0.h" rather than "readtokens.h". - (main): Use readtoken0 functions rather than readtokens. - Don't use errno when diagnosing readtokens0 failure. - Fix off-by-one error in the token number reported in a diagnostic. - (du_files): Return bool, rather than int. - (main): Call readtokens0_free. - -2004-03-21 Jim Meyering - - * src/remove.c (ds_free): Plug a small leak. - - * tests/Fetish.pm: Fix typo in comment. - -2004-03-07 Jim Meyering - - * NEWS: du accepts a new option --files0-from=FILE, where FILE - contains a list of NUL-separated file names. - - * src/du.c: Include "readtokens.h". - (usage): Describe the new option, and adjust the `Usage': - with this option, no FILE may be specified on the command line. - (main): Handle the new option. - - * tests/du/files0-from: New tests, for the above. - * tests/du/Makefile.am (TESTS): Add files0-from. - - * src/factor.c (do_stdin): Reflect changes in use of readtoken. - * src/tsort.c (tsort): Likewise. - -2004-02-29 Paul Eggert - - * NEWS: Add support for a new notation @N to get_date to represent - the time stamp with numeric value N. Improve support for - fractional time stamps. date's -d and -f options now accept them. - Likewise for touch -t. date has a new option --iso-8601=ns. - - * doc/coreutils.texi (touch invocation): - Describe use of fractional seconds. - (date invocation, Options for date): Likewise. - * doc/getdate.texi (General date syntax, Time of day items): Likewise. - * doc/coreutils.texi (date invocation): Mention effect of LC_TIME. - (Options for date): Describe new --iso-8601=ns option. - - * doc/getdate.texi: Add copyright notice. Change getdate to - get_date when talking about the function name. - (Seconds since the Epoch): New section, containing the time_t - info moved from Date input formats section, along with new - info about the @ syntax. Mention negative time stamps, - fractional time stamps, and leap seconds. - (General date syntax): Modernize examples a bit to reflect new - features. - (General date syntax, Relative items in date strings): - Use ' rather than " to quote formats. - (Time of day items): Add an example with fractional seconds. - Describe fractional-second syntax. - - * src/Makefile.am (touch_LDADD): New macro, since `touch' now - needs clock_gettime. - - * src/date.c (enum Time_spec): New enum TIME_SPEC_NS. - (time_spec_string, time_spec, show_date): Support it. - (usage): Remove description of -ITIMESPEC, as it's obsolete and - confusing. Mention --iso-8601=ns. - (batch_convert): getline returns ssize_t, not int. - - * src/touch.c (newtime): Now an array of two timespecs, one - for access and one for modification. - (ref_stats): Remove. - (get_reldate): Use get_date's parameter profile. - (touch, main): Adjust to above changes. - (main): Work even if tm_year == INT_MAX (so long as long int is wider). - Use gettime instead of gettimeofday, for new get_date signature. - - * tests/date/Test.pm (test_vector): New tests epoch, ns-10, ns-max32, - ns-relative. - -2004-03-15 Jim Meyering - - * Makefile.maint (alpha beta major): `Make' the emit_upload_commands - target before updating $(prev_version_file). - - * tests/misc/date-sec: New file, to test for just-fixed bug in date. - See today's change in lib/getdate.y. - * tests/misc/Makefile.am (TESTS): Add date-sec. - -2004-03-14 Jim Meyering - - * announce-gen (print_changelog_deltas): Use `.sig' suffix for - signature files, not `.asc'. Reported by angico@yahoo.com. - -2004-03-13 Jim Meyering - - * src/cp.c (do_copy): Tweak wording in a diagnostic. - Suggestion from Karl Berry. - Include "quoatearg.h". - (do_copy): Use quotearg_colon (not quote) for diagnostics - that begin with `"%s:'. - - * src/nl.c (usage): Specify that nl uses _basic_ regular expressions. - Suggestion from Dan Jacobson. - -2004-03-12 Jim Meyering - - * Version 5.2.1. - - Sometimes, when source and destination partition are different, - mv mistakenly fails to preserve a hard link. Reported by IIDA Yosiaki. - - * src/copy.c: When moving a set of N hard-linked files between - partitions, via two or more command line arguments where the - command line argument containing the Nth link contains no other - link to that same file, mv would mistakenly copy the file, rather - than hard-linking it to the other(s). That happens because when the - final link is processed, its link count has been reduced to 1 since - the other links have been `copied' to the destination partition - and the source links have been removed. - (copy_internal): When in move mode, use the source dev/inode - pair to look up destination name even when st_nlink == 1. - * src/cp-hash.c (src_to_dest_lookup): New function. - * src/cp-hash.h (src_to_dest_lookup): Add prototype. - * tests/mv/part-hardlink: New file. Test for the above fix. - * tests/mv/Makefile.am (TESTS): Add part-hardlink. - - * announce-gen: Sync with autoconf. - - * tests/ls/time-1: Exit 77 (not 1) if we can't set up for the test. - This was triggered on a Linux-2.2.19 system using a file system - NFS-mounted from some sort of Sun. - -2004-03-11 Jim Meyering - - * Use automake-1.8.3. Regenerate dependent files. - -2004-03-10 Jim Meyering - - * tests/du/deref-args: Also convert sizes in the 70-79 kB range, - so that this test works with SELinux-enabled systems. - Based on a patch from Tim Waugh. - - `join -1 x' would give a misleading diagnostic - * src/join.c (string_to_join_field): Report that a non-numeric field - number is invalid, rather than `so large that it is not representable'. - * tests/join/Test.pm (invalid-j): New partial test for the above fix. - -2004-03-06 Jim Meyering - - cp --sparse=always sparse-image-file.img /dev/hda1 could - produce an invalid copy on the destination device. - - * src/copy.c (copy_reg): Even with --sparse=always, try to - make `holes' only if the destination is a regular file. - Reported by Szakacsits Szabolcs. - -2004-03-03 Paul Eggert - - * src/nohup.c (main): Don't invoke set_cloexec_flag with - a file descriptor of -1. - -2004-03-02 Dmitry V. Levin - - * src/nohup.c: Include "cloexec.h". - (main): Set the copy of stderr to close on exec. - -2004-03-01 Paul Eggert - - * configure.ac: Include when checking for strsignal, - sys_siglist, and friends. Problem reported by Tony Leneis in - . - -2004-02-25 Paul Eggert - - * tests/du/deref-args, tests/du/exclude, tests/du/slash: - * tests/du/trailing-slash: Run envvar-check in case BLOCK_SIZE - etc. are set. - -2004-02-23 Paul Eggert - - * NEWS: Document how chown's USER.GROUP argument is now parsed. - -2004-02-23 Jim Meyering - - * src/seq.c (usage): Remove stray space after \n in --help output. - -2004-02-22 Jim Meyering - - * src/du.c (usage): Separate -H and --si. Say that the meaning - of -H will soon change to that of --dereference-args (-D). - -2004-02-21 Jim Meyering - - * src/comm.c (usage): Tell what comm does when there are no options. - Reword in terms of FILE1 and FILE2 rather than `left file' and - `right file'. Suggestion from Dan Jacobson. - -2004-02-15 Paul Eggert - - Fix some POSIX-conformance bugs in expr. - - * NEWS: document the following changes to src/expr.c. - * doc/coreutils.texi (expr invocation): Likewise. - Document what forms integers may take, and say "integer" - consistently instead of "number". Warn about operands - that "expr" can misinterpret, and how to work around the - problem. - * src/expr.c (eval, eval7, eval6, eval5, eval4, eval3, eval2, eval1): - Accept a bool argument specifying whether to evaluate the - expression. This is to allow short-circuit evaluation. All - callers changed. - (null): Report that a string is zero even if it has - a form like "-0" or "00". - (eval1, eval): Use short-circuit evaluation for | and &. - (eval): Return 0 if both arguments are null or zero, instead - of returning the first argument. - * tests/expr/basic: Add some tests for the above. - -2004-02-17 Jim Meyering - - * Version 5.2.0. - - `make check' from a build inside a chroot environment would fail - * tests/help-version: Specify an argument (`/') for df, in the - unusual event that there is no valid entry in /etc/mtab. - Likewise for id: add the -u option, so we don't get spurious - failures when there are no user or group names. - Patch by Tim Waugh. - - * src/sort.c (usage) [-u]: Add punctuation so that the description in - the help2man-generated (line-joined) man page is more readable. - Reported by Tim Waugh. - [-T]: Add a semicolon, for the same reason. - -2004-02-15 Jim Meyering - - * Makefile.am (dist-hook): Qualify target with $(srcdir)/ prefix. - -2004-02-11 Jim Meyering - - * tests/Makefile.am.in ($(srcdir)/Makefile.am): Use more portable - $(srcdir)/../Makefile.am.in, rather than $<. - Suggestion from Michael Elizabeth Chastain. - -2004-02-10 Jim Meyering - - * config/install-sh: Make this script executable. - * Makefile.am (dist-hook): New target, to ensure that config/install-sh - is executable. Otherwise, on systems that lack a suitable install - binary, `make install' would fail, because of the way this script - is invoked (without `$SHELL ' prefix). - Reported by Bob Proulx. - -2004-02-08 Jim Meyering - - * Version 5.1.3. - - * tests/rm/rm5: Avoid triggering a bug in OSF/Tru64's sed - that would cause an unwarranted test failure. - * tests/rm/rm3: Likewise. - -2004-02-07 Jim Meyering - - Remove xstat function pointer member. The way it was used was not - portable, since some systems (OSF V5.1, Solaris 2.5.1) provide static - inline `stat' and `lstat' functions, thus making the tests of - `xstat == lstat' in copy.c always fail. - * src/copy.h (struct cp_options) [xstat]: Remove member. - (XSTAT): New macro. - * src/copy.c (copy_dir): Set `.dereference' member, not .xstat. - (copy_internal): Use `XSTAT (x, ...)' in place of `*(x->xstat) (...)'. - Use `x->dereference == DEREF_NEVER' in place of `x->xstat == lstat'. - (valid_options): Remove now-obsolete FIXME comments. - - * src/cp.c (re_protect): Use `XSTAT (x, ...)' in place of - `*(x->xstat) (...)'. - (do_copy): Declare/use local xstat rather than x->xstat. - (main): Remove code that set x.xstat. - * src/mv.c (cp_option_init): Don't initialize xstat member. - * src/install.c (cp_option_init): Likewise. - - * Makefile.cfg (gnu_ftp_host-alpha, etc.): Un-factor .gnu.org suffix, - so that emit_upload_commands can use these variables, too. - -2004-02-06 Jim Meyering - - * tests/rm/deep-1: Remove `du' stack space test. - Apparently, `ulimit -s N' isn't portable enough. - This test will be restored (with a guard against losing ulimit) - in its own file later. - - * tests/rm/deep-1 (deep): Remove progress-style diagnostics, - since this test doesn't take long enough to merit them. - Run du on $tmp (the containing dir), not $deep, the full path to leaf. - - * Makefile.maint (signatures): Remove definition. - Now, automake's gnupload handles this. - (%.sig: %): Remove now-unused rule. - (rel-files): Use automake's $(DIST_ARCHIVES), rather than - `$(distdir).tar.bz2 $(distdir).tar.gz'. - (emit-upload-commands): Adjust to use gnupload. - -2004-02-05 Jim Meyering - - * src/system.h (ST_TIME_CMP_NS, ST_TIME_CMP): Remove definitions. - (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. - Now, those are all defined in timespec.h. - Include timespec.h. - - * src/date.c: Don't include timespec.h, now that system.h does it. - -2004-02-02 Paul Eggert - - Don't dump core if localtime returns NULL (possible on - hosts with 64-bit time_t and 32-bit int). - * src/date.c: Include "inttostr.h". - (batch_convert, main): - If time conversion fails, exit with nonzero status. - (show_date): Return int to report conversion failure. - Print the time as an int if localtime fails. - * src/uptime.c: Print "??" if the current clock can't - be converted by localtime. This won't happen until the year - 2*31 + 1900, but we don't want to dump core even if the current - clock has the wrong value. - - * src/stat.c: Include "inttostr.h". - (human_time): Print the date/time as a number of seconds since the - epoch if it can't be converted by localtime. This is better than - just saying "invalid", and is consistent with what "ls" does. - Don't dump core if the year has more than 48 digits; this isn't - possible on any contemporary host, but we might as well do it right. - -2004-01-31 Paul Eggert - - * src/stat.c (human_time): Accept time rather than - pointer-to-const-time parameter, for clarity. All callers changed. - -2004-02-02 Jim Meyering - - * src/stat.c (do_stat): Remove extra trailing newline from - default formats. Reported by Nelson H. F. Beebe. - - Print actual fractional seconds in time stamps, not just `.00000000'. - * src/stat.c (human_time): Add and use new parameter, t_ns. - (print_stat): Update callers. - * src/ls.c (TIMESPEC_NS): Remove definition. - * src/system.h (TIMESPEC_NS): Define here, instead, now that stat.c - also uses this macro. - Nelson H. F. Beebe noticed that ls --full-time printed nonzero - fractional seconds for files on an XFS file system, but that stat's - fractional seconds were always zero. - -2004-01-28 Paul Eggert - - * src/seq.c (print_numbers): Use 'double' for loop index, not - 'int', to avoid problems with integer overflow. On almost all - machines 'double' works in every case where 'int' works, and - it works on other cases besides. - -2004-01-27 Jim Meyering - - * src/seq.c (usage): Mention that if INCREMENT is omitted, - it defaults to 1, even when FIRST is larger than LAST. - Reword so as not to exclude the possibility that INCREMENT be zero. - -2004-01-25 Jim Meyering - - * Version 5.1.2. - - * Makefile.maint (signatures): Comment out definition. - -2004-01-23 Jim Meyering - - * Makefile.maint (header_regexp): Add exitfail. - - * man/Makefile.am (EXTRA_DIST): Add help2man. - Reported by Nelson H. F. Beebe. - - * man/Makefile.am (.x.1): Prefix help2man invocation with `$(PERL) --' - so it works on systems with Perl installed somewhere other than in - /usr/bin. - - * src/paste.c (paste_parallel): Declare local, chr, to be of type - `int', not `char', since it must hold EOF. This bug would make - paste infloop on some systems. Test failures reported by - Nelson H. F. Beebe and Christian Krackowizer. - -2004-01-22 Jim Meyering - - * tests/rmdir/fail-perm: New file. Test for just-fixed rmdir bug. - * tests/rmdir/Makefile.am (TESTS): Add fail-perm. - - * man/help2man: Fix it so using --info-page='coreutils PROG' works. - * man/Makefile.am (.x.1): Invoke our own (tweaked) copy of help2man. - Use --info-page='coreutils PROG' option. - Now, readlink.1 refers the user to `info coreutils readlink' - rather than to `info readlink'. Reported by Matt Swift. - -2004-01-21 Paul Eggert - - Exit status cleanup. - - * src/basename.c (usage): Use EXIT_SUCCESS, not 0, for clarity. - * src/cat.c, src/chgrp.c, src/chmod.c, src/chown.c, src/chroot.c, - * src/cksum.c, src/comm.c, src/cp.c, src/csplit.c, src/cut.c, - * src/date.c, src/dd.c, src/df.c, src/dircolors.c, src/dirname.c, - * src/du.c, src/echo.c, src/env.c, src/expand.c, src/expr.c, - * src/factor.c, src/fmt.c, src/fold.c, src/head.c, src/hostid.c, - * src/hostname.c, src/id.c, src/install.c, src/join.c, src/kill.c, - * src/link.c, src/ln.c, src/logname.c, src/ls.c, src/md5sum.c, - * src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/nice.c, - * src/nl.c, src/nohup.c, src/od.c, src/paste.c, src/pathchk.c, - * src/pinky.c, src/pr.c, src/printenv.c, src/printf.c, src/pwd.c, - * src/rm.c, src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c, - * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c, - * src/su.c, src/sum.c, src/sync.c, src/tac.c, src/tail.c, src/tee.c, - * src/test.c, src/touch.c, src/tr.c, src/tsort.c, src/tty.c, - * src/uname.c, src/unexpand.c, src/uniq.c, src/unlink.c, src/uptime.c, - * src/users.c, src/wc.c, src/who.c, src/whoami.c, src/yes.c: Likewise. - - * src/cat.c (usage): Don't bother normalizing exit status - since the arg is already the correct exit status now. - * src/cksum.c, src/comm.c, src/csplit.c, src/cut.c, - * src/dircolors.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/split.c, src/sum.c, src/tac.c, src/tail.c, src/tr.c, - * src/tsort.c, unexpand.c, src/src/uniq.c, src/src/wc.c: Likewise. - - * src/chown.c (main): Removed unused local 'fail'. - - * src/chroot.c (CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): - Remove. - - * src/chroot.c (main): Initialize exit_failure to EXIT_FAIL. - * src/env.c, src/nice.c, src/su.c: Likewise. - * src/nohup.c (main): Likewise, to NOHUP_FAILURE. - * src/setuidgid.c (main): Likewise, to SETUIDGID_FAILURE. - * src/expr.c (main): Use initialize_exit_failure rather than - setting exit_failure directly; this optimizes away redundant - assignments. - * src/printenv.c, src/sort.c, src/test.c, src/tty.c: Likewise. - - * src/chroot.c (main): Exit with status 1 rather than 127 - if chroot itself fails, as per documentation. - - * src/chroot.c (main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE - rather than roll-your-own symbols or integers. - * src/env.c (main): Likewise. - * src/nohup.c (main): Likewise. - * src/su.c (run_shell): Likewise. - - * src/cp.c (exit_status): Remove static var.... - (main): Making it local here instead. Use =, not |=, to set it. - - * src/cut.c (FATAL_ERROR, main): Exit with status EXIT_FAILURE, - not 2, on errors. - * src/date.c (batch_convert, main): Likewise. - * src/dd.c (dd_copy): Likewise. - * src/pr.c (first_last_page, main, getoptarg): Likewise. - * src/tr.c (main): Likewise. - * src/date.c (main): Don't assume EXIT_FAILURE == 1, as - POSIX doesn't require it. - * src/dd.c (write_output, skip, dd_copy): Likewise. - * src/df.c (main): Likewise. - * src/id.c (main): Likewise. - * src/install.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/ls.c (main): Likewise. - * src/mv.c (main): Likewise. - * src/shred.c (main): Likewise. - - * src/env.c (main): Exit with status 1, not 2, on errors detected - by env proper. - * src/hostname.c (main): Likewise. - * src/nl.c (main): Likewise. - * src/stty.c (main): Likewise. - - * src/expr.c (EXPR_FAILURE): Renamed from EXPR_ERROR, for - consistency with the other programs' naming conventions. - All uses changed. - - * src/factor.c (main): Do not report a usage error simply - because stdin has bad numbers. - - * src/id.c (problems): Now a boolean int, not a counter, - so that we don't have to worry about int overflow. All uses changed. - * src/touch.c (err): Likewise. - - * src/md5sum.c (main): Use int, not size_t, to store boolean int. - - * src/mkfifo.c (main): Exit with status 1, not 4, if not implemented. - * src/mknod.c: Likewise. - - * src/nice.c (main): Exit with status EXIT_FAIL, not EXIT_FAILURE, - on error; this is in case EXIT_FAILURE is unusual. - * src/su.c (main): Likewise. - - * src/nohup.c (NOHUP_FOUND_BUT_CANNOT_INVOKE): Remove; all uses - changed to EXIT_CANNOT_INVOKE. - - * src/printenv.c (PRINTENV_FAILURE): New constant. - (main): Exit with status PRINTENV_FAILURE, not EXIT_FAILURE, on - command-line syntax problems. - - * src/rmdir.c (remove_parents): Don't set 'fail' to a negative number. - (main): Avoid integer overflow when seeing whether errors occurred. - - * src/seq.c (print_numbers): Now returns void, not (zero) int. - All callers changed. - (main): Remove unused local variable 'errs'. Always exit successfully - if we reach the end. - - * src/setuidgid.c (SETUIDGID_FAILURE): Renamed from FAIL_STATUS, - for consistency with other programs here. All uses changed. - (main): Use 'error' to exit rather than invoking 'exit' here. - - * src/sort.c: Don't include . - (SORT_OUT_OF_ORDER, SORT_FAILURE): Now enums, not macros. - (usage): Don't use 'assert'. - (main): Remove redundant assignment to exit_failure. - - * src/system.h (EXIT_FAIL, EXIT_CANNOT_INVOKE, EXIT_ENOENT): - New enum values. - (initialize_exit_failure): New inline function. - Include exitfail.h here, since we refer to exit_failure. - All callers changed to not include exitfail.h. - - * src/tty.c (TTY_FAILURE, TTY_WRITE_ERROR): New enum values; - substitute them for the corresponding integer constants. - - * tests/help-version (expected_failure_status_date): Remove, as - 'date' is now normal. - (expected_failure_status_nohup): New var. - -2004-01-21 Jim Meyering - - * tests/touch/relative: Remove `command' syntax. - Thanks to Nelson H. F. Beebe and Paul Eggert. - - * tests/touch/relative: Test only year/month/day, not hours/min/sec, - so as to avoid problems with systems using TAI clocks. - Although it's no longer necessary, set TZ=UTC0 also for the - initial touch command. Reported by Paul Jarc here: - http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/1504 - -2004-01-20 Diego Biurrun - - * src/dircolors.hin: Add .mov to the list of media files. - -2004-01-19 Paul Eggert - - * tests/touch/relative: Use TZ=UTC0, not TZ=utc (which isn't - portable). Problem reported by Christian Krackowizer. Also, use - +0000 rather than +0 to specify a time zone, as the documentation - requires four digits. - -2004-01-19 Jim Meyering - - * tests/mv/hard-4: Run envvar-check in case SIMPLE_BACKUP_SUFFIX is set. - * tests/mv/backup-is-src: Likewise. - Problem reported by Peter Horst - -2004-01-17 Jim Meyering - - * announce-gen (print_changelog_deltas): Use .sig suffix, not .asc. - - * Version 5.1.1. - -2003-12-15 Paul Eggert - - * NEWS, doc/coreutils.texi: touch -r and -d can now both be specified, - with -r specifying the origin for -d. - * src/touch.c (flexible_date): Remove static var. - (get_reldate): New function. - (main): Use it, to implement this new behavior. - -2004-01-16 Jim Meyering - - * tests/touch/relative: New test for the above. - * tests/touch/Makefile.am (TESTS): Add relative. - -2004-01-13 Jim Meyering - - * src/system.h: Include contents of sys2.h. - * src/sys2.h: Remove file. - * src/Makefile.am (noinst_HEADERS): Remove sys2.h. - - * Use automake-1.8.2. Regenerate dependent files. - - * Update to gettext-0.13.1. - * configure.ac: Use gettext-0.13.1. - * .x-sc_space_tab: Add m4/po.m4 to the list of exceptions. - -2004-01-12 Jim Meyering - - * Makefile.maint (%.sig): Use .sig suffix rather than .asc. - - * Makefile.maint (po-check): Ensure that cvsu works before using it. - Reported by Alexandre Duret-Lutz. - - * src/tail.c (main): Warn about following stdin only when it's a tty. - - * configure.ac: Use gl_DEFAULT_POSIX2_VERSION. - -2004-01-10 Jim Meyering - - * tests/misc/stat-fmt: Use backticks, not `$()' notation. - -2004-01-09 Jim Meyering - - * configure.ac: Quote underquoted `jm_DUMMY_1' to avoid new warning. - -2004-01-08 Jim Meyering - - * src/stat.c (human_fstype): Use %lx, not %x format for `unsigned long'. - From Andreas Schwab. - - * tests/Makefile.am (TESTS_ENVIRONMENT): Remove `/vg' (prerelease test - remnant) from PATH component. That would cause tests in this directory - not to run the just-built binaries, but rather whatever happened - to be in one's PATH. Reported by Christian Krackowizer. - -2004-01-04 Jim Meyering - - * src/csplit.c (new_control_record): Use x2nrealloc - rather than xrealloc. - - * src/cp.c (re_protect): Use ASSIGN_STRDUPA rather than - alloca and strcpy. - (make_path_private): Likewise. - -2004-01-03 Jim Meyering - - * src/paste.c: Use `bool' (not int) as the type for a few - global variables. - (collapse_escapes): Rewrite to set globals rather than modifying - its parameter. - Use size_t (not int) for all counters and related index variables. - (paste_parallel): Remove needless complexity of - using xrealloc in the loop; just allocate the buffers up front. - Free the two temporary buffers. - Move declarations of locals `down' into scope where used. - (paste_serial): Remove `register' attributes. - (main): Simplify delim-related code. - Free `delims', now that it's malloc'd. - -2004-01-02 Jim Meyering - - * src/chroot.c: Include "quote.h". - (CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Define. - (main): Exit with status of 127, not 1, for too-few-args, - chroot failure, or chdir failure. - Give a better diagnostic upon execvp failure. - - * src/du.c (usage): Mention that, with its current meaning, - -H is deprecated. - - * src/tail.c (main): Warn about following stdin when it's a tty. - Fail when following by name but no names are specified. - -2003-12-30 Jim Meyering - - * src/fold.c (main): Use memcpy, not strcpy. - - * src/copy.c (copy_internal): Use ASSIGN_STRDUPA rather than - alloca and strcpy. - -2003-12-28 Jim Meyering - - * src/unexpand.c (n_tabs_allocated): New global. - (add_tabstop): Use x2nrealloc rather than xrealloc. - * src/expand.c: Likewise. - - * tests/misc/expand: New file. - * tests/misc/Makefile.am (TESTS): Add expand. - - * src/sort.c (add_temp_dir): Use x2nrealloc rather than xrealloc. - (fillbuf): Use x2nrealloc rather than xrealloc. - (sort): Use xnmalloc rather than xmalloc. - (main): Likewise. - -2003-12-27 Jim Meyering - - * src/tee.c (tee): Use xnmalloc rather than xmalloc. - -2003-12-29 Paul Eggert - - * NEWS: Remove support for join -j1 FIELD, -j2 FIELD, and -o LIST1 - LIST2 in POSIX 1003.1-2001 hosts, as required by POSIX. - - * doc/coreutils.texi (join invocation): Remove documentation - accordingly. Document that -t makes all separators significant. - - * src/join.c: Include posixver.h. - (obsolete_usage): New var. - (longopts): Put obsolete options first. - (OBSOLETE_LONG_OPTIONS): New constant. - (get_option, add_file_name): New functions. - (main): Use them to support new behavior. - (usage): Remove documentation for -j1 FIELD and -j2 FIELD. - Do not mark -j FIELD as obsolescent; it is longstanding - UNIX tradition and is a valid extension to POSIX. - - * tests/join/Test.pm (tv): Avoid obsolete -o usage. - -2003-12-28 Paul Eggert - - * src/join.c (add_field_list): Don't use alloca with unbounded - size; just modify the argument, which is no longer const *. - - Various other minor cleanups, mostly to avoid the need for casts. - - (extract_field): Renamed from ADD_FIELD, as it's now a function. - - (struct field.beg): Now char *, not unsigned char const *. All - uses changed. It shouldn't be const since xmemcoll writes on its - arguments. - (extract_field): Likewise, for 2nd arg. - (keycmp): Remove now-unnecessary cast of xmemcoll args. - - (is_blank): New function, to avoid need to cast arg to unsigned char. - (extract_field): Use it. - - (xfields): Rewrite pretty much from scratch. - - (hard_LC_COLLATE): Now bool, not int. - (get_line, getseq, add_field_list): Now returns bool, not int. - (decode_field_spec, add_field_list): Return true on success (not - false), for consistency with the rest of the code. All uses changed. - - (tab): Now char, not unsigned char. This wasn't 100% necessary - but is slightly cleaner. - (prjoin): Hoist (tab ? tab : ' ') expression, to help the compiler. - - (empty_filler): Now const *. - - (make_blank): Remove; wasn't needed. Remove all calls. - (main): Don't set uni_blank.nfields; zero is fine. - -2003-12-27 Jim Meyering - - * src/join.c: Include "quote.h". - (min, max): Remove definitions. - Make a few function parameters and corresponding - locals `const'. Use bool for boolean variables. - Use size_t (not int) for all counters and related index variables. - (prjoin): Remove now-useless assertion. - (string_to_join_field): New function. - (main): Accept join fields as large as SIZE_MAX. - (keycmp): Rename `min' to MIN and max to MAX. - -2003-12-26 Jim Meyering - - fold -s didn't work on e.g., alpha-based systems. - * src/fold.c (fold_file): Adjust types (int->size_t) so that using - x2nrealloc works properly on systems with differing sizes for int - and size_t. Reported by Nelson Beebe. - - * src/fold.c: Use `bool' (not int) as the type for a few - global variables. - -2003-12-23 Paul Eggert - - * src/ls.c (length_of_file_names_and_frills): - Remove forward decl; not needed. - (print_file_name_and_frills, length_of_file_name_and_frills): - With -m, don't output spaces before inum or size. - (print_with_commas): Don't output space just before newline. - -2003-12-24 Jim Meyering - - * tests/ls/Makefile.am (TESTS): Add m-option. - * tests/ls/m-option: New file. Test for above fixes. - -2003-12-20 Jim Meyering - - * Version 5.1.0. - - * src/pr.c: Change type of global, buff_allocated, to size_t. - - * src/join.c [struct seq]: Change types of members count and alloc - from `int' to `size_t'. - - * tests/Makefile.am (root-hint): Tweak wording. - - * src/du.c: Accept new option (-0, --null) that makes it so each - output line is NUL-terminated rather than newline-terminated. - - * src/dd.c (apply_translations): Don't prohibit conv=unblock,sync. - Reported by Volker Paul. - * tests/dd/Makefile.am (TESTS): Add unblock-sync. - * tests/dd/unblock-sync: New test for the above. - -2003-12-19 Jim Meyering - - * tests/misc/nohup: Double quote back-ticked expression, - in case it ends up having an unexpected value. - - * tests/ls/no-arg: Use ls's -1 option in both runs. - - * src/du.c (fts_debug): New global. - (FTS_CROSS_CHECK, DEBUG_OPT): Define. - (main): Make fts use FTS_TIGHT_CYCLE_CHECK. - (main) [DU_DEBUG]: Accept -d option. - -2003-12-18 Jim Meyering - - * src/ls.c (format_user): Increment dired_pos via two statements, - `dired_pos += width; dired_pos++;' rather than one, - `dired_pos += width + 1;' since the latter could conceivably overflow. - (format_group): Likewise. - From Paul Eggert. - - * configure.ac: Require automake-1.8. - -2003-12-12 Jim Meyering - - * Use automake-1.8. Regenerate dependent files. - -2003-12-08 Jim Meyering - - * Makefile.maint (news-date-check): New rule. - (alpha beta major): Depend on it. - -2003-12-03 Paul Eggert - - * NEWS: ls -l (and similar options) now adjust all columns to - fit the data. Generalized from a suggestion by Leah Q for file sizes. - * src/ls.c (INODE_DIGITS, LOGIN_NAME_MAX, ID_LENGTH_MAX): Remove. - (format_user_width, format_group_width, unsigned_file_size, - format_group): New functions. - (block_size_width): Renamed from block_size_size. - (inode_number_width, nlink_width, owner_width, group_width, - author_width, major_device_number_width, minor_device_number_width, - file_size_width): New vars. - (clear_files): Initialize them. - (gobble_file): Set them. Don't ceiling block_size_width to 7. - (print_long_file): Use them. - (gobble_file): Use a new local variable 'f' to make the code - smaller and more consistent with other functions. - (format_user): Output to stdout, not to a buffer, so that we - don't have to worry about buffer overrun. Update dired_pos. - (print_long_file): Don't put owner, group, author into buffer; - just print them directly. Don't assume link counts and - major and minor numbers fit into unsigned long int. - * tests/cp/same-file, tests/mv/part-symlink: Don't assume that - 'ls' output is fixed-width. - -2003-12-02 Jim Meyering - - * src/md5sum.c: Include sha1.h (reflect renaming: sha.h -> sha1.h. - -2003-11-27 Jim Meyering - - * Use automake-1.7f. Regenerate dependent files. - -2003-11-24 Paul Eggert - - Parse floating-point operands and options in the C locale. - POSIX requires this for printf, and we might as well be - consistent elsewhere (tail, sleep, seq). - - * src/printf.c: Remove decls of strtod, strtol, strtoul; no longer - needed now that we assume C89. Include "c-strtod.h". - (xstrtod): Call c_strtod, not strtod. - * src/sleep.c: Include "c-strtod.h". - (main): Update xstrtod call to include new argument, c_strtod. - * src/seq.c (scan_double_arg): Likewise. - * src/tail.c (parse_options): Likewise. - -2003-11-24 Jim Meyering - - * tests/rm/fail-2eperm: Handle another errno variant (HPUX, EPERM). - Reported by Mark Conty. - -2003-11-22 Jim Meyering - - * Makefile.maint (sc_xalloc_h_in_src): Remove rule. Subsumed by... - (sc_system_h_headers): Do this test only if sys2.h exists. - -2003-11-20 Jim Meyering - - * tests/help-version: Ensure that the bug-reporting address is - included in the --help output for every program. - * tests/Makefile.am (TESTS_ENVIRONMENT): Add $PACKAGE_BUGREPORT. - - * src/ptx.c (usage): Output bug-reporting address. - Reported by Dan Jacobson. - -2003-11-19 Jim Meyering - - * src/join.c (usage): Mention that FILE1 and FILE2 must be sorted - on the join fields. Suggestion from Bruce Robertson. - -2003-11-18 Jim Meyering - - `od -c -w9999999' could segfault - * src/od.c (dump): Use xnmalloc/free, not alloca. - -2003-11-16 Jim Meyering - - * Use autoconf-2.59. Regenerate dependent files. - - * tests/du/hard-link: Minor tweak: use mkdir -p. - - Fix read-from-free'd-buffer error detected by valgrind. - * src/csplit.c (remove_line): Don't return a pointer to data in - a freed buffer. Instead, arrange to free the buffer on the - subsequent call. - - * tests/misc/csplit: New test for above fix. - -2003-11-11 Jim Meyering - - * src/ls.c (extract_dirs_from_files): Avoid useless copy operations. - This avoids a warning from valgrind about memcpy with overlapping - source and destination. - - * configure.ac: Require automake-1.7.8. - -2003-11-09 Jim Meyering - - * Use automake-1.7.9. Regenerate dependent files. - - * src/rm.c: Support new options: --preserve-root and --no-preserve-root. - * src/chown.c: Likewise. - - * src/chown-core.c: Include "root-dev-ino.h". - (chopt_init): Initialize new member. - (change_file_owner): Support rm's new --preserve-root option. - - * src/remove.c: Include "root-dev-ino.h". - (remove_cwd_entries): Remove now-obsolete FIXME comment. - (remove_dir): Support rm's new --preserve-root option. - - * src/chown.c: Include "root-dev-ino.h". - Add new options: --preserve-root and --no-preserve-root. - - * src/chmod.c: Include "root-dev-ino.h". - (process_file): Use newly-factored-out ROOT_DEV_INO_CHECK and - ROOT_DEV_INO_WARN macros. - (get_root_dev_ino): Remove function definition, now that it's - been moved to a separate file. - (usage): Describe new options. - - * src/mv.c (rm_option_init): Initialized new member. - - * src/remove.h: Include "dev-ino.h". - (struct rm_options): Add new member: root_dev_ino. - * src/chown-core.h: Include "dev-ino.h". - (struct Chown_option): Add new member: root_dev_ino. - -2003-11-06 Jim Meyering - - * src/paste.c (paste_parallel): Use `sizeof *var' rather than - hard-coding `sizeof FILE*'. - -2003-11-05 Dennis Smit - - * src/wc.c (main): Free `fstatus' so there is no confusion about - whether it's leaked or not. - * src/who.c (who): Likewise for `utmp_buf'. - -2003-11-05 Paul Eggert - - Fix 'cut' problems with size_t overflow and unsigned int. - More generally, resize integer variables to fit use more precisely. - * src/cut.c (ADD_RANGE_PAIR): Remove unnecessary parens. - (struct range_pair): Make members to be of type size_t, not unsigned. - (max_range_endpoint, eol_range_start): Now size_t, not unsigned. - (suppress_non_delimited, output_delimiter_specified, - have_read_stdin, print_kth, set_fields): Now bool, nt int. - (delim): Now unsigned char, not int. - (mark_printable_field, is_printable_field, is_range_start_index, - set_fields, set_fields, cut_bytes, cut_fields): - Use size_t, not unsigned, for field and byte counts. - (hash_int): Use uintptr_t, not unsigned, for pointers converted - to integers. This squeezes more info out of them. - (set_fields, cut_bytes, cut_fields, main): - Use bool, not int, for booleans. - (set_fields): Allocate zeroed byte array with xzalloc, not xcalloc. - -2003-11-05 Paul Eggert - - * man/Makefile.am (check-programs-vs-x): - Work even if $(programs) contains '$'. - Work even if 'missing=1' in environment. - Don't report an error simply because $(programs) outputs nothing. - -2003-11-05 Jim Meyering - - * Use autoconf-2.58. Regenerate dependent files. - - * src/tr.c (spec_init): Fix typo in last change. - - * src/sys2.h (case_GETOPT_VERSION_CHAR): Cast NULL to `(char *)' in - call to variadic version_etc function, so that it works even on systems - for which sizeof char* != sizeof int. - * src/true.c (main): Likewise. - * basename.c, chroot.c, cksum.c, dd.c, dirname.c, echo.c, expr.c: - * factor.c, hostid.c, hostname.c, link.c, logname.c, nice.c, nohup.c: - * pathchk.c, printenv.c, printf.c, pwd.c, setuidgid.c, sleep.c, stty.c: - * sync.c, test.c, tsort.c, unlink.c, uptime.c, users.c, whoami.c, yes.c: - Similarly, cast NULL to `(char *)' in call to variadic function, - parse_long_options, so that it works even on systems for which - sizeof char* != sizeof int. - A similar problem was reported by Harti Brandt in - http://mail.gnu.org/archive/html/bug-gnu-utils/2003-10/msg00320.html. - - * src/users.c (users): Free `utmp_buf' explicitly so that people - don't mistake this for a real leak. - Patch by Dennis Smit - - * README: Document _POSIX2_VERSION. - -2003-11-04 Jim Meyering - - * src/tac.c (memrchr): Remove #if-0'd function. - (tac_stdin_to_mem): Clean up #if-0'd code. - - * src/od.c (decode_format_string): Remove unnecessary casts. - Use more maintainable `sizeof *var'. - (main): Call decode_format_string rather than decode_one_format, - now that `spec' may be NULL. - - * src/chmod.c (AUTHORS): Add my name. - - * src/split.c (next_file_name): Use `sizeof *var' rather than - hard-coding `sizeof size_t'. - - * src/sort.c (new_key): Use xzalloc, not xcalloc (1, ...). - - * src/cut.c (ADD_RANGE_PAIR): Use x2nrealloc rather than xrealloc, - to avoid potential overflow in pointer arithmetic. - (set_fields): Use not `1', but rather `sizeof *printable_field' as - second argument to xcalloc. - * src/od.c (decode_format_string, dump_strings): Use x2nrealloc - rather than xrealloc. - * src/date.c (show_date): Likewise. - * src/join.c (ADD_FIELD, initseq, getseq): Likewise. - * src/pr.c (store_char): Likewise. - * src/fold.c (fold_file): Likewise. - - * src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect - type changes (unsigned int -> size_t) in hash.c. - * src/cp-hash.c (src_to_dest_hash): Likewise. - * src/du.c (entry_hash): Likewise. - * src/ls.c (dev_ino_hash): Likewise. - * src/cut.c (hash_int): Likewise. Declare function as static. - -2003-11-03 Jim Meyering - - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION. - * tests/misc/fold: Fail the test immediately if we're not running - the expected version of fold. - -2003-11-02 Jim Meyering - - * src/tr.c (append_normal_char, append_range, append_char_class) - (append_repeated_char, append_equiv_class, spec_init): Use `sizeof *var' - rather than `sizeof EXPLICIT_TYPE'. The former is more maintainable - and usually shorter. - * src/copy.c (copy_internal): Likewise. - * src/join.c (initseq, add_field, make_blank): Likewise. - * src/od.c (main): Likewise. - * src/cp.c (make_path_private): Likewise. - * src/tsort.c (new_item, record_relation): Likewise. - - * src/df.c (add_fs_type, add_excluded_fs_type, main): Likewise. - (main): Also remove anachronistic cast of xmalloc return value. - * src/ptx.c (alloc_and_compile_regex, main): Likewise. - (main): Also remove anachronistic cast of xmalloc return value. - * src/sort.c (inittables): Likewise. - (sort): Also Split a long line. - -2003-10-25 Jim Meyering - - * src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect - type changes (unsigned int -> size_t) in hash.c. - * src/cp-hash.c (src_to_dest_hash): Likewise. - * src/du.c (entry_hash): Likewise. - * src/ls.c (dev_ino_hash): Likewise. - * src/cut.c (hash_int): Likewise. Declare function as static. - -2003-10-21 Jim Meyering - - Don't fail when run with VERBOSE=yes. - * tests/chgrp/basic: Do `set +x' before starting the subshell - from which we invoke chgrp. Otherwise, the output from the - VERBOSE=yes-induced `set -x' would result in spurious differences. - Reported by Russel Coker via Michael Stone. - -2003-10-19 Jim Meyering - - chmod now uses fts to perform a directory traversal when -R is - specified. Before, it operated on full path names, and as such - would encounter the PATH_MAX (often 4096) limit. - - * src/chmod.c: Include "xfts.h". - (process_file): Rename from change_file_mode. - Adapt to be used with fts. - (process_files): New function. - -2003-10-18 Jim Meyering - - * tests/du/deref-args: Ensure that du -D now dereferences all - symlinks specified on the command line, not just those that - reference directories. - - * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c: - * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c: - * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c: - * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c: - * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c: - * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c: - * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c: - * who.c, whoami.c, yes.c (AUTHORS): Revert the WRITTEN_BY/AUTHORS change - of 2003-09-19. Now, AUTHORS is a comma-separated list of strings. - Update the call to parse_long_options so that `AUTHORS, NULL' are the - last parameters. - * src/true.c (main): Append NULL to version_etc argument list. - * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise. - -2003-10-17 Andreas Schwab - - * tests/mk-script: Get $srcdir from first parameter instead of - hardcoding it. - (main): Update usage. - - * tests/Makefile.am.in ($(srcdir)/$x-tests): Pass $(srcdir) as - first argument of mk-script. - ($(srcdir)/Makefile.am): Likewise. Prepend $(srcdir) to target. - -2003-10-17 Jim Meyering - - * src/mv.c (usage): Tweak descriptions of -i and -f so that the - generated `man' page is more readable. Suggestion from Dan Jacobson. - - * src/chown-core.c (change_file_owner): Handle the cases in - which fts_info indicates an error with the given entry. - - * src/du.c (main): Simply assign to bit_flags. - Don't bother with bit arithmetic. - - * tests/chmod/no-x: New file. - * tests/chgrp/no-x: New file. - * tests/chmod/Makefile.am (TESTS): Add no-x. - * tests/chgrp/Makefile.am (TESTS): Likewise. - - * src/du.c: Include "xfts.h". - (du_files): Use xfts_open, rather than fts_open. - * src/chown-core.c (chown_files): Likewise. - -2003-10-16 Jim Meyering - - * src/chgrp.c (main): Simply assign to bit_flags. - Don't bother with bit arithmetic. - * src/chown.c (main): Likewise. - Rename a couple of local variables. - Remove unnecessary casts. - - * src/tail.c (start_bytes): Rename local, remainder, to avoid - gcc's warning about shadowing a global. - -2003-10-15 Jim Meyering - - chown and chgrp now accept POSIX-mandated -H, -L, -P options and - use fts to perform a directory traversal when -R is specified. - Before, they operated on full path names, and as such would - encounter the PATH_MAX (often 4096) limit. - They are more efficient. For example, before, chgrp -R would - take almost 5 seconds to change about 2000 directories and fail - (with `File name too long'), while now it succeeds on a hierarchy - of depth 20,000 in 1/10 the time. - - * src/chown.c: Include "userspec.h" and "fts_.h". - (WRITTEN_BY): Add my name. - (getpwnam, getgrnam, getgrgid): Remove declarations. - (endpwent): Remove definition. - (usage): Update. - (main): Handle new options. - Call new function, chown_files rather than change_file_owner. - - * src/chgrp.c: Include "fts_.h". - (WRITTEN_BY): Add my name. - (MAXUID, MAXGID): Remove definitions. Use GID_T_MAX instead of - the latter. - (usage): Update. - (main): Handle new options. - Call new function, chown_files rather than change_file_owner. - - Rewrite to iterate through hierarchies using fts rather than - via explicit recursion. - * src/chown-core.c: Include "fts_.h" - (change_file_owner): Rewrite to use FTS* and FTSENT* and to operate - on a single file at a time. - (chown_files): New function. - * src/chown-core.h [enum Dereference_symlink]: Remove declaration. - [struct Chown_option] (recurse, force_silent): Change type to `bool'. - [struct Chown_option] (dereference): Remove member with ambiguous name. - [struct Chown_option] (affect_symlink_referent): New member. - (chown_files): New prototype. - - * tests/chgrp/recurse: Update tests accordingly. - * tests/chgrp/posix-H: New tests for the above. - * tests/chgrp/Makefile.am (TESTS): Add posix-H. - - * src/ln.c (usage): Clarify that --directory, -d, -F probably won't - work even for superuser. Suggestion from Dan Jacobson. - -2003-10-14 Paul Eggert - - Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't - properly diagnosed. - * lib/human.c, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, - lib/xstrtoul.c, lib/xstrtoumax.c: Sync with gnulib. - * src/sort.c (parse_field_count): Handle the case where overflow - and invalid suffix char are both reported. - -2003-10-14 Jim Meyering - - * src/ls.c (decode_switches) [TIOCGWINSZ]: Comment out the - warning-inducing test, ws.ws_col <= SIZE_MAX, since it was always - true on Linux. - -2003-10-13 Paul Eggert - - Fix to avoid a denial-of-service attack if the display width is - enormous. Also, clean up the code a bit by removing duplicate code. - - * src/ls.c (init_column_info): Remove forward decl; no longer needed. - (calculate_columns): New function, that contains code that used - to be common to print_many_per_line and print_horizontal. - (print_many_per_line, print_horizontal): Use it. - (decode_switches): Set max_idx here, not in calculate_columns. - (print_current_files): Don't call init_column_info; calculate_columns - now does that. - (init_column_info): Don't allocate a lot more space than is needed - to represent the current set of files. Allocate all the new - size_t cells in one call to xnmalloc, rather than a row at a time. - -2003-10-13 Jim Meyering - - * src/ls.c (init_column_info): Add another FIXME comment. - -2003-10-13 Paul Eggert - - Fix address-arithmetic bug in 'ls', reported by Georgi Guninski. - Remove several arbitrary limits on hosts where int cannot represent - all size_t values. - - * src/ls.c (struct bin_str.len, length_of_file_name_and_frills, indent, - nfiles, files_index, tabsize, line_length, struct column_info.line_len, - struct column_info.col_arr[0], max_idx): - Now size_t, not int. - (get_funky_string): Return bool indicating success, instead of - a negative count to indicate failure. Store number of columns - through new parameter OUTPUT_COUNT; that way, they can never - go negative. Change equals_end from int to bool. All uses - changed. - (struct column_info.valid_len): Now bool, not int. All uses changed. - (dired_dump_obstack, get_funky_string, clear_files, - extract_dirs_from_files, print_current_files, - print_many_per_line, print_horizontal, init_column_info, - put_indicator, length_of_file_name_and_frills, - print_with_commas): Use size_t, not int, for local variables - that count sizes. - (decode_switches): Decode sizes using xstrtoul, not xstrtol. - Check for TIOCGWINSZ returing negative values (or values greater - than SIZE_MAX!). - (visit_dir, main, parse_ls_color, queue_directory, add_ignore_pattern, - init_column_info): - Use xmalloc and xnmalloc, not XMALLOC. - (gobble_file): Use xnrealloc, not XREALLOC. - (print_color_indicator): Remove now-unnecessary cast to size_t. - -2003-10-12 Paul Eggert - - * tests/du/no-x: Change wording of diagnostic to match latest du.c. - * tests/sort/sort-tests: Remove from CVS; assume that people - brave enough to check coreutils out from CVS can rebuild it. - -2003-10-12 Jim Meyering - - New options: --preserve-root and --no-preserve-root. - * src/chmod.c (change_file_mode): Honor new option. - (change_file_mode): Strip trailing slashes on directory - argument passed to change_dir_mode. - (get_root_dev_ino): New function. - (main): Initialize global, root_dev_ino. - - * src/copy.c (copy_internal): Don't #ifdef-out simple uses of - S_ISLNK or S_ISSOCK. The S_IS* macros are guaranteed to be defined - via system.h. - * src/chmod.c (change_file_mode): Likewise. - -2003-10-08 Jim Meyering - - * src/csplit.c (main): Remove obsolete FIXME. - -2003-10-07 Jim Meyering - - * Use automake-1.7.8. Regenerate dependent files. - -2003-09-29 Paul Eggert - - csplit cleanup. - - * doc/coreutils.texi (csplit invocation): - The regexp offset need not have a sign; POSIX requires support - for signless offets. - - Be more careful about int widths. For example, remove some - arbitrary limits by replacing 'unsigned' with 'size_t', - 'uintmax_t', etc. Use standard bool rather than a homegrown type. - * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. - * src/csplit.c (FALSE, TRUE, boolean): Remove. All uses changed - to usage. - (struct control): offset is now intmax_t, not int. - repeat_forever is now bool, not int. - (struct cstring): len is now size_t, not unsigned int. - (struct buffer_record): bytes_alloc, bytes_used, num_lines are now - size_t, not unsigned. start_line, first_available are now - uintmax_t, not unsigned. - (hold_count, control_used): Now size_t, not unsigned. - (last_line_number, current_line, bytes_written): - Now uintmax_t, not unsigned. - (save_to_hold_area, red_input, keep_new_line, record_line_starts, - create_new_buffer, get_new_buffer, load_buffer, find_line, - process_regexp, split_file, new_control_record, extract_regexp, - get_format_width, get_format_prec, max_out): - size args, locals, and returned values are now size_t, not unsigned - or int. - (get_first_line_in_buffer, find_line, write_to_file, - handle_line_error, process_line_count, regexp_error, process_regexp, - split_file): - File line, byte, and repetition counts are now uintmax_t, not unsigned. - (check_for_offset): Don't require a sign before the offset. - Use xstrtoimax to do the real work. - (extract_regexp): Remove harmful cast of size to unsigned. - 256 -> 1< - - * src/chown-core.c (change_file_owner): Remove set-but-not-used local. - - * src/du.c (du_files): Mark diagnostic for translation. - -2003-10-04 Jim Meyering - - * src/du.c (du_files): Ignore any failure of fts_close. - Give better diagnostics for failed fts_open. - - * src/du.c (MAX_N_DESCRIPTORS): Remove now-unused definition. - - Deprecate existing use of -H (aka --si). - * src/du.c (enum) [HUMAN_SI_OPTION]: New member. - [long_options]: Use HUMAN_SI_OPTION, not 'H'. - (main): Warn that the meaning of -H will soon change to be - POSIX compliant. - -2003-10-03 Jim Meyering - - * src/du.c: Accept --no-dereference (-P). - -2003-10-02 Jim Meyering - - * tests/du/trailing-slash: Adjust for slightly different output. - - Rewrite du.c to use fts. - * src/du.c: Include "fts_.h", not ftw.h. - (opt_dereference_arguments, arg_length, suffix_length): Remove globals. - (IS_FTW_DIR_TYPE): Remove definition. - (IS_DIR_TYPE): Define. - (is_symlink_to_dir): Remove now-unnecessary function. - (process_file, du_files): Rewrite to use fts. - - * tests/du/inaccessible-cwd: Ensure that even when run from an - inaccessible directory, du can still operate on accessible - directories elsewhere. - * tests/du/Makefile.am (TESTS): Add inaccessible-cwd. - - * tests/rm/deep-1: Ensure that du can process a hierarchy - of depth 400 while using no more than 50KB of stack space. - -2003-10-01 Akim Demaille - - * announce-gen (print_news_deltas): New function, extracted from main. - (main): Make `news_file' an array. - Use '...=s' => \@var for --news and --url-directory specs. - Before there were a couple of portability problems. - -2003-09-28 Jim Meyering - - * Makefile.maint (sc_cast_of_alloca_return_value): New rule. - (syntax-check-rules): Add it. - - * src/copy.c: Remove unnecessary cast of alloca, since now it's - guaranteed to be (void *). - * src/cp.c: Likewise. - * src/join.c: Likewise. - * src/ln.c: Likewise. - * src/ls.c: Likewise. - * src/od.c: Likewise. - * src/sys2.h (ASSIGN_STRDUPA): Likewise. - -2003-09-27 Jim Meyering - - Don't exhaust virtual memory when processing large inputs. - Fix this by removing csplit's internal free-list management; - instead rely on malloc for that. - - * src/csplit.c (free_list): Remove global. - (clear_all_line_control): Remove function. - (get_new_buffer): Always use create_new_buffer to obtain a - new buffer, rather than searching free_list. - (free_buffer): Just call free. - Reported by Nikola Milutinovic. - -2003-09-26 Jim Meyering - - * man/rm.x: Also list `chattr' in SEE ALSO section. - Suggestion from Mark Hubbart. - -2003-09-25 Jim Meyering - - * configure.ac: Don't invoke AC_AIX or AC_MINIX explicitly, now - that we use gl_USE_SYSTEM_EXTENSIONS, since it AC_REQUIREs them. - - * Use autoconf-2.57d. Regenerate dependent files. - -2003-09-24 Jim Meyering - - Minor efficiency tweak. - * src/ln.c (PATH_BASENAME_CONCAT): Use memcpy rather than strcpy. - (do_link): Likewise. - -2003-09-23 Jim Meyering - - * src/paste.c (paste_serial): Save errno after input error, - to report proper errno value. - Based on a patch from Paul Eggert. - - * src/tee.c (tee): Adjust fwrite arguments so that the return - value is the number of bytes written. - -2003-09-16 Paul Eggert - - Don't assume ferror sets errno. Bug reported by Bruno Haible. - - * src/comm.c (compare_files): Save errno after input error, - to report proper errno value. - * src/fold.c (fold_file): Likewise. - * src/od.c (check_and_close, skip, read_char, read_block): Likewise. - * src/unexpand.c (unexpand): Likewise. - - * src/csplit.c (close_output_file): Don't report bogus errno value - after ferror discovers an output error. We don't know the proper - errno value, since it might have been caused by any of a whole - bunch of calls, and it might have been trashed in the meantime. - Fixing this problem will require much more extensive changes; - in the meantime just say "write error". - * src/od.c (check_and_close, dump, dump_strings): Likewise. - * src/uniq.c (check_file): Likewise. - - * src/join.c (get_line): Report error right away if I/O fails, - so that the proper errno value is used. - * src/tac.c (tac_seekable, tac_file, save_stdin): Likewise. - * src/tee.c (tee): Likewise. - * src/uniq.c (check_file): Likewise. - - * src/od.c (skip): If a read fails, don't retry it later, so - that we report the proper errno. - - * src/tac.c (tac_mem): Don't return a value; nobody uses it. - - * src/tee.c (tee): Once a write failure has occurred, don't bother - writing anything more to that stream. - - * src/uniq.c (check_file): Check for ferror (stdout) even if - ostream == stdout. - - * src/yes.c (UNROLL): Remove. - (main): Exit immediately when write failure is detected. - Simplify code by assigning to argv when argc == 1. - -2003-09-21 Paul Eggert - - * src/ptx.c: Switch encoding from Latin-1 to UTF-8. - (WRITTEN_BY): Change "Franc,ois" (actually using - c-with-cedilla in Latin-1) to "F.", so that it's ASCII, as - xgettext requires. - -2003-09-19 Jim Meyering - - `du -D symlink-to-dir' would mistakenly omit the slash in - lines like this: 24 symlink-to-dir/subdir - * src/du.c (process_file): Fix offset calculation. - Reported by Jeff Sheinberg as Debian bug #211591; - http://bugs.debian.org/205251 - - * tests/du/deref-args: New file/test for the above. - * tests/du/Makefile.am (TESTS): Add deref-args. - - * src/du.c (process_file): Remove useless disjunct. - - * src/sys2.h (case_GETOPT_VERSION_CHAR): Rename parameter, Authors, - to Written_by. - * nearly all src/*.c files (WRITTEN_BY): Rename from AUTHORS. - Begin each WRITTEN_BY string with `Written by ' and end it with `.'. - Mark each WRITTEN_BY string as translatable. - - * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c: - * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c: - * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c: - * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c: - * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c: - * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c: - * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c: - * who.c, whoami.c, yes.c: Revert yesterday's changes. - Instead, a subsequent change will embed `Written by ' in - each string along with the author names. - - * src/true.c: Revert yesterday's changes. - * src/sys2.h: Likewise. - -2003-09-18 Jim Meyering - - * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c: - * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c: - * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c: - * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c: - * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c: - * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c: - * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c: - * who.c, whoami.c, yes.c: Update AUTHORS definition to be a - comma-separated list of strings and/or update the call to - parse_long_options so that `AUTHORS, NULL' are the last parameters. - * src/true.c (main): Append NULL to version_etc argument list. - * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise. - - * src/sort.c (numcompare): Rename local, logb, to log_b to avoid - shadowing the math function name. Also rename loga to log_a. - -2003-09-14 Jim Meyering - - * src/factor.c (print_factors): Give a separate diagnostic - for numbers that are too large, but otherwise valid. - Reported by Dániel Varga. - -2003-09-10 Jim Meyering - - * Use automake-1.7.7. Regenerate dependent files. - - * tests/Makefile.am (all_programs): Use ../src/tr -s ' ' '\n' in place - of `fmt -1'. Using the just-built tr is a little cleaner. - Christian Krackowizer reported that HPUX 10.20 doesn't have fmt. - * man/Makefile.am (programs, check-x-vs-1): Likewise. - -2003-09-09 Jim Meyering - - * src/copy.c: Alphabetize includes. - Remove duplicate inclusion of "same.h". - -2003-09-08 Jim Meyering - - * Makefile.maint (GZIP_ENV): Remove --rsyncable. - Didn't give enough of a benefit, mainly because it's not yet - in wide enough use. - - * Version 5.0.91. - - * man/Makefile.am (programs): Use ../src, not $(srcdir)/../src. - (check-programs-vs-x): Fail if $(programs) is empty. - - * src/remove.c: Add a comment. - -2003-09-07 Jim Meyering - - * src/remove.c (D_INO, ENABLE_CYCLE_CHECK) [D_INO_IN_DIRENT]: - Don't define. These symbols are no longer used. - - * tests/misc/tty-eof: Write ^D as \cD. - Complete the change of 2003-08-02. - - * Makefile.maint (po-check): Use cvsu, so that a temporary source - file in lib/ or src/ doesn't induce an unwarranted failure. - Add a kludge to filter out the sole generated source file that - also has translatable messages: src/false.c. - -2003-09-06 Jim Meyering - - * src/tail.c (enum): Add ALLOW_MISSING_OPTION. - (parse_options): Give a diagnostic for (but still accept) the - deprecated --allow-missing option. - -2003-09-04 Paul Eggert - - Don't ignore -S if input is a pipe. Bug report by Michael McFarland in - . - - * src/sort.c (sort_buffer_size): Omit SIZE_BOUND arg. Compute the - size_bound ourselves. if an input file is a pipe and the user - specified a size, use that size instead of trying to guess the - pipe size. This has the beneficial side effect of avoiding the - overhead of default_sort_size in that case. All callers changed. - (sort): Remove static var size; now done by sort_buffer_size. - -2003-09-05 Jim Meyering - - * Use automake-1.7.6b and autoconf-2.57b. Regenerate dependent files. - - * tests/tail-2/tail-n0f: Wait .5 seconds for backgrounded process - to start, rather than just .1. Upon failure, print unexpected state. - -2003-09-04 Paul Eggert - - * src/head.c (elide_tail_lines_pipe): Don't assign 0 or - SAFE_READ_ERROR to tmp->nbytes. - * src/tail.c (pipe_lines, pipe_bytes): Likewise. - - * src/head.c (struct linebuffer): Change nbytes and nlines - from unsigned int to size_t. unsigned int is safe (after the - 2003-09-03 patch) but size_t is cleaner. - * src/tail.c (struct linebuffer, struct charbuffer): Likewise. - (pipe_bytes): Likewise for local variable 'i', which was 'int'. - - Standardize on BUFSIZ as opposed to other macro names and values. - * src/head.c (BUFSIZE): Remove. All uses changed to BUFSIZ. - * src/tail.c (BUFSIZ) [!defined BUFSIZ]: Remove. - stdio.h has always defined it, - and other code already assumes it's defined. - * src/tr.c (BUFSIZ) [!defined BUFSIZ]: Likewise. - (IO_BUF_SIZE): Remove; replace all uses with sizeof io_buf. - (io_buf): IO_BUF_SIZE -> BUFSIZ. - -2003-09-04 Paul Eggert - - * src/seq.c (step): Default to 1. - (print_numbers): Allow the output to be empty. - (main): The default step is 1, even if LAST < FIRST; - as per documentation. - * tests/seq/basic (onearg-2): Output should be empty. - -2003-09-05 Jim Meyering - - * Makefile.cfg (wget_files): Temporarily disable, until master - versions are restored to ftp.gnu.org. - - * configure.ac (AM_INIT_AUTOMAKE): Specify automake-1.7.6. - - Make seq's --width (-w) option work properly even when the - endpoint requiring the larger width is negative and smaller than - the other endpoint. - * src/seq.c (get_width_format): Include `-' in the set of bytes - allowed in a `simple' number (no decimal point, no exponent). - Reported by Patrick Mauritz. - -2003-09-02 Paul Eggert - - * NEWS: sort -t '\0' now uses a NUL tab. - sort option order no longer matters, unless POSIX requires it. - * src/sort.c (usage): Say "blanks" instead of "whitespace", - Similar fixes for many comments. - (TAB_DEFAULT): New constant, so that we can support NUL as - the field separator. - (tab): Now int, not char. Initialize to TAB_DEFAULT. - (specify_sort_size): If multiple sizes are specified, use the largest. - (begfield, limfield): Support NUL tab char. - (set_ordering): Do not let -i override -d. - (main): Report an error if incompatible -o or -t options are given. - Report an error for "-t ''". Allow "-t '\0'" to specify a NUL tab. - -2003-09-05 Jim Meyering - - * tests/sort/Test.pm [o2, nul-tab]: New tests for the above. - -2003-09-03 Andreas Schwab - - Bug report and patch here: - - * src/tail.c (pipe_lines): Don't truncate return value from safe_read. - * src/head.c (elide_tail_lines_pipe): Likewise. - -2003-09-03 Jim Meyering - - * src/du.c (AUTHORS): Remove Larry McVoy's name, since the relatively - small amount of code from him was first moved to lib/human.c, and was - subsequently rewritten entirely. - * src/df.c (AUTHORS): Likewise. - -2003-08-22 Lawrence Teo - - * src/md5sum.c (split_3): Accept the BSD format for generic - message digest modes. Currently works with BSD's MD5 and SHA1 - formats since these are the two algorithms presently used in - coreutils. Updated comments to reflect this change. - (bsd_split_3): Updated comments. - - * tests/md5sum/basic-1: New test to make sure that - `md5sum --check' doesn't accept the BSD SHA1 format (adapted - from `check-bsd' test in tests/sha1sum/basic-1). - - * tests/sha1sum/basic-1 (check-bsd2, check-bsd3): New tests for - --check exit status and BSD SHA1 format (adapted from tests - in tests/md5sum/basic-1). - -2003-08-30 Jim Meyering - - * src/ln.c (do_link): Use SAME_INODE rather than open-coding it. - - When source and destination arguments refer to the same file, reside - on a partition (e.g. VFAT) on which distinct names may refer to the - same directory entry (often due to variations in case), and when the - link count for the file is 1, mv no longer unlinks the file. Instead, - it gives the expected diagnostic that the source and destination are - the same. WARNING: this is an incomplete fix. If the file happens - to have a link count of 2 or greater, such an erroneous mv command - will still unlink it. - Although that is not possible on vfat or umsdos, it is possible on - other file system types, e.g., ntfs, and hpfs. - * src/copy.c (same_file_ok): Invoke same_name (which might still - return false for names that refer to the same directory entry) - only if the link count is 2 or more. - * tests/mv/vfat: Show how to demonstrate the above problem. - This test is not run. - * tests/mv/Makefile.am (EXTRA_DIST): Add vfat. - -2003-08-27 Jim Meyering - - * src/who.c: Change meaning of -l from --lookup to --login, per POSIX. - who's -l option has been eliciting an unconditional warning about - this impending change since sh-utils-2.0.12 (April 2002). - - * src/paste.c (paste_parallel): Don't output `EOF' (aka -1) as a `char'. - This would happen for nonempty files not ending with a newline. - Reported by Dan Jacobson. - * tests/misc/paste-no-nl: New file. Test for above-fixed bug. - * tests/misc/Makefile.am (TESTS): Add paste-no-nl. - - * src/stat.c (print_it): Avoid buffer overrun that would - occur when the user-specified format string ends with `%'. - Patch by Tommi Kyntola. - * tests/misc/stat-fmt: New file. Test for above-fixed bug. - * tests/misc/Makefile.am (TESTS): Add stat-fmt. - -2003-08-26 Jim Meyering - - Apply changes from bison. - * GNUmakefile (SHELL): Define to `sh', if necessary. - Add copyright. - * Makefile.maint (WGETFLAGS): Define to `-C off'. - Update all uses of $(WGET). - -2003-08-22 Akim Demaille - - * Makefile.cfg (local-checks-to-skip): New. - * Makefile.maint (local-check): Rename as... - (local-checks-available): this. - (local-check): New. - -2003-08-26 Akim Demaille - - * announce-gen (print_changelog_deltas): Neutralize "<#" as - "<\#" to avoid magic from Gnus when posting parts of this script. - -2003-08-25 Jim Meyering - - * src/stat.c (main): Warn about use of deprecated `-l' option. - -2003-08-22 Jim Meyering - - * src/stat.c (do_stat): For link count at end of line, use %h format, - instead of %-5h. The latter would make stat emit trailing spaces. - Reported by Dan Jacobson. - -2003-08-20 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add .x-sc_space_tab .x-sc_sun_os_names - -2003-08-19 Jim Meyering - - * src/system.h: Include stdlib.h unconditionally, - as we're now assuming that part of hosted C89. - -2003-08-18 Jim Meyering - - * src/sys2.h (textdomain, bindtextdomain) [! ENABLE_NLS]: Define away, - to avoid warnings from gcc. - -2003-08-17 Jim Meyering - - Avoid unnecessary and sometimes time-consuming hostname lookups. - * src/who.c (print_user): Use strchr, not strrchr. - * src/pinky.c (print_entry): Likewise. - Patch by Michael Stone. - This fixes a typo I introduced in who-users.c on 1996-02-23. - - * Makefile.maint (makefile-check): Add 0-9 to the range of characters - disallowed between `@...@'. - -2003-08-16 Paul Eggert - - * configure.ac (fu_cv_sys_truncating_statfs): Remove; now - done by gnulib .m4 files. - (jm_DUMMY_1): Require gl_READUTMP, not jm_PREREQ_READUTMP. - * src/sys2.h (strtoull): Remove unused declaration. - -2003-08-16 Jim Meyering - - * man/Makefile.am (.x.1): Ensure that generated PROGRAM.1 files - are read-only. - - * src/tail.c (tail_lines): Fix a potential (but very hard to exercise) - race condition bug. The bug would be triggered when tailing a file - with file pointer not at beginning of file, and where the file was - truncated to have a length of less than the initial offset at just - the right moment (between the two lseek calls in this function). - - An invalid initial value for *read_pos would result in - `tail -n0 -f FILE' and `tail -c0 -f FILE' doing what amounted to a - busy-wait rather than sleeping between iterations. The bug manifests - itself only when tailing regular files that are initially nonempty. - * src/tail.c (tail_bytes): Set *read_pos to new file offset after - each xlseek call. - (tail_lines): Likewise, after lseek calls. - Reported by Nick Estes. See http://bugs.debian.org/205251 for details. - * tests/tail-2/tail-n0f: New file. Test for above fix. - * tests/tail-2/Makefile.am (TESTS): Add tail-n0f. - -2003-08-15 Jim Meyering - - * Makefile.maint (sc_space_tab): Use exclusion list in separate file. - (sc_sun_os_names): Likewise. - * .x-sc_space_tab, .x-sc_sun_os_names: New files. - - * man/help2man: Remove some SPACEs before TAB. - -2003-08-14 Paul Eggert - - * Makefile.maint (LC_ALL): Set to C. - * man/Makefile.am (ASSORT): New var. - (check-x-vs-1, programs): Use it. - * src/Makefile.am (ASSORT, check-README, ../AUTHORS): Likewise. - * tests/Makefile.am (ASSORT, all_programs): Likewise. - -2003-08-11 Jim Meyering - - fold -s -wN would infloop for N < 8 with TABs in the input. - E.g., this would not terminate: printf 'a\tb' | fold -w2 -s - * src/fold.c (fold_file): Move contents of `else'-block - out of conditional so it's used also for --spaces (-s). - * tests/misc/fold: Test for the above fix. - * tests/misc/Makefile.am (TESTS): Add fold. - -2003-08-10 Jim Meyering - - * src/nice.c [!NICE_PRIORITY]: Include after - system.h so the types from time.h and sys/time.h are available. - It appears that this is necessary for OpenBSD, NetBSD, and - Darwin 6.5 (MacOS 10.2.5). Reported by Nelson Beebe. - -2003-08-06 Paul Eggert - - * NEWS: Add support for setting file timestamps to microsecond - resolution, on hosts that support this. - * src/copy.c, src/cp.c, src/install.c, src/touch.c: Include utimens.h. - * src/copy.c (copy_internal): - Set file timestamps with utimens, not utime. - * src/cp.c (re_protect): Likewise. - * src/install.c (change_timestamps): Likewise. - * src/touch.c (newtime, touch, main): Likewise. - -2003-08-09 Jim Meyering - - * Makefile.maint (sc_sun_os_names): New rule based on a regexp - from Paul Eggert. - (syntax-check-rules): Add it. - - * src/tail.c (main): Tweak Solaris OS version number in comment. - * src/wc.c (wc): Likewise - * tests/tail-2/fflush: Likewise. - - * src/tail.c: Add new undocumented option, --presume-input-pipe. - (pipe_lines): Use memchr to skip lines, rather than an explicit loop. - -2003-08-08 Paul Eggert - - Use new gnulib 'extensions' module. - * configure.ac: Invoke gl_USE_SYSTEM_EXTENSIONS instead of - AC_GNU_SOURCE. - -2003-08-08 Paul Eggert - - * tests/du/basic: Ensure that a/b/F has at least 65 bytes too. - -2003-08-09 Jim Meyering - - * tests/misc/split-fail: Reflect that `split -a 0' is now accepted. - For tests of obsolete behavior, don't presume that unsetting - _POSIX2_VERSION is equivalent to _POSIX2_VERSION=199209. - -2003-08-07 Paul Eggert - - * doc/coreutils.texi (split invocation): - Add -d or --numeric-suffixes option to 'split'. - From a suggestion by Jesse Kornblum. - * src/split.c (suffix_alphabet): New var. - (longopts, usage, next_file_name, main): Support -d. - (next_file_name, main): Allow -a0, as POSIX requires. - (next_file_name): Don't assume ASCII-like encoding; - 'a' through 'z' are not contiguous in EBCDIC. - -2003-08-05 Paul Eggert - - Merge getline from gnulib. - * lib/getline.h, lib/getline.c, m4/getline.m4: Merge from gnulib. - * lib/getndelim2.h, lib/getndelim2.c, m4/getndelim2.m4, m4/ssize_t.m4: - New files, from gnulib. - * lib/getdelim2.c, lib/getdelim2.h: Remove. - * lib/Makefile.am (libfetish_a_SOURCES): Change getdelim2.c and - getdelim2.h to getndelim2.c and getndelim2.h. - * m4/jm-macros.m4 (jm_MACROS): Use gl_GETNDELIM2 rather than - checking for getdelim. - (jm_CHECK_ALL_TYPES): Use gt_TYPE_SSIZE_T for ssize_t rather - than rolling our own. - * src/cut.c: Include getndelim2.h rather than getdelim2.h. - (cut_fields): Invoke getndelim2 rather than getdelim2. - -2003-08-04 Jim Meyering - - * src/sort.c (main): Use unsigned int instead of int for `nsigs' - and for the indices to iterate through nsigs. - -2003-08-02 Paul Eggert - - * src/sort.c: Minor code cleanups, mostly to use more accurate - types and to remove unnecessary casts. - (min, max): Remove. All uses changed to MIN and MAX. - (hard_lc_collate, hard_LC_TIME, struct buffer.eof, struct - keyfield.skipsblanks, struct keyfield.skipeblanks, struct - keyfield.numeric, struct keyfield.general_numeric, struct - keyfield.month, struct keyfield.reverse, reverse, unique, - have_read_stdin): Now bool, not int. All uses changed. - (eolchar): Now char, not int. - (struct keyfield.ignore): Now bool const *, not int *. - (struct keyfield.translate): Now char const *, not char *. - (struct month.name): Likewise. - (blanks, nonprinting, nondictionary): Now bool[], not int[]. - (cleanup, inittables, keycompare, check, mergefps, first_same_file, - check, sort, main): Use const * pointers when possible. - (month_cmp): Rewrite to avoid casts. - (inittables): Initialize tables unconditionally, to avoid branches. - (fillbuf): Return bool, not int. All uses changed. - (fillbuf, keycompare, new_key, main): - Use SIZE_MAX rather than (size_t) -1. - (trailing_blanks): Renamed from trim_trailing_blanks. - Return the number of blanks to trim. All uses changed. - (getmonth): Use trailing_blanks rather than open code. - (keycompare): Do not cast char * to unsigned char *; not needed. - CMP_WITH_IGNORE converts args to UCHAR, so no need to convert it - ourselves. - (compare, main): Use | rather than || to avoid jumps. - Replace "diff = NONZERO (alen)" with "diff = 1", since alen must - be nonzero there. - (check, first_same_file, sort, main): - Use bool instead of int local vars when possible. - (check): Merge the old 'checkfp' and 'check' into a single function, - that returns a boolean (true if the file was ordered). - All uses changed. - (main): Use int instead of unsigned for iterating through nsigs. - Rename local var "posix_pedantic" to "posixly_correct". - -2003-08-02 Jim Meyering - - * src/nice.c [!NICE_PRIORITY]: Include before - to avoid compilation error on Ultrix. Reported by Christian Krackowizer. - - * src/cut.c (cut_fields): Don't read again after encountering an - initial EOF. E.g., `cut -f2' would do so. - * tests/misc/tty-eof: Add a test for the above fix. - - * src/sort.c (sortlines): Add description and references. - From Paul Eggert. - - * tests/Makefile.am (TESTS_ENVIRONMENT): Set PATH so that - the tests in help-version will use the just-built binaries. - Reported by Christian Krackowizer. - -2003-07-31 Paul Eggert - - * NEWS: Add --rfc-2822 option to GNU date. - * doc/coreutils.texi (Time directives, Options for date, Examples - of date): Likewise. - * src/date.c (long_options, usage, main): Likewise. - * doc/getdate.texi (General date syntax): Likewise. - * doc/coreutils.texi (Options for date): Fix a typo in format: - it's now %d not %_d. Add URLs. - -2003-08-01 Jim Meyering - - * tests/shred/remove: Ensure that $? is 0 for the final `exit 0'. - Otherwise, with at least the /bin/sh from HPUX 10.20, - the trap code would end up converting that to exit 1 and thus an - unexpected test failure. Reported by Christian Krackowizer. - -2003-07-31 Paul Eggert - - * src/ptx.c: Do not include bumpalloc.h. - (WORD_TABLE): New member alloc. - (ALLOC_NEW_WORD): Remove. - (occurs_alloc): New var. - (digest_word_file, find_occurs_in_text): Check for arithmetic - overflow when computing table size. Use xrealloc rather than - bumpalloc primitives. - -2003-07-29 Jim Meyering - - * Version 5.0.90. - - * README: When running tests as root, suggest using - sudo with NON_ROOT_USERNAME=$USER. - - * tests/Makefile.am (all_programs): Makefile is in ../src, not - $(srcdir)/../src. - -2003-07-28 Jim Meyering - - * Makefile.maint (GZIP_ENV): Try Debian/gzip's new --rsyncable option. - -2003-07-28 Paul Eggert - - * lib/stdbool.hin (_Bool): Make it signed char, instead of - an enum type, so that it's guaranteed to promote to int. - * src/sort.c (sortlines_temp): Undo previous change. - -2003-07-28 Jim Meyering - - * src/sort.c (sortlines_temp): Declare local `swap' to be `int', not - `bool'. Otherwise, at least one buggy compiler (alpha gcc-2.95.4) - would cause lines[-1 - swap] (with swap = false) to evaluate to - lines[4294967295]. - -2003-07-27 Jim Meyering - - * tests/priv-check (my_uid): Use `!', not `^' in case pattern `[!0-9]', - since /bin/sh of at least NetBSD 1.6 and OpenBSD 3.2 don't accept `^'. - - * src/remove.c (prompt) [! recursive]: Don't prompt about unwritable - directories, as required by POSIX. Reported by Karl Berry. - * tests/rm/dir-no-w: New file. Test for the above fix. - * tests/rm/Makefile.am (TESTS): Add dir-no-w. - - * tests/mk-script: Emit `$xx', not its expansion. - -2003-07-27 Paul Eggert - - This change was inspired by a similar proposal by Stepan Kasal. - * src/sort.c (mergelines, sortlines_temp): New functions. - (sortlines): Use them, to reduce the number of times that - we need to copy 'struct line' values. This improved CPU - performance by about 30% on one 18 MB test. - (sort): Don't invoke sortlines unless we have 2 or more lines. - -2003-07-26 Stepan Kasal - - * src/sort.c (sort): Don't require two `struct line's per text line, - the new sort algorithm requires just 1.5. - -2003-07-27 Jim Meyering - - * src/pathchk.c (validate_path): Use %lu, not %ld. - From Paul Eggert. - * src/cut.c (is_printable_field): Simplify bit arithmetic. - From Paul Eggert. - * src/ls.c (sort_files): Put `volatile' in the right place. - From Paul Eggert. - -2003-07-26 Jim Meyering - - Use only one bit per field/offset in array, not one `int'. - * src/cut.c (printable_field): Change type to `unsigned char'. - (mark_printable_field, is_printable_field): New functions. - Use them in place of all direct accesses of `printable_field'. - - * src/expand.c (parse_tabstops): Detect overflow properly. - * src/cut.c (set_fields): Likewise. - - * src/rm.c: Include "dirname.h". - (usage): Use base_name (program_name) in body of --help output. - This lets me... - * man/Makefile.am (.x.1): ...back out the kludge of 2003-07-22. - Idea from Brendan O'Dea, who suggested using - `program_name = basename (argv[0]);' everywhere -- - can't do that, but using base_name works just fine here. - - * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt test. - -2003-07-24 Paul Eggert - - Fix some POSIX-compliance problems with 'test'. This makes - 'test' more compatible with Bash. - - * NEWS, doc/coreutils.texi: Document the following. - * src/test.c: Include exitfail.h. - (TEST_FAILURE): New constant, used for exit status if 'test' fails. - (test-syntax_error): Use it. - (binary_operator): Now takes bool arg specifying whether left operand - is -l ARG, so that caller determines this rather than us. - All uses changed. - (term): Use posixtest to evaluate parenthesized subexpressions. - (unary_operator, one_argument): Remove support for -t without operand. - (one_argument): Take argument from argv[pos]. - (one_argument, two_arguments, three_arguments): Advance pos. - All callers changed. - (three_arguments): Look for binary ops before "!". Then look - for parenthesized one_argument expressions, instead of trusting - expr () to do the right thing. - (posixtest): Now takes number of args. All callers changed. - Treat "( A B )" like "A B". - (main): Set exit_failure to TEST_FAILURE. Don't depend on - POSIXLY_CORRECT, as we now conform to POSIX by default. - (main) [!LBRACKET]: Do not recognize "--help" or "--verbose" unless. - * tests/test/Test.pm (test_vector): Add several tests to check - the above. Syntax errors now exit with status 2, not 1. - * man/Makefile.am (mapped_name): Use `../src/[' binary to create test.1. - -2003-07-26 Jim Meyering - - * tests/help-version: Adjust for above change in test behavior: - `[' exits with 2, not 1, and test doesn't accept --help or --version. - - * Makefile.maint (ME): Don't use trick suggested in Make manual. - It doesn't work for make-3.79.1. Reported by Christian Krackowizer. - - * Makefile.maint (sc_system_h_headers): Another syntax check. - (syntax-check-rules): Add it to the list. - - * src/pathchk.c (validate_path): Cast strlen value to `unsigned long' - so it matches `%ld' format even on 32-bit systems. - - * src/fmt.c (flush_paragraph): Cast field width to `int' to - avoid warning on 64-bit systems. - - * src/ls.c (sort_files): Make `func' volatile, so it can't be - clobbered by a `longjmp' into this function. - -2003-07-25 Jim Meyering - - * src/pathchk.c (validate_path): Use %ld format (not %d) for size_t - value. - - * tests/misc/split-fail: Disable the --line-bytes=$_4gb test, - because it'd evoke spurious failure on 64-bit systems. - -2003-07-24 Jim Meyering - - * src/dd.c (usage): Document the fact that SIGUSR1 makes dd - output its current record counts. Reported by Jurriaan. - - * tests/wc/Test.pm (test_vector): Disable the `PIPE' tests when running - `wc' with no options. This goes along with the change of 2003-07-20. - -2003-07-23 Jim Meyering - - Don't include headers already included by system.h: - * src/tr.c: Don't include errno.h. - * src/true.c: Don't include version-etc.h. - * src/test.c: Don't include limits.h or error.h. - * src/stat.c: Don't include unistd.h or time.h. - * src/readlink.c: Don't include stdlib.h, unistd.h, or limits.h. - * src/pr.c: Don't include time.h. - * src/pathchk.c: Don't include errno.h. - * src/nice.c: Don't include sys/time.h. - * src/ls.c: Don't include stdlib.h. - - * basename.c, cat.c, chroot.c, cksum.c, comm.c, csplit.c, cut.c, date.c: - * dd.c, dirname.c, echo.c, env.c, expand.c, expr.c, factor.c, fmt.c: - * fold.c, head.c, hostid.c, hostname.c, id.c, join.c, kill.c, logname.c: - * md5sum.c, nice.c, nl.c, nohup.c, od.c, paste.c, pathchk.c, pinky.c: - * pr.c, printenv.c, printf.c, ptx.c, pwd.c, seq.c, setuidgid.c, shred.c: - * sleep.c, sort.c, split.c, stat.c, stty.c, su.c, sum.c, tac.c, tail.c: - * tee.c, test.c, tr.c, true.c, tsort.c, tty.c, uname.c, unexpand.c: - * uniq.c, uptime.c, users.c, wc.c, who.c, whoami.c, yes.c: - Don't include closeout.h. - - * tests/rm/fail-2eperm: Add a check for whether $NON_ROOT_USERNAME - can access the required version of rm. - * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION. - - * tests/cut/Test.pm (out-delim3a): New test. - - * man/help2man: Update to version 1.33. - - * src/expand.c (parse_tabstops): Detect overflow in tabstop sizes. - - * src/dircolors.c: Include xstrndup.h. - (xstrndup): Remove function, now that it's been factored out into - it's own file. - -2003-07-22 Paul Eggert - - * src/wc.c (wc): Fix typo in computation of file from file_x, - which caused the former to be used uninitialized if file_x was - nonzero. - -2003-07-22 Jim Meyering - - * src/cut.c (set_fields): Use xcalloc in place of xmalloc+memset. - - * man/Makefile.am (.x.1): Substitute 's,$t/$*,$*,' on output of - help2man, to avoid having `rm.td/rm' appear in rm.1. Reported by - Thomas Luzat. See http://bugs.debian.org/202413 for details. - - * src/cut.c (main) [lint]: Initialize spec_list_string to avoid warning. - - * src/hostid.c: Don't include . system.h already does that. - - * src/cut.c (set_fields): Mark all selected indices before trying to - determine range endpoints. - * tests/cut/Test.pm: New test for the above fix. - - Begin to address this comment: What if someone wants to - extract the 1,000,000-th field of some huge input file? - The first step is to rearrange things so that the values - in the printable_field array are all 0/1 rather than 0/1/2. - * src/cut.c (RANGE_START_SENTINEL): Remove. - Store range-start indices in a hash table, rather than - overloading the `printable_field' array. - (range_start_ht): New global. - (hash_int, hash_compare_ints, is_range_start_index): New functions. - (print_kth): Use is_range_start_index; don't test printable_field. - (set_fields): Detect overflow. - (set_fields): Insert each range-start index into range_start_ht. - (main): Call set_fields only once, and only after - output_delimiter_specified and (if required) range_start_ht have - been defined. - -2003-07-20 Paul Eggert - - * src/wc.c (get_input_fstatus): Fix typo: `stat' was being - invoked with a null pointer when there were no file arguments. - -2003-07-20 Jim Meyering - - * Makefile.maint (sc_changelog): Add another nit-picky check. - - * src/wc.c (write_counts): Add a comment. - (wc): Rename `file' parameter. - Set new local, `file', to be the file name, or (when it's NULL) - _("standard output") so that all uses of `file' use the proper value. - Use STREQ, not strcmp. - -2003-07-20 Paul Eggert - - wc count field widths now are heuristically adjusted depending - on the input size, if known. If only one count is printed, it - is guaranteed to be printed without leading spaces. - - Previously, wc did not align the count fields if - POSIXLY_CORRECT was set, but POSIX did not actually require - this undesirable behavior, so it has been removed. - - * NEWS: Document this. - * doc/coreutils.texi (wc invocation): Likewise. - - * src/wc.c (number_width): New var. - (posixly_correct): Remove. - (struct fstatus): New struct. - (write_counts): Output fields of width number_width. - Do not worry about POSIXLY_CORRECT. - Use null file, not empty-string file, to denote stdin, - since "" is a valid file name on some hosts. - (wc, wc_file): New arg fstatus. Use it to avoid invoking fstat - if possible. - (wc): Avoid problems if end_pos - current_pos overflows. - Do not print odd message if stdin has a read error. - (get_input_fstatus, compute_number_width): New functions. - (main): Use them to implement the new behavior. - Ignore POSIXLY_CORRECT. - - * tests/wc/Test.pm: Adjust to the new output widths. - -2003-07-19 Jim Meyering - - * tests/rm/fail-eperm: Don't create temporary directory -- - we don't use it. - - * tests/shred/remove: Don't open-code test for UID != 0. - Use priv-check's require-non-root instead. - Update to use newer framework. - - * tests/help-version (expected_failure_status_expr): Record that - expr exits with status of 3 for e.g., a write error. - - * tests/priv-check: Use `id -u' to see if we're running as root, - rather than trying go write to an write-protected file. - When running as root, ensure $NON_ROOT_USERNAME is valid. - When running as root with `require-non-root', ensure that `.' - is writable by $NON_ROOT_USERNAME, then reinvoke $0 set-user-ID - to $NON_ROOT_USERNAME. If `.' is not writable, then skip the test. - - * src/printenv.c: Include "exitfail.h". - (main): Set exit_failure rather than calling close_stdout_set_status. - * src/date.c: Likewise. - * src/sort.c: Likewise. - * src/tty.c: Likewise. - -2003-07-18 Jim Meyering - - * tests/touch/not-owner: Update to use newer framework. - - * tests/rm/fail-eperm: Use $srcdir/../priv-check, create a temporary - directory, and remove Perl-coded `you may not run as root' test. - * tests/cp/fail-perm: Use $srcdir/../priv-check, rather than - hard-coding something not quite equivalent. - Paul Jarc reported the inconsistent diagnostics. - - * src/sort.c (main): Use close_stdout via atexit. - Now `sort --version' and `sort --help' fail, as they should - when their output is redirected to /dev/full. - - * src/su.c (usage): Don't call close_stdout here. - (main): Use close_stdout via atexit. - Now `su --version > /dev/full' fails, as it should. - Somehow, the change of 2000-05-07 that purports to fix this - was not checked in. - - * tests/help-version (--help/--version vs. /dev/full): Special-case - `[' to protect it from expected_failure_status-`eval'. - - * src/uniq.c (writeline): Use a SPACE, not a TAB between the - count and the corresponding line, as required by POSIX. - Reported by Clement Wang. - * tests/uniq/Test.pm (101, 102): Update tests of -c accordingly. - - * tests/expr/basic: Add tests for when exit status is 2. - - * src/nohup.c (NOHUP_FOUND_BUT_CANNOT_INVOKE, NOHUP_FAILURE): - Use an anonymous `enum', rather than #define. - -2003-07-17 Paul Eggert - - * src/expr.c: Include "exitfail.h", "quotearg.h". - (EXPR_INVALID, EXPR_ERROR): New constants. - (nomoreargs, null, toarith, nextarg): Return bool, not int. - (syntax_error): New function, exiting with status 2. Use it - insteading of printing "syntax error" ourselves. - (main): Initialize exit_failure to EXPR_ERROR. - Exit with EXPR_INVALID on syntax error (too few arguments). - (nextarg): Use strcmp, not strcoll; strcoll might return - an undesirable 0, or might fail. - (docolon, eval4, eval3): Exit with status 3 on invalid argument type - or other such error. - (eval2): Report an error if strcoll fails in a string comparison. - * src/sort.c: Include "exitfail.h". - (main): Set exit_failure, not xalloc_exit_failure and - xmemcoll_exit_failure. - * tests/expr/basic: Invalid value exits with status 3, not 2. - -2003-07-16 Jim Meyering - - * configure.ac (AC_INIT): Use 5.0.90 as the version, rather than 5.0.2, - per GNU maintainer guidelines. The next non-beta release will be 5.1. - - This script would have caught at least two recent bugs: - those in [ and kill. - * tests/help-version: Revive this script. - It wasn't doing anything useful, since $all_programs wasn't being - defined by the invoking Makefile.am. - Reflect that nohup is no longer a script, so don't exclude it. - Add framework to handle the programs added since it was last run: - kill, stat, unlink, [, link, readlink. - Fix path-related problems deriving from the move of this script - from src/ to its present location. - * tests/Makefile.am (all_programs): Define. - (TESTS_ENVIRONMENT): Use it. - - * src/kill.c (main): Fix bug introduced on 2003-05-10 (for 5.0.1) - whereby kill would always attempt to operate on argv[0] and fail. - - * src/test.c (integer_expected_error): Improve diagnostic -- now, - it also matches the one from bash's builtin test. - (binary_operator): Add \n at end of diagnostic. - - * tests/rm/fail-2eperm: Remove setuidgid-related code. Move it to ... - * tests/priv-check: Move setuidgid-related and - NON_ROOT_USERNAME-checking code to this file. - - * README: Update section on testing as `root'. - Suggestion from Paul Jarc. - - * src/test.c (AUTHORS): Replace 3-letter usernames with the actual - names of authors that I just found in bash's builtins/test.def. - - Running `[' with no arguments would evoke a segfault. - * src/test.c (main) [LBRACKET]: Move initialization of argv to - precede potential use via test_syntax_error. - - * src/Makefile.am (AM_CPPFLAGS): Rename from `INCLUDES', to avoid - warning from automake -Wall. - -2003-07-15 Jim Meyering - - * Version 5.0.1. - - * Makefile.maint (%.asc): Remove target first, so gpg doesn't - prompt us about it. - - * announce-gen (print_changelog_deltas): Relax tests for matching - version-number line in NEWS. - Change the .sig suffix to .asc here, too. - -2003-07-14 Jim Meyering - - * Makefile.maint (%.asc): Renamed from %.sig. - Generate and use ascii-armored signatures. - Use gpg's -o option. - -2003-07-13 Jim Meyering - - * src/nohup.c (NOHUP_FAILURE, NOHUP_FOUND_BUT_CANNOT_INVOKE): Define. - (main): Use them. - - * Makefile.maint (syntax-check): Move each individual check into - its own target. - (syntax-check-rules): This is the list of syntax-check targets. - (sc_unmarked_diagnostics, sc_cast_of_argument_to_free): - (sc_cast_of_x_alloc_return_value, sc_space_tab): - (sc_error_exit_success, sc_xalloc_h_in_src): New targets. - -2003-07-12 Jim Meyering - - * configure.ac: Remove uses of OPTIONAL_BIN_ZCRIPTS and last - traces of the nohup script. - - * src/Makefile.am (bin_SCRIPTS): Remove use of just-removed - $(OPTIONAL_BIN_ZCRIPTS). - - * src/Makefile.am (localedir.h): Put the `2>&1' after the redirect - target, not before the `>'. - - * src/remove.c (remove_dir): Give a diagnostic upon failed save_cwd, - now that that function no longer calls `error'. - - * src/df.c (find_mount_point): Emit a diagnostic for each - failed syscall, rather than relying on caller to do that. - The caller couldn't do a good job, anyhow -- too many different - ways to fail (each with a different referent). - Give a diagnostic upon failed save_cwd, now that that function - no longer calls `error'. - (show_point): Don't diagnose find_mount_point's errors, now that - it handles them itself. - - * src/df.c (find_mount_point): Don't let free clobber errno upon - failed chdir. - - * src/sys2.h: Remove alloca-related block. - * src/system.h: Include here, instead. - - It appears that the `#pragma alloca' included via "system.h" is - adequate, since join.c uses alloca, yet lacked an in-file #pragma. - * src/copy.c, src/cp.c, src/df.c, src/install.c, src/ln.c: - * src/ls.c, src/mv.c, src/remove.c: Remove `#pragma alloca'. - - * src/chown-core.c (change_file_owner): Do not restore any special - permission bits (e.g., set-user-ID, set-group-ID) that are reset - by chown(2) on some systems. Suggestion and insistence :-) from - Michael Stone. - - * tests/input-tty: Also check `test -t 1'. - This is necessary on linux-2.4.21. Otherwise, the stty/basic-1 - test would block when run in the background. - -2003-07-11 Jim Meyering - - * tests/sample-test: Also fail if cat-to-create-expected-output - fails. Otherwise, if both `exp' and `out' were to end up empty - because of e.g., a full disk, they would mistakenly compare equal. - - * src/nohup.c: New file. Rewrite of nohup.sh in C. - This solves a portability problem: on at least Solaris systems, - when nohup.sh used the vendor /bin/sh, it would exit with status - of `1' rather than the required 126 or 127 upon failure to exec - the specified program. - - * src/Makefile.am (EXTRA_SCRIPTS): Remove definition. - (bin_PROGRAMS): Add nohup. - (EXTRA_DIST): Remove nohup.sh. - (all_programs): Remove use of $(EXTRA_SCRIPTS). - * src/nohup.sh: Remove file. - * man/Makefile.am (nohup.1): Depend on nohup.c, rather than nohup.sh. - - * tests/misc/nohup: Tests for the above. - * tests/misc/Makefile.am (TESTS): Add nohup. - - * src/head.c (diagnose_copy_fd_failure): New function, renamed from - the macro, COPY_FD_DIAGNOSE. - (diagnose_copy_fd_failure): Enclose diagnostic in _(...). - (head_file): Likewise. - - * src/date.c: Include "quote.h". - (batch_convert): Use the quote function rather than using literal `...' - in a diagnostic. - - * src/setuidgid.c (main): Enclose diagnostic in _(...). - * src/fmt.c (main): Likewise. - * src/mknod.c (main): Likewise. - * src/tac.c (tac_seekable): Likewise. - * src/yes.c (main): Likewise. - * src/od.c (main): Likewise. - * src/install.c (change_attributes): Likewise. - -2003-07-10 Jim Meyering - - * src/head.c (usage): Use 1024*1024 in place of 1048576. - * src/tail.c (usage): Likewise. - - * tests/rm/fail-2eperm: Now that we have setuidgid, use it in - place of the kludge in this test. Suggestion from Paul Jarc. - - * src/Makefile.am (noinst_PROGRAMS): Define to setuidgid. - * src/setuidgid.c: New program, solely for testing (not installed). - - * src/chown-core.c (change_file_owner): Don't leak file descriptors - when dereferencing symlinks. - -2003-07-09 Jim Meyering - - * tests/du/slash: New file/test for today's lib/ftw.c fix. - * tests/du/Makefile.am (TESTS): Add slash - - * src/tail.c (xlseek): Avoid warning about ``return without value - from function returning non-void''. - -2003-07-08 Jim Meyering - - * man/help2man: Update to version 1.29. - - * man/help2man: Add END handler to close STDOUT and check for errors. - -2003-06-30 Paul Eggert - - Add support for a "[" that conforms to the GNU coding standards, - i.e., that does not depend on its name. - * src/lbracket.c: New file. - * README: Add "[". - * man/Makefile.am (programs): Ignore "[", since it doesn't have - a separate man page. - * src/Makefile.am (bin_PROGRAMS): Add "[". - (__SOURCES): New var. - * src/test.c (LBRACKET): Define to 0 if not defined. - (main): Use LBRACKET rather than argv[0]. - - * src/test.c (one_argument): Do not check for -t if POSIXLY_CORRECT. - Reported by Paul Jarc and Dan Jacobson. - - * src/test.c (main): Do not recognize --help or --version if - POSIXLY_CORRECT, when invoked as "test". Handle "[ ]" correctly. - Do not bother testing that margv[margc] is non-null. - -2003-07-04 Jim Meyering - - * src/who.c (print_line): Rewrite to use asprintf, in order to be - able to avoid emitting trailing spaces. Reported by Dan Jacobson. - - * tests/misc/head-elide-tail: Add tests of head's new --lines=-N - option, and perform the +1600 invocations of head IFF the envvar - RUN_EXPENSIVE_TESTS is set. - -2003-07-03 Jim Meyering - - * src/cp.c (do_copy): Give a better diagnostic when failing due - to nonexistent destination directory. Reported by Dmitry Rutsky. - See http://bugs.debian.org/199730 for details. - -2003-06-27 Jim Meyering - - split's --verbose option did nothing [broken in 4.5.10 and 5.0] - * src/split.c (longopts): Use `1', not `0' as the value for - &verbose. Reported by Keith Thompson. - - Test for the above fix. - * tests/misc/split-a: Also use --verbose and compare stderr - output with what we'd expect. - -2003-06-20 Jim Meyering - - * src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]: - Use `error_t' (rather than int) as type for local `err'. - From Alfred M. Szmidt. - -2003-06-19 Marcus Brinkmann - - * src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]: - Fix author preservation code. - -2003-06-19 Jim Meyering - - * src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Define to 0. - (do_link): Don't warn about hard link to symlink. - -2003-06-18 Jim Meyering - - * src/cut.c: Include "getdelim2.h", not "getstr.h". - Reflect renaming: getstr -> getdelim2. - - * src/comm.c, src/join.c, src/nl.c, src/uniq.c: Reflect renaming: - readline -> readlinebuffer. - -2003-06-09 John David Anglin - - * src/readlink.c: Include before system.h (because - the latter includes ). Required on Ultrix 4.3. - -2003-06-17 Jim Meyering - - * src/system.h (initialize_main): Define. - Use it in every `main'. Applied via this: - p='initialize_main (&argc, &argv);' - perl -ni -e '/program_name.=.argv.0/ and print " '"$p"'\n"; print' \ - $(grep -l program_name.=.argv.0 *.c) - test.c uses margc/margv, so I made the change manually for that file. - Based on a patch from Bernard Giroud. - -2003-06-09 John David Anglin - - Fix for build failure on Ultrix 4.3. - * src/stat.c: Include sys/statvfs.h in preference to sys/vfs.h. - Include sys/param.h and sys/mount.h on ultrix. - -2003-06-16 Jim Meyering - - * src/touch.c (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Remove - definitions. - * src/system.h (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Define - them here instead, but with one change: define EISDIR to -1, not 0. - - * src/cat.c (cat): Remove `#ifndef ENOSYS', now that it's - guaranteed to be defined. - * src/system.h (ENOSYS, ENOTSUP): Define to -1 if not defined. - - * README: Mention the CVS repository. - Encourage addition of test cases. - -2003-06-12 Jim Meyering - - * src/touch.c (touch): Call close only if necessary. - From Bruno Haible. - - * src/wc.c (usage): Correct wording: wc prints counts in the order - `newline, word, byte'. Reported by Keith M. Briggs. - * man/wc.x: Fix it here, too. And change `lines' to `newlines'. - -2003-06-10 Jim Meyering - - * tests/date/Test.pm: Add a test for the new format, e.g., May-23-2003. - -2003-06-07 Jim Meyering - - * Makefile.maint (syntax-check): Add commented-out (over-aggressive) - rule. - -2003-06-06 Jim Meyering - - * src/extract-magic (main): Avoid newer 3-arg form of open, - so this script works also with e.g., perl5.005_03. - Patch by John David Anglin. - -2003-06-04 Paul Eggert - - * src/system.h: Include unconditionally. - -2003-06-04 Jim Meyering - - * man/Makefile.am (check-programs-vs-x): Rename target - from check-programs-vs-1. Adjust rule to check for the - primary (.x) file, not the generated one (.1). - -2003-06-03 Tim Mooney - - * man/kill.x: New file. - * man/Makefile.am (dist_man_MANS): Add kill.1. - (kill.1): New rule. - -2003-06-04 Jim Meyering - - Ensure that the .x file for a new program is never forgotten again. - * man/Makefile.am (programs): Define. - (check-programs-vs-1): New phony target. - (check-local): Depend on it. - -2003-06-03 Jim Meyering - - Avoid unnecessary copying of environment. - * src/env.c (main): Rather than clearing the environment and -- - unless told to ignore environment -- copying all settings from - the saved, original environment, clear the environment only when - that is requested. Suggested by Jens Elkner. - -2003-06-02 Jim Meyering - - * src/system.h: Always include , since we assume C89. - Include without checking for HAVE_LIMITS_H. - - * src/test.c [!TEST_STANDALONE]: Remove #if-0'd block. - (STREQ, S_IXUGO): Remove redundant (in system.h) definitions. - -2003-06-01 Jim Meyering - - Avoid a race condition in `tail -f' described by Ken Raeburn in - http://mail.gnu.org/archive/html/bug-textutils/2003-05/msg00007.html - * src/tail.c (file_lines): Add new parameter, *read_pos, and set it. - (pipe_lines, pipe_bytes, start_bytes, start_lines): Likewise. - (tail_bytes, tail_lines, tail): Likewise. - (tail_file): Use the new `read_pos' value as the size, - rather than stats.st_size from the fstat call. - -2003-05-28 Jim Meyering - - * src/extract-magic: Allow expansion of `$file' in the here- - document corresponding to the comment at the top of fs.h. - -2003-05-26 Jim Meyering - - * src/stat.c: Fix portability problem on FreeBSD5.0: don't include - on systems without HAVE_STRUCT_STATVFS_F_BASETYPE. - Use #if/#elif/... cascade so we get only one set of include files. - Reported by Nelson Beebe. - -2003-05-24 Jim Meyering - - * src/md5sum.c (split_3): Accept the BSD format only when in MD5 mode. - * tests/sha1sum/basic-1: Make sure `sha1sum --check' doesn't - accept the BSD format. - -2003-03-28 Joe Orton - - * src/md5sum.c (bsd_split_3): New function. - (split_3): Detect checksums from BSD 'md5' command and handle them - using bsd_split_3. - - * tests/md5sum/basic-1: New tests for --check exit status, and for - BSD-style checksum files. - -2003-05-21 Jim Meyering - - * src/head.c (elide_tail_lines_pipe): Fix a thinko. - This sort of thing is why it'd be *Really Good* to factor - out the common code used here and in tail.c. - -2003-05-14 Jim Meyering - - * src/head.c (usage): Document new feature: --bytes=-N and --lines=-N. - - * tests/du/slink: Skip this test if `.' is on an XFS file system. - - * tests/du/fd-leak: New file. Test for the bug in du that - was fixed by the 2003-05-12 change to lib/ftw.c. - * tests/du/Makefile.am (TESTS): Add fd-leak. - - * src/head.c (AUTHORS): Enclose string in N_(...), now that it - includes a translatable word, `and'. - - * src/dd.c (usage): Don't use `,' as the thousands separator - in e.g. 1,000,000 and 1,048,576. Instead, do this: - `SIZE may be ..., MB 1000*1000, M 1024*1024 and so on...' - * src/df.c (usage): Likewise. - * src/du.c (usage): Likewise. - * src/ls.c (usage): Likewise. - - * Makefile.maint (syntax-check): Add another check. - -2003-05-13 Paul Eggert - - Fix uniq to conform to POSIX, which requires that "uniq -d -u" - must output nothing. Problem reported by Josh Hyman. - - * src/uniq.c (enum output_mode, mode): Remove, replacing with: - (output_unique, output_first_repeated, output_later_repeated): - New vars. All uses of "mode" changed to use these variables, - which are not mutually exclusive as "mode" was. - (writeline): New arg "match", used to control whether to - obey output_first_repeated or output_later_repeated. - All callers changed. - (check_file, main): Adjust to above changes. - - * tests/uniq/Test.pm: Test that 'uniq -d -u' outputs nothing. - -2003-05-14 Jim Meyering - - * tests/rm/rm3: Use tr's \n notation rather than \012. - This package can afford to do that, since its tests are guaranteed use - GNU tr, which has accepted the more modern notation for 10 years. - * tests/rm/rm5: Likewise. - * tests/cp/same-file: Likewise. - * tests/stty/row-col-1: Likewise. - * tests/stty/basic-1: Likewise. - * tests/rm/deep-1: Likewise. - * tests/mv/part-symlink: Likewise. - * tests/mkdir/perm: Likewise. - * tests/misc/nice: Likewise. - -2003-05-13 Jim Meyering - - * src/copy.c (struct F_triple) [name]: Remove const attribute. - (triple_free): Don't apply cast to argument of free. - (seen_file): Add cast here instead. - - * src/cp-hash.c (struct Src_to_dest) [name]: Remove const attribute. - (src_to_dest_free): Don't apply cast to argument of free. - - * src/sort.c (zaptemp): Don't apply cast to argument of free. - * src/pr.c (init_fps, init_store_cols): Likewise. - * src/join.c (delseq, freeline): Likewise. - * src/expr.c (OLD): Likewise. - * src/sort.c (sort): Likewise. - * src/head.c (elide_tail_lines_pipe): Likewise. - - * src/tail.c: Include "quote.h". - Use quote in diagnostics. Change many error format strings - from just `%s' to e.g., `error reading %s'. - (pipe_lines): Change type of parameter, n_lines, to uintmax_t. - Rewrite newline-counting loop to use memchr. - - * src/head.c (elide_tail_lines_pipe): Use `if', not assert. - Now that assert is no longer used, don't include . - -2003-05-12 Jim Meyering - - * src/head.c: Include . - (AUTHORS): Add my name. - (elide_tail_lines_pipe): New function. - -2003-05-10 Jim Meyering - - * Makefile.maint (syntax-check): Check for `error (EXIT_SUCCESS,'. - - * src/readlink.c (main): Set program_name before first use. - Remove that (redundant) first use. - Don't exit successfully just because --verbose was specified. - Pass 0, not EXIT_SUCCESS, as first argument to error; when that - parameter is 0, error does not exit. - - * src/uname.c (main): When failing due to too many arguments, also say - that, rather than just "Try `uname --help' for more information.". - * src/comm.c (main): Likewise, but for too few arguments. - * src/logname.c: Include error.h. - (main): Say why we're failing. - - * src/uniq.c (main): Don't segfault when argc < optind. - * src/who.c (main): Handle argc < optind. - * src/df.c (main): Likewise. - * src/install.c (main): Likewise. - * src/mv.c (main): Likewise. - * src/pwd.c (main): Likewise. - * src/tty.c (main): Likewise. - * src/chroot.c (main): Likewise. - * src/hostname.c: Likewise. - * src/du.c (main): Likewise. - * src/expand.c (main): Likewise. - * src/env.c (main): Likewise. - * src/unexpand.c (main): Likewise. - * src/printenv.c (main): Likewise. - * src/sync.c (main): Handle argc == 0. - * src/expr.c (main): Likewise. - * src/printf.c (main): Likewise. - * src/basename.c (main): Likewise. - * src/ln.c (main): Test for `missing argument' before computing n_files. - * src/tail.c (main): Test for the case of no arguments before - computing n_files. - - * src/kill.c (send_signals): Don't check command line arguments here. - (main): Check them here instead. Handle argc < optind. - - * src/logname.c (main): Use error, rather than fprintf, for the sake - of consistency. - - * src/rm.c (main): Don't overrun array bound if argc is 0. - -2003-05-09 Jim Meyering - - * src/sort.c (main): Don't overrun array bound if argc is 0. - That would happen when invoked via: execl ("/usr/bin/sort", NULL); - Reported by Wartan Hachaturow. - -2003-05-07 Jim Meyering - - Implement support so that `head --lines=-N' works on seekable files. - * src/head.c (enum Copy_fd_status): Define. - (COPY_FD_DIAGNOSE): New macro. - (elide_tail_lines_seekable): New funtion. - (elide_tail_lines_file): Call it here. - -2003-05-06 Jim Meyering - - * src/sys2.h (CHAR_BIT): Remove duplicate definition. - -2003-05-04 Jim Meyering - - * tests/head/Test.pm: Remove tests of --bytes=-N; using that framework - caused the addition of thousands of small files to the tar archive. - * tests/misc/head-elide-tail: New file. Add them here instead. - * tests/misc/Makefile.am (TESTS): Add head-elide-tail. - -2003-05-04 Paul Eggert - - * src/remove.c (HAVE_WORKING_READDIR): Define to 0 if not defined. - (IF_READDIR_NEEDS_REWINDDIR): Remove. - (remove_cwd_entries): Rewrite to avoid IF_READDIR_NEEDS_REWINDDIR, - which was a bit weird because it couldn't be emulated by a function. - -2003-05-03 Jim Meyering - - Extend head to accept --lines=-N (--bytes=-N) and to print all - but the N lines (bytes) at the end of the file. - * src/head.c: Include full-write.h, full-read.h, inttostr.h, quote.h. - Use quote() in diagnostics, rather than literal `' marks. - (copy_fd, elide_tail_bytes_pipe, elide_tail_bytes_file): - New functions. - (elide_tail_lines_pipe, elide_tail_lines_file): New functions. - (head_file): Reorganize so as to call head from only one place. - (main): Likewise, for head_file. - Handle new, undocumented option, --presume-input-pipe. - Handle negative line and byte counts. - * tests/head/Test.pm: Add lots of tests to exercise --bytes=-N. - - * tests/du/8gb: Skip test if the file system of `.' doesn't support - sparse files -- otherwise it'd create a file of size 8GB. - -2003-05-02 Jim Meyering - - * src/fmt.c (usage): Don't mention obsolescent -WIDTH option. - Instead explain about `-' and standard input. - (main): Give a proper diagnostic for e.g., `fmt -c -72'. - Reported by Keith Thompson. - * tests/fmt/basic: Add test for the above fix. - - * src/fmt.c: Include "quote.h". - Use quote() in diagnostics, rather than literal `' marks. - (main): Exit nonzero when unable to open an input file. - * tests/fmt/basic: Add test for the above fix. - - * src/fmt.c (main): Diagnose invalid suffix on obsolescent width - specifications like `-72x'. - * tests/fmt/basic: Add test for the above fix. - - Work around nasty readdir bug on Darwin6.5. - * src/remove.c (IF_READDIR_NEEDS_REWINDDIR): Define. - [! HAVE_WORKING_READDIR] (remove_cwd_entries): If readdir has just - returned NULL and there has been at least one successful unlink or - rmdir call since the opendir or previous rewinddir, then call - rewinddir and reiterate the loop. - - Factor out common code. - * src/remove.c (readdir_ignoring_dotdirs): New function. - (is_empty_dir): Use it here. - (remove_cwd_entries): Use it here. - -2003-05-01 Jim Meyering - - * tests/rm/r-3: Create 500 rather than just 300 files. - There's a bug in Darwin6.5's readdir that shows up only with - 338 or more files. - Fix a bug in this test: `cd $pwd' (not to `..'), now that $tmp - has two components. - - * src/tail.c: - Change type of n_units, n_bytes, n_lines to be `uintmax_t'. - (dump_remainder): Move two declarations `down' into the scope - where they are used. - (xlseek): Return the resulting offset. - (file_lines): Rename parameter, file_length, to end_pos. - (pipe_lines): Don't coerce safe_read return value to `int'. - Adapt tests accordingly. - (pipe_bytes) [struct charbuffer] (nbytes): Change type from `int' - to `unsigned int'. - Change type of `total_bytes' from `int' to `size_t', - since the former wouldn't always be wide enough. - Don't coerce safe_read return value to `int', - and adapt tests accordingly. - Now that testing for a read error no longer involves - using `tmp', handle that case *after* freeing `tmp'. - (start_bytes): Clean up. - (tail_bytes): Now that `n_bytes' may be larger than - OFF_T_MAX, test for that condition and, if it's true, don't - use lseek optimizations. - (parse_options): Don't fail just because N_UNITS is larger than - the maximum size of a file -- tail may be applied to an input - stream (e.g., a pipe) with more data than that. - - * Makefile.maint (syntax-check): Rename from alloc-check. - Also check for SPACE-TAB sequences. - Also check for malloc/calloc/realloc casts. - -2003-05-01 Jim Meyering - - * src/tail.c (start_lines): Rewrite to use memchr. Clean up. - -2003-04-28 Jim Meyering - - * tests/misc/tty-eof: Send two tokens, not just one, so we don't - make the now-more-picky tsort fail. - -2003-04-24 Jim Meyering - - * src/tsort.c (tsort): Remove unnecessary test of have_read_stdin. - (main): Minor syntactic clean-up. - - * src/tsort.c (tsort): Fail if the input contains an odd number of - tokens. Reported by junkio@cox.net. - - * tests/tsort/basic-1: Test for the above fix. - -2003-04-21 Jim Meyering - - * tests/misc/printf: Add tests for the printf fixes below. - - * Makefile.cfg (cvs_files): Add $(srcdir)/config/depcomp to the list. - -2003-04-20 Paul Eggert - - Fix printf POSIX compatibility bug reported by Ben Harris in - . - * doc/coreutils.texi (printf invocation): It's \NNN in the format, - \0NNN in the %b operand. - * src/printf.c (usage): Likewise. - (print_esc): New arg OCTAL0 to specify whether \0NNN or \NNN - is desired. All uses changed. Behave like Bash printf if %b - operand uses \NNN where the initial N is not 0. - -2003-04-17 Jim Meyering - - * src/stty.c: Remove uses of PROTOTYPE macro. - -2003-04-15 Jim Meyering - - * Makefile.maint: Remove (or replace-with-TAB(s) to retain alignment) - each sequence of spaces before a TAB character. - -2003-04-13 Jim Meyering - - * src/remove.c (is_empty_dir): Don't closedir (NULL). - -2003-04-12 Jim Meyering - - Giving nl an invalid STYLE argument (in --header-numbering=STYLE (-h), - --body-numbering=STYLE (-b), or --footer-numbering=STYLE (-f)) or - FORMAT (--number-format=FORMAT (-n)) would not give a useful diagnostic. - * src/nl.c (main): Fix those problems and remove literal quote marks - (e.g., "`%s'") from format string; instead use "%s" in each format - string and `quote (optarg)' as the corresponding argument. - Also, diagnose all invalid command line options before failing. - - * src/nl.c (proc_text): Fix a bug that would make nl output extra - newlines in some cases. Details here: http://bugs.debian.org/177256. - This bug was introduced on 2001-11-10 for textutils-2.0.17. - * tests/misc/nl: Add test for the above-fixed bug. - - * tests/misc/readlink: New file. Test the --canonicalize option. - * tests/misc/Makefile.am (TESTS): Add readlink. - -2003-04-11 Jim Meyering - - Clean up. - * src/chown.c, src/cp.c, src/dircolors.hin, src/du.c, src/ln.c: - * src/mkfifo.c, src/ptx.c, src/spline.c, src/stty.c, src/tail.c: - * src/test.c, src/unexpand.c: Remove (or replace-with-TAB(s) to - retain alignment) each sequence of spaces before a TAB character. - - * src/ls.c: Include unconditionally. - - * Makefile.maint (xalloc-check): Rename from header-check. - - * src/yes.c: Include error.h after system.h, not before. - - Clean up. - * src/copy.c, src/cp-hash.c, src/cp.c, src/csplit.c, src/cut.c: - * src/date.c, src/df.c, src/du.c, src/expand.c, src/expr.c, src/id.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/su.c, src/tail.c, src/tee.c: - * src/tr.c: * src/unexpand.c, src/users.c: - Remove anachronistic casts of xmalloc, xrealloc, and xcalloc - return values and of xrealloc's first argument. - Fix the former with this: - perl -pi -e 's/\([^(]*?\*\) *(x(m|c|re)alloc)\b/$1/' - -2003-04-10 Jim Meyering - - * src/stty.c (wrapf): Declare with format attribute. - - The S_MAGIC_... names shouldn't be maintained in two places (prior - to this change, one would have to keep stat.c and fs.h in sync). - This change makes it so those names and the corresponding - hexadecimal constants all reside in stat.c. fs.h is now generated. - * src/Makefile.am (fs.h): New rule to generate fs.h from stat.c. - (BUILT_SOURCES): Add fs.h, now that it's generated. - (EXTRA_DIST): Add extract-magic. - * src/extract-magic: New script to extract fs.h definitions from stat.c. - * src/stat.c (human_fstype) [__linux__]: Append each hex constant from - fs.h in a comment after the corresponding `case S_MAGIC_...:' statement. - - * tests/tail-2/big-4gb: Skip this test (don't fail) if creating a - file with nominal length > 4GB fails. Reported by Michael Deutschmann. - - * man/unexpand.x: Add `SEE ALSO' reference to expand. - * man/expand.x: Add `SEE ALSO' reference to unexpand. - Suggestion from Dan Jacobson. - -2003-04-10 Maciej W. Rozycki - - * src/fs.h (S_MAGIC_DEVPTS): New magic for Linux's devpts. - * src/stat.c (human_fstype): Handle Linux's devpts. - -2003-04-09 Paul Eggert - - * src/split.c (line_bytes_split): Arg is of type size_t, since - that's all that is supported for now. - (main): Check for overflow in obsolescent line count option. - -2003-04-09 Jim Meyering - - * tests/misc/split-fail: Add a new test for the above fix. - - * src/split.c (bytes_split): Use size_t temporary (rather than - uintmax_t original) in remaining computations. From Paul Eggert. - - Handle command line option arguments larger than 2^31. - This allows e.g., splitting into files of size 2GB and larger, - and running split --lines=N with N=2^31 or more. - But for --line-bytes=N, the restriction that N <= SIZE_MAX - remains (for now), due to the way it is implemented. - - * src/split.c: Include "inttostr.h". - (bytes_split, lines_split, line_bytes_split, main): - Use uintmax_t, not size_t, for file sizes. - (main): Give a better diagnostic for option arguments == 0. - Use umaxtostr to print file sizes. - Reported by Luke Hassell. - -2003-04-08 Jim Meyering - - * src/rm.c (usage): Mention that --directory (-d) works only - on some systems. Suggestion from Samuel Tardieu. - - * tests/basename/basic: Run $PERL to see if it is available, - rather than testing its value. - * tests/sum/sysv, tests/tsort/basic-1, tests/unexpand/basic-1: - * tests/basename/basic, tests/dd/skip-seek, tests/dircolors/simple: - * tests/expr/basic, tests/factor/basic, tests/fmt/basic: - * tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1: - * tests/misc/sort, tests/misc/tty-eof, tests/mv/i-1: - * tests/rm/empty-name, tests/rm/fail-eperm, tests/rm/unreadable: - * tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec: - * tests/sum/basic-1, tests/seq/basic: Likewise. - - * tests/misc/Makefile.am (TESTS): Add split-fail. - * tests/misc/split-fail: New file. - - * src/split.c: Rename local variables: nchars -> n_bytes. - (lines_split): Rename local, nlines -> n_lines. - (main): Rename local variable: s/accum/n_units/. - (main): Use STDIN_FILENO, not literal `0'. - -2003-04-07 Jim Meyering - - * src/stat.c: Add #include directives for Ultrix 4.4. - Based on a suggested change from Bert Deknuydt. - -2003-04-06 Jim Meyering - - * Makefile.maint (makefile-check): New rule. - (local-check): Add it. - -2003-04-05 Jim Meyering - - * Makefile.am (nearly all of them): - Use $(VAR) rather than @VAR@, now that we can rely on automake to - emit a definition for each substituted variable. - * tests/Makefile.am.in: Likewise. - - * tests/rm/rm5: Add a comment explaining why this test fails when - using Tru64's broken sed. - * tests/rm/rm3: Likewise. - - Make `kill -t' output signal descriptions (not `?') on Tru64. - * src/kill.c (sys_siglist): Also check for __sys_siglist. - Patch by Tony Leneis. - * configure.ac: Also check for declaration of __sys_siglist. - Required for Tru64 4.0D, 4.0F, and 5.1. - Reported by Tony Leneis. - -2003-04-04 Jim Meyering - - * src/Makefile.am (PERL): Remove unnecessary definition. - - Because of inappropriate (but POSIX-mandated) behavior of rename, - `mv a b' would not remove `a' in some unusual cases. Work around - this by unlinking `a' when necessary. - - * src/copy.c (same_file_ok): Add an output parameter. - Set it in the offending case. - (copy_internal): When necessary, unlink SRC_PATH and inform caller. - Reported by Ed Avis. - * tests/mv/hard-4: New test for the above. - * tests/mv/Makefile.am (TESTS): Add hard-4. - - Clean up rules for automatically generated sources: - * src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, false.c): - Make each generated file be read-only. - Add each file name to BUILT_SOURCES separately. - (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). - - Put LOCALEDIR macro definition in new file: localedir.h. - * src/Makefile.am (DEFS): Remove definition. - (localedir.h): New rule. - (BUILT_SOURCES, DISTCLEANFILES): Add localedir.h. - * src/system.h: Include "localedir.h". - -2003-04-02 Jim Meyering - - * Version 5.0. - - * tests/misc/Makefile.am (TESTS): Add false. - - * Makefile.maint (TMPDIR): Make sure it's defined. - (my-distcheck): Build in $(TMPDIR), not `.'. - - * src/Makefile.am (false.c): Change all occurrences of - `(EXIT_SUCCESS)' to `(EXIT_FAILURE)' so that false exits - unsuccessfully also with --help. Reported by Paul Jarc, - * tests/misc/false: New test for the above. - -2003-03-30 Jim Meyering - - * NEWS: Note the location of older NEWS files. - - * src/remove.c (is_empty_dir): Don't let a failing closedir - clobber errno. Spotted by Arnold Robbins. - - * src/env.c: Fix typo in comment. From Arnold Robbins. - -2003-03-29 Jim Meyering - - * Version 4.5.12. - - * README: Note to expect build problems for stat.c on Ultrix 4.3. - Note that there are some harmless test failures when running - `make check' as root on some systems. - -2003-03-28 Jim Meyering - - * tests/stty/row-col-1: Skip this test if stty can't get window size. - This happens when connecting to sparc-solaris5.7 via ssh from within - emacs. Reported by Karl Berry. - - * tests/du/basic: Use seq, not `yes' to generate 4KB of data. - Otherwise, on systems (DJGPP) that emulate pipes using files, - this test would never complete, waiting for `yes' to terminate. - * tests/du/slink: As above, use seq, not `yes' to generate link target. - * tests/rm/hash: As above, use seq, not `yes' to generate dir name. - Reported by Rich Dawe. - -2003-03-27 Jim Meyering - - * src/id.c: Remove Arnold Robbins' obsolete e-mail address - from `written by...' comment, at his request. - -2003-03-24 Paul Eggert - - Fix buffer overrun problem reported by TAKAI Kousuke, along - with some other POSIX incompatibilities. - - * src/printf.c (print_esc): Do not treat \x specially if - POSIXLY_CORRECT. Avoid buffer overrun if the format ends - in backslash. Treat incomplete escape sequences as strings - of characters, as POSIX requires. - (print_formatted): Allow multiple flags. Avoid buffer overrun - if the format is incomplete. - -2003-03-24 Jim Meyering - - * tests/misc/printf: Add tests for the above fixes and changes. - -2003-03-26 Jim Meyering - - * src/copy.h (struct cp_options): Add a comment. - -2003-03-23 Jim Meyering - - * README: Describe problem with 64-bit mode on HPUX 11.x, - with patch for /usr/include/inttypes.h. - * TODO: Plan to add an autoconf test to work around the bug. - -2003-03-22 Jim Meyering - - * src/stat.c: Don't include . - That is already done via system.h. Otherwise, the multiple - inclusion would evoke redefinition warnings from Cray's /bin/cc, - aka Cray Standard C Version 4.0.3 (057126) Mar 22 2003 22:02:28. - (human_fstype): Factor some directives `up', out of this function. - Cast away `const' to avoid error from Cray's /bin/cc. - -2003-03-20 Jim Meyering - - * announce-gen (print_changelog_deltas): Ensure that a newline - precedes each row of `*'s. - -2003-03-20 Jim Meyering - - * Version 4.5.11. - - * src/seq.c (valid_format): Also accept ` ' and `'' as valid - format flag characters. - Do not require that a field width be specified. - Do not fail when given a field width of `0'. - Reported by Dan Jacobson. - * tests/seq/basic: Add new tests for the above-fixed bug. - - * src/Makefile.am (all-local): Append $(EXEEXT) to use of `su' - (install-root): Likewise. - (install-exec-local): Likewise. - Based on a patch from Richard Dawe. - -2003-03-19 Jim Meyering - - * man/Makefile.am (.x.1): Use $(LN_S) instead of 'ln -s', - because the DJGPP 2.03 port of 'ln -s' doesn't work. - Include $(EXEEXT) in program names. - Since $(LN_S) may degenerate to `cp -p', be careful - to invoke it from the destination directory. - Mostly from Richard Dawe. - * configure.ac: Use AC_PROG_LN_S. - - * tests/mv/part-symlink: Unset CDPATH. Otherwise, having the - CDPATH shell variable set could cause this test to fail. - Reported by Karl Berry. - -2003-03-18 Jim Meyering - - * src/fmt.c [struct Word] (paren, period, punct, final): Change the - type of each member from bool :1 to unsigned int :1. - AIX 5.1's xlc could not compile the former. - Patch by Petter Reinholdtsen. Also reported by Mike Jetzer. - -2003-03-17 Richard Dawe - - * configure.ac: Include $(EXEEXT) in OPTIONAL_BIN_PROGS' - program names, since automake only adds $(EXEEXT) to programs - in its *_PROGRAMS. - -2003-03-16 Jim Meyering - - * src/remove.c (rm): Put two local variables in static storage, - so they can't be clobbered by the potential longjmp. - -2003-03-15 Jim Meyering - - * Makefile.cfg (gnu_rel_host): Fix code to match the comment - so that a version number with a two-digit component can still count - as an alpha release. Reported by Richard A Downing. - (gnu_rel_host): Define in terms of $(RELEASE_TYPE) instead. - -2003-03-14 Jim Meyering - - * src/ansi2knr.c: Remove no-longer-used file. - * src/ansi2knr.1: Likewise. - - * Makefile.maint (prev_version_file): Don't use ?= for this particular - assignment, since it causes trouble with old versions of GNU make - (e.g. 3.76.1). The other uses of `?=' are inoffensive. Details here. - http://mail.gnu.org/archive/html/bug-coreutils/2003-03/msg00028.html - Patch from Alexandre Duret-Lutz. - - * Use patched automake-1.7.3. Regenerate Makefile.in files in - subdirectories so that each includes a definition of ACLOCAL_M4. - - * announce-gen (main): Label the compressed source URLs. - - * Version 4.5.10. - - * tests/du/slink: Relax the test for the `local'ness of a file system, - so that now it works also for tmpfs. - - * tests/du/hard-link: Transform output from first du, so that this - test doesn't fail on file systems like tmpfs that order directory - entries differently. - -2003-03-13 Jim Meyering - - * tests/du/8gb: Work around what appears to be an NFS failure that - would make this test fail on some systems. - -2003-03-11 Jim Meyering - - * tests/du/basic: Make the test file exactly 4k bytes long. - - * src/split.c (longopts): Don't hard-code `2' here. - Instead, just specify `&verbose', and ... - (main): ... remove the `case 2:' block for --verbose. - - * tests/du/basic: Make the test file larger than 64 bytes, so that - we don't immediately disqualify file systems (e.g., NetApp) on which - smaller files take up zero disk blocks. Reported by Vin Shelton. - -2003-03-10 Jim Meyering - - Don't segfault for a negative field width or precision in format string. - Note that this is just a stopgap fix. The longer term solution may - involve adapting bash's builtins/printf.def. - - * src/printf.c: (UNSPECIFIED): Define. - (print_direc): Use the special value, UNSPECIFIED, to indicate - that field_width or precision has not been specified. - (print_formatted): Fail if field_width or precision is the - special value, UNSPECIFIED. - Reported by Oliver Kiddle - - * src/sys2.h (INT_MIN): Define, if necessary. - * tests/misc/printf: Add a test for the above-fixed bug. - -2003-03-09 Jim Meyering - - * src/remove.c (AD_stack_pop): Cast sizeof... to int before - changing its sign. This avoids a warning from gcc on 64-bit systems. - Reported by Bob Proulx. - (pop_dir): Reverse order of sign change and cast, to be consistent - with the above. - -2003-03-08 Jim Meyering - - * tests/Makefile.am (evar-check): Check for POSIXLY_CORRECT not as a - shell variable, but only in the environment. With /bin/sh->bash, the - shell variable is set to `y', and that would cause a spurious warning. - Reported by Bob Proulx. - - * tests/Makefile.am (check-root): Remove touch/fifo. - It doesn't appear to have to be run as root. - - * tests/rm/fail-2eperm: Rather than simply using the first non-root - user name, make sure that the selected user name has a usable shell. - Reported by Paul Jarc. - - Before, when using shred on a device, one had to specify --exact, - or be careful to choose a size that would not be rounded up and - exceed the maximum value; that could result in a failure of - the final write. - * src/shred.c (do_wipefd): --exact is now the default for non-regular - files. Suggestion from Ben Elliston. - (usage): Say it. - - * tests/misc/tty-eof: Require at least version 1.11 of Expect.pm. - Old versions of Expect.pm (e.g., 1.07) lack the log_user function. - Patch by Bob Proulx. - - * src/Makefile.am (check-misc): Check for use of `defined' in - #define directives. - Change to $(srcdir) before running grep. - - * src/sleep.c: Remove now-unused #include and #define directives. - - * src/du.c (process_file): If a file's size is not being counted - e.g., because it's a hard link to a file we've already counted, - then don't print a line for it. - - * tests/du/hard-link: New test for the above-fixed bug. - * tests/du/Makefile.am (TESTS): Add hard-link. - - `du -S' didn't work - * src/du.c: Revert most of the `reorganization' change of 2003-02-20, - and make the two-array approach work. - - * tests/du/basic: Correct/add tests for the above fix. - Set LC_ALL, etc., now that we use sort. - Check the block/size of a small file, too. - Correct expected results for simple dir1/dir2/file case. - Add another test of du -S. - -2003-03-07 John David Anglin - - Avoid build failure with gcc on hppa1.1-hp-hpux10.20 (see GCC PR - middle-end/9986). As one of GCC's optimizations, it transforms a - fputs_unlocked call to a fputc_unlocked call when the string is - one character long. However, hpux doesn't have fputc_unlocked. - - * expr.c (usage): Use putchar, not fputs, to output a single character. - * ls.c (dired_dump_obstack): Likewise. - * ptx.c (output_one_tex_line, output_one_dumb_line): Likewise. - * stat.c (print_it): Likewise. - -2003-03-07 Jim Meyering - - * src/cp.c: Remove everything associated with mmap-stack.c. - This reverts the two changes of 2003-02-21. - * src/du.c: Remove everything associated with mmap-stack.c. - This reverts the change of 2003-02-19. - -2003-03-06 Jim Meyering - - * tests/cp/same-file: Unset CDPATH. Otherwise, having the - CDPATH shell variable set could cause this test to fail. - Reported by Karl Berry. - -2003-03-05 Jim Meyering - - * Version 4.5.9. - - * src/printf.c (print_esc): Remove pointless comparison of unsigned - integer with zero, to avoid a warning from Intel's ecc. - Reported by Nelson Beebe. - - * src/du.c (process_file): Sizes must all be of type uintmax_t. - Otherwise, for files or totals that are too big, numbers would - be truncated. Patch mostly by Michael Stone. - Reported by Ingo Saitz as Debian bug #183210. - - * tests/du/8gb: New test for the above-fixed bug. - * tests/du/Makefile.am (TESTS): Add 8gb. - - * src/du.c (MAX_N_DESCRIPTORS): Use 3 * UTILS_OPEN_MAX / 4 - rather than UTILS_OPEN_MAX - 10. - -2003-03-04 Jim Meyering - - * README: Refer new feature discussion to bug-coreutils@gnu.org, - rather than bug-gnu-utils, now that the former is better known. - Suggestion from Göran Uddeborg. - - * src/stat.c (usage): Capitalize consistently. - Reported by Göran Uddeborg. - - * Makefile.maint (rel-files): Include $(signatures), so that - those files are also copied into $(release_archive_dir). - - * src/df.c (find_mount_point): Call error here, now that restore_cwd - no longer does it. - * src/remove.c (AD_pop_and_chdir): Likewise. - - * tests/Makefile.am (check-root): Add fail-2eperm. - -2003-03-03 Jim Meyering - - * src/remove.c (remove_cwd_entries): Include the full filename of - the offending file, not just the basename. - - * tests/misc/tty-eof: Set $ME properly. - - * Makefile.maint (THIS_VERSION_REGEXP, PREV_VERSION_REGEXP): - Remove now-unused variables. - (tag-prev-version, prev-cvs-tag): Likewise. - - * src/remove.c (remove_cwd_entries) [!ROOT_CAN_UNLINK_DIRS]: Give an - accurate diagnostic when failing to remove a file owned by some other - user. Reported by Ivo Timmermans via Michael Stone. - This fixes Debian bug# 178471. - - * tests/rm/Makefile.am (TESTS): Add fail-2eperm. - * tests/rm/fail-2eperm: New test, for the above-fixed bug. - Based on a report from Ivo Timmermans. - -2003-03-02 Jim Meyering - - * src/copy.c (copy_internal) [un_backup]: When recovering from a - failure to create a hard link, do not remove the entry associating - the source dev/ino with the destination file name. - * tests/mv/Makefile.am (TESTS): Add hard-3. - * tests/mv/hard-3: New test, for the above-fixed bug. - Inspired by a report from Iida Yosiaki. - -2003-03-01 Jim Meyering - - * src/df.c (print_header): Don't embed spaces in a separate `Type' - header string. Instead, put `Filesystem' and `Type' headers in the - same string, so translators can use horizontal space as needed. - Reported by Jean Charles Delepine. - -2003-02-28 Jim Meyering - - * src/copy.c (copy_internal): When link fails because of an - existing destination file, unlink that file and try again. - Reported by Iida Yosiaki. - - * tests/mv/Makefile.am (TESTS): Add hard-2. - * tests/mv/hard-2: New test for the above-fixed bug. - Based on a test case from Iida Yosiaki. - -2003-02-26 Jim Meyering - - * tests/du/basic: Don't test du's -b option here. Directory byte - counts are smaller (512 rather than 4096) on at least OSF/1 5.1 - and IBM AIX 4.2. Reported by Nelson Beebe. - -2003-02-25 Jim Meyering - - * Makefile.maint (announcement): Now that ChangeLog entries - are output by announce-gen, don't do it here. - * announce-gen (print_changelog_deltas): New function. - (main): Use it. - -2003-02-22 Jim Meyering - - * announce-gen: New option: --release-type=TYPE - * Makefile.maint (beta, major): New targets. Remove `release'. - Put them all together on a line. - Pass the release type (via RELEASE_TYPE envvar) to the MAKE - invocation of `announcement'. - (announcement): Invoke announce-gen with --release-type=$RELEASE_TYPE. - - * announce-gen: New option: --news=NEWS_FILE. - Extract NEWS entries here, not via rules in Makefile.maint. - * Makefile.maint (announcement): Now that NEWS entries are - extracted by announce-gen, don't do it here. - (news-r1, news-r2): Remove now-unused definitions. - -2003-02-21 Jim Meyering - - * Version 4.5.8. - - Merge in changes from autoconf's version of this file. - * Makefile.maint (www-gnu): Define. - (standards.texi-url_prefix): Use $(www-gnu). - (make-stds.texi-url_prefix): Likewise. - - * src/cp.c: Include "mmap-stack.h". - (main): Invoke `run' through a macro that (when possible) runs it - with a large, mmap'd stack. - - * src/cp.c (run): New function, preparing for the above. - Exit from this function, not from main - (main): Call run. - - * src/du.c: New option: --apparent-size. - (enum) [APPARENT_SIZE_OPTION]: New member. - (long_options): Add it. - (usage): Describe it. - (main): Handle it. - ['b']: Set apparent_size. - David Eisner reported that the behavior of --bytes had changed. - Paul Eggert proposed the use of a new option, --apparent-size. - - * src/du.c (apparent_size): New global. - (print_only_size): Reflect the fact that we're printing byte counts, - not ST_NBLOCKSIZE-byte-block counts. - (print_size): Call print_only_size rather than duplicating its code. - (process_file): Accumulate byte counts, rather than block counts. - - * src/du.c (process_file): Always reset size_to_propagate_to_parent - for --separate-dirs (-S). - -2003-02-20 Jim Meyering - - * Use automake-1.7.3. Regenerate dependent files. - - * src/stat.c (print_stat): New format: %B (to print ST_NBLOCKSIZE). - This makes %b (number of ST_NBLOCKSIZE-byte blocks) more useful. - (usage) [%B]: Describe it. - [%b]: Refer to %B. - - * src/du.c (process_file): Reorganize the code to use only - one `sum' array, and change how -S works back to the way it was - before 2003-01-31. Patch by Bruno Haible. - - * tests/du/basic: New test. - * tests/du/Makefile.am (TESTS): Add basic. - - * tests/envvar-check: Add checks for the following: - BLOCK_SIZE, DU_BLOCK_SIZE, DF_BLOCK_SIZE, LS_BLOCK_SIZE. - - * tests/Makefile.am: Rename phony target envvar-check to evar-check - so as not to conflict with the distributed file by the same name. - - * src/du.c (process_file): Set info->skip before any possible return. - - Report correct usage for directories, not 0. - * src/du.c (process_file): Return for `file_type == FTW_DPRE' - _before_ recording the dev/ino of a directory. - Reported by Bruno Haible. - - Now, df always displays the device file name corresponding to the - listed mount point under `Filesystem'. Before, for an unmounted - block- or character-special file argument, it would display the - command-line argument instead. - * src/df.c (show_disk): Return a value indicating whether - there was a match. Don't try to find a mount point here. - (show_entry): If show_disk doesn't find a match, call show_point. - -2003-02-19 Jim Meyering - - * src/du.c: Include "mmap-stack.h". - (du_files): Add prototype with ATTRIBUTE_NORETURN. - Exit from this function, not from... - (main): ...here. - Instead, if possible, invoke du_files through a macro that - runs it with a large, mmap'd stack. - - * src/join.c (usage): Change wording in --help output: - use FILENUM instead of `SIDE' and say what FILENUM means. - Reported by Bernhard Gabler. - - * src/df.c (print_header): Rather than using a hard-coded literal - string of spaces matching the length of the English `...Type' header, - output the right number of spaces to match the selected translation. - Reported by Yann Dirson and Jean Charles Delepine as Debian bug 131113. - - * src/split.c (bytes_split): Remove unnecessary `else' after break. - (lines_split): Likewise. and correct misleading indentation. - - * src/split.c: Include "full-read.h". - (bytes_split, lines_split, line_bytes_split): Use full_read, - not safe_read. The way split was using the latter, a short read - could cause split to terminate before EOF. - - * tests/misc/tty-eof: Test all programs that can read stdin, - requiring no arguments and that write to standard output. - - * tests/misc/tty-eof: New file. Renamed from ... - * tests/misc/cat-tty-eof: Remove file. Rename to tty-eof. - * tests/misc/Makefile.am (TESTS): Reflect renaming. - -2003-02-18 Jim Meyering - - cksum would perform an extra read after encountering EOF - * src/cksum.c (cksum): Exit the loop upon EOF, too. - Patch by Michael Bacarella. - - Test for the bug fixed today in cksum, md5sum, and sha1sum. - * tests/misc/cat-tty-eof: Generalize, clean-up, and test for - cat, cksum, md5sum, and sha1sum all in the same loop. - -2003-02-14 Jim Meyering - - * src/remove.c: Include "euidaccess.h". - Remove declaration of euidaccess. - -2003-02-12 Jim Meyering - - * src/pathchk.c (portable_chars_only): Remove unnecessary `const' - in cast to avoid warning from icc. Reported by Alexandre Duret-Lutz. - -2003-02-10 Jim Meyering - - * src/test.c: Don't include group-member.h. - Include euidaccess.h. - (eaccess): Rewrite function to set the real uid and gid temporarily - to the effective uid and gid, then invoke 'access', and then set the - real uid and gid back. On systems that lack setreuid or setregid, - fall back on the kludges in euidaccess. Before, it would not work - for e.g., files with ACLs, files that were marked immutable, - or on file systems mounted read-only. Nelson Beebe raised the issue. - Paul Eggert suggested the new implementation. - -2003-02-09 Jim Meyering - - * src/test.c (test_stat): Remove function. It's job is done (only - when necessary) by the wrapper in lib/stat.c. Adjust all uses. - -2003-02-08 Jim Meyering - - * Version 4.5.7. - - * tests/mv/part-symlink: Don't assume that the file owner username - length is less than 9 in ls output: instead, omit that field - altogether. Reported by, and suggested fix from, Ferdinand. - - * tests/du/restore-wd: New test for just-fixed bug in ftw.c. - * tests/du/Makefile.am (TESTS): Add restore-wd. - - * src/rm.c: Correct now-invalid comment about cycle-detection. - -2003-02-06 Jim Meyering - - * NEWS: Add entries from old/*/NEWS - from fileutils-4.1 through 4.1.11 and - from sh-utils-2.0 through 2.0.15. Suggestion from Karl Berry. - - * Version 4.5.6. - - * src/du.c (process_file): Don't return early for excluded files - or for files whose dev/inode we've already seen. - -2003-02-05 Jim Meyering - - * tests/du/exclude: New file. - * tests/du/Makefile.am (TESTS): Add exclude. - -2003-02-04 Dmitry V. Levin - - * src/who.c (print_boottime, print_deadprocs, print_runlevel): - Fix memory allocation arithmetic. - -2003-02-04 Jim Meyering - - `df /dev/block-or-char-device-file--not-mounted' now reports - the name of the file system on which the file resides, usually `/'. - Before, it would leave the `Mounted on' field blank. - * src/df.c (show_disk): Move function to precede find_mount_point. - (show_disk): Add parameter: STATP. - If we don't find a matching device name, then resort to calling - find_mount_point. Reported by Bob Proulx. - -2003-02-03 Andreas Schwab - - * tests/rm/cycle: Require non-root. - * tests/rm/isatty: Likewise. - -2003-02-02 Jim Meyering - - * Version 4.5.5. - - * man/Makefile.am (check-x-vs-1): Use @PATH_SEPARATOR@, not `:'. - - Ensure that there are no offending uses of `:'. - * Makefile.maint (makefile_path_separator_check): New rule. - (local-check): Add it to the list. - -2003-02-01 Jim Meyering - - * src/du.c (MAX_N_DESCRIPTORS): Define. - - * src/stat.c (G_fail): New global. - (human_time): Diagnose failed localtime, not failed nstrftime. - (main): Fail if G_fail is set. - -2003-01-31 Richard Dawe - - * tests/basename/Makefile.am: Use @PATH_SEPARATOR@ instead of - hard-coding the path-separator. Also double-quote the new PATH, - to avoid problems when the path-separator is a semi-colon or when - `pwd` contains e.g. a space. - * tests/chgrp/Makefile.am: Likewise. - * tests/chmod/Makefile.am: Likewise. - * tests/chown/Makefile.am: Likewise. - * tests/cp/Makefile.am: Likewise. - * tests/dd/Makefile.am: Likewise. - * tests/dircolors/Makefile.am: Likewise. - * tests/du/Makefile.am: Likewise. - * tests/expr/Makefile.am: Likewise. - * tests/factor/Makefile.am: Likewise. - * tests/fmt/Makefile.am: Likewise. - * tests/install/Makefile.am: Likewise. - * tests/ln/Makefile.am: Likewise. - * tests/ls/Makefile.am: Likewise. - * tests/ls-2/Makefile.am: Likewise. - * tests/md5sum/Makefile.am: Likewise. - * tests/misc/Makefile.am: Likewise. - * tests/mkdir/Makefile.am: Likewise. - * tests/mv/Makefile.am: Likewise. - * tests/od/Makefile.am: Likewise. - * tests/rm/Makefile.am: Likewise. - * tests/rmdir/Makefile.am: Likewise. - * tests/seq/Makefile.am: Likewise. - * tests/sha1sum/Makefile.am: Likewise. - * tests/shred/Makefile.am: Likewise. - * tests/stty/Makefile.am: Likewise. - * tests/sum/Makefile.am: Likewise. - * tests/tail-2/Makefile.am: Likewise. - * tests/touch/Makefile.am: Likewise. - * tests/tsort/Makefile.am: Likewise. - * tests/unexpand/Makefile.am: Likewise. - -2003-01-31 Jim Meyering - - * src/stat.c: Include "file-type.h" - (print_human_type): Remove function. - (human_access): Rename from print_human_access. Return a string. - (human_time): Rename from print_human_time. Return a string. - (print_stat): Arrange so that field width and an alignment specifier - are honored for the %A, %F, %x, %y, and %z formats. - [%F]: Use file_type; this gives slightly different file type strings, - e.g., `directory' instead of `Directory' and `regular file' or - `regular empty file' instead of `Regular file'. - Prompted by a report from Richard Dawe that the uses of - S_IFSOCK and S_IFIFO in print_human_time were not portable - to systems using e.g., DJGPP. - -2003-01-31 Richard Dawe - - * src/stat.c (print_stat): Use S_ISLNK rather than an explicit - test using S_IFMT and S_IFLNK. S_IFLNK may not be defined. - -2003-01-31 Jim Meyering - - * src/du.c (main): Upon processing an invalid option or an invalid - --exclude-from or --max-depth option argument, don't exit right away, - in case there are others. Rather record the failure and exit after - processing other options. - - * GNUmakefile (TAR_OPTIONS): Set and export, in order to make - tar archive easier to reproduce. - - Rewrite to perform directory traversal using nftw. - - * src/du.c: Include "dirname.h", "ftw.h", and "quotearg.h". - (AUTHORS): Add self. - (opt_one_file_system): Move global into `main'. - (path, xstat, exit_status): Remove declarations. - (arg_length, suffix_length): New globals. - (G_fail): New global, sort of like the old `exit_status'. - (IS_FTW_DIR_TYPE): Define. - (print_only_size): New function. - (process_file): New function. - (str_init, ensure_space, str_copyc, str_concatc): Remove functions. - (str_trunc, pop_dir, count_entry): Likewise. - (du_files): Rewrite to use nftw. - -2003-01-30 Jim Meyering - - * tests/du/trailing-slash: Ensure that du/ftw follows a command-line - symlink-to-directory with -L, even without the trailing slash. - -2003-01-27 Jim Meyering - - * src/Makefile.am (check-misc): Check for st_blocks, too. - - * src/stat.c (print_stat): Use ST_NBLOCKS rather than `->st_blocks'. - Reported by Richard Dawe. - -2003-01-27 Andreas Schwab - - * src/ls.c (quote_name): Add fourth parameter, width, into which to - store the screen columns, and return the number of bytes instead. - (print_dir): Pass NULL as fourth parameter of quote_name. - (print_name_with_quoting): Likewise. - (length_of_file_name_and_frills): Get the width from the fourth - parameter of quote_name instead of return value. - -2003-01-27 Jim Meyering - - * src/ls.c (decode_switches): If `dired' is set without - `format == long_format', then silently reset dired. This doesn't - change the behavior of ls (all prior uses of dired were protected - by `&& format == long_format'), and lets us... - (DIRED_INDENT): ... remove the `format == long_format' conjunct. - (PUSH_CURRENT_DIRED_POS): Likewise. - (main): Likewise. - -2003-01-22 Jim Meyering - - * tests/du/no-x: New test, for functionality added to lib/ftw.c. - * tests/du/Makefile.am (TESTS): Add no-x. - -2003-01-21 Jim Meyering - - * src/remove.c (remove_entry) [ROOT_CAN_UNLINK_DIRS - && HAVE_STRUCT_DIRENT_D_TYPE]: If a file has d_type == DT_UNKNOWN - it may still be a directory -- or not (e.g., with FreeBSD on an - NFS-mounted file system), so resort to calling lstat to find out. - Based on a patch by Michael van Elst. - - * tests/cp/same-file: Don't assume that the file owner username - length is less than 9 in ls output: instead, omit that field - altogether. Reported by, and suggested fix from, Ferdinand. - -2003-01-20 Jim Meyering - - * tests/date/Test.pm (wide-fmt): New test to demonstrate that - large format widths no longer cause strftime to infloop. - - * Makefile.maint (mail_gpg_sign_cookie): Remove now-unused definition. - -2003-01-19 Jim Meyering - - * src/readlink.c: Include "canonicalize.h". - -2003-01-18 Jim Meyering - - * src/ls.c (Dereference_symlink) [DEREF_COMMAND_LINE_SYMLINK_TO_DIR]: - New member. - (enum) [DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION]: New member. - (long_options): Add option --dereference-command-line-symlink-to-dir. - (main): Make DEREF_COMMAND_LINE_SYMLINK_TO_DIR be the default, - rather than DEREF_COMMAND_LINE_ARGUMENTS, when none of the - -d, -F, -l options is specified. - (decode_switches): Handle --dereference-command-line-symlink-to-dir. - (gobble_file): Honor DEREF_COMMAND_LINE_SYMLINK_TO_DIR. - Change --dereference-command-line (-H) to dereference *all* - command line arguments, including broken symlinks. - -2003-01-15 Paul Eggert - - Change ls -H back to the way it was yesterday, since this is - compatible with FreeBSD and the POSIX spec is confusing - and somewhat contradictory. - - * src/ls.c (DEREF_COMMAND_LINE_ARGUMENTS): Change name back - from DEREF_COMMAND_LINE_SYMLINK_TO_DIR, updating all uses. - (long_options): Change the long option name back. - (usage): Change the usage back. - (gobble_file): When -H is specified, dereference a top-level - arg even if it points to a non-directory. - -2003-01-15 Jim Meyering - - * src/ls.c (gobble_file): Fall back on using lstat when required: - when --dereference (-L) is not specified, and - - when operating on a dangling symlink - - when operating on command-line-symlink-to-directories - This fixes numerous problems. Here are examples: - - `ls dangling-symlink' would fail with `no such file...' - Now it prints `dangling-symlink'. - - `ls -i symlink' would mistakenly print the inode of the referent. - Now it prints the inode of the symlink. Likewise for --size (-s). - Based on a patch from Michael Stone. - Reported by Deepak Goel as Debian bug #173793. - - Rename ls's --dereference-command-line (-H) - option to --dereference-command-line-symlink-to-dir. - * src/ls.c [enum Dereference_symlink] - (DEREF_COMMAND_LINE_SYMLINK_TO_DIR): Rename from - DEREF_COMMAND_LINE_ARGUMENTS. Update all uses. - (long_options): Rename the long option. - (usage): Say that --dereference-... changes how ls treats - only symlinks to directories specified on the command line. - -2003-01-14 Jim Meyering - - * tests/ls/dangle: New file/test, for the above fix. - * tests/ls/inode: Another new file/test, for the above fix. - * tests/ls/Makefile.am (TESTS): Add dangle and inode. - - * src/ls.c (gobble_file): Fix a bug introduced in 4.5.4 that made it - so that ls --color would no longer highlight the names of files with - the execute bit set when not specified on the command line. - Patch by Michael Stone. Reported by Stephen Depooter as - Debian bug 175135. - - * tests/ls-2/tests (color-exe): New test, for the above fix. - -2003-01-13 Jim Meyering - - * tests/shred/exact: Also test for just fixed bug with --zero. - - * src/shred.c (long_opts): --zero does not require an argument. - Patch by Michael Stone. Reported by Roland Turner as Debian bug 172019. - -2003-01-12 Jim Meyering - - * Makefile.maint (cvs-update): Skip any file with local modifications. - - * src/unexpand.c (usage): Document --first-only and mention that - --tabs=N (-t) enables --all (-a). Reported by wiregauze@yahoo.com. - -2002-12-01 Dmitry V. Levin - - * src/df.c: Include "canonicalize.h". - Use canonicalize_file_name unconditionally. - -2003-01-09 Jim Meyering - - * README: Add readlink. - -2002-11-30 Dmitry V. Levin - - * src/df.c: Include "xgetcwd.h". - * src/pwd.c: Likewise. - -2002-11-30 Dmitry V. Levin - - * src/shred.c: Remove declaration of xstrdup. - We already get it via xalloc.h which is included via system.h. - -2002-08-27 Dmitry V. Levin - - New program: readlink. - - * src/Makefile.am (bin_PROGRAMS): Add readlink. - * src/readlink.c: New file. - - * man/readlink.x: New file. - * man/Makefile.am (dist_man_MANS): Add readlink.1. - (readlink.1): New rule. - -2003-01-09 Jim Meyering - - When selecting ranges of byte offsets (as opposed to ranges of fields) - and when --output-delimiter=STRING is specified, output STRING between - ranges of selected bytes. - * src/cut.c (RANGE_START_SENTINEL): Define. - (output_delimiter_specified): New global. - (print_kth): Add parameter. Adjust all callers. - (set_fields): Mark each range-start index with RANGE_START_SENTINEL. - (cut_bytes): When requested, output STRING between ranges of - selected bytes. - (main): Make a diagnostic a little clearer. - Based on a patch from Jan Nieuwenhuizen. - - * tests/cut/Test.pm: New tests for the above. - - * src/cut.c (set_fields): Make code agree with comment: - Don't merge abutting ranges like 4- and 2-3. This makes no - difference currently, but is required to support an upcoming change. - -2003-01-07 Jim Meyering - - * src/cut.c (set_fields): Fix typo in comment. - - * tests/touch/not-owner: New test, mostly extracted from fail-diag. - * tests/touch/Makefile.am (TESTS): Add not-owner. - * tests/touch/fail-diag: Remove the test for non-owner diagnostic. - Now, this tests only the nonexistent-directory diagnostic. - Suggestion from Michael Stone. - - * tests/touch/fail-diag: Fix typo: s/ld/ls/. - -2003-01-04 Jim Meyering - - * src/copy.h: Remove use of PARAMS. - * src/remove.h: Likewise. - * src/chown-core.h: Likewise. - - rm could be tricked into mistakenly reporting a cycle. - * src/remove.c: [cycle_check_state]: New global. - (remove_cwd_entries): Adapt to new semantics of cycle_check. - (rm): Call cycle_check_init and cycle_check_free for each file. - * tests/rm/cycle (rm): New test, for the above fix. - * tests/rm/Makefile.am (TESTS): Add cycle. - - When rm detects a cycle, don't abort the entire command, - but rather just the affected command line argument. - * src/remove.c: Include - (struct dirstack_state) [current_arg_jumpbuf]: New member. - (remove_cwd_entries): Call longjmp if we detect a cycle. - (rm): Call setjmp here. - - * src/remove.c (cycle_check, is_power_of_two): Remove functions. - Instead, include cycle-check.h and use it. - - * src/remove.h (struct dev_ino): Remove declaration. - - * src/remove.c (remove_cwd_entries): Fix typos in comment. - - Don't include trailing /. in diagnostics about directories. - * src/remove.c (full_filename_): When FILENAME is just `.' - and there is a nonempty directory-name part, don't append `/.'. - * tests/rm/unread2: Remove trailing /. from diagnostic. - * tests/rm/rm2: Likewise. - - * src/remove.c (struct dirstack_state): Define. - To be used in place of these file-scoped globals ... - (dir_stack, len_stack, Active_dir): Remove globals. - (ds_init, ds_free): New functions. - (full_filename): Define. - (full_filename_): Rename from full_filename. - - Begin to make AD_* functions more generic. - * src/remove.c (AD_push_initial): Don't set status to RM_OK here. - (AD_push): Likewise. - (AD_INIT_OTHER_MEMBERS): Define. - (remove_dir): Define the `status' member manually after each - call to AD_push or AD_push_initial. - - * src/Makefile.am (check-misc): New rule, to ensure that no more - S_IS* macro definitions sneak into the code. - (check): Depend on check-misc. - - * src/remove.c [S_ISLNK]: Don't define. It's already defined in sys2.h. - * src/du.c (count_entry) [S_ISLNK]: Don't define. - * src/shred.c [S_ISLNK, S_ISFIFO, S_ISSOCK]: Don't define. - -2003-01-03 Jim Meyering - - * src/true.c: Add copyright. - (AUTHORS): I suppose I've written it. - - * src/Makefile.am (false.c): Make the generated file be read-only. - -2003-01-04 Jim Meyering - - * src/ls.c: Include "dev-ino.h". - [struct dev_ino]: Remove declaration. - -2003-01-02 Jim Meyering - - * src/cp.c (do_copy): Tweak diagnostic to be consistent with the one - from mv: s/missing file arguments/missing file argument/. - With --target-directory=DIR, cp and mv work with a single file argument. - Reported by Karl Berry. - - * tests/rm/isatty: Enable this test. - -2002-12-31 Jim Meyering - - * src/remove.c (AD_push_initial): Don't set status to RM_OK here. - (AD_push): Likewise. - (AD_INIT_OTHER_MEMBERS): Define. - (remove_dir): Define the `status' member manually after each - call to AD_push or AD_push_initial. - - * src/ls.c [struct dev_ino]: Remove definition. - Include "dev-ino.h" instead. - -2002-12-28 Jim Meyering - - * tests/du/Makefile.am (TESTS): Add no-deref. - * tests/du/no-deref: New script. - -2002-12-23 Jim Meyering - - * src/remove.c (remove_cwd_entries): Fix typo in comment. - -2002-12-21 Jim Meyering - - * announce-gen: Generate MML-formatted announcement. - This makes it a *lot* harder to send stale MD5/SHA1 signatures. - -2002-12-20 Jim Meyering - - * src/touch.c (touch): Change the wording of a diagnostic so - that it makes sense both when the file exists and when it doesn't. - Suggestion from Michael Stone. - -2002-12-18 Jim Meyering - - * src/stty.c (valid_options): Declare to be static. - -2002-12-15 Jim Meyering - - * Makefile.cfg: Remove rules related to generating m4/jm-glibc-io.m4. - - * src/chmod.c, src/copy.c, src/copy.h, src/cp-hash.h, src/csplit.c: - * src/date.c, src/expr.c, src/fmt.c, src/id.c, src/install.c: - * src/ls.c, src/od.c, src/pathchk.c, src/pr.c, src/remove.c: - * src/shred.c, src/sort.c, src/stat.c, src/stty.c, src/sum.c: - * src/tee.c, src/test.c: Remove all uses of `PARAMS'. - - * src/remove.c (PARAMS): Remove definition. - * src/sys2.h: Likewise. - - * src/ls.c, src/stat.c, src/date.c: Remove declaration of nstrftime. - Include strftime.h instead. - -2002-12-14 Jim Meyering - - * Makefile.cfg ($(url_dir_list)): Use .../coreutils, not .../fetish. - - * src/system.h [! HAVE_DECL_MEMRCHR]: Declare memrchr. - This is necessary at least for Irix6.5 when using c89. - Reported by Nelson Beebe. - - * tests/misc/Makefile.am (TESTS): Add cat-tty-eof. - - * tests/misc/cat-tty-eof: New test. - - * src/mknod.c (usage): Specify how major and minor mode numbers - are interpreted. Report forwarded by Kristin E Thomas. - * src/mknod.c: Remove now-redundant usage-specifying comment. - -2002-12-13 Jim Meyering - - * Version 4.5.4. - - * tests/du/trailing-slash: Allow for a directory of size `0'. - That happens at least on file systems of type tmpfs on linux-2.4.18. - - * announce-gen: New script to begin replacing the commands - associated with the rule here... - * Makefile.maint (announcement): Invoke announce-gen. - * Makefile.am (EXTRA_DIST): Add announce-gen. - - * tests/cp/preserve-2: New file/test, for latest fix. - * tests/cp/Makefile.am (TESTS): Add preserve-2. - -2002-12-11 TAKAI Kousuke - - Fix a bug whereby cp would fail to parse an option like - --preserve=mode,ownership. - * src/cp.c (decode_preserve_arg): Advance `comma' to - point the character following the comma. - -2002-12-11 Jim Meyering - - * src/pathchk.c (NEED_PATHCONF_WRAPPER): Undefine before defining, - in case it's already defined. - -2002-12-09 Jim Meyering - - * tests/touch/fail-diag: Don't get a test failure if /no exists. - Instead, evoke a framework failure if /no-$$ exists. - Reported by Michael Stone. - -2002-12-08 Jim Meyering - - * src/du.c (lstat) [! LSTAT_FOLLOWS_SLASHED_SYMLINK]: - Define to rpl_lstat, so that even on systems like Solaris 5.8, - du honors (per POSIX) the trailing slash on an argument referring - to a symlink-to-directory. - -2002-12-06 Jim Meyering - - * Use autoconf-2.57. Regenerate dependent files. - * Use automake-1.7.2. Regenerate dependent files. - - * src/ls.c (gobble_file): Also stat the file if it's a - regular file and --indicator-style=classify (aka -F). - Thanks to Ed Santiago for opening my eyes. - - * tests/ls/file-type: New file. Test for the above. - A test to contrast ls -F and ls --indicator-style=file-type. - * tests/ls/Makefile.am (TESTS): Add file-type. - -2002-12-04 Jim Meyering - - * tests/ls/follow-slink: Make sure the symlink was created. - Richard Dawe reported that `ln -s link link' succeeds, but creates - no file on systems running some version of the DJGPP libc. - -2002-12-03 Jim Meyering - - * src/Makefile.am (AUTOMAKE_OPTIONS): Remove definition (to ansi2knr) - since this package no longer panders to K&R compilers. - -2002-12-02 Jim Meyering - - * tests/du/slink: Skip this test if `.' is on a non-local file system. - - * tests/Fetish.pm (_at_replace): Do the substitution only if there's - something to replace. - -2002-12-01 Jim Meyering - - * src/stat.c: Don't include or . - That's already done via system.h. - * src/dircolors.c: Don't include . - -2002-11-30 Jim Meyering - - * ls.c (gobble_file): Remove the block of code that caused - `ls --color -F symlink-to-dir' to list the files in - `symlink-to-dir/.'. Now, it prints `symlink-to-dir@', (just - like `ls -F symlink-to-dir') but with the addition of highlighting. - Similarly, `ls --color -dF symlink-to-dir' would print - `symlink-to-dir/'; now it prints `symlink-to-dir@'. - Reported by Jeff Sheinberg as Debian bug #168203. - * tests/ls-2/tests (sl-F-color, sl-dF-color): New tests for the above. - - ls is now more efficient: with certain options, it no longer needs - to stat each directory entry on systems with valid dirent.d_type. - * src/ls.c (print_dir): Add DT_LNK and DT_REG. - (main): Make --recursive set format_needs_type, not format_needs_stat. - (gobble_file): Remove a FIXME comment, now that it's fixed. - -2002-11-24 Jim Meyering - - * src/du.c (du_files): Don't strip any trailing slash. - Rewrite so that `/' is no longer represented internally as - the empty string. - (count_entry): When appending a file name component, - account for the fact that the current path may end in `/'. - François Pinard reported that `du symlink-to-dir/' was not - equivalent to `du symlink-to-dir/.'. Now it is. - * tests/du/trailing-slash: New file/test, for the above fix. - * tests/du/Makefile.am (TESTS): Add trailing-slash. - -2002-11-23 Jim Meyering - - * src/tac.c (output): Declare some local variables to be of type size_t, - rather than `int' to avoid warnings from gcc. - -2002-11-21 Paul Eggert - - * src/ls.c (decode_switches): Use case-sensitive matching to - decode the QUOTING_STYLE environment variable. This is more - consistent with the documentation, and with --quoting-style. - -2002-11-21 Martin Buck - - * tests/sum/sysv: Export LC_ALL=C, to avoid failure when - run in a UTF locale. Report and suggested fix by Bruno Haible. - * tests/fmt/basic: Likewise. - -2002-11-17 Jim Meyering - - * configure.ac: Update via autoupdate. - Add `AM_GNU_GETTEXT_VERSION(0.11.5)'. - - * src/mv.c (movefile): Don't remove trailing slashes from SOURCE. - Reported by Hans Ginzel. - -2002-11-15 Jim Meyering - - * Makefile.cfg (gnu_rel_host): Define. - (url_dir_list): Choose from (alpha|ftp).gnu.org depending - on whether $(VERSION) looks like a major release number. - - * Makefile.maint (mail_gpg_sign_cookie): Backslash-escape `#'. - (release): Rename from `alpha'. - (alpha): Depend on release. - - * Makefile.maint (signatures): Define with ?=, so it's easy to override. - -2002-11-14 Jim Meyering - - * Makefile.maint (mail_gpg_sign_cookie): Make optional. - (announcement): Use the new variable. - - * Makefile.maint: Sync with Bison, i.e.: - (po-check): Scan .l and .y files instead of the - .c and the .h files that they generate. This fixes the bug - reported by Tim Van Holder in: - - Look for N_ as well as for _. Try to avoid matching #define for - N_ and _. - From Paul Eggert. - -2002-11-12 Jim Meyering - - * src/ls.c (HAVE_SYMLINKS): Remove unnecessary macro definition. - Replace sole use with equivalent `#ifdef S_ISLNK'. - Inconsistency reported by Dmitry V. Levin. - -2002-11-11 Jim Meyering - - * src/stat.c (usage): Transform --help items output via s/ - / /, - so that help2man produces properly formatted man pages. - Reported by Herbert Xu as Debian bug #168400. - -2002-11-10 Jim Meyering - - * src/ls.c (sighandler): Handle SIGTSTP specially. - Based on suggestions from Solar Designer and Dmitry V. Levin. - Add comments. - - * Makefile.cfg (cvs_files): Define. From autoconf. - (local_updates): Likewise. - - * src/ls.c (restore_default_color_handler, sigtstp_handler): - Remove functions. - (sighandler): New function, based on the one in sort.c. - (main): Use sigaction, if possible; otherwise signal. - Handle these signals: - SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, SIGTSTP. - Don't register our handler if the signal is already being ignored. - - * src/dd.c (interrupt_handler): Use raise, rather than kill+getpid. - * src/csplit.c (interrupt_handler): Likewise. - * src/sort.c (sighandler): Likewise. - (main): Declare `i' and `nsigs' to be unsigned, not int. - -2002-11-09 Jim Meyering - - ls --color: restore terminal text color upon signal. - * src/ls.c: Include "full-write.h" and . - (restore_default_color, restore_default_color_handler): New functions. - (sigtstp_handler, put_indicator_direct): New functions. - (main) [print_with_color]: Register signal handlers. - Patch mostly by Solar Designer and Stanislav Ievlev. - - Update from autoconf. - * Makefile.maint (AMTAR): Remove definition. - (update, cvs-update, po-update, do-po-update): New rules. - (wget-update): Update (thus renaming to cvs-update). - (automake_repo): Use anoncvs@sources.redhat.com. - -2002-11-06 Jim Meyering - - * tests/misc/Makefile.am (TESTS): Add printf-hex. - - * tests/misc/printf: Be careful to test the code in this package, - not the shell built-in function. - - * src/printf.c (print_esc): A hexadecimal escape sequence has - at most two hex. digits, not three. Reported by Padraig Brady. - (usage): Update description. - * tests/misc/printf-hex: New file/test, for the above fix. - -2002-10-07 Paul Eggert - - Add support for locale-specific size indications (e.g., - thousands-separators) and for explicit size suffixes on output. - - * doc/coreutils.texi (Block size): Say that: - This affects display format as well as block size. - Fractional block counts are rounded up. - ls file size blocksize defaults to 1. - A block size spec preceded by ' generates thousands separators. - A suffix without a preceding integer generates suffixes. - (tail invocation): 32k -> 32 KiB. - (What information is listed): ls -h is now equivalent to - ls --block-size=human, and ls -H is now equivalent to - ls --block-size=si. Displayed file size is now always affected by - --block-size. - - * lib/inttostr.c, lib/inttostr.h, lib/imaxtostr.c, lib/offtostr.c, - lib/umaxtostr.c: New files, taken from GNU tar. - - * lib/Makefile.am (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c, - umaxtostr.c. - (EXTRA_DIST): Add inttostr.c. - - * lib/human.c, lib/human.h: Rewrite to support locale-specific - notations like thousands separators. - Specify what includer of include.h must include beforehand. - (human_group_digits, human_suppress_point_zero, human_autoscale, - human_base_1024, human_SI, human_B): New enum values. - (human_readable): Rename from human_readable_inexact; put the - options before the sizes. All uses changed. The old human_readable - function has been removed; use inttostr.h instead. - (human_options): Renamed from human_block_size, with new signature - that allows block sizes up to UINTMAX_MAX. All callers changed. - - * m4/prereq.m4 (jm_PREREQ_HUMAN): Check for locale.h, localeconv, - AC_HEADER_STDBOOL. No need to check for limits.h since it's in - freestanding C89. No need to check for stdlib.h or string.h since - autoconf does this now. - - * src/cksum.c (cksum): Use primitives from inttostr.h, not - human.h, to print large numbers simply. - * src/csplit.c (handle_line_error, parse_patterns): Likewise. - * src/dd.c (print_stats, main): Likewise. - * src/df.c (print_header): Likewise. - * src/factor.c (print_factors): Likewise. - * src/ls.c (print_long_format, print_file_name_and_frills): Likewise. - * src/shred.c (dopass): Likewise. - * src/sort.c (checkfp): Likewise. - * src/sum.c (bsd_sum_file, sysv_sym_file): Likewise. - * src/tail.c (xlseek): Likewise. - * src/wc.c (write_counts, wc): Likewise. - - * src/df.c (human_output_opts): New var. - (output_block_size): Now uintmax_t, not int, to handle larger - block sizes. All uses changed. - * src/du.c: Likewise. - * src/ls.c: Likewise. - - * src/df.c (print_header): In the header line, prefer SI to human - representation if it's shorter; if neither is shorter, try to - intuit what the user would prefer. - - * src/expr.c (inttostr): Remove; use new imaxtostr library - function instead. - - * src/ls.c (file_output_block_size): New var, to distinguish - file sizes from other sizes. - (decode_switches): Set it. - - * src/shred.c (OUTPUT_BLOCK_SIZE): remove. - (dopass): When printing progress, use floor for what has been done - so far (since we should be conservative there), and ceiling for - what needs to be done (since that's what other programs use). - -2002-10-19 Jim Meyering - - * src/pinky.c (print_heading): Align TTY and Name headings. - Reported by Karl Eichwalder. - -2002-10-18 Jim Meyering - - * src/split.c (cwrite): Change type of `bytes' parameter to size_t - Remove now-useless cast. - (stdread): Remove function. - (bytes_split): Use size_t instead of int. - Use safe_read, not stdread. - (lines_split): Likewise. - Use memchr rather than a `while' loop. - (line_bytes_split): Use size_t instead of int. - Use safe_read, not stdread. - (main): Add some FIXME comments to remind me to remove casts. - - * src/system.h (ST_BLKSIZE): Correct comment describing how to - reproduce HPUX-11 cat failure. From Petter Reinholdtsen. - -2002-10-17 Jim Meyering - - Fix a problem that could make e.g., `cat' misbehave on systems which - give invalid (unreasonably large) values for stat.st_blksize. - * src/system.h (ST_BLKSIZE): Ensure that the result is in [1..4MB]. - Reported by Petter Reinholdtsen. - -2002-10-14 Jim Meyering - - Specifying a printf conversion specifer as nl's separator string - could cause nl to segfault. - * src/nl.c (build_print_fmt): Don't include separator string - in the printf format; it might contain `%'. - Use a better bound on the length of the print_fmt buffer. - (print_lineno): Print the separator here instead. - Reported by Doug Coleman. - - * tests/misc/nl: New file/tests, including a test for the above. - * tests/misc/Makefile.am (TESTS): Add nl. - - * tests/misc/split-l: New test, to make sure `split --lines=N' works. - * tests/misc/Makefile.am (TESTS): Add split-l. - -2002-10-13 Jim Meyering - - * Version 4.5.3. - - * src/du.c (usage): Tweak description of --dereference-args/-D. - - * src/du.c (count_entry): Also save cwd when dereferencing (via - --dereference-args, -D) a command-line argument. - Reported by Michal Svec. Based on a patch by Andreas Schwab. - - * src/Makefile.am (../AUTHORS): New target/rule. - -2002-10-12 Jim Meyering - - * src/paste.c (paste_parallel): Declare local, `delims_saved', to be - of type size_t, since that's the way it's used and avoids a warning. - - * src/csplit.c (struct cstring) [len]: Declare to be unsigned int, - since that's how it's always used and avoids a new warning from gcc. - (read_input): Adapt to new safe_read ABI. - - * src/cut.c (cut_fields): Add a temporary size_t variable, n_bytes, - to avoid warnings. - - * src/pinky.c (print_long_entry): fread returns size_t. - Declare local `bytes' accordingly, to avoid warning. - - tail -c +N would perform an extra read after encountering EOF - [this change is analogous (bytes vs. lines) to the one of 2002-01-27] - * src/tail.c (start_bytes): Detect EOF, inform caller. - (tail_bytes): Upon EOF in start_bytes, return immediately. - (file_lines): Reorganize to use memrchr rather than an explicit loop. - Adapt to new safe_read ABI. - -2002-10-11 Jim Meyering - - * tests/du/deref: New file/test, for the above fix. - * tests/du/Makefile.am (TESTS): Add deref. - -2002-10-10 Jim Meyering - - * tests/ln/Makefile.am (TESTS): Add target-1. - * tests/ln/target-1: New file/test, for the fix on 2002-10-08. - -2002-10-09 Jim Meyering - - * tests/cp/backup-is-src: Ensure that certain environment variables - are not set (e.g., SIMPLE_BACKUP_SUFFIX). Reported by Duncan Roe. - - * tests/tail-2/big-4gb: Mark this as an expensive test; it would - consume 4GB of disk space on systems without support for sparse files. - Fix a logic error that'd make it `cat err' even though dd didn't fail. - - * src/dircolors.hin (.jar): Fix typo: s/;3$/;31/. - Patch by steven@magelico.net, forwarded by Michael Stone. - - * tests/ls/dired: Ensure that ls produces English messages. - Patch by Alexey Vyskubov, forwarded by Michael Stone. - -2002-10-08 Dmitry V. Levin - - * src/ln.c (main): Fix target_directory parsing when n_files == 1. - -2002-10-08 Jim Meyering - - * tests/tail-2/big-4gb: Use double quotes around diagnostic. - Fix syntax in test: use =, not ==. - Reported by Bob Proulx. - Change all the rest like this: grep -lR "testing framework'" .\ - |xargs perl -pi -e 's/'\''(\$0: failure in testing framework)'\''/"$1"/' - - * src/sum.c (sysv_sum_file): Adapt to new safe_read ABI. - * src/tr.c (squeeze_filter, read_and_delete, read_and_xlate): Likewise. - * src/tac.c (save_stdin, tac_stdin_to_mem): Likewise. - * src/wc.c (wc): Likewise. - -2002-10-07 Paul Eggert - - * src/cat.c (cat): - Don't advance the write pointer past the end of the write buffer. - * src/sort.c (begfield, limfield): Likewise. - -2002-10-07 Jim Meyering - - * src/cat.c (simple_cat, cat): Adapt to new safe_read ABI. - * src/head.c (head_bytes, head_lines): Likewise. - -2002-10-06 Jim Meyering - - * src/dd.c (scanargs): Ensure that specified block sizes (specified - via ibs=N, obs=N, and bs=N) are no larger than SSIZE_MAX. - (skip, dd_copy): Adapt to new safe_read ABI. - - * Makefile.maint (signatures): Define. - (%.sig): New rule. - (announcement): Depend on $(signatures). - - * Makefile.maint (announcement): Output all URLs for detached - signatures, not just the last one from the previous loop. - -2002-10-05 Jim Meyering - - * Version 4.5.2. - - * src/remove.c (remove_entry) [ROOT_CAN_UNLINK_DIRS]: With `rm -i DIR', - don't recurse into directory, DIR. Prompted by a report from - Leonardo Milano. - - * tests/rm/i-no-r: New file/test, for the above fix. - * tests/rm/Makefile.am (TESTS): Add i-no-r. - - * tests/tail-2/big-4gb: New file/test, for the fix of 2002-09-27. - * tests/tail-2/Makefile.am (TESTS): Add big-4gb. - -2002-10-03 Jim Meyering - - * src/rm.c (AUTHORS): Mark translatable string with `N_ (...)'. - * src/df.c (AUTHORS): Likewise. - * src/du.c (AUTHORS): Likewise. - * src/tail.c (AUTHORS): Likewise. - * src/touch.c (AUTHORS): Likewise. - -2002-10-02 Jim Meyering - - * Makefile.am (SUBDIRS): Remove `old'. - (EXTRA_DIST): List the files in old/. - * configure.ac (AC_CONFIG_FILES): Remove old/* names. - Suggestion from Akim Demaille. - -2002-10-01 Jim Meyering - - * src/sys2.h (SSIZE_MAX): Define. - -2002-09-30 Jim Meyering - - * src/csplit.c: Don't include stdlib.h here. It's already included - via system.h. - -2002-09-29 Jim Meyering - - * src/tr.c (find_bracketed_repeat): Rearrange pointer/integer - expression to avoid bogus warning from gcc. - - * src/cat.c (simple_cat): Use a temporary to avoid bogus warnings. - (cat): Declare insize and outsize to be of type size_t, not int. - Rearrange pointer/integer expressions to avoid bogus warnings. - (main): Declare insize and outsize to be of type size_t, not int. - - * src/tail.c (parse_options): Give a sensible diagnostic for - an invalid byte or line count. Reported by Mikko Tuumanen. - - * src/touch.c (main): Split a long line. - - * tests/du/Makefile.am (TESTS): Add slink. - * tests/du/slink: New test for system.h change of 2002-08-31. - - In move mode, always first try to rename. Before, upon failure to - rename a directory, this code would never attempt to rename any - other file in that directory, but would thenceforth always copy. - On some systems (e.g., NetApp's OnTap-6.4), renaming a directory - may fail with EXDEV, yet renaming files within that directory to - a newly-created destination directory succeeds. - * src/copy.c (copy_internal): Remove local, move_mode; - use x->move_mode instead. Based on a patch from Tom Haynes. - -2002-09-28 Jim Meyering - - * src/split.c (FAIL_ONLY_ONE_WAY): New macro. - Factor out some duplication. - (main): Use it. - [case 'a']: Use strtoul rather than strtol to avoid compiler warnings. - - * src/sort.c (begfield, limfield): Rearrange comparisons to avoid - compiler warnings. - (fillbuf, keycompare): Cast literal `-1' to size_t in comparisons, - to avoid compiler warnings. - - * src/shred.c (dopass): Use a uintmax_t temporary to avoid bogus - compiler warnings. - - Fix things so `mkdir -p' can create very deep directories, e.g., - mkdir -p $(perl -e 'print "a/" x 40000') now works. - * src/mkdir.c (main): For --parents (-p), call make_path with the - entire directory name, so we don't ever require that file operations - like stat or chmod be performed on the entire command line argument. - * makepath.c (make_path): Restore umask *before* creating the final - component. - -2002-09-27 Andreas Schwab - - * src/tail.c (tail_bytes): Change type of bytes_remaining to off_t - to avoid overflow. Reported by Hans Lermen. - -2002-09-26 Jim Meyering - - * src/install.c (get_ids): Use strtoul, not strtol. Remove some casts. - -2002-09-25 Jim Meyering - - * src/test.c (eaccess): Change type of local `euid' from int to uid_t - and add a cast, to avoid a warning about `signed and unsigned type in - conditional expression'. - -2002-09-22 Jim Meyering - - * src/rmdir.c: Include "dirname.h", for declaration of - strip_trailing_slashes. - - * src/stat.c (PRIdMAX, PRIuMAX): Remove definitions. - Now they're defined through system.h. - - * src/cp-hash.c, src/dd.c, src/df.c, src/du.c, src/ls.c, - * src/stat.c, src/wc.c: Remove all inclusions of inttypes.h, - since it's already included from sys2.h via system.h. - - * Use automake-1.6f. Regenerate dependent files. - - * src/Makefile.am (PERL): Remove duplicate definition. - - fmt's -s, -t, -c options didn't work properly for long lines. - Since get_line may end up calling put_paragraph (for long lines), - be sure to set global, `other_indent', before it is used there. - - * src/fmt.c (set_other_indent): New function, factored out of... - (get_paragraph): ... here. Call it. - (get_line): Call set_other_indent before calling flush_paragraph, - which calls fmt_paragraph, which in turn calls put_paragraph, - which uses other_indent. - - * tests/fmt/Makefile.am (TESTS): Add long-line. - * tests/fmt/long-line: New file/test, for the above fix. - -2002-09-21 Jim Meyering - - * src/od.c: No longer include deprecated . - It was required solely for now-removed reference to BITSPERBYTE. - * src/install.c: Likewise. - Suggestion from Bruno Haible. - -2002-09-06 Andreas Schwab - - `rmdir -p dir-specified-with-trailing-slash/' would fail. - * src/rmdir.c (remove_parents): Strip trailing slashes. - -2002-09-20 Jim Meyering - - * tests/rmdir/t-slash: New file/test, for the above fix. - * tests/rmdir/Makefile.am (TESTS): Add t-slash. - - * Makefile.maint (announcement): Arrange to gpg-sign the message. - Add a URL for each detached signature file. - -2002-09-07 Bruno Haible - - * configure.ac: Add need-ngettext to AM_GNU_GETTEXT invocation. - -2002-09-18 Jim Meyering - - `od -t x8' used the wrong (`l'-prefixed) printf format. - Likewise for the o8 and u8 formats. - * src/od.c (ISPEC_TO_FORMAT): Define macro. - (decode_one_format): Use PRIdMAX, PRIoMAX, etc. for LONG_LONG. - Reported by Arun Sharma. - -2002-09-17 Jim Meyering - - * src/sys2.h (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Define if necessary. - From gettext's intl/loadmsgcat.c. - - * tests/od/x8: New file/test, for the above fix. - * tests/od/Makefile.am (TESTS): Add x8. - -2002-09-15 Jim Meyering - - * Use autoconf-2.54. Regenerate dependent files. - - * src/csplit.c (get_format_width): Add cast to avoid - warning about `signed and unsigned type in conditional expression'. - -2002-09-14 Jim Meyering - - * src/who.c (print_user): Change type of local to size_t - to avoid warnings about `comparison between signed and unsigned'. - * src/ptx.c (generate_all_output): Likewise. - - * src/dd.c (main, skip): Add casts to avoid warnings about - `comparison between signed and unsigned'. - - * src/id.c (print_full_info, print_group_list): Add casts to avoid - warnings about `signed and unsigned type in conditional expression'. - - * src/md5sum.c: Change type of global, digest_hex_bytes, to size_t - to avoid warnings about `comparison between signed and unsigned'. - (split_3): Change parameter names to be readable and add comment. - Clean up the test for whether a line may be ignored. - -2002-09-13 Jim Meyering - - * src/printf.c (main): Handle leading command line argument of `--'. - Reported by Raul: DervishD - * tests/misc/printf: New file: test for the above. - * tests/misc/Makefile.am (TESTS): Add printf. - - * src/date.c (usage): Explain that %S's range of [0..60] is required -- - rather than 0..59 -- to accommodate the occasional positive leap second. - Reported by Richard Neill. - -2002-09-12 Jim Meyering - - * src/Makefile.am (nanosec_libs): Define. - (sleep_LDADD, tail_LDADD): Use it here. - - Factor nanosleep-related code into ../lib/xnanosleep.c. - * src/sleep.c: Include xnanosleep.h. - Factor out fenv.h-related code. - (timespec_subtract): Remove function. - (main): Remove code that deals with computing start and stop times - as well as the loop around nanosleep. Now that's in xnanosleep.c. - - Allow S (in --sleep-interval=S) to be a floating point value. - * src/tail.c: Include xnanosleep.h and xstrtod.h. - Move declaration of global variable, sleep_interval, to ... - (main): ...here. - (usage): Update description of --sleep-interval option. - (tail_forever): New parameter, sleep_interval. Update caller. - Use xnanosleep, rather than sleep. - (parse_options): New parameter, sleep_interval. Update caller. - Use xstrtod, now that we accept floating point values. - Prompted by a patch from Augey Mikus. - -2002-09-06 Jim Meyering - - * src/remove.c (prompt): Change comment to give a better note to - translators. From Michael Piefel. - -2002-09-02 Jim Meyering - - * README: A good problem report/patch includes diffs against - the most recent test release. - - * src/pathchk.c (NEED_PATHCONF_WRAPPER): Define. - (pathconf_wrapper): Define only if NEED_PATHCONF_WRAPPER is set. - - * src/kill.c (print_table_row): Use an unsigned type for widths - to avoid warning about comparison between signed and unsigned. - (list_signals): Likewise. - - * src/od.c (skip): Add a cast to avoid warning about comparison - between signed and unsigned. - * src/install.c (get_ids): Likewise. Also rearrange range-checking - comparisons to make them more readable. - -2002-09-01 Jim Meyering - - * Version 4.5.1. - -2002-08-31 Jim Meyering - - Symlinks were always reported as using 0 blocks. - * src/system.h (ST_NBLOCKS): Don't depend on file type. - This reverts the change of 2000-01-30. - Based on a report and patch from Neil Brown via Michael Stone. - This fixes Debian Bug#156358. - - * Most files: Change `exit (0)' to `exit (EXIT_SUCCESS)', - `exit (1)' to `exit (EXIT_FAILURE)', and - `usage (1)' to `usage (EXIT_FAILURE)'. - - * chgrp.c, chmod.c, chown.c, chroot.c, cp.c, date.c, dd.c, du.c, - * hostname.c, id.c, install.c, ln.c, mkdir.c, mkfifo.c, mknod.c, - * nice.c, pinky.c, printf.c, pwd.c, shred.c, sleep.c, stty.c, - * su.c, tac-pipe.c, tail.c, tee.c, touch.c, uname.c, uptime.c, - * users.c, who.c: Change `error (1, ...' to `error (EXIT_FAILURE, ...'. - But don't change `error (0, ...' to `error (EXIT_SUCCESS, ...', since - error never exits successfully. - -2002-08-29 Jim Meyering - - * src/remove.c (remove_cwd_entries): Use closedir (not CLOSEDIR) - when ignoring any return value. - - * src/remove.c (remove_cwd_entries): Detect and diagnose readdir - failures. On some systems (at least EMC Celerra and Solaris5.8), - this appears to be necessary. - (is_empty_dir): Likewise. Also, always close directory handle. - * src/ls.c (print_dir): Likewise. - (print_dir): Rename local variable: reading -> dirp. - Reported by Mike Coleman. - -2002-08-28 Jim Meyering - - * src/remove.c (remove_cwd_entries): Use CLOSEDIR, not closedir. - Give a diagnostic and fail if closedir fails. - -2002-08-26 Jim Meyering - - * Makefile.am (THANKS-to-translators): New rule. - (EXTRA_DIST): Add both THANKS-to-translators and THANKStt.in. - * THANKStt.in: New file. - - * src/cat.c (close_stdout_wrapper): New, kludgey, function and - file-scoped global. - (main): Register it with atexit. - Close STDOUT_FILENO, to avoid a problem when writing to - /dev/audio on at least Solaris 5.7 and 5.8 systems. - Reported by Shing-Shong Shei. - -2002-08-25 Jim Meyering - - * src/cat.c (main): Close STDIN_FILENO rather than a literal `0'. - * src/tac.c (main): Likewise. - * src/tail.c (main): Likewise. - * src/tee.c (main): Likewise. - * src/tr.c (main): Likewise. - * src/wc.c (main): Likewise. - -2002-08-20 Jim Meyering - - * tests/mv/setup: Rewrite not to use `: ${VAR=not_set}' paradigm. - -2002-08-10 Paul Eggert - - * src/nohup.sh: Don't use "exec --"; it's not portable and - shouldn't be needed. - -2002-08-09 Jim Meyering - - * src/pr.c (main): Don't ignore -COLUMN if it's the last option. - (usage): Clarify help text for the -COLUMN option. - Patch by Padraig Brady. - * tests/pr/Test.pm [col-last]: New test for the above. - - * configure.ac: Start with version 4.5.1, chosen so that it's larger - than the latest version numbers of the component packages. - - * man/Makefile.am (check-x-vs-1): Set and export PATH so we use - programs in ../src. - -2002-08-08 Jim Meyering - - * src/date.c: Guard inclusion of with - `#if HAVE_LANGINFO_CODESET', not `#if HAVE_LANGINFO_H'. - * src/sort.c: Likewise. - Patch by GOTO Masanori. - -2002-08-05 Paul Eggert - - 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. - * src/touch.c (main): Likewise. Remove unnecessary initialization. - Use localtime, not posixtm, to warn about obsolete "touch". - -2002-08-05 Jim Meyering - - * tests/misc/Makefile.am (TESTS): Add nice and pathchk1. - -2002-08-04 Jim Meyering - - * src/Makefile.am (check-README): New target/rule. - (check): Depend on it. - - * configure.ac (AC_CONFIG_FILES): Add old/Makefile and old/*/Makefile. - -2002-08-03 Jim Meyering - - * Makefile.am (SUBDIRS): Add old. - * old/: New directory, containing legacy ChangeLog* and NEWS files - from the fileutils, sh-utils, and textutils packages. - - * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Set to false. - -2002-08-02 Paul Eggert - - * NEWS, doc/coreutils.texi: uniq now obeys LC_COLLATE. - - * src/uniq.c: Include hard-locale.h, xmemcoll.h. - (hard_LC_COLLATE): New var. - (different): Args are now char *, not const char *. - Use xmemcoll instead of memcmp to compare lines, so that - LC_COLLATE has effect. However, use memcmp if it is an - easy locale. - (check_file): Do not include newline in comparison, so that - xmemcoll has a byte to stomp on temporarily. - (main): Set hard_LC_COLLATE. - -2002-07-29 Jim Meyering - - * Makefile.am (SUBDIRS): Remove djgpp, for now. - -2002-07-20 Jim Meyering - - * Makefile.am (false.c): Convert only the final EXIT_SUCCESS - into EXIT_FAILURE. Otherwise, false --help and false --version - would fail. - -2002-07-08 Jim Meyering - - * src/Makefile.am (uninstall-local): Search for @GNU_PACKAGE@, - rather than the hard-coded `sh-utils'. - -2002-07-01 Jim Meyering - - * configure.ac: Merge the three files from fileutils, - textutils, and sh-utils. - * Makefile.am: Likewise. - * src/Makefile.am: Likewise. - - - ----- - - Copyright (C) 2002-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/ChangeLog-2006 b/ChangeLog-2006 deleted file mode 100644 index 41c01db86..000000000 --- a/ChangeLog-2006 +++ /dev/null @@ -1,4040 +0,0 @@ -2006-12-30 Jim Meyering - - * bootstrap (gnulib_extra_files): Remove announce-gen. - * bootstrap.conf (gnulib_modules): Add it here instead, now that - it's a module. - - * tests/misc/base64: Factor a long, repetitive string. - - * src/c99-to-c89.diff: Adjust remove.c offsets. - - Clean up after the change of 2006-12-28. - * src/remove.c (AD_pop_and_chdir): Change **DIRP parameter to *DIRP, - now that this function never modifies the pointer. Adjust comments - and code accordingly. - (remove_dir): Set "dirp" to NULL right after AD_pop_and_chdir call, - now that AD_pop_and_chdir no longer does that. - - * tests/rm/fail-eperm: Avoid spurious differences (the error function - from latest glibc no longer prints the full program_name): so don't - invoke rm via ../../src/rm. Instead, invoke it via "PATH=../../src rm". - - * tests/mv/acl (skip): Skip this test also if the destination - directory, which is on a different file system, lacks ACL support. - - * src/copy.c (copy_reg): Rewrite a comment that was rendered - inaccurate by the 2006-10-18 change. - -2006-12-28 Jim Meyering - - When moving "up" the hierarchy, be careful to remove a just-emptied - directory before opening ".", to avoid trouble with file system - implementations that cache readdir results at opendir-time. - * src/remove.c (AD_pop_and_chdir): Add a file descriptor parameter. - Don't update **DIRP. Don't call fdopendir here. - (remove_dir): Call fdopendir here instead. - Report and patch from Mikulas Patocka: - - -2006-12-27 Jim Meyering - - * src/tail.c (usage): Mention +N for --bytes and --lines. - Suggestion from Evan Hunt. - -2006-12-26 Jim Meyering - - * configure.ac: Require autoconf-2.61 and automake-1.10. - Without the former (even with autoconf-2.60), "make distcheck" - would fail (without the 2006-09-26 autoconf AC_CHECK_DECL fix), - due to an inttypes.h generated with CFLAGS including -pedantic. - With the old decl check, @HAVE_DECL_STRTOUMAX@ would be 0. - - * Makefile.maint (VC-tag): Define, so as to gpg-sign each release - tag, using the release version number as the message. - (vc-dist): Use $(VC-tag), rather than "$(VC) tag". - -2006-12-21 Paul Eggert - - * NEWS: dd bs= operands now silently override later ibs= and obs=, - as POSIX requires. - * src/dd.c (scanargs): Implement it. - * tests/dd/misc (outbytes): Test it. - * doc/coreutils.texi (dd invocation): Specify that bs=N - overrides later ibs and obs, undoing part of the - previous change. (The behavior was wrong.) - -2006-12-20 Jim Meyering - - "rm -rf /etc/motd" (run by non-root) now prints a diagnostic. - * src/remove.c (remove_entry): Handle EACCES for a non-directory, too. - Don't let a non-directory get by with errno == EPERM, either. - Check the file type directly (using cached stat value), rather - than trying to guess it from errno values. - Karl Berry reported that a cross-partition "mv /etc/issue ~" - failed with the um,... suboptimal diagnostic, - "mv: cannot remove `/etc/issue': Not a directory". - * tests/rm/Makefile.am (TESTS): Add fail-eacces. - * tests/rm/fail-eacces: New file. - * NEWS: Mention that both mv and rm are affected. - - "cut -f 2- A B" no longer triggers a double-free bug - * src/cut.c (cut_fields): Set file-scoped global to NULL after - freeing it. This avoids a double-free (and core dump on some systems) - for this usage: "echo 1>a; echo 2>b; cut -f2- a b". Reported by - James Hunt in . - * NEWS: List this bug fix. - * THANKS: Mention him. - * tests/misc/cut: New file. - * tests/misc/Makefile.am (TESTS): Add cut. - -2006-12-15 Jim Meyering - - * tests/cp/open-perm-race: Correct the gdb-existence check. - Don't run either subsequent gdb command in a sub-shell. - Reported by Thomas Schwinge. - * THANKS: bring up to date. - -2006-12-14 Paul Eggert - - Make sure cp -p isn't too generous with file permissions. - * tests/cp/Makefile.am (TESTS): Add file-perm-race. - * tests/cp/file-perm-race: New file. - - Ensure cp -pR --parents isn't too generous with parent permissions. - * tests/cp/Makefile.am (TESTS): Add parent-perm-race. - * tests/cp/parent-perm-race: New file. - -2006-12-14 Jim Meyering - - * tests/chgrp/default-no-deref: Don't assume that files are created - with the primary group by default. That's not true in a directory - with the set-GID bit set. - - Don't hang when there's no input tty. - * tests/cp/open-perm-race: Skip this test if there is no - controlling input `terminal'. - - Test for a hard-to-detect race fix, using gdb. - * tests/cp/open-perm-race: New file, to test for the - cp --preserve=ownership fix of 2006-12-06. - - * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir. - (TESTS): Add open-perm-race. - - * src/chgrp.c (main): Don't prohibit -RLh, aka -RL with --no-dereference. - * src/chown.c (main): Likewise. - * src/chown-core.c (change_file_owner): Add to a comment. - * tests/chown/preserve-root: Add tests. - - * NEWS: --preserve-root now works with chgrp, chmod, and chown. - * src/chmod.c (process_file): Do honor the --preserve-root option. - * src/chown-core.c (change_file_owner): Likewise, but here, also - handle the case in which a traversal would go "through" a symlink - to root. Reported by Matthew M. Boedicker - * tests/chown/preserve-root: Test for the above. - * tests/chown/Makefile.am (TESTS): Add preserve-root. - - * NEWS: Mention the chmod fix induced by the 2006-12-11 change - to gnulib's m4/openat.m4. - -2006-12-13 Andreas Schwab - - Don't fail if mv/acl test succeeds. - * tests/mv/acl (skip): Check for acl support in the file system. - * tests/mv/Makefile.am (XFAIL_TESTS): Remove. - (TESTS_ENVIRONMENT): Pass CONFIG_HEADER. - -2006-12-13 Paul Eggert - - Remove some arbitrary restrictions on size fields, so that - commands like "sort -k 18446744073709551616" no longer fail merely - because 18446744073709551616 doesn't fit in uintmax_t. The trick - is that these fields can all be treated as effectively infinity; - their exact values don't matter, since no internal buffer can be - that long. - * src/join.c (string_to_join_field): Verify that SIZE_MAX <= - ULONG_MAX if the code assumes this. Silently truncate too-large - values to SIZE_MAX, as the remaining code will do the right thing - in this case. - * src/sort.c (parse_field_count): Likewise. - * src/uniq.c (size_opt, main): Likewise. - * tests/join/Test.pm (bigfield): New test. - * tests/sort/Test.pm (bigfield): New test. - * tests/uniq/Test.pm (121): New test. - -2006-12-13 Jim Meyering - - * tests/chgrp/default-no-deref: New test. - * tests/chgrp/Makefile.am (TESTS): Add default-no-deref. - -2006-12-12 Jim Meyering - - * src/system.h (SETVBUF): Remove definition, now that the - autoconf macro, AC_FUNC_SETVBUF_REVERSED, does nothing. - * src/tee.c (tee_files): s/SETVBUF/setvbuf/. - * src/od.c (open_next_file): Likewise. - -2006-12-09 Jim Meyering - - * man/Makefile.am (.x.1): Make help2man use $(PACKAGE_STRING) as the - "source". I.e. "GNU coreutils 6.7". - - * NEWS: With the change from "-pre" to "-dirty" suffix, also change - from NEXT_VER-pre to CUR_VER-dirty. So, this is 6.7-dirty. - * configure.ac (AC_INIT): s/6.8-dirty/6.7-dirty/. - - * tests/uniq/Test.pm (test_vector): Skip the pipe-reading test - whenever uniq is expected to fail. This should catch the other case - [test #112] in which uniq emits "cat: write error: Broken pipe" on - some systems. - -2006-12-08 Jim Meyering - - Include bootstrap tool version info in the announcement form. - * Makefile.maint (gnulib_snapshot_date): Define. - (announcement): Use two new announce-gen options, - --bootstrap-tools and --gnulib-snapshot-date. - * Makefile.cfg (gnulib_dir): Set. - - Post-release version change. - * NEWS: Add a line for 6.8-dirty. - * configure.ac (AC_INIT): Set new version string. - -2006-12-07 Jim Meyering jim@meyering.net - - Version 6.7. - * NEWS: Record release date. Remove '-pre' suffix. - * configure.ac (AC_INIT): Remove version string suffix. - -2006-12-07 Jim Meyering - - Make the output of "make check" more reproducible. - * tests/touch/empty-file: Use envvar-check, so "make check" doesn't - evoke diagnostics like this when COLUMNS=0 in the environment: - ls: ignoring invalid width in environment variable COLUMNS: 0 - * tests/touch/no-rights: Likewise. - * tests/help-version: Likewise. - * tests/uniq/Test.pm: Don't perform the pipe-reading version of test - 118, since it emits "cat: write error: Broken pipe" on some systems. - -2006-12-06 Paul Eggert - - * NEWS: Document the cp -p fix for special bits. - * src/copy.c (set_owner): Now returns a three-way result, so - that the caller can clear the special bits. All callers changed. - (copy_reg): Don't set the special bits if chown failed. - (copy_internal): Likewise. - * tests/cp/special-bits: Test this fix. - -2006-12-06 Paul Eggert - - * NEWS: Document the cp --preserve=ownership fix. - * m4/jm-macros.m4 (coreutils_MACROS): Check for fchmod. - * src/copy.c (fchmod_or_lchmod): New function. - (copy_reg): New arg OMITTED_PERMISSIONS. All uses changed. - Omit confusing and unused ", dst_mode" arg to 'open' without O_CREAT. - When creating a file, use O_EXCL, so we're more likely to detect - funny business by other processes. At the end, if permissions - were omitted, chmod them back in. - (copy_internal): If the ownership might change, omit some permissions - at first, then restore them after chowning the file. - * src/cp.c (make_dir_parents_private): Likewise. - * src/copy.c (cached_umask): New function. - * src/copy.h (cached_umask): New decl. - -2006-12-06 Jim Meyering - - Make the output of "make check" more reproducible. - * tests/misc/date-sec: Don't emit any diagnostic about sleeping. - -2006-12-03 Paul Eggert - - * src/install.c (install_file_in_file): Preserve time stamps - before changing owner or file mode bits, for consistency with - other coreutils programs. - -2006-12-03 Jim Meyering - - * tests/misc/date-sec: Output a fixed string. - - * NEWS: du --one-file-system (-x) would skip subdirectories of any - directory listed as second or subsequent command line argument. - * tests/du/one-file-system: New file. Test for today's fts.c fix. - * tests/du/Makefile.am (TESTS): Add one-file-system. - Reported by Mike Frysinger. - -2006-12-02 Jim Meyering - - * tests/du/basic: Generate 4KB file simply using printf, rather than - seq+head. This avoids a spurious "Broken pipe" diagnostic from seq. - -2006-11-28 Jim Meyering - - * tests/mv/no-target-dir: Detect a buggy rename syscall. If found, - skip this test. This happens at least on ia64 linux-2.4.19 w/ext3. - Reported by Matthew Woehlke. - - * tests/mv/dir2dir: Also accept EBUSY. - Reported by Matthew Woehlke. - -2006-11-27 Jim Meyering - - * Makefile.maint (patch-check): Rewrite to diagnose failure. - * src/c99-to-c89.diff: Adjust shred.c offsets. - -2006-11-26 Paul Eggert - - Improve the check for departures from C89, and fix the departures - I found. - * Makefile.maint (my-distcheck): Also check for C89 compatibility - as best we can with GCC. - * src/stat.c (PRINTF_OPTION): Omit comma before } in enum - declaration; C89 doesn't allow this. - * src/dcgen: Don't generate string literals longer than - what C89 requires support for. - * src/cut.c (usage): Don't use string literals longer than - what C89 requires support for. - * src/date.c (usage): Likewise. - * src/dd.c (usage): Likewise. - * src/du.c (usage): Likewise. - * src/ls.c (usage): Likewise. - * src/od.c (usage): Likewise. - * src/readlink.c (usage): Likewise. - * src/seq.c (usage): Likewise. - * src/shred.c (usage): Likewise. - -2006-11-26 Mike Frysinger - - Recognize new archive, audio and image formats. - Give audio files a separate color. - * src/dircolors.hin: Add comments for common .sh and .csh scripts. - Add .bz2, .tbz2, .tz, .rar, .ace, .zoo, .cpio, .7z, .rz as archive - suffixes. Add .mng, .pcx, .m2v, .mkv, .ogm, .mp4, .m4v, .mp4v, .vob, - .qt, .nuv, .wmv, .asf, .rm, .rmvb, .flc, .yuv as image formats. - Add .aac, .au, .mid, .midi, .mka, .ra as audio suffixes. Change - audio color to 00;36 to differentiate from image/video color. - -2006-11-26 Jim Meyering - - * Makefile.maint (patch-check): Compile patched sources with - CFLAGS='-Wdeclaration-after-statement -Werror', to ensure that - no violations remain. - - * src/c99-to-c89.diff: Remove 3 bogus hunks. - - * src/remove.c (fd_to_subdirp): Remove unused parameter, ds. - Update callers. - - * src/c99-to-c89.diff: Adjust for changes in rm.c and in remove.c. - - * src/rm.c (main): Remove unnecessary (assuming C99) braces. - -2006-11-26 Paul Eggert - - Port parts of the code to C89 to minimize the need for c99-to-c89.diff, - while trying to retain the readability of C99 as much as possible. - * src/remove.c (rm_1): Remove decl of local, fd_cwd. - Replace each of two uses with literal AT_FDCWD. - (cache_stat_init): Return its argument, for convenience. - Update the caller in remove_dir. - (AD_pop_and_chdir): Return prev_dir rather than storing through - a pointer argument. All uses changed. - (AD_ensure_initialized): New function. - (AD_mark_helper): Use it, to avoid the need for declaration - after statement. - (rm): Move cycle_check_init call into callee... - (rm_1): ...here. - Use an else clause in place of a "continue" statement. - (close_preserve_errno): Remove. - (fd_to_subdirp): Rewrite to avoid the need for decl after statement. - -2006-11-25 Jim Meyering - - * Makefile.am (EXTRA_DIST): Remove announce-gen from here, too. - -2006-11-24 Theodoros V. Kalamatianos (tiny change) - - * tests/du/inacc-dest: Skip this test when running as root. - -2006-11-23 Jim Meyering - - * announce-gen: Remove file. It's moving to gnulib. - * bootstrap: Pull it from gnulib/build-aux instead. - * Makefile.maint (announcement): Reflect move to ./build-aux. - - * tests/du/deref-args: Use "printf %65536s x" to create a 64KB file, - rather than a pipeline that would sometimes evoke a diagnostic - like "seq: write error: Broken pipe". - - * tests/help-version: Suppress dd transfer rate output. - - * configure.ac (AC_INIT): Bump to 6.7-pre, not 6.6-pre. - -2006-11-22 Jim Meyering - - * announce-gen (print_news_deltas): Fix silly, but harmless typo: - change "(:?..." to "(?:..." in regexps. - - Post-release version change. - * NEWS: Add a line for 6.7-pre. - * configure.ac (AC_INIT): Bump to 6.7 and add "-pre" suffix. - - Version 6.6. - * NEWS: Record release date. Remove "-pre" suffix. - * configure.ac (AC_INIT): Remove "-pre" suffix from version string. - - * announce-gen: Remove unused --release-archive-directory option. - (print_news_deltas): Accept new adjective, "Noteworthy", in addition - to the old "Major". - Match version numbers in NEWS using tighter regular expressions. - (main): Require the --gpg-key-id=ID option. - * Makefile.maint (announcement): Don't use now-removed - --release-archive-directory=... option. - - * NEWS: Mention the three noteworthy changes, all fixed via gnulib. - -2006-11-21 Jim Meyering - - * tests/rm/one-file-system: Upon setup failure (e.g., mount failure), - skip the test rather than failing. Reported by Michael Deutschmann. - - * tests/rm/fail-eperm: Use the "(exit N); exit N" idiom, - rather than just "exit N". - - Arrange for "make check-root" to run the new root-only test. - * tests/Makefile.am (t7): New target, to run tests/ls/nameless-uid. - (all_t): Add t7. - -2006-11-20 Jim Meyering - - Add a root-only test for today's lib/idcache.c fix. - * tests/ls/nameless-uid: New file. - * tests/ls/Makefile.am (TESTS): Add nameless-uid. - (TESTS_ENVIRONMENT): Add PERL to the list. - -2006-11-19 Jim Meyering - - * tests/tail-2/assert-2: Mark as a very-expensive test, because I - find the 7-second sleep annoyingly long. Besides, this test is - probably far too specific and timing sensitive ever to trigger again. - * tests/tail-2/assert: Likewise. - - Post-release version change. - * NEWS: Add a line for 6.6-pre. - * configure.ac (AC_INIT): Bump to 6.6 and add "-pre" suffix. - - Version 6.5. - * NEWS: Record release date. Remove "-cvs" suffix. - * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. - -2006-11-18 Jim Meyering - - "ln --backup f f" produces a misleading diagnostic: - ln: creating hard link `f' => `f': No such file or directory - * src/ln.c (do_link): Give a better diagnostic in this unusual case. - (do_link): Rename local: s/lstat_ok/dest_lstat_ok/. - * tests/ln/Makefile.am (TESTS): Add hard-backup. - * tests/ln/hard-backup: New test for the above. - * NEWS: Mention this fix. - -2006-11-16 Paul Eggert - - * bootstrap.conf (gnulib_modules): Add sys_stat, since we use it - directly too. - * lib/.cvsignore, lib/.gitignore: Add root-dev-ino.c, root-dev-ino.h. - * m4/.cvsignore, m4/.gitignore: Add root-dev-ino.m4. - * src/ls.c (DIRED_FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS): - Omit unnecessary parenthesization of args. - * src/od.c (EQUAL_BLOCKS): Likewise. - * src/system.h (STREQ, ASSIGN_STRDUPA): Likewise. - -2006-11-16 Jim Meyering - - * tests/tail-2/append-only: If chattr +a fails, exit 77 (to tell - automake we're skipping this test), and give a diagnostic to tell - the user the same thing. Reported by Mike Grayson. - -2006-11-16 Ralf Wildenhues - - * man/Makefile.am (dist_man_MANS): Replace all optional manpages - with `$(MAN)', computed at configure time; also, list them ... - (optional_mans): ... in this new variable. - (max_aux, EXTRA_DIST): Ensure that we distribute all manpages. - -2006-11-16 Jim Meyering - - Help valgrind see that there is no leak in dd.c. - * src/dd.c (dd_copy): Declare real_buf and real_obuf to be static, - so we need not free them at all. This is easier than freeing - both buffers at each of the early "return"s. - - * src/csplit.c (load_buffer): Plug an inconsequential leak. - -2006-11-15 Jim Meyering - - * .x-po-check: Exclude gl/ files. Otherwise, po-check would - complain that some of gl/lib/*.[ch] are not listed in POTFILES.in. - -2006-11-14 Jim Meyering - - * gl/m4/root-dev-ino.m4: Now that this is part of a real "module", - remove the now-unnecessary use of AC_LIBSOURCES. - - Adapt to new version of gnulib-tool. - * gl/modules/root-dev-ino: New file. - * lib/root-dev-ino.c, lib/root-dev-ino.h: Move these files ... - * gl/lib/root-dev-ino.c, gl/lib/root-dev-ino.h: ... to here. - * m4/root-dev-ino.m4: Move this file ... - * gl/m4/root-dev-ino.m4: ... to here. - - * bootstrap.conf (gnulib_modules): Add root-dev-ino. - -2006-11-13 Jim Meyering - - * src/sort.c (insertkey): Use xmemdup, rather than xmalloc+assignment. - From Paul Eggert. - - Plug another technically-unimportant leak in sort. - * src/sort.c (main): Don't allocate memory for each new key here. - (insertkey): Allocate memory for each key here, instead. - (key_init): Rename from new_key. Don't allocate. - - * src/sort.c (main): Plug a tiny memory leak. - Move declaration of local "minus" down to be nearer point of use. - -2006-11-12 Jim Meyering - - du would exit early, when encountering an inaccessible directory - Reported by Mike Frysinger, in - http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8831 - * tests/du/inacc-dest: New test, based on an example from Mike Frysinger. - * tests/chgrp/no-x: Remove the "fts_read failed: ..." - diagnostic from the expected output when using native fdopendir. - * tests/chmod/no-x: Likewise. - * tests/du/no-x: Likewise. - * NEWS: Mention this bug fix. - * tests/du/Makefile.am (TESTS): Add inacc-dest. - - * Makefile.maint (sc_cast_of_x_alloc_return_value): Add an exclusion - for xalloc.h itself. - - Avoid false-positive when testing via valgrind. - * tests/mv/atomic: Grep strace output for a more specific pattern - than just "unlink", since that got a false positive when testing - under valgrind: unlink("/tmp/valgrind_proc_9657_cmdline_A51E9991") = 0 - * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define EGREP. - -2006-10-28 Jim Meyering - - * Makefile.maint (patch-check): Make it easier to regenerate - the src/c99-to-c89.diff file. E.g., I do this: - make patch-check REGEN_PATCH=1; ediff src/c99-to-c89.diff new-diff - - * src/c99-to-c89.diff: Update to reflect new offsets in rm.c. - -2006-10-26 Jim Meyering - - * src/system.h (ftello): Add a compile-time check for the highly - unlikely condition of off_t narrower than long int, rather than - handling it at run time. Based on a patch from Paul Eggert. - -2006-10-25 Paul Eggert - - * tests/chmod/c-option: When double-quoting part of a word, prefer - to double-quote the whole word. This is a bit easier to read (at - least for me), and in some cases it avoids a shell bug with Tru64 - 4.0 sh reported by Nelson H. F. Beebe. For example, instead of - "$abs_srcdir"/../setgid-check we now write - "$abs_srcdir/../setgid-check". - * tests/cp/cp-parents: Likewise. - * tests/du/inaccessible-cwd: Likewise. - * tests/du/long-from-unreadable: Likewise. - * tests/install/basic-1: Likewise. - * tests/install/trap: Likewise. - * tests/misc/close-stdout: Likewise. - * tests/mkdir/concurrent-1: Likewise. - * tests/mkdir/p-1: Likewise. - * tests/mkdir/p-3: Likewise. - * tests/mkdir/parents: Likewise. - * tests/mkdir/perm: Likewise. - * tests/readlink/can-e: Likewise. - * tests/readlink/can-f: Likewise. - * tests/readlink/can-m: Likewise. - * tests/rm/inaccessible: Likewise. - * tests/rm/unread3: Likewise. - * tests/touch/no-create-missing: Likewise. - - * lib/.cvsignore: Add uinttostr.c. - -2006-10-25 Jim Meyering - - Portability to Tru64 V4.0. - * src/system.h (ftello) [!HAVE_FSEEKO && !defined ftello]: - Define inline replacement function. - This (along with a yesterday's fix for autoconf's - _AC_SYS_LARGEFILE_MACRO_VALUE macro) makes it so coreutils - now builds once more on Tru64 V4.0. Reported by Nelson Beebe. - -2006-10-25 Bruno Haible - - * src/cat.c (infile): Add "const" to declaration. - * src/csplit.c (prefix): Likewise. - * src/printf.c (cfcc_msg): Likewise. - * src/tail.c (valid_file_spec): Likewise. - * src/cut.c (cut_file): Likewise, for a parameter. - * src/expr.c (str_value): Likewise. - * src/fold.c (fold_file): Likewise. - * src/pr.c (init_header): Likewise. - * src/dircolors.c (dc_parse_stream): Likewise, for a local. - * src/tr.c (make_printable_str): Likewise. - * src/nl.c (body_type, header_type, footer_type, current_type): - (separator_str, build_type_arg, nl_file): Likewise, for many. - * src/paste.c (main): Don't assign a read-only string to 'optarg'. - * src/tac.c (separator, tac_seekable, copy_to_temp): Likewise. - -2006-10-25 Jim Meyering - - * tests/sample-test: Update copyright year list to include only - the current year, since this is what I'll want in any new test. - -2006-10-24 Jim Meyering - - * src/c99-to-c89.diff: Update to reflect new offsets. - - * NEWS: new feature: rm accepts new option: --one-file-system - Suggested by Steve McIntyre in . - * src/remove.h (struct rm_options) [one_file_system]: New member. - * src/rm.c (rm_option_init): Initialize it. - (usage): Document the option. - * src/mv.c (rm_option_init): Likewise. - * src/remove.c (remove_dir): With --one-file-system and --recursive, - for each directory command line argument, do not affect a file system - different from that of the starting directory. And give a diagnostic. - * src/rm.c (ONE_FILE_SYSTEM): New enum. - (main): Handle new option. - * tests/rm/one-file-system: Test the above. - * tests/rm/Makefile.am (TESTS): Add one-file-system. - * tests/Makefile.am (check-root): Add the rm/one-file-system - test to the list. - (EXTRA_DIST): Add other-fs-tmpdir. - - * tests/mv/setup: Removed. Renamed to... - * tests/other-fs-tmpdir: ...this new file. - * tests/mv/Makefile.am (EXTRA_DIST): Remove setup. - * tests/mv/acl: Reflect renaming: use ../other-fs-tmpdir. - * tests/mv/backup-is-src: Likewise. - * tests/mv/hard-link-1: Likewise. - * tests/mv/leak-fd: Likewise. - * tests/mv/mv-special-1: Likewise. - * tests/mv/part-fail: Likewise. - * tests/mv/part-hardlink: Likewise. - * tests/mv/part-rename: Likewise. - * tests/mv/part-symlink: Likewise. - * tests/mv/partition-perm: Likewise. - * tests/mv/to-symlink: Likewise. - * tests/mv/into-self-2: Likewise. - - Don't let a failure in one test stop "make -k" from running the others. - * tests/Makefile.am (t1 t2 t3 t4 t5): New targets. - (check-root): Depend on them, rather than executing the five - commands in a single rule. Reported by Greg Schafer. - -2006-10-23 Bob Proulx (tiny change) - - * Makefile.maint (alpha beta major): Use a better log message for - the automatic commit of .prev-version. - -2006-10-23 Jim Meyering - - * tests/misc/pwd-long: Undo last change, since it made Perl invoke - pwd via a shell. Instead, ensure that the absolute name of the - pwd binary consists solely of reasonable characters. - Whoops. Don't exec the perl script. Otherwise, the sh-trap-based - clean-up code isn't run. - - * NEWS: Add a line for 6.5-cvs. - * configure.ac (AC_INIT): Bump to 6.5 and add "-cvs" suffix. - -2006-10-22 Jim Meyering - - Version 6.4. - - * NEWS: Record the 6.4 release date. - * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. - - * Makefile.maint: Complete the adaptation to function with a working - directory that is using git (rather than cvs) for version control. - -2006-10-22 Ralf Wildenhues - - * tests/chmod/c-option: Double-quote instances of `$abs_srcdir'. - * tests/cp/cp-parents: Likewise. - * tests/mkdir/parents: Likewise. - * tests/mkdir/perm: Likewise. - - * tests/sample-test: Quote variables containing absolute build - tree paths. In the cleanup trap, make sure `cd' succeeds before - `chmod'ing and `rm'ing the temporary files. - * tests/chgrp/basic: Likewise. - * tests/chgrp/deref: Likewise. - * tests/chgrp/no-x: Likewise. - * tests/chgrp/posix-H: Likewise. - * tests/chgrp/recurse: Likewise. - * tests/chmod/c-option: Likewise. - * tests/chmod/equal-x: Likewise. - * tests/chmod/equals: Likewise. - * tests/chmod/inaccessible: Likewise. - * tests/chmod/no-x: Likewise. - * tests/chmod/octal: Likewise. - * tests/chmod/setgid: Likewise. - * tests/chmod/umask-x: Likewise. - * tests/chmod/usage: Likewise. - * tests/chown/basic: Likewise. - * tests/chown/deref: Likewise. - * tests/chown/separator: Likewise. - * tests/cp/acl: Likewise. - * tests/cp/backup-1: Likewise. - * tests/cp/backup-dir: Likewise. - * tests/cp/backup-is-src: Likewise. - * tests/cp/cp-HL: Likewise. - * tests/cp/cp-deref: Likewise. - * tests/cp/cp-i: Likewise. - * tests/cp/cp-mv-backup: Likewise. - * tests/cp/cp-parents: Likewise. - * tests/cp/deref-slink: Likewise. - * tests/cp/dir-rm-dest: Likewise. - * tests/cp/dir-slash: Likewise. - * tests/cp/dir-vs-file: Likewise. - * tests/cp/fail-perm: Likewise. - * tests/cp/into-self: Likewise. - * tests/cp/link: Likewise. - * tests/cp/link-no-deref: Likewise. - * tests/cp/link-preserve: Likewise. - * tests/cp/no-deref-link1: Likewise. - * tests/cp/no-deref-link2: Likewise. - * tests/cp/no-deref-link3: Likewise. - * tests/cp/perm: Likewise. - * tests/cp/preserve-2: Likewise. - * tests/cp/r-vs-symlink: Likewise. - * tests/cp/same-file: Likewise. - * tests/cp/slink-2-slink: Likewise. - * tests/cp/sparse: Likewise. - * tests/cp/special-bits: Likewise. - * tests/cp/src-base-dot: Likewise. - * tests/cp/symlink-slash: Likewise. - * tests/dd/not-rewound: Likewise. - * tests/dd/skip-seek2: Likewise. - * tests/dd/unblock-sync: Likewise. - * tests/du/2g: Likewise. - * tests/du/8gb: Likewise. - * tests/du/basic: Likewise. - * tests/du/deref: Likewise. - * tests/du/deref-args: Likewise. - * tests/du/exclude: Likewise. - * tests/du/fd-leak: Likewise. - * tests/du/hard-link: Likewise. - * tests/du/inaccessible-cwd: Likewise. - * tests/du/long-from-unreadable: Likewise. - * tests/du/long-sloop: Likewise. - * tests/du/no-deref: Likewise. - * tests/du/no-x: Likewise. - * tests/du/restore-wd: Likewise. - * tests/du/slash: Likewise. - * tests/du/slink: Likewise. - * tests/du/trailing-slash: Likewise. - * tests/du/two-args: Likewise. - * tests/fmt/long-line: Likewise. - * tests/install/basic-1: Likewise. - * tests/install/create-leading: Likewise. - * tests/install/d-slashdot: Likewise. - * tests/install/trap: Likewise. - * tests/ln/misc: Likewise. - * tests/ln/target-1: Likewise. - * tests/ls/color-dtype-dir: Likewise. - * tests/ls/dangle: Likewise. - * tests/ls/dired: Likewise. - * tests/ls/file-type: Likewise. - * tests/ls/follow-slink: Likewise. - * tests/ls/infloop: Likewise. - * tests/ls/inode: Likewise. - * tests/ls/m-option: Likewise. - * tests/ls/no-arg: Likewise. - * tests/ls/recursive: Likewise. - * tests/ls/rt-1: Likewise. - * tests/ls/stat-dtype: Likewise. - * tests/ls/stat-failed: Likewise. - * tests/ls/stat-vs-dirent: Likewise. - * tests/misc/cat-proc: Likewise. - * tests/misc/close-stdout: Likewise. - * tests/misc/csplit: Likewise. - * tests/misc/date-sec: Likewise. - * tests/misc/false-status: Likewise. - * tests/misc/head-c: Likewise. - * tests/misc/head-pos: Likewise. - * tests/misc/mknod: Likewise. - * tests/misc/nl: Likewise. - * tests/misc/nohup: Likewise. - * tests/misc/pathchk1: Likewise. - * tests/misc/printf: Likewise. - * tests/misc/printf-hex: Likewise. - * tests/misc/pwd-long: Likewise. - * tests/misc/shuf: Likewise. - * tests/misc/sort-rand: Likewise. - * tests/misc/split-a: Likewise. - * tests/misc/split-fail: Likewise. - * tests/misc/split-l: Likewise. - * tests/misc/stat-fmt: Likewise. - * tests/misc/tac-continue: Likewise. - * tests/misc/wc-files0: Likewise. - * tests/mkdir/concurrent-1: Likewise. - * tests/mkdir/p-1: Likewise. - * tests/mkdir/p-2: Likewise. - * tests/mkdir/p-3: Likewise. - * tests/mkdir/p-slashdot: Likewise. - * tests/mkdir/p-thru-slink: Likewise. - * tests/mkdir/p-v: Likewise. - * tests/mkdir/parents: Likewise. - * tests/mkdir/perm: Likewise. - * tests/mkdir/t-slash: Likewise. - * tests/mv/acl: Likewise. - * tests/mv/atomic: Likewise. - * tests/mv/backup-dir: Likewise. - * tests/mv/childproof: Likewise. - * tests/mv/diag: Likewise. - * tests/mv/dir-file: Likewise. - * tests/mv/dir2dir: Likewise. - * tests/mv/dup-source: Likewise. - * tests/mv/hard-2: Likewise. - * tests/mv/hard-3: Likewise. - * tests/mv/hard-4: Likewise. - * tests/mv/hard-link-1: Likewise. - * tests/mv/hard-verbose: Likewise. - * tests/mv/i-2: Likewise. - * tests/mv/i-3: Likewise. - * tests/mv/i-4: Likewise. - * tests/mv/i-5: Likewise. - * tests/mv/i-link-no: Likewise. - * tests/mv/into-self-4: Likewise. - * tests/mv/leak-fd: Likewise. - * tests/mv/mv-special-1: Likewise. - * tests/mv/no-target-dir: Likewise. - * tests/mv/part-fail: Likewise. - * tests/mv/part-hardlink: Likewise. - * tests/mv/part-rename: Likewise. - * tests/mv/part-symlink: Likewise. - * tests/mv/partition-perm: Likewise. - * tests/mv/perm-1: Likewise. - * tests/mv/reply-no: Likewise. - * tests/mv/trailing-slash: Likewise. - * tests/mv/update: Likewise. - * tests/od/od-N: Likewise. - * tests/od/x8: Likewise. - * tests/readlink/can-e: Likewise. - * tests/readlink/can-f: Likewise. - * tests/readlink/can-m: Likewise. - * tests/readlink/rl-1: Likewise. - * tests/rm/cycle: Likewise. - * tests/rm/dangling-symlink: Likewise. - * tests/rm/deep-1: Likewise. - * tests/rm/dir-no-w: Likewise. - * tests/rm/dir-nonrecur: Likewise. - * tests/rm/dot-rel: Likewise. - * tests/rm/empty-inacc: Likewise. - * tests/rm/f-1: Likewise. - * tests/rm/fail-2eperm: Likewise. - * tests/rm/hash: Likewise. - * tests/rm/i-1: Likewise. - * tests/rm/i-no-r: Likewise. - * tests/rm/ignorable: Likewise. - * tests/rm/inaccessible: Likewise. - * tests/rm/interactive-always: Likewise. - * tests/rm/interactive-once: Likewise. - * tests/rm/ir-1: Likewise. - * tests/rm/isatty: Likewise. - * tests/rm/no-give-up: Likewise. - * tests/rm/r-1: Likewise. - * tests/rm/r-2: Likewise. - * tests/rm/r-3: Likewise. - * tests/rm/r-4: Likewise. - * tests/rm/readdir-bug: Likewise. - * tests/rm/rm1: Likewise. - * tests/rm/rm2: Likewise. - * tests/rm/rm3: Likewise. - * tests/rm/rm4: Likewise. - * tests/rm/rm5: Likewise. - * tests/rm/sunos-1: Likewise. - * tests/rm/unread2: Likewise. - * tests/rm/unread3: Likewise. - * tests/rmdir/fail-perm: Likewise. - * tests/rmdir/t-slash: Likewise. - * tests/shred/exact: Likewise. - * tests/shred/remove: Likewise. - * tests/sum/sysv: Likewise. - * tests/tail-2/append-only: Likewise. - * tests/tail-2/assert: Likewise. - * tests/tail-2/assert-2: Likewise. - * tests/tail-2/big-4gb: Likewise. - * tests/tail-2/fflush: Likewise. - * tests/tail-2/infloop-1: Likewise. - * tests/tail-2/proc-ksyms: Likewise. - * tests/tail-2/start-middle: Likewise. - * tests/tail-2/tail-n0f: Likewise. - * tests/tee/basic: Likewise. - * tests/tee/dash: Likewise. - * tests/touch/fail-diag: Likewise. - * tests/touch/no-create-missing: Likewise. - * tests/touch/not-owner: Likewise. - * tests/touch/obsolescent: Likewise. - * tests/touch/read-only: Likewise. - * tests/touch/relative: Likewise. - -2006-10-21 Jim Meyering - - * NEWS: (cp --backup fix): Fix a typo. - - * .gitignore: Remove some references to files in subdirectories. - * build-aux/.gitignore, doc/.gitignore, lib/.gitignore: New files. - * m4/.gitignore, po/.gitignore, src/.gitignore: Likewise. - - * src/copy.c (copy_internal): Add a comment saying why we prefer - mknod over mkfifo. - - Enable an fts optimization (call lstat only for directories, - on some file system types) also with the --preserve-root option - of chown or chgrp. - * src/chown-core.c (change_file_owner): Compare fts_statp-based - dev/ino against root dev/ino only for directories. - (chown_files): Don't let the root_dev_ino setting influence whether - we use FTS_NOSTAT: fts always sets *fts_statp for a directory. - -2006-10-20 Jim Meyering - - * src/od.c (usage): Change description of default to use "-w16", - not the now-invalid "-w 16" syntax. From Dan Jacobson. - -2006-10-19 Jim Meyering - - * bootstrap: Add names to each .gitignore file (if it exists) - as well as to .cvsignore. - - * Makefile.maint (po-check): This rule didn't detect the new use - of "gettext" (as opposed to the use of "_" everywhere else) in - lib/xstrtol.h. Adjust the grep regexp so that now it does. - -2006-10-18 Paul Eggert - - * src/copy.c (copy_reg): Rewrite slightly to avoid duplicate code - when opening dst_name. - (copy_reg, copy_internal): Use (SYSCALL != 0) rather than plain - (SYSCALL) to test for failure in a system call. - - * src/copy.c (copy_internal): Use mknod rather than mkfifo to copy - a fifo. This preserves the special mode bits on Solaris 10, which - is compatible with what Solaris 10 cp -R does. - - * src/copy.c (copy_internal): Remove redundant and confusing local - variable src_type. - - * src/copy.c (copy_internal): Don't pass mkdir a mode greater than - 7777. This matches historical 'cp' behavior and avoids some - (though not all) implementation-defined behavior of mkdir. - * src/cp.c (make_dir_parents_private): Likewise. - * src/copy.c (copy_internal): Don't pass 'open' a mode greater - than 777. This is required by POSIX. It doesn't make any difference - in actual behavior on any host that I know of. - -2006-10-17 Jim Meyering - - * src/dd.c (usage): Use two spaces (not one) to separate the - "fdatasync" option string from its description, so help2man formats - the derived man page properly. Reported by Samuel Thibault - in . - -2006-10-16 Jim Meyering - - * .x-sc_trailing_blank: Remove names of files that are no longer - version-controlled. - -2006-10-16 Paul Eggert - - * src/groups.sh (version): Reword message to match the other programs. - Problem reported by Eric Blake. - -2006-10-14 Jim Meyering - - * Makefile.maint (headers_with_interesting_macro_defs): Define. - (.re-defmac, sc_always_defined_macros): New rules. - - * src/system.h (EXIT_FAILURE, EXIT_SUCCESS): Remove definitions. - Instead, include "exit.h". This hereby retires the work-around for - "Sony NEWS-OS Release 4.0C"'s bug due to "#define EXIT_FAILURE 0". - - * src/cksum.c (uint_fast32_t): Don't define. - Instead, include . - - * src/pinky.c (S_IWGRP): Don't define. - It's already defined by "stat-macros.h" (included via system.h). - - * Makefile.cfg: Remove cruft that's now handled via bootstrap. - * Makefile.maint: Likewise, remove these targets/rules/variables: - (local_updates, update, cvs-update, wget_files, get-targets): Remove. - (cvs_files, wget-update, automake_repo): Likewise. - Move the comment about cvsu to build-aux/vc-list-files, - where cvsu is actually used. - - * Makefile.maint (cvs-update): Use $(CVS), not "cvs". - - Work also when the working directory (with e.g. coreutils sources) - is version controlled with git, rather than CVS. - * bootstrap (CVS_only_file): Test for the existence of README-cvs, - rather than CVS. - In messages and comments, say e.g., "checked-out sources", - rather than "CVS sources". - (version_controlled_file): New function. Work for git as well as - for CVS. Don't use grep's -q option. - (slurp): Call it here, in place of CVS-specific code. - - * NEWS: cp -r --backup dir1 dir2, would rename an existing dir1/dir2 - to dir1/dir2~. - * src/copy.c (copy_internal): Although we do create a backup of each - destination directory when in move mode, don't do that when copying. - Reported by Peter Breitenlohner, in - . - * tests/cp/backup-dir: New file. Test for the above. - * tests/cp/Makefile.am (TESTS): Add backup-dir. - -2006-10-13 Jim Meyering - - More chown/chgrp dereferencing-related fixes. - * src/chown-core.c (change_file_owner): Don't use fts_statp if - we're dereferencing symlinks. - Reverse conjuncts, so that we use dereference file_stats - (aka ent->fts_statp) only *after* we've confirmed that - chopt->affect_symlink_referent is true. Otherwise, we might - use ent->fts_statp uninitialized. - Don't turn on FTS_NOSTAT when dereferencing symlinks. - * tests/chown/deref: Update the expected diagnostic, now that - this test case (trying to use "chown --dereference ..." on a - dangling symlink) takes a different code path. - -2006-10-13 Paul Eggert - - Sync from Bison, as follows: - - 2006-10-01 Paul Eggert - - Fix problems with translating English-language diagnostics. - * bootstrap: Fix bug introduced in recent bootstrap changes, with - respect to bison-runtime pot generation. The YY_ stuff - wasn't being captured. - -2006-10-13 Jim Meyering - - * src/chown-core.c (change_file_owner): Use fstatat, not stat, - now that we're using fts_open with FTS_CWDFD. - * tests/chgrp/posix-H: Add --preserve-root to an invocation of - chgrp, to exercise the above fix. - * NEWS: Mention the above. - - * src/du-tests: Clean up a little, though it's still not portable. - - * .vg-suppressions: Add 3 more for debian unstable. - - * tests/ls/Test.pm: Remove long-unused file. - * Makefile.am (EXTRA_DIST): Add bootstrap.conf. - Suggestions from Bruno Haible. - -2006-10-12 Ralf Wildenhues - - * Makefile.am (THANKS-to-translators): Add missing $(srcdir). - (MAINTAINERCLEANFILES): Add .kludge-stamp. - * man/Makefile.am (MAINTAINERCLEANFILES): Typo $(dist_man_MANS) - instead of $(man_MANS). - -2006-10-12 Ralf Wildenhues - - * configure.ac: Avoid compiler warnings about default return - type in function definitions and unused variables in tests. - * src/who.c (print_user) [HAVE_UT_HOST]: hostlen is only needed - if this is #defined. - -2006-10-12 Jim Meyering - - * configure.ac: Reflect s/gl_MACROS/coreutils_MACROS/ renaming. - Call gl_INIT directly, rather than through the above. - -2006-10-11 Paul Eggert - - * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell - variable was sometimes used without being initialized. This - messed up the installation of the INSTALL file in some cases. - -2006-10-11 Jim Meyering - - * src/ls.c (usage): Correct description of -s, --size. - It works even without -l. Suggestion from Karl Berry. - -2006-10-10 Paul Eggert - - * src/ls.c (quote_name): Use initializer rather than memset to - initialize an object to zero. This is easier to read and is less - likely to introduce a runtime error due to a mixup. It causes - gcc -W to issue a warning, but you can work around this by - appending -Wno-missing-field-initializers. - * src/pathchk.c (portable_chars_only): Likewise. - * src/shred.c (main): Likewise. - * src/stty.c (main): Likewise. - * src/tr.c (card_of_complement): Likewise. - * src/wc.c (wc): Likewise. - -2006-10-09 Paul Eggert - - * src/sort.c (usage): Mention again that sort fields are origin 1. - - * NEWS: Fix typo: iso-8602 -> iso-8601. Problem reported by - Bob Proulx. - - * bootstrap (usage, main program, symlink_to_gnulib): Add option - --copy. Inspired by a suggestion from Bruno Haible. - -2006-10-09 Jim Meyering - - Avoid a compiler warning. - * src/pathchk.c (portable_chars_only): Initialize variable of type - mbstate_t via memset, rather than via '{0}'. Patch from Bruno Haible. - -2006-10-06 Paul Eggert - - Fix bug reported today by Mike Frysinger: mkdir -pv is logging the - wrong file name in some cases. Lars Wendler reported a bug in - my original fix. - * src/install.c (make_ancestor): New arg COMPONENT. - * src/mkdir.c (make_ancestor): Likewise. - * tests/install/basic-1: Check for install -Dv bug. - * tests/mkdir/Makefile.am (TESTS): Add p-v. - * tests/mkdir/p-v: New file, to test this bug. - -2006-10-05 Paul Eggert - - * src/chgrp.c: Don't include lchown.h; no longer needed. - * src/chown.c: Likewise. - - * tests/ls/stat-dtype: Use a dynamic test to decide whether the - current file system has useful d_type info. - - * src/dd.c (flags): noatime and nofollow now depend on - HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too. - (usage): Output info about noatime and nofollow only if - they are known to work. - * src/remove.c (AD_push): Inspect HAVE_WORKING_O_NOFOLLOW rather - than O_NOFOLLOW, when testing whether it's possible to avoid a - race condition reliably. - -2006-10-05 Jim Meyering - - * src/c99-to-c89.diff: Update to reflect new offsets. - - * tests/install/basic-1: Skip the latter part of this test if the - just-built dd binary is not readable. Otherwise, this test would fail - when binaries were created as root. Reported by Bauke Jan Douma in - . - -2006-10-03 Paul Eggert - - * src/system.h (ST_BLKSIZE): Ceiling at SIZE_MAX / 8 + 1, not at 4 - MiB, since XFS hosts can legitimately have large values of - st_blksize. Problem reported by Tony Ernst in - . - -2006-10-04 Jim Meyering - - * src/remove.c (nonexistent_file_errno): Remove ENAMETOOLONG. - Paul Eggert pointed out that the specified file may exist, - in spite of such an errno value. - * tests/rm/Makefile.am (TESTS): Remove ignore-name-too-long. - * tests/rm/ignore-name-too-long: Remove file. - * NEWS: Update here, too. - -2006-10-03 Jim Meyering - - * tests/rm/fail-eperm: Report failure also if rm is terminated by - a signal. - - * src/c99-to-c89.diff: Convert two c99'isms -- one in remove.c - and one in shred.c -- that were added before coreutils-6.3. - Reported by Michael Deutschmann. - - * src/c99-to-c89.diff: Update to reflect new offsets. - - * src/remove.c (remove_entry): With -f, exit successfully in spite - of a missing file under some very unusual conditions (with errno - being any of ENOENT, ENOTDIR, ENAMETOOLONG). - - With --force (-f), rm no longer fails for ENOTDIR. - * src/remove.c (ignorable_missing): New function. - Use it everywhere, rather than open-coding the test. - Andreas Schwab reported the ENOTDIR problem. - (ignorable_missing): Similarly, don't fail for ENAMETOOLONG. - - * NEWS: Mention the bug fix. - * tests/rm/ignorable: New file. Test for the ENOTDIR case. - * tests/rm/ignore-name-too-long: New file. Test for ENAMETOOLONG. - * tests/rm/Makefile.am (TESTS): Add the new file names. - - * bootstrap: Undo last change to this file, since now gnulib-tool - sticks with the automake default in generating dependencies. - - * NEWS: Add a line for 6.4-cvs. - * configure.ac (AC_INIT): Bump to 6.4 and add "-cvs" suffix. - -2006-09-30 Jim Meyering - - Version 6.3. - * NEWS: Record the 6.3 release date. - * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. - - * NEWS: Mention Paul's Solaris 8 vs. 10 work-around. - - * src/c99-to-c89.diff: Update offsets. - -2006-09-29 Paul Eggert - - * tests/rm/readdir-bug: Don't use $(...) in a shell script, - as it doesn't work with Solaris /bin/sh. - -2006-09-29 Jim Meyering - - * NEWS: Mention Paul's fix (to gnulib's canon-host.c) for - the pinky segfault. - - * tests/seq/basic [neg-2, eq-wid-2]: Comment out tests that - use .1 as the increment. Actual output varies too much. - [eq-wid-3]: New, commented out test. - - * src/shuf.c (read_input): Fix an off-by-one error that - would cause an infloop for piped input of 8KB or more. - * NEWS: Mention the fix. - * tests/misc/shuf: Test for the above fix. - - Since any system may be affected by the Darwin readdir bug, - perform the extra rewinddir unconditionally. The performance - impact of rewinding a directory is negligible. - * src/remove.c (NEED_REWIND): Define to use - CONSECUTIVE_READDIR_UNLINK_THRESHOLD unconditionally. - - * tests/seq/basic: Use .11 as the upper bound, in case the ".1" - increment translates to a slightly larger value. - This corrects a test failure on FreeBSD 6.1 reported by Nelson Beebe. - The final expected value wasn't being printed. - - Work around a readdir bug in Darwin 7.9.0 (MacOS X 10.3.9) on HFS+ - and NFS, whereby rm would not remove all files in a directory. - * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Reduce to 10. - (NEED_REWIND): New macro, so that we incur the cost of the work-around - rewinddir only on afflicted systems. - * NEWS: Clarify and correct. - * tests/rm/readdir-bug: New file. Test for the above fix. - * tests/rm/Makefile.am (TESTS): Add it. - Prompted by testing and analysis from Bruno Haible: - http://lists.gnu.org/archive/html/bug-coreutils/2006-09/msg00326.html - -2006-09-28 Paul Eggert - - * tests/rm/fail-eperm: Unset BASH_ENV, CDPATH, and ENV, too; - suggested for Debian stable, which uses Perl 5.8.4. - -2006-09-28 Jim Meyering - - Automatically generated dependencies are important even - when all of the sources in a directory come from gnulib. - * bootstrap (gnulib_tool): Remove the "no-dependencies" automake - option that gnulib-tool adds to what becomes our lib/gnulib.mk. - - * tests/rm/fail-eperm: Enable Perl's (-T) taint checking. - Ensure that IFS is set properly and unset PATH. - Sanitize inputs. - Work properly even when the name of the selected file starts with "-". - Invoke rm via "../../src/rm", and adjust expected output. - Prompted by a patch from Tim Waugh. - - * README-cvs: Add Bison to the list of required packages. - -2006-09-26 Jim Meyering - - * src/c99-to-c89.diff: Update offsets. - - * NEWS: rm works around a bug in Darwin 8.6.1 w/NFS that kept - it from removing a directory containing 188 or more entries. - * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Decrease by - 20, go work around the buggy readdir on Darwin 8.6.1 with NFS. - Reported by Matthew Woehlke. - -2006-09-26 Paul Eggert - - * NEWS: "groups user" no longer outputs "user :"; you need at least - two users. "groups" now processes options like --help more compatibly. - * src/groups.sh: Implement the option-processing change. - Handle user and group names with special characters more robustly. - Report write errors instead of exiting silently with status 1. - -2006-09-26 Jim Meyering - - * README: Warn not to run autoreconf manually. Use bootstrap instead. - - * src/groups.sh: When invoked with 0 or 1 argument, just exec "id". - Rewrite to avoid using temporary, $status. - - * NEWS: Mention the bug fix. - * src/groups.sh: Don't hide a write failure. - Reported by Iain Calder . - -2006-09-25 Jim Meyering - - * src/chown.c (usage): Clarify --dereference description. - * src/chgrp.c (usage): Likewise. Suggestion from Jamie McClelland. - -2006-09-24 Jim Meyering - - * NEWS: Mention these fixes. - * src/copy.c (copy_reg): With --verbose (-v), print - "removed `file_name'" just after unlinking a file. - (copy_internal): Likewise, in three more places. - Marc Lehman reported that "touch x; ln x y; mv -v x y" was silent. - * tests/mv/hard-verbose: New file. Test for the above fix. - * tests/mv/Makefile.am (TESTS): Add hard-verbose. - - * tests/help-version (sync_args): Don't call sync, since it spins up - disks that I've deliberately caused to spin down (but not unmounted). - - * NEWS: Mention the improvement to sort. - - * tests/tail-2/proc-ksyms: Require that /proc/ksyms be readable - as well as existing. - - * tests/ls/stat-dtype: Don't use tmpfs on linux-2.4 or older, - since that predated addition of d_type support. - -2006-09-23 Jim Meyering - - * gl/modules/getloadavg.diff: New file. Work around the way the latest - version of the getloadavg module interacts with our bootstrap script. - * bootstrap (gnulib_tool_options): Add "--local-dir gl". - * Makefile.am (EXTRA_DIST): Sort file names. - Add bootstrap and gl/modules/getloadavg.diff - -2006-09-20 Paul Eggert - - * bootstrap: Add support for --force. - (usage): New function. Describe usage less tersely. - (CVS_only_file): New var. - - * NEWS: Document fix for cp -i and mv -i. - * src/copy.c (copy_internal): With -i, prompt even if the source - is a directory and the destination is not. This is required by - POSIX and gives the user a chance to bail out before failing. - * tests/cp/Makefile.am (TESTS): Add cp-i. - * tests/cp/cp-i: New file. - * tests/mv/Makefile.am (TESTS): Add i-5. - * tests/mv/i-5: New file. - -2006-09-20 Jim Meyering - - * NEWS: Mention the chmod bug fix. - - * tests/chmod/inaccessible: New test, specifically for this bug. - Based on a test case from Paul Eggert. - * tests/chmod/Makefile.am (TESTS): Add inaccessible. - - Fix the 2006-09-18 bug differently. - * src/chmod.c: (process_file): Upon FTS_NS for a top-level file, - tell fts_read to stat the file again, in case it has become - accessible since the initial fts_open call. - * src/chown-core.c (change_file_owner): Likewise. - - * src/chmod.c: Revert last change. There is a better way. - * src/chown-core.c: Likewise. - -2006-09-19 Paul Eggert - - * src/ln.c (target_directory_operand): Rewrite to avoid porting - problem on Tandem reported by Matthew Woehlke in - . - -2006-09-18 Paul Eggert - - Fix bug where chmod, chown, and chgrp did not process operands - left-to-right in some cases. - * src/chmod.c (wd_errno): New var. - (chmod_file): New function, with most of the contents of the - old prcess_file function. - (process_files): Use it. This gives file names to fts one - at a time, so that they are processed left-to-right as POSIX - requires. - * src/chown-core.c (wd_errno, chown_files): Likewise. - (chown_file): New function. - * tests/install/basic-1: Redo test so as to not workaround - the chmod bug, thereby testing for it. - - * src/shuf.c (main): Quote the entire range when reporting an - invalid one, rather than just the part that contained the error. - - * tests/stty/row-col-1: Rewrite to avoid temporary file that is - sometimes left behind if the test is skipped or interrupted. - - * bootstrap (symlink_to_gnulib): New function. - (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib - to copies-of-gnulib. - (cp_mark_as_generated, slurp, gnulib_files): - Avoid making a copy if it's the same as the old version. - (gnulib_files): Add support for this variable (used by Bison). - - * tests/ls/stat-vs-dirent: Fix quoting problem in diagnostic - indicating flaw in kernel. Reword to say that the flaw isn't - serious for coreutils, since the flaw does affect ls -i. - - * tests/chgrp/basic: Fix bug in test case exposed by building on - Solaris 8 in a setgid directory. The test case incorrectly - assumed that 'symlink' would be in group $g1. - -2006-09-18 Jim Meyering - - * NEWS: Add a line for 6.3-cvs. - * configure.ac (AC_INIT): Bump to 6.3 and add "-cvs" suffix. - - Version 6.2. - * NEWS: Record the 6.2 release date. - * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. - -2006-09-17 Jim Meyering - - * tests/chgrp/basic: On an OpenBSD system, rather than failing - due to a known problem, merely warn about it. - Rewrite to avoid testing output of chgrp --verbose and chgrp -c. - Instead, use stat to test file system for desired results, directly. - * tests/chgrp/Makefile.am (TESTS_ENVIRONMENT): Set host_triplet. - - * tests/envvar-check: Add more variable names to the list of those - that can affect these programs and tests: _POSIX2_VERSION, COLUMNS, - QUOTING_STYLE, TABSIZE, TERM, TMPDIR. - -2006-09-16 Paul Eggert - - * NEWS: Document that mkdir -p and install -d now fork on occasion. - * bootstrap.conf (gnulib_modules): Add savewd. - * src/install.c: Include savewd.h. - (process_dir): New function. - (main, install_file_in_file_parents): Use it, along with the new - savewd module, to avoid some race conditions. - * src/mkdir.c: Include savewd.h. - (struct mkdir_options): New members make_ancestor_function, mode, - mode_bits. - (make_ancestor): Return 1 if the resulting directory is not readable. - (process_dir): New function. - (main): Use it, along with new savewd module, to avoid some - race conditions. Fill in new slots of struct mkdir_options, so - that callees get the values. - * tests/install/basic-1: Test for coreutils 5.97 bug that was - fixed in coreutils 6.0, and which should still be fixed with - this change. - * tests/mkdir/p-3: Likewise. - -2006-09-15 Jim Meyering - - * bootstrap.conf (gnulib_modules): Add rename-dest-slash. - The 2006-09-08 changes made it so "mv dir new-name/" would - fail on NetBSD 1.6. This makes it work once again. - -2006-09-14 Jim Meyering - - * src/mv.c (main): Remove unnecessary (always-true) test for 2 <= n. - Instead, since it's a little fragile, assert the condition. - (target_directory_operand): Update comment to reflect latest change. - -2006-09-12 Paul Eggert - - * src/who.c (print_user): Rewrite to avoid warning from - GCC 4.1.1 with -Wall. - -2006-09-12 Jim Meyering - - * tests/mv/atomic: Check for specific strace output, rather than - simply nonempty. RHEL AS 4 would fail this test due to strace - generating "[ Process PID=14434 runs in 32 bit mode. ]". - Reported by Nelson Beebe. - -2006-09-11 Jim Meyering - - * src/remove.c (remove_dir): Move new cache_stat_init call onto - it's own line. - (rm_1): Move declaration of "st" and new cache_stat_init call - "down" to nearer where they're used. - * src/c99-to-c89.diff: Add another set of curly braces. - -2006-09-10 Paul Eggert - - * src/expr.c (eval6): Fix buffer overrun, or bad performance, if - substr's last operand is very large. Performance problem reported - by Sebastian Kreft. - -2006-09-09 Jim Meyering - - * Makefile.maint (sc_prohibit_jm_in_m4): Don't hang when there - are no .m4 files. - (sc_require_config_h): Skip this test if there are no version- - controlled .c files. - (sc_prohibit_assert_without_use): Likewise. - -2006-09-08 Jim Meyering - - * bootstrap: Export CVS_RSH separate from its assignment, to work - even with Solaris 10's /bin/sh. Suggestion from Mark D. Baushke. - -2006-09-08 Paul Eggert - - * NEWS: tail now ignores the -f option if POSIXLY_CORRECT is set, - no file operand is given, and standard input is any FIFO. - This is in response to Open Group XCU ERN 114. - * src/tail.c (main): Likewise. - -2006-09-08 Jim Meyering - - mv and "cp -r" no longer fail when invoked with two arguments - where the first one names a directory and the second name ends in - a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B, - now succeeds, once more. This reverts part of the 2004-06-27 - change for 5.3.0. - * NEWS: Say the above. - * src/mv.c (target_directory_operand): Don't require (here) - that the target operand "look like" a directory. This change - pushes the test down to the rename syscall level, where a - "mv dir existing-non-dir/" will mistakenly succeed on older systems - that ignore trailing slashes in the rename destination argument. - * src/cp.c (target_directory_operand): Likewise, but for cp. - * tests/mv/trailing-slash: Exercise the above fixes. - * tests/cp/trailing-slash: New file. - * tests/cp/Makefile.am (EXTRA_DIST): Add trailing-slash. - - * bootstrap: Use the previously unused variable, $src, - to avoid repeating "$GNULIB_SRCDIR/$file". - - * bootstrap (cp_mark_as_generated): Don't use "local", to - accommodate ancient "/bin/sh". Suggested by Ralf Wildenhues. - Rename now-global "$src" and "$dst" to have cp_ prefix. - Safer, and avoids confusion. - - * bootstrap (cp_mark_as_generated): New function. - (slurp): Use it to prepend editor hints and a warning that - the file we're copying is generated. - Suggestion from Bruce Korb. - (cp_mark_as_generated): Don't add C-style comments for .l or .y files. - Fix last-minute typo. - -2006-09-07 Jim Meyering - - * bootstrap: Revert last change. There are less disruptive ways - to mark these generated files as read-only. - - * src/c99-to-c89.diff: Update to have proper offsets. - -2006-09-06 Jim Meyering - - Ensure that some gnulib-tool-generated files are read-only. - * bootstrap (slurp): Put the body of this function in a sub-shell, - with "umask a-w" so that all new files are read-only. Remove each - file before we write to it, in case it's read-only. - Make po/Makevars and runtime-po/Makevars read-only, too. - -2006-09-05 Jim Meyering - - * tests/cp/acl: Skip this test when cp lacks ACL support. - * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set $(CONFIG_HEADER). - - * src/c99-to-c89.diff (remove.c): Adapt one hunk to match the new - context from change of 2006-09-02. - -2006-09-04 Jim Meyering - - * README-cvs: Fix typo in update command. - -2006-09-03 Jim Meyering - - * NEWS: Tweak the wording in the new change description so that - no one can think this change causes e.g., `rm -fr foo../' to fail. - - * tests/rm/inaccessible: Adjust for movement of config.h to lib/. - Use $CONFIG_HEADER, rather than hard-coding it. - * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Set $CONFIG_HEADER. - -2006-09-02 Paul Eggert - - * NEWS: rm now rejects attempts to remove /, ./, and ../. - * src/basename.c: Don't include dirname.h, since system.h does it now. - * src/chmod.c: Likewise. - * src/copy.c: Likewise. - * src/cp.c: Likewise. - * src/df.c: Likewise. - * src/dircolors.c: Likewise. - * src/dirname.c: Likewise. - * src/du.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/ls.c: Likewise. - * src/mkdir.c: Likewise. - * src/mv.c: Likewise. - * src/remove.c: Likewise. - * src/rm.c: Likewise. - * src/rmdir.c: Likewise. - * src/shred.c: Likewise. - * src/split.c: Likewise. - * src/su.c: Likewise. - * src/system.h: Include "dirname.h", since dot_or_dotdot needs it - now. - (dot_or_dotdot): Succeed even if "." or ".." is followed by a - slash. - * src/rm.c (usage, main): --preserve-root is now the default. - * src/remove.h: Fix comment. - * src/remove.c (cache_fstatat, cache_stat_init): New functions. - (cache_statted, cache_stat_ok): New functions. - (write_protected_non_symlink): Remove struct stat ** buf_p arg, - which is no longer needed with the new functions. All callers - changed. - (prompt, is_dir_lstat, remove_entry, remove_dir): - New struct stat * arg. All callers changed. - (write_protected_non_symlink, prompt, is_dir_lstat, remove_entry): - (remove_cwd_entries, remove_dir, rm_1): - Use and maintain the file status cache. - (prompt, remove_entry): Omit the first "directory" in the diagnostic - "Cannot remove directory `foo': is a directory". This causes "rm" - to pass a test case that it would otherwise fail now that it - "knows" more about its argument. I think the diagnostic is better - without the first "directory" anyway. - (prompt): Remove the no-longer-needed IS_DIR arg; all callers changed. - (rm_1): Reject attempts to remove /, ./, or ../. - * tests/rm/Makefile.am (TESTS): Add r-4. - * tests/rm/r-4: New file. - -2006-09-01 Paul Eggert - - * src/stat.c: Include - (alignof): New macro. - (HAVE_STRUCT_STATXFS_F_FSID___VAL, HAVE_STRUCT_STATXFS_F_FSID_VAL): - Remove. - (STRUCT_STATXFS_F_FSID_IS_INTEGER): New macro. - (FSID_VAL): Remove. - (print_statfs): If f_fsid isn't an integer, grab its words one - at a time in little-endian order. This is a bit easier to configure - and should avoid a compilation failure on MacOS reported by Bruno - Haible. - -2006-08-29 Paul Eggert - - * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID_VAL, FSID_VAL): New macros, to - work around a Mac OS X porting problem reported by Bruno Haible in - . - (print_statfs): Use them. - - * bootstrap.conf (gnulib_modules): Add isapipe. - * src/tail.c: Include isapipe.h. - (IS_PIPE_LIKE_FILE_TYPE): Remove. - (IS_TAILABLE_FILE_TYPE): Just list both FIFOs and sockets as - tailable, since this seems to be portable. - (main): Use isapipe, to fix a bug on MacOS X reported by Bruno Haible in - . - - * src/system.h (LOCALEDIR): Remove, since configmake.h now defines - it for us. - -2006-08-28 Paul Eggert - - * src/copy.c (copy_internal): Don't test whether macros like - S_ISLNK are defined, since they're always defined now. - * src/cp.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/ls.c (get_link_name, make_link_name): Likewise. - * src/mknod.c (main): Likewise. - * src/mkfifo.c (usage): Likewise. - * src/who.c (S_IWGRP): Likewise. - - Adjust to recent gnulib changes for the gnulib module. - * bootstrap.conf (gnulib_modules): Add fcntl. - * src/system.h (SEEK_SET, SEEK_CUR, SEEK_END): Remove. Other code - is already assuming these macros are defined. - (O_DIRECT, O_DIRECTORY, O_DSYNC, O_NDELAY, O_NOATIME, O_NONBLOCK): - (O_NOCTTY, O_NOFOLLOW, O_NOLINKS, O_RSYNC, O_SYNC, O_BINARY, O_TEXT): - Remove; the fcntl module now handles these. - - Adjust to recent gnulib changes for the inttypes module. - * bootstrap.conf (gnulib_modules): Remove stdint; add inttypes. - (excluded_files): Don't exclude m4/inttypes-h.m4 or m4/inttypes-pri.m4. - - * src/system.h: Don't bother to include , since we can - now assume inttypes.h does the equivalent of including stdint.h. - -2006-08-27 Jim Meyering - - * src/copy.c (copy_internal): Don't make a backup if the last - component of the source name is "." or "..". - Reported by Andreas Schwab in http://savannah.gnu.org/bugs/?17540. - * NEWS: Mention this. - * tests/cp/src-base-dot: New file. Test for the above fix. - * tests/cp/Makefile.am (TESTS): Add src-base-dot. - - * src/system.h (DOT_OR_DOTDOT): Remove macro. Rewrite as a... - (dot_or_dotdot): ...new static inline function. - * src/remove.c (rm_1): Reflect this renaming. - * src/ls.c (basename_is_dot_or_dotdot): Likewise. - - * src/copy.c (copy_internal): Add comments. - -2006-08-26 Paul Eggert - - * src/Makefile.am (AM_CPPFLAGS): Remove -I$(srcdir) and -I../lib, - since Automake supplies them for us. It always did -I$(srcdir), - and with the recent change to AC_CONFIG_HEADERS in configure.ac it - is now also doing -I../lib. - - * bootstrap (get_translations): Skip this if WGET_COMMAND is empty. - Fail if the first "echo" fails. Suppress diagnostics from "ls po/*.po" - since there might not be any .po files. - (WGET_COMMAND): Set to empty if wget doesn't - seem to be available. - -2006-08-26 Jim Meyering - - This test was failing in some environments. - * tests/ls/color-dtype-dir: Don't rely on eval "`dircolors -b`" - to set LS_COLORS in the environment. - * tests/envvar-check: Instead, ensure that LS_COLORS is not set. - Reported by Bob Proulx. - - * src/c99-to-c89.diff: Remove hunk for copy.c; no longer needed. - - * Makefile.am (EXTRA_DIST): Remove these files here, too: - .x-sc_no_if_have_config_h, .x-sc_prohibit_assert_without_use, - .x-sc_two_space_separator_in_usage. - - Fix "mv --verbose --backup" so its output includes the - " (backup: foo.~1~)" suffix also when backing up a directory. - * NEWS: Report this bug fix. - * src/copy.c (emit_verbose): New function, factored out of... - (copy_internal): ...here. Use the new function. - * tests/mv/backup-dir: Test for the above fix. - * tests/mv/Makefile.am (TESTS): Add backup-dir. - -2006-08-25 Paul Eggert - - * .x-sc_no_if_have_config_h: Remove; no longer needed. - * .x-sc_prohibit_assert_without_use: Remove; it was empty. - * .x-sc_two_space_separator_in_usage: Likewise. - * Makefile.maint (sc_no_have_config_h): Renamed from - sc_no_if_have_config_h, since it now checks that HAVE_CONFIG_H - is absent everywhere. - * bootstrap.conf (gnulib_modules): Add config-h. - * src/shred.c: Include unconditionally, since - we now assume config.h exists. - * src/dircolors.c: Likewise. - -2006-08-26 Jim Meyering - - "ls --color" would highlight other-writable and sticky directories - no differently than regular directories on a file system with - dirent.d_type support. - * NEWS: Say the above. - * src/ls.c (gobble_file): With --color, also stat the file when - we know it is a directory. - Derived from an anonymous one-line fix and bug report: - . - * tests/ls/color-dtype-dir: New file. Test for the above fix. - * tests/ls/Makefile.am (TESTS): Add color-dtype-dir. - -2006-08-25 Paul Eggert - - * .cvsignore: Remove stamp-h1. Add coreutils-*, to ignore - tarballs. - * bootstrap.conf: Add configmake, verify. - * src/.cvsignore: Remove localedir.h. - * src/Makefile.am (localedir, DISTCLEANFILES, localedir.h): Remove; - subsumed by configmake. - * src/system.h: Include configmake.h rather than localedir.h - (LOCALEDIR): New macro. - - Rewrite to avoid some unnecessary casts, macros, literals. - * src/shred.c (DEFAULT_PASSES, VERBOSE_UPDATE): Now constants, - not macros. - (SECTOR_SIZE, SECTOR_MASK): New constants. - (fillpattern, dopass, do_wipefd, main): Remove unnecessary casts, - and use the SECTOR_* constants when applicable. Check for size < - 0 rather than size == -1, since negative-size files are a sign of - trouble anyway. - -2006-08-25 Bruno Haible - - * src/shred.c (dopass): Assume a continuable error if EIO even - if the current position is not a multiple of 512. - -2006-08-24 Jim Meyering - - * src/stat.c (print_statfs): Fix typo: remove extra "sizeof". - -2006-08-23 Paul Eggert - - * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID___VAL): Define. This - macro was being used without being defined. - (SB_F_NAMEMAX): Remove cast. - (f_fsid) [BeOS]: Likewise. - (OUT_NAMEMAX): Renamed from NAMEMAX_FORMAT, with a new meaning. - All uses changed. - (out_string, out_int, out_uint, out_uint_o, out_uint_x): New - functions. - (xstrcat): Remove. All uses changed to use the above functions. - (print_statfs, print_stat): 2nd arg is now the prefix len, not the - buffer len. All uses changed. Output '?', not '*', for unknown - data or errors. Do not assume signed values can be interchanged - with unsigned when printing. - (print_statfs): For %i, print the fsid as a single int, not as a - pair. - (print_it): Quote invalid format better. - - * NEWS: printf supports the I flag. - * src/printf.c (print_formatted) [glibc 2.2 or later]: Likewise. - -2006-08-23 Bruno Haible - - * src/stat.c (STRUCT_STATVFS, statfs, f_fsid, f_blocks, f_bfree) [BeOS]: - (f_bavail, f_bsize, STATFS_FRSIZE, f_files, f_ffree) [BeOS]: - (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME) [BeOS]: Define. - - * src/ls.c (SA_RESTART): Fallback define. - -2006-08-23 Paul Eggert - - * src/system.h (EDQUOT): Define if not already defined. - Problem reported by Bruno Haible for BeOS. - - * .cvsignore: Remove config.h, config.hin, as they are now - in lib. - * configure.ac (AC_CONFIG_HEADERS): Move config.h and config.hin - to lib. - * src/Makefile.am (AM_CPPFLAGS): Remove '-I..'; no longer needed. - - * bootstrap (slurp): Define gl_LOCK_EARLY instead of gl_LOCK, - to accommodate today's gnulib change. - -2006-08-23 Jim Meyering - - * NEWS: Mention the sweeping infrastructure changes. - -2006-08-22 Paul Eggert - - * bootstrap.conf (gnulib_modules): Add gnupload. - * Makefile.maint (emit_upload_commands): gnupload is now - in build-aux. - * gnupload: Remove from CVS, since it's now a gnulib module. - - * bootstrap (bootstrap_conf_cleanup): Remove. - (excluded_files): New var. - * bootstrap.conf: Likewise. - * bootstrap (slurp): Exclude files early if they're in the - excluded_files list. That way, their names don't get put into - .cvsignore. - - * aclocal.m4, config.hin, configure: - Remove from CVS, since ./bootstrap generates them automatically. - * .cvsignore: Add INSTALL, Makefile.in, aclocal.m4, config.hin, - configure, *.cache, *.lineno, *.log. - Remove more-specific entries. This catches files like configure.lineno. - * man/.cvsignore: Add Makefile.in. - * src/.cvsignore: Add Makefile.in. - Remove .version, dir.c, install, mvdir, stamp-v, vdir.c, version.c. - - * tests/.cvsignore: - * tests/chgrp/.cvsignore: - * tests/chmod/.cvsignore: - * tests/chown/.cvsignore: - * tests/cp/.cvsignore: - * tests/cut/.cvsignore: - * tests/dd/.cvsignore: - * tests/dircolors/.cvsignore: - * tests/du/.cvsignore: - * tests/expr/.cvsignore: - * tests/factor/.cvsignore: - * tests/fmt/.cvsignore: - * tests/head/.cvsignore: - * tests/install/.cvsignore: - * tests/join/.cvsignore: - * tests/ln/.cvsignore: - * tests/ls/.cvsignore: - * tests/ls-2/.cvsignore: - * tests/md5sum/.cvsignore: - * tests/misc/.cvsignore: - * tests/mkdir/.cvsignore: - * tests/mv/.cvsignore: - * tests/od/.cvsignore: - * tests/pr/.cvsignore: - * tests/readlink/.cvsignore: - * tests/rm/.cvsignore: - * tests/rmdir/.cvsignore: - * tests/seq/.cvsignore: - * tests/sha1sum/.cvsignore: - * tests/shred/.cvsignore: - * tests/sort/.cvsignore: - * tests/stty/.cvsignore: - * tests/sum/.cvsignore: - * tests/tac/.cvsignore: - * tests/tail/.cvsignore: - * tests/tail-2/.cvsignore: - * tests/tee/.cvsignore: - * tests/test/.cvsignore: - * tests/touch/.cvsignore: - * tests/tr/.cvsignore: - * tests/tsort/.cvsignore: - * tests/unexpand/.cvsignore: - * tests/uniq/.cvsignore: - * tests/wc/.cvsignore: - Add Makefile.in. Sort entries if necessary. Remove *.I, *.E, - *.X, *.O, *-tests, build-script, mk-script if they're never - created in this directory. - -2006-08-22 Bruno Haible - - BeOS portability. - * src/uptime.c: Include OS.h if it exists. - (print_uptime): On BeOS, use the get_system_info function (actually a - macro). Loop through utmp entries only if utmp.h or utmpx.h exists. - (uptime): Call read_utmp only if utmp.h or utmpx.h exists. - -2006-08-22 Jim Meyering - - * .cvsignore: Add ABOUT-NLS. - - Move the check-AUTHORS rule to be run as part of "make distcheck", - rather than "make check". - * src/Makefile.am (check): Don't depend on check-AUTHORS; it would - cause "make check" to fail on systems unable to build all binaries. - * Makefile.maint (check-AUTHORS): New rule. - (local-checks-available): Add it here. - Reported by Bruno Haible. Needed for BeOS. - -2006-08-21 Paul Eggert - - * src/df.c (print_header, show_dev): Use a column width that - depends on the block size of -P is specified and not autoscaling. - Problem reported by Gustavo G. Rondina in: - http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00164.html - -2006-08-21 Jim Meyering - - * tests/dircolors/simple (a): Don't fail with an unexpected diagnostic - when the shell variable, SHELL, is not set. - Trigger the failure with "(unset SHELL; make check TESTS=simple)". - Reported by Sven Joachim in . - - * src/od.c: Now that HAVE_UNSIGNED_LONG_LONG is no longer defined - in config.h, change the uses to HAVE_UNSIGNED_LONG_LONG_INT. - Otherwise, on a system with 4-byte longs, "od -t u8" fails with this: - od: invalid type string `u8'; - this system doesn't provide a 8-byte integral type - FIXME: add a test for this, but skip it when sizeof uintmax < 8. - -2006-08-20 Paul Eggert - - Add a bootstrap procedure, so that the CVS version contains fewer - files and we bootstrap the rest from gnulib, gettext, etc. - * README-cvs: New file. - * bootstrap: New file. - * bootstrap.conf: New file. - * .x-sc_trailing_blank: Remove config-log, .gdb-history. Add .po. - * configure.ac (AC_PREREQ): Move here from m4/*.m4, for benefit - of gnulib-tool. - (gl_DEFAULT_POSIX2_VERSION, gl_USE_SYSTEM_EXTENSIONS, gl_PERL): - (gl_IGNORE_UNUSED_LIBRARIES): Remove; now done by gnulib. - (gl_EARLY): Add. - (gl_MACROS): Call just after gl_EARLY, just for clarity. - * src/c99-to-c89.diff: Remove patch to ls.c; no longer needed. - * src/kill.c (strtoimax): Remove decl. - * src/ls.c: Include "wcwidth.h" instead of rolling it ourselves. - * src/wc.c: Likewise. - * src/ls.c (sort_files): Rewrite to avoid need for C99-style - declaration, so that we don't need to patch this file. - * src/printf.c (strtoimax, strtoumax): Remove decls. - * src/su.c: Include getpass.h. - (getpass): remove. - * src/system.h: Include mempcpy.h, stpcpy.h, strpbrk.h. - Include inttypes.h unconditionally. - (LONGEST_MODIFIER, PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Remove. - (stpcpy, strndup, strstr, strtoul, mempcpy, CHAR_MIN, CHAR_MAX): - (SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, SHRT_MIN, SHRT_MAX, INT_MAX): - (INT_MIN, INTMAX_MAX, INTMAX_MIN, UINT_MAX, LONG_MAX, ULONG_MAX): - (SIZE_MAX, SSIZE_MAX, UINTMAX_MAX): Remove. - - * ABOUT-NLS, INSTALL, Makefile.in, man/Makefile.in: - * src/Makefile.in, tests/Makefile.in, tests/chgrp/Makefile.in: - * tests/chmod/Makefile.in, tests/chown/Makefile.in: - * tests/cp/Makefile.in, tests/cut/Makefile.in: - * tests/dd/Makefile.in, tests/dircolors/Makefile.in: - * tests/du/Makefile.in, tests/expr/Makefile.in: - * tests/factor/Makefile.in, tests/fmt/Makefile.in: - * tests/general/Makefile.in, tests/head/Makefile.in: - * tests/install/Makefile.in, tests/join/Makefile.in: - * tests/ln/Makefile.in, tests/ls/Makefile.in: - * tests/ls-2/Makefile.in, tests/md5sum/Makefile.in: - * tests/misc/Makefile.in, tests/mkdir/Makefile.in: - * tests/mv/Makefile.in, tests/od/Makefile.in: - * tests/pr/Makefile.in, tests/readlink/Makefile.in: - * tests/rm/Makefile.in, tests/rmdir/Makefile.in: - * tests/seq/Makefile.in, tests/sha1sum/Makefile.in: - * tests/shred/Makefile.in, tests/sort/Makefile.in: - * tests/stty/Makefile.in, tests/sum/Makefile.in: - * tests/tac/Makefile.in, tests/tail/Makefile.in: - * tests/tail-2/Makefile.in, tests/tee/Makefile.in: - * tests/test/Makefile.in, tests/touch/Makefile.in: - * tests/tr/Makefile.in, tests/tsort/Makefile.in: - * tests/unexpand/Makefile.in, tests/uniq/Makefile.in: - * tests/wc/Makefile.in: - Remove from CVS, since ./bootstrap generates them automatically. - -2006-08-20 Eric Blake - - * src/stat.c (USE_STATVFS): Reinstate the patch from 2006-08-15; - the patch from 2006-08-18 broke on cygwin. - -2006-08-20 Jim Meyering - - * NEWS: Add a line for 6.2-cvs. - * configure.ac (AC_INIT): Bump to 6.2 and add "-cvs" suffix. - -2006-08-19 Jim Meyering - - * Version 6.1. - * NEWS: Record the 6.1 release date. - * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. - - * tests/Makefile.am (EXTRA_DIST): Add sparse-file. - - Avoid test failure when `make check' is run through debuild. - * tests/help-version: Ensure that $SHELL is set to some value - and exported. Patch from Sven Joachim. For details, see - . - - * tests/ls/stat-dtype: Test for the 2006-08-17 `ls -CF' fix. - - * README: Describe potential "pre-C99 build failure", and work-around. - - Some of my 2006-07-03 changes to tests/*/Makefile.am were being - backed out due to updates provoked by the copyright changes. - * tests/Makefile.am.in (PATH): Prepend $(VG_PATH_PREFIX), so that - it propagates to the derived Makefile.am files. - ($(srcdir)/Makefile.am): Mark generated .am files as read-only, - so we don't mistakenly edit them again. - * tests/cut/Makefile.am: Regenerate. - * tests/head/Makefile.am: Likewise. - * tests/join/Makefile.am: Likewise. - * tests/pr/Makefile.am: Likewise. - * tests/sort/Makefile.am: Likewise. - * tests/tac/Makefile.am: Likewise. - * tests/tail/Makefile.am: Likewise. - * tests/test/Makefile.am: Likewise. - * tests/tr/Makefile.am: Likewise. - * tests/uniq/Makefile.am: Likewise. - * tests/wc/Makefile.am: Likewise. - - * NEWS: Fix cp --sparse so that it preserves tail-end sparseness, even - when the file's apparent size is not a multiple of its block size. - * src/copy.c (copy_reg): Don't write a NUL before calling ftruncate. - For some file sizes, writing that single byte would unnecessarily - waste a few file blocks. That write may have been necessary in the - early days of Linux, but now, removing it should be safe. - Based on a patch by Alan Curry: - * tests/cp/sparse: New test for the above. - * tests/cp/Makefile.am (TESTS): Add sparse. - - * tests/sparse-file: New file, essence factored out of... - * tests/du/8gb: ... here. Use the new script. - -2006-08-18 Paul Eggert - - * src/system.h (select_plural): Reduce by 1000000, not 1000, since - the CVS gettext manual now suggests 1000000. - -2006-08-18 Bruno Haible - - Add support for NetBSD 3.0. - * src/stat.c (USE_STATVFS): Set to 1 if 'struct statvfs' has a field - f_fstypename. - (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME): Define also if 'struct statvfs' - has a field f_fstypename. - This undoes the 2006-08-15 to src/stat.c. - -2006-08-17 Paul Eggert - - Copyright notice fixes. - - * COPYING: Upgrade to latest version from FSF. - - * src/uname.c: Use (C) in copyright notice. - - * .vg-suppressions: Add copyright notice. - * ChangeLog: Likewise. - * ChangeLog-2005: Likewise. - * Makefile.am: Likewise. - * NEWS: Likewise. - * README: Likewise. - * README-valgrind: Likewise. - * TODO: Likewise. - * announce-gen: Likewise. - * man/Makefile.am: Likewise. - * man/chmod.x: Likewise. - * man/chown.x: Likewise. - * man/df.x: Likewise. - * man/du.x: Likewise. - * man/rm.x: Likewise. - * src/dircolors.hin: Likewise. - * src/du-tests: Likewise. - * src/extract-magic: Likewise. - * src/tac-pipe.c: Likewise. - * src/wheel-gen.pl: Likewise. - * tests/Coreutils.pm: Likewise. - * tests/Makefile.am.in: Likewise. - * tests/acl: Likewise. - * tests/envvar-check: Likewise. - * tests/expensive: Likewise. - * tests/group-names: Likewise. - * tests/help-version: Likewise. - * tests/mk-script: Likewise. - * tests/priv-check: Likewise. - * tests/rwx-to-mode: Likewise. - * tests/sample-test: Likewise. - * tests/setgid-check: Likewise. - * tests/chgrp/basic: Likewise. - * tests/chgrp/deref: Likewise. - * tests/chgrp/no-x: Likewise. - * tests/chgrp/posix-H: Likewise. - * tests/chgrp/recurse: Likewise. - * tests/chmod/c-option: Likewise. - * tests/chmod/equal-x: Likewise. - * tests/chmod/equals: Likewise. - * tests/chmod/no-x: Likewise. - * tests/chmod/octal: Likewise. - * tests/chmod/setgid: Likewise. - * tests/chmod/umask-x: Likewise. - * tests/chmod/usage: Likewise. - * tests/chown/basic: Likewise. - * tests/chown/deref: Likewise. - * tests/chown/separator: Likewise. - * tests/cp/Makefile.am: Likewise. - * tests/cp/acl: Likewise. - * tests/cp/backup-1: Likewise. - * tests/cp/backup-is-src: Likewise. - * tests/cp/cp-HL: Likewise. - * tests/cp/cp-deref: Likewise. - * tests/cp/cp-mv-backup: Likewise. - * tests/cp/cp-parents: Likewise. - * tests/cp/deref-slink: Likewise. - * tests/cp/dir-rm-dest: Likewise. - * tests/cp/dir-slash: Likewise. - * tests/cp/dir-vs-file: Likewise. - * tests/cp/fail-perm: Likewise. - * tests/cp/into-self: Likewise. - * tests/cp/link: Likewise. - * tests/cp/link-no-deref: Likewise. - * tests/cp/link-preserve: Likewise. - * tests/cp/no-deref-link1: Likewise. - * tests/cp/no-deref-link2: Likewise. - * tests/cp/no-deref-link3: Likewise. - * tests/cp/perm: Likewise. - * tests/cp/preserve-2: Likewise. - * tests/cp/r-vs-symlink: Likewise. - * tests/cp/same-file: Likewise. - * tests/cp/slink-2-slink: Likewise. - * tests/cp/special-bits: Likewise. - * tests/cp/symlink-slash: Likewise. - * tests/cut/Makefile.am: Likewise. - * tests/cut/Test.pm: Likewise. - * tests/dd/misc: Likewise. - * tests/dd/not-rewound: Likewise. - * tests/dd/skip-seek: Likewise. - * tests/dd/skip-seek2: Likewise. - * tests/dd/unblock-sync: Likewise. - * tests/dircolors/simple: Likewise. - * tests/du/2g: Likewise. - * tests/du/8gb: Likewise. - * tests/du/Makefile.am: Likewise. - * tests/du/basic: Likewise. - * tests/du/deref: Likewise. - * tests/du/deref-args: Likewise. - * tests/du/exclude: Likewise. - * tests/du/fd-leak: Likewise. - * tests/du/files0-from: Likewise. - * tests/du/hard-link: Likewise. - * tests/du/inaccessible-cwd: Likewise. - * tests/du/long-from-unreadable: Likewise. - * tests/du/long-sloop: Likewise. - * tests/du/no-deref: Likewise. - * tests/du/no-x: Likewise. - * tests/du/restore-wd: Likewise. - * tests/du/slash: Likewise. - * tests/du/slink: Likewise. - * tests/du/trailing-slash: Likewise. - * tests/du/two-args: Likewise. - * tests/expr/basic: Likewise. - * tests/factor/basic: Likewise. - * tests/fmt/basic: Likewise. - * tests/fmt/long-line: Likewise. - * tests/general/Makefile.am: Likewise. - * tests/general/atgeneral.m4: Likewise. - * tests/general/dd.at: Likewise. - * tests/head/Makefile.am: Likewise. - * tests/head/Test.pm: Likewise. - * tests/install/basic-1: Likewise. - * tests/install/create-leading: Likewise. - * tests/install/d-slashdot: Likewise. - * tests/install/trap: Likewise. - * tests/join/Makefile.am: Likewise. - * tests/join/Test.pm: Likewise. - * tests/ln/backup-1: Likewise. - * tests/ln/misc: Likewise. - * tests/ln/sf-1: Likewise. - * tests/ln/target-1: Likewise. - * tests/ls/Makefile.am: Likewise. - * tests/ls/Test.pm: Likewise. - * tests/ls/dangle: Likewise. - * tests/ls/dired: Likewise. - * tests/ls/file-type: Likewise. - * tests/ls/follow-slink: Likewise. - * tests/ls/infloop: Likewise. - * tests/ls/inode: Likewise. - * tests/ls/m-option: Likewise. - * tests/ls/no-arg: Likewise. - * tests/ls/recursive: Likewise. - * tests/ls/rt-1: Likewise. - * tests/ls/stat-dtype: Likewise. - * tests/ls/stat-failed: Likewise. - * tests/ls/stat-vs-dirent: Likewise. - * tests/ls/symlink-slash: Likewise. - * tests/ls/time-1: Likewise. - * tests/ls-2/tests: Likewise. - * tests/md5sum/basic-1: Likewise. - * tests/md5sum/newline-1: Likewise. - * tests/misc/Makefile.am: Likewise. - * tests/misc/base64: Likewise. - * tests/misc/basename: Likewise. - * tests/misc/cat-proc: Likewise. - * tests/misc/close-stdout: Likewise. - * tests/misc/csplit: Likewise. - * tests/misc/date: Likewise. - * tests/misc/date-sec: Likewise. - * tests/misc/df: Likewise. - * tests/misc/dirname: Likewise. - * tests/misc/expand: Likewise. - * tests/misc/false-status: Likewise. - * tests/misc/fold: Likewise. - * tests/misc/head-c: Likewise. - * tests/misc/head-elide-tail: Likewise. - * tests/misc/head-pos: Likewise. - * tests/misc/mknod: Likewise. - * tests/misc/nice: Likewise. - * tests/misc/nl: Likewise. - * tests/misc/nohup: Likewise. - * tests/misc/paste-no-nl: Likewise. - * tests/misc/pathchk1: Likewise. - * tests/misc/printf: Likewise. - * tests/misc/printf-hex: Likewise. - * tests/misc/pwd-long: Likewise. - * tests/misc/sha224sum: Likewise. - * tests/misc/sha256sum: Likewise. - * tests/misc/sha384sum: Likewise. - * tests/misc/sha512sum: Likewise. - * tests/misc/shuf: Likewise. - * tests/misc/sort-merge: Likewise. - * tests/misc/sort-rand: Likewise. - * tests/misc/split-a: Likewise. - * tests/misc/split-fail: Likewise. - * tests/misc/split-l: Likewise. - * tests/misc/stat-fmt: Likewise. - * tests/misc/stat-printf: Likewise. - * tests/misc/tac-continue: Likewise. - * tests/misc/test-diag: Likewise. - * tests/misc/tty-eof: Likewise. - * tests/misc/wc-files0: Likewise. - * tests/misc/wc-files0-from: Likewise. - * tests/mkdir/concurrent-1: Likewise. - * tests/mkdir/p-1: Likewise. - * tests/mkdir/p-2: Likewise. - * tests/mkdir/p-3: Likewise. - * tests/mkdir/p-slashdot: Likewise. - * tests/mkdir/p-thru-slink: Likewise. - * tests/mkdir/parents: Likewise. - * tests/mkdir/perm: Likewise. - * tests/mkdir/special-1: Likewise. - * tests/mkdir/t-slash: Likewise. - * tests/mkdir/writable-under-readonly: Likewise. - * tests/mv/Makefile.am: Likewise. - * tests/mv/acl: Likewise. - * tests/mv/atomic: Likewise. - * tests/mv/backup-is-src: Likewise. - * tests/mv/childproof: Likewise. - * tests/mv/diag: Likewise. - * tests/mv/dir-file: Likewise. - * tests/mv/dir2dir: Likewise. - * tests/mv/dup-source: Likewise. - * tests/mv/force: Likewise. - * tests/mv/hard-2: Likewise. - * tests/mv/hard-3: Likewise. - * tests/mv/hard-4: Likewise. - * tests/mv/hard-link-1: Likewise. - * tests/mv/i-1: Likewise. - * tests/mv/i-2: Likewise. - * tests/mv/i-3: Likewise. - * tests/mv/i-4: Likewise. - * tests/mv/i-link-no: Likewise. - * tests/mv/into-self: Likewise. - * tests/mv/into-self-2: Likewise. - * tests/mv/into-self-3: Likewise. - * tests/mv/into-self-4: Likewise. - * tests/mv/leak-fd: Likewise. - * tests/mv/mv-special-1: Likewise. - * tests/mv/no-target-dir: Likewise. - * tests/mv/part-fail: Likewise. - * tests/mv/part-hardlink: Likewise. - * tests/mv/part-rename: Likewise. - * tests/mv/part-symlink: Likewise. - * tests/mv/partition-perm: Likewise. - * tests/mv/perm-1: Likewise. - * tests/mv/reply-no: Likewise. - * tests/mv/setup: Likewise. - * tests/mv/to-symlink: Likewise. - * tests/mv/trailing-slash: Likewise. - * tests/mv/update: Likewise. - * tests/mv/vfat: Likewise. - * tests/od/od-N: Likewise. - * tests/od/x8: Likewise. - * tests/pr/Makefile.am: Likewise. - * tests/pr/Test.pm: Likewise. - * tests/readlink/can-e: Likewise. - * tests/readlink/can-f: Likewise. - * tests/readlink/can-m: Likewise. - * tests/readlink/rl-1: Likewise. - * tests/rm/Makefile.am: Likewise. - * tests/rm/cycle: Likewise. - * tests/rm/dangling-symlink: Likewise. - * tests/rm/deep-1: Likewise. - * tests/rm/dir-no-w: Likewise. - * tests/rm/dir-nonrecur: Likewise. - * tests/rm/dot-rel: Likewise. - * tests/rm/empty-inacc: Likewise. - * tests/rm/empty-name: Likewise. - * tests/rm/f-1: Likewise. - * tests/rm/fail-2eperm: Likewise. - * tests/rm/fail-eperm: Likewise. - * tests/rm/hash: Likewise. - * tests/rm/i-1: Likewise. - * tests/rm/i-no-r: Likewise. - * tests/rm/inaccessible: Likewise. - * tests/rm/interactive-always: Likewise. - * tests/rm/interactive-once: Likewise. - * tests/rm/ir-1: Likewise. - * tests/rm/isatty: Likewise. - * tests/rm/no-give-up: Likewise. - * tests/rm/r-1: Likewise. - * tests/rm/r-2: Likewise. - * tests/rm/r-3: Likewise. - * tests/rm/rm1: Likewise. - * tests/rm/rm2: Likewise. - * tests/rm/rm3: Likewise. - * tests/rm/rm4: Likewise. - * tests/rm/rm5: Likewise. - * tests/rm/sunos-1: Likewise. - * tests/rm/unread2: Likewise. - * tests/rm/unread3: Likewise. - * tests/rm/unreadable: Likewise. - * tests/rmdir/fail-perm: Likewise. - * tests/rmdir/ignore: Likewise. - * tests/rmdir/t-slash: Likewise. - * tests/seq/basic: Likewise. - * tests/sha1sum/basic-1: Likewise. - * tests/sha1sum/sample-vec: Likewise. - * tests/shred/exact: Likewise. - * tests/shred/remove: Likewise. - * tests/sort/Makefile.am: Likewise. - * tests/sort/Test.pm: Likewise. - * tests/sort-time/Makefile: Likewise. - * tests/sort-time/README: Likewise. - * tests/sort-time/rand-gen: Likewise. - * tests/stty/basic-1: Likewise. - * tests/stty/row-col-1: Likewise. - * tests/sum/basic-1: Likewise. - * tests/sum/sysv: Likewise. - * tests/tac/Makefile.am: Likewise. - * tests/tac/Test.pm: Likewise. - * tests/tail/Makefile.am: Likewise. - * tests/tail/Test.pm: Likewise. - * tests/tail-2/Makefile.am: Likewise. - * tests/tail-2/append-only: Likewise. - * tests/tail-2/assert: Likewise. - * tests/tail-2/assert-2: Likewise. - * tests/tail-2/big-4gb: Likewise. - * tests/tail-2/fflush: Likewise. - * tests/tail-2/infloop-1: Likewise. - * tests/tail-2/proc-ksyms: Likewise. - * tests/tail-2/start-middle: Likewise. - * tests/tail-2/tail-n0f: Likewise. - * tests/tee/basic: Likewise. - * tests/tee/dash: Likewise. - * tests/test/Makefile.am: Likewise. - * tests/test/Test.pm: Likewise. - * tests/touch/Makefile.am: Likewise. - * tests/touch/dangling-symlink: Likewise. - * tests/touch/empty-file: Likewise. - * tests/touch/fail-diag: Likewise. - * tests/touch/fifo: Likewise. - * tests/touch/no-create-missing: Likewise. - * tests/touch/no-rights: Likewise. - * tests/touch/not-owner: Likewise. - * tests/touch/obsolescent: Likewise. - * tests/touch/read-only: Likewise. - * tests/touch/relative: Likewise. - * tests/tr/Makefile.am: Likewise. - * tests/tr/Test.pm: Likewise. - * tests/tr/failures: Likewise. - * tests/tsort/basic-1: Likewise. - * tests/unexpand/basic-1: Likewise. - * tests/uniq/Makefile.am: Likewise. - * tests/uniq/Test.pm: Likewise. - * tests/wc/Makefile.am: Likewise. - * tests/wc/Test.pm: Likewise. - -2006-08-17 Jim Meyering - - ls -CF would misalign columns in some cases. - * src/ls.c (get_type_indicator): New function. extracted from... - (print_type_indicator): ...here. Use it. - (length_of_file_name_and_frills): Use it here, too, rather than - assuming stat.st_mode is valid. - Reported by Andreas Schwab, here: - - See the test for this above. FYI, I did ls -CF /proc and visually - inspected the result. - - * src/copy.c (copy_internal, same_file_ok): Adjust comments not - to mention the now-removed cp_options.xstat member. - - * Makefile.maint (patch-check): Adapt to work now that the patch - modifies more than one file in src/. - - With this patch, permit building with Solaris cc on Solaris 7. - * src/c99-to-c89.diff: Add diffs to convert more c99-isms. - This integrates patches from Bruno Haible. - -2006-08-16 Paul Eggert - - Fix some problems reported by Bruno Haible. - * tests/chmod/setgid (abs_srcdir): Remove; not used or needed. - Skip this test if "chmod g+s d" silently does nothing. - * tests/ls-2/tests: Skip this test suite if we can't set up files - properly for the setuid-etc test. This simplifies some of the - hacks we were using to work around porting problems. - -2006-08-16 Jim Meyering - - * tests/cp/Makefile.am: Don't mark "acl" as XFAIL. - * tests/cp/acl: Instead, skip the test if either setfacl - or getfacl fails. - Reported by Michael Stone. - -2006-08-16 Paul Eggert - - * tests/lang-default (LC_ALL): Set to "C", so we get - English-language diagnostics. Unset the other variables; it - should be portable to use 'unset' for this stuff nowadays. - Problem reported by Bruno Haible. Using "C" reverses the - 2000-10-22 change to fileutils in this area. - - Fix bugs when printing plurals of numbers that are not - unsigned long int values. - * src/system.h (select_plural): New function. - * src/md5sum.c (digest_check): Use select_plural to avoid bug. - * src/uptime.c (print_uptime): Likewise. - * src/dd.c (print_stats): Likewise. Also, don't use ngettext to - print a floating point number, as reducing to 0 or 1 doesn't work - for some languages. Instead, just use "s" for seconds since it - doesn't need a plural form. - -2006-08-16 Bruno Haible - - Old versions of gzip would write --help output to stderr, and it - would be annoying to see that in the output of every "make" command. - * Makefile.maint (gzip_rsyncable): Throw away stderr output of - "gzip --help". - -2006-08-16 Andreas Schwab - - * tests/cp/acl: Don't use non-portable == operator for test. - -2006-08-16 Jim Meyering - - * tests/ls/stat-dtype: Use stat to test file system type, rather - than df -T, in case /etc/mtab lies. Reported by Michael Stone. - -2006-08-15 Paul Eggert - - * NEWS: Mention that df exits with nonzero status if it generates - no output. This change was in 6.0 but inadvertently unmentioned. - * src/df.c (file_systems_processed): Renamed from n_valid_args, and now - a boolean. - (show_dev): Don't set it until we actually output something. - Print the header if this is the first output. - (main): Don't print a header, as that is now show_dev's job. - * tests/misc/Makefile.am (TESTS): Add df. - * tests/misc/df: New file. - -2006-08-15 Eric Blake - - * src/stat.c (USE_STATVFS): Define to 0 if f_type is needed, but - statvfs.f_type not present. See - . - -2006-08-15 Paul Eggert - - * src/dd.c (print_stats): Don't substitute "1" for number, as this - causes confusion for the Hungarian translators. Problem reported - by Egmont Koblinger here: - http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7726 - -2006-08-15 Jim Meyering - - * .x-sc_require_config_h: Add lib/at-func.c. - - * NEWS: Add a line for 6.1-cvs. - * configure.ac (AC_INIT): Bump to 6.1 and add "-cvs" suffix. - -2006-08-15 Jim Meyering - - * Version 6.0. - * NEWS: Record the 6.0 release date. - * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. - - * TODO: Add an item (convert to use gnulib-tool), add to the plan - for id-vs-getgrouplist, and remove a few completed items. - - * Makefile.maint (alpha beta major): Fix syntax error. - -2006-08-13 Jim Meyering - - * src/shred.c (usage): Don't indent the second line of an item. - Otherwise, help2man would misformat the output. - Reported by Adam Buchbinder in . - -2006-08-11 Paul Eggert - - * configure.ac (AM_GNU_GETTEXT): Upgrade to need-formatstring-macros. - Suggested by Eric Blake to avoid problems like - . - -2006-08-11 Jim Meyering - - * tests/ls/stat-vs-dirent: Too many (losing) systems trigger the - failure that this test checks for (stat/dirent inode mismatch at - a mount point), so continue to give a diagnostic about the failure, - but don't actually count it as a failure. - -2006-08-10 Paul Eggert - - * ABOUT-NLS: Update from gettext 0.15. - * configure.ac (AM_GNU_GETTEXT_VERSION): Update from 0.13.1 to 0.15. - - * src/csplit.c (struct control): Remove fastmap member. - (extract_regexp): Allocate fastmap separately, since otherwise - it might move due to a realloc. This fixes a bug that led - to a core dump on 64-bit sparc Solaris 10 (Sun Studio 10). - -2006-08-10 Jim Meyering - - * tests/ls/stat-dtype: If "." is tmpfs, skip this test unless uname -s - reports "Linux". This avoids a failure on Solaris 10's tmpfs. - Redirect both stdout and stderr of df invocations. - - * src/dircolors.hin: Add a TERM directive for each of the following: - ansi, color-xterm, gnome, konsole, kterm, rxvt-cygwin, - rxvt-cygwin-native, screen.linux, xterm-256color. - Sort the TERM directives. - From Mike Frysinger. - -2006-08-09 Paul Eggert - - * src/dd.c (usage): Warn about oflag=append without conv=notrunc. - See Debian bug 373736. - - * src/dircolors.hin: Add mlterm, rxvt-unicode; this fixes Debian - bug 317503. - - * src/.cvsignore: Add shuf. - - * Makefile.maint: Remove the po-update procedure; it doesn't - work with the new repository on http://www.iro.umontreal.ca/. - For now I guess we'll have to fix things by hand. - (do-po-update, po-update): Remove. All references removed. - - * src/shuf.c (next_line): New function. - (read_input): Use it, to avoid relying on GCC-specific behavior - with void * arithmetic. Problem reported by Bob Proulx. - * Makefile.maint (my-distcheck): Compile with -Wpointer-arith - to detect this sort of problem automatically in the future. - -2006-08-09 Jim Meyering - - * src/ls.c: Add a compile-time check to ensure that filetype - and filetype_letter have the same number of elements. - - * tests/misc/sort-rand: Remove use of --seed=S. - -2006-08-08 Paul Eggert - - Add a command 'shuf', and modify shred and sort to use the new - random number generator library of 'shuf'. - - * AUTHORS: Add shuf. - * README: Likewise. - * NEWS: Likewise. Mention new --random-source option for shred - and sort. Move "sort +1 -2" notice to the appropriate section, - and clarify its role with respect to POSIXLY_CORRECT. - * man/.cvsignore: Add shuf.1. - * man/Makefile.am (dist_man_MANS): Add shuf.1. - (shuf.1): New dependency. - * man/shuf.x: New file. - * src/Makefile.am (bin_PROGRAMS): Add shuf. - (EXTRA_DIST): Remove rand-isaac.c. - (shuf_LDADD): New macro. - * src/rand-isaac.c: Remove, moving most of its contents to - lib/rand-isaac.c. - * src/shuf.c: New file. - * src/shred.c: Use new random-number interface rather than rand-isaac.c. - Don't include rand-isaac.c; include randint.h and randread.h instead. - (RANDOM_SOURCE_OPTION): New enum. - (long_opts, usage, main): New option --random-source. - * src/sort.c: Likewise. - * src/shred.c (struct irand_state, irand_init, irand32, irand_mod): Remove. - All callers changed to use randint interface. - (fillrand): Remove. All callers changed to use randread interface. - (dopass): Remove dependency on ISAAC buffer size. - (genpattern): Don't wipe the random state here. - (randint_source): New static var. - (clear_random_data): New function. - (main): Allocate random source, and arrange to wipe it on exit. - * src/sort.c: Include md5.h, randread.h, xmemxfrm.h. - (longopts, usage, main): Remove undocumented --seed option; - it's now replaced by --random-source. - (rand_state, get_hash): Remove. - (randread_source): New static var. - (random_state, cmp_hashes, compare_random): New functions; they guarantee - no collisions in the random hash function. - (keycompare): Use compare_random for -R; don't fall back on comparing - via memcoll, since compare_random does the right thing. - * tests/misc/Makefile.am (TESTS): Add shuf. - * tests/misc/shuf: New file. - -2006-07-29 Paul Eggert - - * src/copy.c (set_author): Preserve the st_author field via the - file descriptor dest_desc. - -2006-07-28 Paul Eggert - - * NEWS: chmod now preserves setuid and setgid bits on directories - if you use a numeric mode with them clear, e.g., "chmod 755 DIR". - - Fix test case problems if working directory is setgid, - reported by Bob Proulx. - * tests/cp/fail-perm: Use symbolic mode so that we clear - setgid bit more reliably on directories. - * tests/mkdir/special-1 (set_mode_string): Likewise. - -2006-07-27 Jim Meyering - - * src/chgrp.c (usage): Use correct grammar in description of the - --reference option - * src/chown.c (usage): Likewise. - -2006-07-26 Thomas Schwinge (tiny change) - - * src/copy.c (set_author) [HAVE_STRUCT_STAT_ST_AUTHOR]: - Correctly access SRC_SB's element ST_AUTHOR. - -2006-07-26 Jim Meyering - - * tests/ls/stat-failed: Adapt to match new expected output. - From Paul Eggert. - - * src/ls.c (print_color_indicator): Test for S_IFREG first, rather - than having the code test for all of the other types first. - Hoist the set-uid/gid-testing code "up" into this new block. - Classify any other type of file (e.g., S_TYPEISSHM, etc.) as - C_ORPHAN, not as C_FILE. - -2006-07-26 Jim Meyering - - Checking in a change from Paul. - - 2006-07-25 Paul Eggert - - * src/ls.c (DT_INIT): Remove. All uses removed. - (enum filetype): Use an ordinary enum rather than trying to keep - the values in sync with DT_FIFO etc. That way, we don't have - to make special assumptions about them. All uses changed. - (whiteout): New constant member of enum filetype. - (filetype_letter): New constant, for use with enum filetype. - (FILETYPE_INDICATORS): New initializer list. - (print_dir): Add case for DT_WHT. - (gobble_file): If stat fails, don't discard information from - readdir; instead, preserve it so it can be printed. - (print_long_format): Fall back on readdir result if stat info - is not available. Use "?" to denote each unknown mode char, - instead of an overall "?", since we now know some of the mode - typically. - (print_type_indicator): Now that MODE isn't necessarily - useful, guard all uses. - Now that two blocks in the type-checking tree can set "type = C_FILE", - move the suffix-handling code out and down. - -2006-07-26 Jim Meyering - - Prepare for the above change. - * src/ls.c [struct fileinfo] (stat_ok): Rename from stat_failed, - and adjust uses. From a patch by Paul Eggert. - -2006-07-26 Jim Meyering - - * src/ls.c: Correct indentation/formatting in a few places. - -2006-07-25 Paul Eggert - - * tests/cp/fail-perm: Use "chmod 0500" rather than "chmod 500". - Problem report and fix from Bob Proulx. - * NEWS: Clarify the "chmod 0500" news, and correct the vague - statements about compatibility with BSD. - -2006-07-25 Jim Meyering - - * src/ls.c (gobble_file): When handling a stat-failed entry, - print the entry name not the absolute_name -- to be consistent - with the usual case. - * tests/ls/stat-failed: Update accordingly. - - * src/ls.c: Add parens around the new uses of ?: ternary operator. - - * src/dircolors.hin: Mention that ORPHAN refers not just to dangling - symlinks. - - Get --dired offsets right when handling stat-failed entries. - * src/ls.c (print_long_format): Be careful to increment P by the - appropriate amount, even when inode_number_width and nlink_width - are zero. - * tests/ls/stat-failed: Test for the above. - - * src/ls.c (gobble_file) [USE_ACL]: Don't use-uninitialized the - have_acl member. That would happen for a directory with both a - non-stat'able entry and one with an ACL. - - * src/ls.c (gobble_file): Make it so failure to stat a - non-command-line file provokes an exit status of 1, not 0. - Say "cannot access" rather than "cannot stat". - * tests/ls/stat-failed: New file/test, for the above. - * tests/ls/Makefile.am (TESTS): Add stat-failed. - * tests/ls-2/tests (no-a-isdir-b): Update to reflect addition - of "cannot access " to diagnostic. - - * src/ls.c: Declare stat_failed to be "bool", not "int" everywhere. - - * src/ls.c [enum filetype] (command_line): Remove member. Not needed. - Replace all occurrences of "type == command_line" with the - equivalent, "command_line_arg". - - * src/ls.c: Apply the stat-failed parts of Red Hat's - coreutils-selinux.patch. From Ulrich Drepper. - This makes it so files not mentioned on the command line (e.g., - names read from a directory that *is* mentioned on the command - line) for which stat fails are still listed. With --color, - such files are colored just like ORPHANs (aka dangling symlinks). - - * src/df.c (n_valid_args): Declare global to be static. - -2006-07-24 Jim Meyering - - * tests/ls/stat-dtype: Skip this test on reiserfs, since that file - system lacks d_type support. - -2006-07-22 Paul Eggert - - * man/chmod.x: Update to reflect recent changes to coreutils.texi. - -2006-07-21 Jim Meyering - - * src/su.c (usage): Correct typo in --help output: s/commmand/command/ - Reported by Tim Waugh. - Also remove the comment duplicating much of --help output. - - * src/ls.c (FILE_TYPE_INDICATOR_OPTION): Reposition this new - name so the list remains alphabetized. - - Fix another bug: ls --indicator-style=file-type would call - stat for a symlink, even though it wasn't always needed. - In some cases, that unnecessary stat would cause ls to fail. - * src/ls.c (gobble_file): Don't treat symlinks specially (in - requiring a stat syscall). Remove the offending exclusion. - - * NEWS: Mention the fix. - - * tests/ls/stat-dtype: New file/test, for the above fix. - Also exercises the new df feature, below. - - * src/df.c (main): Fail and don't print the headers if no - file system is processed. This makes it easy to test whether - a specified directory is on a file system of a given type or types. - Otherwise, applications would have had to parse df's output. - E.g., is "." either ext3 or reiserfs: df -t ext3 -t reiserfs . - - Fix a bug: ls --file-type worked like --indicator-style=slash, - rather than like --indicator-style=file-type. - * src/ls.c (FILE_TYPE_INDICATOR_OPTION): New enum member. - (long_options): Map "file-type" to FILE_TYPE_INDICATOR_OPTION, - not to 'p'. - (decode_switches): Handle new case: FILE_TYPE_INDICATOR_OPTION. - * NEWS: Mention the fix. - * tests/ls-2/tests (file-type): New test, for the above fix. - -2006-07-19 Jim Meyering - - * src/ls.c (print_dir): Give a better diagnostic for failed opendir. - - * Makefile.am (EXTRA_DIST): Add build-aux/vc-list-files. - -2006-07-16 Paul Eggert - - * NEWS: chmod, install, and mkdir now leave setgid and setuid bits - of directories alone unless you specify them explicitly. - install and mkdir now implement X correctly. - install now creates parent directories with mode 755, without - changing their owner or group. - * src/chmod.c (process_file): Adjust to mode_adjust API change. - * src/install.c: Include mkancesdirs.h. - (announce_mkdir, make_ancestor): New functions. - (DEFAULT_MODE): New macro, specifying initial value of 'mode'. - (mode): Use it. - (dir_mode, dir_mode_bits): New vars. - (main): Set dir modes separately from nondir, so that the X - op of -m works correctly. - (main): Remove cwd_errno cruft, since make_dir_parents no longer - affects cwd. Adjust to new make_dir_parents API. - (install_file_in_file_parents): 2nd arg is now char *, not char - const *. Use mkancesdirs instead of rolling our own code. - (change_attributes): Don't worry about AFS, since that kludge - should not be needed any more. - * src/mkdir.c (struct mkdir_options): New struct. - (announce_mkdir, make_ancestor): New functions. - (main): Use them. Adjust to mode_adjust API change. Stick with - umask 0. Use make_dir_parents for all the work. - * src/mkfifo.c (main): Adjust to new mode_adjust API. - * src/mknod.c (main): Likewise. - * tests/chmod/setgid: Do the setgid test instead of bailing. - * tests/mkdir/p-3: Remove re_protect case that no longer applies. - GNU chmod now behaves like other versions of chmod. - * tests/mkdir/perm: Add a test for the X bug. - -2006-07-14 Paul Eggert - - * src/base64.c (do_decode): Output to parameter OUT, not to stdout. - This doesn't fix any bugs, since OUT always equals stdout, but it - makes the code easier to understand. - -2006-07-14 Jim Meyering - - * Makefile.maint (CVS_LIST): Use new file, build-aux/vc-list-files, - rather than open-coding it. Now supports mercurial, too. - * .hgignore: New file. - * Makefile.am (EXTRA_DIST): Add .hgignore, which ignores nearly - all generated files, including ones like configure and po/*.po - that are currently version-controlled in cvs. - - * Makefile.am (EXTRA_DIST): Add a few more .??* files. - They've been in CVS, just haven't been distributed before this. - Distribute ChangeLog-2005, too. - (MAINTAINERCLEANFILES): Add THANKS-to-translators. - -2006-07-11 Paul Eggert - - * src/system.h: Assume exists, since gnulib assumes - this now as well. - -2006-07-09 Jim Meyering - - * tests/mv/dir2dir: Adjust so failing with ENOTEMPTY is ok, too. - That happens with Linux/tmpfs. - * tests/mv/Makefile.am (TESTS): Add dir2dir. - -2006-07-09 Paul Eggert - - Adjust to recent updates from gnulib. - * src/dd.c (apply_translations): Use toupper rather than - islower followed by toupper; it's simpler and typically - faster now that we assume at least C89 semantics. Similarly - for tolower. - * src/sort.c (inittables): Likewise. - * src/expand.c (expand): Don't assume that isprint etc. return - booleans (needed for pre-C99 hosts). - * src/fmt.c (check_punctuation): Likewise. - * src/ptx.c (initialize_regex, fix_output_parameters): Likewise. - * src/tr.c (is_char_class_member): Likewise. - * src/unexpand.c (unexpand): Likewise. - * src/join.c (is_blank): Remove; no longer needed. All uses - replaced by isblank (to_uchar (...)). - * src/pinky.c (create_fullname): Don't assume char is unsigned. - * src/printf.c (print_esc): Likewise. - * src/ptx.c (SKIP_NON_WHITE, SKIP_WHITE, SKIP_WHITE_BACKWARDS): - (copy_unescaped_string): Likewise. - * src/stat.c (print_it): Likewise. - * src/system.h (_D_EXACT_NAMELEN): Renamed from NLENGTH, for - convenience on GNU systems. All uses changed. Don't bother - looking for any dirent.h substitute other than ndir.h. - (D_INO): Remove unnecessary parentheses. - (IN_CTYPE_DOMAIN, ISGRAPH, ISPRINT, ISALNUM, ISALPHA): - (ISCNTRL, ISLOWER, ISPUNCT, ISSPACE, ISUPPER, ISXDIGIT): - (ISDIGIT_LOCALE, TOLOWER, TOUPPER): Remove. All uses changed - to ctype.h equivalents. - (isblank): Renamed from ISBLANK. Check for HAVE_DECL_ISBLANK too. - All uses changed. - -2006-07-08 Jim Meyering - - * tests/mv/dir2dir: New file, test for 2006-07-05 fix in copy.c. - - * Makefile.maint (sc_the_the): New rule. - - * src/dd.c (skip): Remove one of two adjacent "the"s in a comment. - * tests/Coreutils.pm (run_tests): Remove one of two adjacent "then"s - in a comment. - -2006-07-07 Jim Meyering - - * NEWS: Mention that mv can now remove an empty destination directory, - and give an example. Prompted by a report from Florent Bayle. - -2006-07-05 Jim Meyering - - * src/ls.c (usage): Correct the description of -G: it is useful - only in a long listing. Reported by Martin Pool in - . - - * man/chmod.x: Correct the description of the sticky bit. Reported - by Chris Moore via Ian Jackson in . - - * src/copy.c (copy_internal): Don't work around old NFS clients like - SunOS-4.1.4 and Irix 5.3 that set errno to values like EIO and - ENOTEMPTY upon failed rename. Otherwise, we risk misinterpreting - a banal failure as a recursive move-into-self failure. - Reported by Florent Bayle in . - - * src/c99-to-c89.diff: Regenerate, to remove fuzz. - -2006-07-03 Jim Meyering - - Plug another unusual leak. - (AD_mark_helper): Free malloc'd filename if hash_insert says - that string is already in the hash table. - - The dev/inode of the topmost directory in each hierarchy were not - being recorded. - * src/remove.c (remove_cwd_entries): Don't call cycle_check here. - (AD_push): Call it from here instead. - - Fix two small leaks. - * src/remove.c (AD_stack_clear): New function. - (rm_1): Use it. - (AD_pop_and_chdir): Free *prev_dir just before longjmp. - - * tests/Makefile.am, tests/*/Makefile.am: (TESTS_ENVIRONMENT): - Add $VG_PATH_PREFIX as a prefix to $PATH - - * tests/envvar-check (vars): Add CDPATH and POSIXLY_CORRECT. - * tests/Makefile.am (evar-check): Remove rule. - (EXTRA_DIST): Remove .env-warn. - * tests/.env-warn: Remove file. No longer used. - Suggestion from Eric Blake. - -2006-07-02 Paul Eggert - - * src/system.h: Include unconditionally, since we - now assume the stdint module. - -2006-07-01 Paul Eggert - - * NEWS: With no operand, 'tail -f' now silently ignores the '-f' - only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set. - * src/tail.c (main): Implement this. - * tests/tail/Test.pm (f-pipe-1): Renamed from f-1. - (test_vector): Set POSIXLY_CORRECT for the f-pipe-* tests. - -2006-07-01 Jim Meyering - - * src/ln.c (do_link): Use new, shorter URL, for ag-review link. - - * .x-sc_require_config_h: Add ^lib/xstrtold\.c$, so make distcheck - passes once again. - -2006-06-30 Paul Eggert - - * NEWS: seq now uses long double internally rather than double. - It now defaults to a minimal fixed point format if possible. - It lets you use %a, %A, %E, %F, %G. - * src/Makefile.am (seq_LDADD): Remove $(SEQ_LIBM); add $(POW_LIB). - * src/seq.c: Don't include or ; no longer needed. - (isfinite) [!defined isfinite]: New macro. - (separator, terminator): Now points to const. - (first, step, last): Remove. - (usage): Update to match new behavior. - (struct operand, operand): New type. - (scan_arg): Renamed from scan_double_arg, since we no longer use double. - All uses changed. - Compute and return a value of type operand, not double. - (long_double_format): Renamed from valid_format, and now returns a - new format with an "L" added if needed, if the original format was - valid. Allow %a, %A, %E, %F, and %G formats. - (print_numbers): Take numeric values as args rather than from globals. - Print long double, not double. - (get_width_format): Remove. - (get_default_format): New function. - (main): Implement new way of calculating default format. - Don't worry about locale's representation of the decimal point, since - the arguments are always processed in the C locale. - * tests/seq/basic (neg-2): Adjust to new default format. - (eq-wid-1, eq-wid-2): Resurrect these tests, since the new - implementation should do the right thing. - -2006-06-30 Jim Meyering - - * tests/stty/basic-1: Work around an intermittent test failure - on HP-UX 11.11. Report and analysis from Bob Proulx. - http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7475 - -2006-06-28 Paul Eggert - - * NEWS: Support obsolete usages like "sort +1 -2" even when - conforming to POSIX 1003.1-2001, since this is a pure extension to - POSIX. Problem reported by Christian in: - http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00220.html - * src/sort.c (main): Implement this. - - * src/system.h (CLOSEDIR): Remove. All uses changed to closedir. - Autoconf 2.60 says this stuff was obsolete. - -2006-06-28 Jim Meyering - - * src/c99-to-c89.diff: Regenerate, to remove fuzz. - -2006-06-28 Bob Proulx (tiny change) - - * tests/mv/i-link-no: Work around HP-UX /bin/sh tracing problem - (set -x when VERBOSE=yes) when stderr is redirected before stdout - causing shell tracing of the stdout redirection to be written to - the stderr file. Avoid problem and test failure on HP-UX by - redirecting stderr last. - * tests/dd/unblock-sync: Order shell file redirections for - stderr and stdout in the common style. - tests/acl: Likewise. - -2006-06-27 Jim Meyering - - * tests/misc/cat-proc: Try to avoid any spurious numeric - differences in frequently-changing /proc/cpuinfo. - Reported by Nelson Beebe. - -2006-06-26 Jim Meyering - - Attempt rmdir (actually, unlinkat-with-AT_REMOVEDIR) upon any - fd_to_subdirp failure, not just when errno == EACCES. - * src/remove.c (remove_dir): Use unlinkat-with-AT_REMOVEDIR, not - rmdir, here, even though rmdir may happen to be adequate. - - * NEWS: rm no longer fails to remove an empty, unreadable directory - * src/remove.c (remove_cwd_entries): If we can't open a directory, - and the failure is not being ignored, try to remove the directory - with rmdir (aka unlinkat-with-AT_REMOVEDIR), in case it's empty. - Problem report and test case from Paul Eggert in - . - - * tests/rm/empty-inacc: New test, for the above. - - Avoid a segfault for wc --files0=- < /dev/null. - * src/wc.c (compute_number_width): Return right away if nfiles == 0. - -2006-06-25 Jim Meyering - - * NEWS: wc accepts a new option --files0-from=FILE, where FILE - contains a list of NUL-separated file names. - - * src/wc.c: Include "readtokens.h". - (usage): Describe the new option, and adjust the `Usage': - with this option, no FILE may be specified on the command line. - (main): Handle the new option. - * tests/misc/wc-files0: New tests, for the above. - * tests/misc/wc-files0-from: Likewise. - * tests/misc/Makefile.am (TESTS): Add wc-files0. - -2006-06-24 Jim Meyering - - * src/md5sum.c (DIGEST_BUFFER): Remove now-unused definitions. - -2006-06-22 Jim Meyering - - * src/tee.c (tee_files): Rename from tee, to avoid conflict with - the function in glibc's . Reported by Andreas Schwab. - -2006-06-19 Jim Meyering - - * Makefile.cfg (local-checks-to-skip): Add changelog-check, - so this check is not run as part of "make distcheck". - -2006-06-18 Bob Proulx (tiny change) - - * tests/misc/pwd-long: Fix typo (s/neq/ne/) in previous change. - -2006-06-18 Jim Meyering - - * tests/misc/pwd-long: Make error output a little clearer. - -2006-06-17 Jim Meyering - - * tests/rm/inaccessible: Skip this test on systems without openat - support. Reported by Bob Proulx. - -2006-06-15 Bob Proulx (tiny change) - - * tests/misc/mknod: Improve permission checks to handle - running mkdir test in set-gid directories. - -2006-06-14 Jim Meyering - - * tests/du/basic: Revamp not to hard-code file system block sizes. - -2006-06-12 Ralf Wildenhues - - * tests/du/Makefile.am (TESTS_ENVIRONMENT): Pass $(PERL), for - files0-from test. - -2006-06-11 Jim Meyering - - * .gitignore: New file. - * Makefile.am (EXTRA_DIST): Add .gitignore. - - Setting TIME_STYLE=long-iso in the environment would make the - cp/same-file test fail. - * tests/envvar-check (vars): Add TIME_STYLE to the list. - * tests/cp/same-file: Revert last change. - Source the envvar-check script, to ensure that TIME_STYLE - settings don't affect these tests. - -2006-06-11 Paul Eggert - - * tests/cp/same-file: Execute 'ls' in the C locale, so that it - uses POSIX time stamp formats. Problem reported by John Nixon in - . - -2006-06-10 Jim Meyering - - * NEWS: Mention the AIX-strndup-bug vs. dircolors workaround. - - Require a "Version N.M" line at the top of the ChangeLog - file only when making the actual release, not when running - "make distcheck". - * Makefile.maint (maintainer-distcheck): Don't depend on - changelog-check. - (alpha beta major): Depend on it here, instead. - -2006-06-08 Jim Meyering - - Ensure that cat works with any of the options, -A -v -e -E -T, - when applied to files in /proc and /sys, even when the FIONREAD - ioctl produces nonsensical results. Before this change, cat would - produce no output (or truncated output), for some linux kernels. - - * src/cat.c (write_pending): New function, factored out of cat. - (cat): Also interpret a negative ioctl/FIONREAD count as indicating - that there are bytes to read. Some versions of linux-2.6.16 do that. - Write any pending output before returning. - Reported by Dan Jacobson in . - * NEWS: Mention this bug fix. - * tests/misc/cat-proc: New file. Test for the above. - * tests/misc/Makefile.am (TESTS): Add cat-proc. - -2006-06-07 Paul Eggert - - * src/expr.c (eval4): Detect overflow properly when multiplying - INTMAX_MIN * -1. - -2006-06-06 Paul Eggert - - * NEWS: The 'expr' command now detects and reports integer overflow. - (It would be better to use extended precision instead, but that - would be more work.) - * src/expr.c (integer_overflow): New function. - (eval4, eval3): Check for integer overflow. - -2006-06-05 Paul Eggert - - Fix problems when building with Solaris/SVR4/etc. make, which uses a - different and somewhat bogus implementation of VPATH. In the - directory tests/misc, rename tests whose names might appear in the - Automake-generated rules. For example, we can't use a test named - 'test', since Automake generates a rule that contains the text - "if test -f ./$$tst; ...", and this might expand to something like - "if ../../../coreutils-6.0/tests/misc/test -f ./$$test; ...", - which executes the 'test' script rather than the 'test' command. - * tests/misc/false-status: Renamed from tests/misc/false. - * tests/misc/pwd-long: Renamed from tests/misc/pwd. - * tests/misc/sort-merge: Renamed from tests/misc/sort. - ($prog): Set to 'sort' rather than to $PROG. - * tests/misc/test-diag: Renamed from tests/misc/test. - * tests/misc/Makefile.am (PROG): Take the basename of $$tst, - in case Solaris make has prepended the directory. - (TESTS): Adjust to above renamings. - * tests/misc/expand: Don't assign to PROG; no longer needed - now that Makefile.am sets PROG to the basename. - * tests/misc/fold: Likewise. - -2006-06-03 Jim Meyering - - Make `cp --link --no-dereference' work also on systems where the - link system call cannot create a hard link to a symbolic link. - * src/copy.c (copy_internal) [LINK_FOLLOWS_SYMLINKS]: Don't use - the link syscall on a symlink when it would do the wrong thing. - Based on the patch by Aurelien Jarno: - * tests/cp/link-no-deref: New file/test for the above. - * tests/cp/Makefile.am (TESTS): Add link-no-deref. - * NEWS: Mention the change (doesn't affect Linux). - -2006-06-01 Paul Eggert - - Fix some porting problems in the test cases reported by - Ralf Wildenhues for HP-UX 11.23 in: - http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00238.html - * tests/help-version: Don't assume that \< \> works in sed. - * tests/misc/close-stdout: Don't assume that >&- works. - Add a /dev/full test. - * tests/touch/no-create-missing: Don't assume that >&- works. - -2006-05-30 Jim Meyering - - * src/ls.c (usage): Add `v' to the list of sorting-related options. - From Justin Pryzby. - -2006-05-28 Ralf Wildenhues - - * tests/cp/fail-perm: source lang-default. - * tests/rm/inaccessible: Likewise. - -2006-05-28 Jim Meyering - - * tests/rm/inaccessible: AIX 4.3.3 gives a different diagnostic. - Recognize it, too. Reported by Ralf Wildenhues, in - http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html - -2006-05-27 Jim Meyering - - * src/chgrp.c: Support new options: --preserve-root and - --no-preserve-root. Somehow this program was skipped when those - options were added to chown, chmod, and rm. Reported by - vaqflabuopac@spammotel.com in . - * NEWS: Mention this. - -2006-05-25 Paul Eggert - - * NEWS: Remove mention of --seed. We'll replace it with something - better, and don't want to indicate that it is supported. - * src/sort.c (usage): Likewise. - -2006-05-20 Jim Meyering - - * src/chmod.c (main): Use FTS_PHYSICAL here, too. - - * src/du.c (main): Rename local, s/symlink_deref_bit/symlink_deref_bits/ - and arrange for -D to set fts' FTS_PHYSICAL bit as well as - FTS_COMFOLLOW. Spotted by Justin Pryzby. - - * gnupload: Merge changes from automake, retaining the ""--to... - kludge to placate overzealous `make distcheck' check. - -2006-05-19 Jim Meyering - - * src/du.c (main): Don't let -D, -L, or -P turn off the internal - FTS_TIGHT_CYCLE_CHECK directory traversal option. - Reported by Justin Pryzby in http://bugs.debian.org/367691 - -2006-05-15 Jim Meyering - - * src/cp.c (usage): Correct description of -a: s/-dpR/-dpPR/. - From Tomas Pospisek. - -2006-05-13 Jim Meyering - - * tests/mv/no-target-dir: Test two more cases. - -2006-05-11 Jim Meyering - - mv -T DIR EMPTY_DIR no longer fails unconditionally - * src/copy.c (copy_internal): Don't manually prohibit a move where - the destination is an existing directory. Sometimes doing that is - valid. Let the rename system call enforce the rules. That is - allowed only when the source is a directory and the destination - directory (to be replaced) is empty. Reported by Eric Blake. - * tests/mv/no-target-dir: New file/test for this. - * tests/mv/Makefile.am (TESTS): Add no-target-dir. - * NEWS: Mention this. - - * tests/mv/atomic: New file/test for yesterday's fix. - * tests/mv/Makefile.am (TESTS): Add atomic. - - * tests/du/long-sloop: Avoid harmless `ambiguous redirect' diagnostic. - -2006-05-10 Jim Meyering - - * src/copy.c (copy_internal): Don't explicitly unlink the destination - when moving a symlink into the place of an existing non-directory. - Reported by Joshua Hudson. - * NEWS: mention this. - -2006-05-07 Jim Meyering - - * Makefile.maint (patch-check): Fail if patch generates any output, - even merely for changed offsets. - - * src/c99-to-c89.diff: Adjust to reflect new offsets. - - * NEWS: Mention changes affecting df, pwd, shred. - -2006-05-06 Jim Meyering - - * tests/ls/stat-vs-dirent: New test, to detect the bogus file - system condition where dirent.d_ino != stat.st_ino. - * tests/ls/Makefile.am (TESTS): Add stat-vs-dirent. - -2006-05-06 Eric Blake - - * tests/ls/inode: Expand to test inode from readdir case. - * tests/ls/follow-slink: Expand to test broken links encountered - implicitly, favoring Solaris 9 and OpenBSD 3.4 behavior. - -2006-05-06 Eric Blake - - * tests/mv/leak-fd: Work even on case-insensitive file system. - -2006-05-04 Jim Meyering - - * NEWS: Mention the 2006-03-19 pwd-related change that makes - lib/getcwd.c work around inconsistent file system dirent.d_ino data. - -2006-05-03 Jim Meyering - - * src/ls.c (DEFINE_SORT_FUNCTIONS, LIST_SORTFUNCTION_VARIANTS): - Use better macro parameter names: s/basename/key_name/, - s/basefunc/key_cmp_func. Fix typo in comment. - -2006-04-29 Eric Blake - - * src/ls.c (main): On systems with d_type, directories_first only - implies format_needs_type, not format_needs_stat. - -2006-05-03 Jim Meyering - - * src/ls.c (xstrcoll_df_version, rev_xstrcoll_df_version): Add space - after comma in arg list, from Eric Blake. - -2006-04-25 Paul Eggert - - * tests/misc/date (relative-3): New test, derived from a bug - report by John Thomas McDole. - -2006-04-23 Francesco Montorsi - - New option for ls: --group-directories-first. - It makes ls list directories before files. - * NEWS [New features]: Mention it. - * src/ls.c (sort_type): Rearrange to use as an array index when - choosing sort function; added new sort_numtypes member for - compile-time check. - (time_type): Add new time_numtypes member for compile-time check. - (directories_first): New global variable. - (GROUP_DIRECTORIES_FIRST_OPTION): New enum. - (long_options): Add --directories-first. - (main): Support new option. - (is_directory): New function. - (extract_dirs_from_files): Use it. - (DIRFIRST_CHECK, DEFINE_SORT_FUNCTIONS) - (LIST_SORTFUNCTION_VARIANTS): New macros. - (sort_functions): New global variable. - (sort_files): Use it. - (usage): Document new option. - -2006-04-18 Paul Eggert - - * src/shred.c (fillrand): The assertion was way too weak, due to - what must be a typo. Strengthen it to its intended value. - (dopass): Don't use alloca; it's not worth the aggravation here, - since it's used only to get a page-aligned buffer, and page - alignment doesn't buy us much here. I'm suspicious that alloca - causes problems on some hosts, due to a recent bug report by Adam - Waltman: http://bugs.gentoo.org/130246. - -2006-04-18 Jim Meyering - - * tests/misc/tty-eof: Add new programs, base64, sha224sum, sha256sum, - sha384sum, sha512sum. - -2006-04-17 Paul Eggert - - * src/chmod.c (describe_change): Adjust to filemode changes. - * src/ls.c (HAVE_ST_DM_MODE): Remove; moved to ../lib/filemode.c. - (print_long_format): Use (new) filemodestring rather than - (old) mode_string, so that we get more file types right, at least - in theory. Adjust to filemode changes. - * src/stat.c (human_access): Likewise. - -2006-04-18 Jim Meyering - - * src/ptx.c (main) [DEFAULT_IGNORE_FILE]: Remove code to use a default - ignore file. This has never been enabled. Reported by Eric Blake. - -2006-04-12 Paul Eggert - - * src/ln.c (linkfunc): Remove. This method ran into a compiler/linker - bug in Interix. Just call symlink or link directly. All uses changed. - * src/setuidgid.c (main) [! HAVE_SETGROUPS]: Don't call setgroups. - * src/stat.c (USE_STATVFS): New macro. - Include and use statvfs only if USE_STATVFS. - (NAMEMAX_FORMAT): define a bit more clearly, now that the - statvfs-using code is a bit more regular. - * src/system.h (sync) [!HAVE_SYNC]: New macro. - -2006-04-11 Paul Eggert - - * NEWS: csplit, nl, expr now conform to POSIX better, and are - more-compatible with traditional Unix, with respect to regular - expressions. - * src/csplit.c (extract_regexp): Set re_syntax_options to a - value that is compatible with what POSIX requires. - * src/nl.c (build_type_arg): Likewise. - * src/expr.c (docolon): Likewise. Also, don't let anchors match - newline; this fixes an incompatibility with tradition and with POSIX. - Don't warn about leading ^. POSIX says it is unspecified whether - ^ is a special character, which means that implementations can - either treat it as special or not, but either way a warning is not - allowed (unless the regexp is otherwise invalid). Instead, anchor - the expression but treat ^ as an anchor; this is the traditional - behavior (e.g., Solaris 10). - (eval4, eval3, eval2): Treat non-numeric args, division by zero, - and the like as invalid expressions (exit status 2), not as - failure of 'expr' (exit status 3). This is more consistent with - how Solaris behaves. - * tests/expr/basic (fail-a): Adjust exit status to match new expr - behavior, for status 2 versus 3. - (anchor): New test. - (bre1, bre2, bre3, bre4, bre5, bre6, bre7, bre8, bre9, bre10): - (bre11, bre12, bre13, bre14, bre15, bre16, bre17, bre18, bre19, bre20): - (bre21, bre22, bre23, bre24, bre25, bre26, bre27, bre28, bre29, bre30): - (bre31, bre32, bre33, bre34, bre35, bre36, bre37, bre38, bre39, bre40): - (bre41, bre42, bre43, bre44, bre45, bre46, bre47, bre48, bre49, bre50): - (bre51, bre52, bre53, bre54, bre55, bre56, bre57, bre58, bre59, bre60): - (bre61, bre62): New tests. - * tests/misc/csplit: Use \{...\} in test RE, to test that we're - conforming to POSIX. - - Port to Solaris 8. - * tests/du/long-from-unreachable: Solaris 8 sh doesn't understand - "if !". Do not assume that 'sed' can handle long, newline-free input. - * tests/du/long-sloop: Likewise. Evaluate expr once, not $n times. - -2006-04-10 Paul Eggert - - Adjust to new regex.h API (with new fastmap type), and clean - up the regex storage allocation a bit. - - * src/csplit.c (struct control): Put re_compiled member at the - end, since it's large. Change regexpr member from char * to bool; - all uses changed. Add new member fastmap. - (extract_regexp): regexp arg is now char const *, not char *. - Don't bother duplicating the regular expression; it's not needed. - Set fastmap from new fastmap member. Don't bother allocating - a buffer, as the regexp code does a better job than we do. - * src/expr.c (docolon): Allocate and use a fastmap. - Don't bother allocating a buffer. - * src/nl.c (body_fastmap, header_fastmap, footer_fastmap): - New vars. - (build_type_arg): New fastmap arg. All uses changed. - Don't bother allocating a buffer, but set a fastmap. - * src/ptx.c (context_regex_string, word_regex_string): Remove. - (context_regex, word_regex): New vars, replacing the above. - All uses changed. - (struct regex_data): New type. - (compile_regex): Renamed from alloc_and_compile_regex, since - we no longer allocate storage. Arg is now a struct regex_data *, - not a const char *. All uses changed. Don't allocate the fastmap; - instead, take it from the caller. Don't convert size_t to int, - to avoid arithmetic overflow problems. Don't bother freeing - storage afterwards; it's not worth the aggravation. - * src/tac.c (compiled_separator_fastmap): New ver. - (main): Use it. Don't bother allocating a buffer. - -2006-03-30 Jim Meyering - - * src/dd.c (iwrite): Remove assignment without effect. - Reported by Felix Rauch Valenti. - -2006-03-22 Eric Blake - - * src/ptx.c (usage): Remove mention of --copyright/-C. - (main): Alias --copyright to --version plus a deprecation warning. - * NEWS: Mention this. - -2006-03-27 Jim Meyering - - * src/Makefile.am (uptime_LDADD): Add $(POW_LIB), for uptime's - use of strtod. Tiny patch from Nickolai Zeldovich. - -2006-03-11 Eric Blake - - * tests/misc/dirname: New file. - * tests/basename/Makefile.am: Delete. - * tests/basename/basic: Move to... - * tests/misc/basename: ... this new file. Add some tests, - including fixed behavior for //. - * tests/misc/Makefile.am (TESTS): Sort. Add basename, dirname. - * tests/Makefile.am (SUBDIRS): Remove basename. - * configure.ac (AC_CONFIG_FILES): Remove tests/basename. - - Improvements to dirname/basename handling on platforms like - cygwin with distinct // and with drive letters. - * NEWS: Document new behavior. - * src/basename.c (main): Don't strip suffix from file system - roots. - * src/cp.c (target_directory_operand): Use new last_component. - (ASSIGN_BASENAME_STRDUPA): Likewise. Reduce time spent - traversing the string. - * src/dircolors.c (guess_shell_syntax): Use new last_component. - * src/install.c (target_directory_operand, install_file_in_dir): - Likewise. - * src/ln.c (target_directory_operand, main): Likewise. - * src/ls.c (basename_is_dot_or_dotdot): Likewise. - * src/mv.c (target_directory_operand, movefile): Likewise. - * src/remove.c (rm_1): Likewise. - * src/shred.c (wipename): Likewise. - * src/split.c (next_file_name): Likewise. - * src/su.c (log_su, run_shell): Likewise. - -2006-03-23 Paul Eggert - - * NEWS: nohup diagnostics are now more precise, and nohup now - redirects stderr to nohup.out if stdout is closed and stderr is a tty. - * src/nohup.c (main): Implement this. - * tests/misc/nohup: Test the new behavior. - -2006-03-12 Jim Meyering - - * src/copy.c (set_author): Rename function, from preserve_author. - - * src/remove.c (AD_pop_and_chdir): Use new macro, - CYCLE_CHECK_REFLECT_CHDIR_UP, rather than open-coding it. - - * src/system.h (SAME_INODE): Remove definition. - Include "same-inode.h", instead. - -2006-03-11 Eric Blake - - * src/pwd.c (robust_getcwd): Prepend only one slash, not two. - -2006-03-10 Jim Meyering - - Fix a bug whereby a user with write access to a directory being removed - could cause the removal of that directory to fail with an erroneous - diagnostic about a directory cycle. Reported by Vineet Chadha. - - * NEWS: Mention this. - * src/remove.c (AD_pop_and_chdir): If the directory we're about to - leave (and try to rmdir) is the one whose dev_ino is being used to - detect a cycle, reset cycle_check_state.dev_ino to that of the parent. - -2006-03-08 Paul Eggert - - * NEWS: Document dd's new 'directory' and 'nolinks' flags. - * src/dd.c (set_fd_flags): Handle file-creation flags on file - descriptors, rather than ignoring them. - * tests/dd/misc: Add test cases for append, nofollow, directory, - and nolinks flags. Simplify redirection to /dev/null in some cases. - - * tests/dd/misc: iflags->iflag. This fixes a typo that meant the - noatime test never tested anything. - -2006-03-05 Paul Eggert - - * src/dd.c (flags, usage): New flags directory, nolinks. - * src/system.h (O_NOLINKS): Define to 0 if not already defined. - - * src/ls.c (usage): Mention that -f disables --color. - Problem reported by Niels Möller. - -2006-03-03 Justin Pryzby - - * man/*.x: Add references to syscalls from utilities of the same name. - -2006-03-05 Jim Meyering - - * tests/help-version: Set SHELL, if not already set, in order to - avoid failure when `make check' is run through debuild; dircolors - would fail due to lack of $SHELL. Reported by Sven Joachim. - - Make `base64 --wrap=N' work for N=0, and for N larger than SIZE_MAX. - * src/base64.c (wrap_write, do_encode, main): Change type of - parameters and locals, wrap_column, form size_t to uintmax_t. - (main): Adjust to use xstrtoumax, accordingly. - -2006-03-03 Jim Meyering - - Don't fail when run from an environment with SHELL not a Bourne - shell, e.g. `env SHELL=/bin/csh make check' would fail this test. - * tests/dircolors/simple: Invoke each non-failing test with -b. - Reported by Michael Stone. - -2006-02-27 Jim Meyering - - * tests/misc/base64: Derive --decode-using tests from the - encode-based ones. - - * tests/misc/base64: Factor out a long constant string. - Split lines to stay within 80 columns. - - * tests/misc/Makefile.am (TESTS): Add base64. - * tests/misc/base64: Test base64. From Simon Josefsson. - - * src/base64.c (do_decode): Use correct type for parameter, - ignore_garbage: s/size_t/bool/. - - * src/base64.c: Don't include .h files already included by system.h: - , , , , . - Include "system.h" before the other lib/*.h header files. - Include before "system.h". - (wrap_write): Remove declaration of unused local, initial_column. - (wrap_write): Correct declaration syntax: s/size_t * V/size_t *V/. - - * README: Add base64 to the list. - -2006-02-17 Simon Josefsson - - New program: base64. - * AUTHORS: Mention base64. - * NEWS: Likewise. - * man/Makefile.am: Build base64.1. - * man/base64.x: New file. - * src/Makefile.am (bin_PROGRAMS): Add base64. - * src/base64.c: New file. - -2006-02-25 Eric Blake - - In ls, avoid calling stat for --inode (-i), when possible. - * src/pwd.c (NOT_AN_INODE_NUMBER, D_INO): Move to ... - * src/system.h: ... here, for use in ... - * src/ls.c (main): ... here. Prefer dirent.d_ino to stat when - possible. - (gobble_file): Add inode argument. - (print_dir): Pass inode if available. - (usage): Remove inaccuracy. - -2006-02-23 Jim Meyering - - * TODO: Update/correct some obsolete entries. - -2006-02-20 Paul Eggert - - * doc/coreutils.texi (join invocation): Mention `sort -k 1b,1'. - * src/join.c (usage): Likewise. - Documentation problem reported by Philip Kensche. - -2006-02-20 Eric Blake - - * man/rm.x: Update documentation to match previous patch. - -2006-02-18 Eric Blake - - New option for rm: --interactive=once (-I). - * NEWS: Document it, along with change to rm --interactive. - * TODO: Remove entry for implementing rm -I - * src/rm.c (INTERACTIVE_OPTION): New enum value. - (interactive_type): New enum. - (long_opts): Let interactive take an optional argument. - (interactive_args, interactive_types): New option arguments. - (usage): Document -I, --interactive=WHEN. Use program_name - instead of a basename. - (main): New -I option, new behavior to --interactive. - * tests/rm/interactive-once: New tests. - * tests/rm/interactive-always: Ditto. - * tests/rm/Makefile.am (TESTS): Run them. - -2006-02-18 Jim Meyering - - * Makefile.maint (sc_two_space_separator_in_usage): Make the regular - expression match more of the target lines, e.g., those that start with - `-S,' (short option followed by a comma) or that include `=[...]'. - Patch by Nicolas François. - Fix the four offenders thus exposed: - * src/join.c (usage): Use two spaces (not one) to separate the - --first-only option string from its description, so help2man formats - the derived man page properly. - * src/pr.c (usage): Likewise. - * src/uniq.c (usage): Likewise. - * src/install.c (usage): Likewise. - -2006-02-15 Jim Meyering - - * Makefile.maint (alpha beta major): For `make major', ensure that the - version string is of the form N.N[.N]*, where N is one or more digits. - -2006-02-14 Jim Meyering - - * INSTALL: Update from gnulib. - -2006-02-13 Jim Meyering - - * GNUmakefile (all): Emit diagnostics to stderr, not stdout. - -2006-02-12 Jim Meyering - - * Makefile.maint (patch-check): New target. - (local-checks-available): Add to the list. - -2006-02-11 Jim Meyering - - * src/c99-to-c89.diff: New file. - * src/Makefile.am (EXTRA_DIST): Add c99-to-c89.diff. - - * .x-po-check: New file, with exclusions so that `make distcheck' - passes once again. - * Makefile.am (EXTRA_DIST): Add .x-po-check. - - rm -r must remove an empty directory, even if it is inaccessible. - * src/remove.c (close_preserve_errno): New function. - (fd_to_subdirp): Don't print a diagnostic in this function. - Do it from the callers instead, unless rmdir succeeds. - (remove_cwd_entries, remove_dir): Adjust callers. - * tests/rm/empty-inacc: New test for the above. - * tests/rm/Makefile.am (TESTS): Add empty-inacc. - * NEWS: Mention this bug fix. - * tests/rm/rm2: Adjust two expected diagnostics, now that they're - a tiny bit less precise: cannot remove `a/1': ... instead of - cannot open directory `a/1': ... - - * Makefile.maint (syntax-check-rules): Automatically derive this - list of sc_-prefixed rule names. - -2006-02-10 Paul Eggert - - * Makefile.maint (CVS_LIST): Don't assume cvsu is available. - (CVS_LIST_EXCEPT): New macro, to simplify exception-processing. - Most uses of CVS_LIST changed to use CVS_LIST_EXCEPT. - (syntax-check-rules): Bring back sc_changelong. (Hmm, why did it - go away? was that an accident?) - (sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value): - (sc_cast_of_alloca_return_value, sc_space_tab, sc_prohibit_atoi_atof): - (sc_error_exit_success, sc_file_system, sc_no_if_have_config_h): - (sc_system_h_headers, sc_sun_os_names, sc_trailing_blank): - (sc_two_space_separator_in_usage, sc_unmarked_diagnostics): - (sc_obsolete_symbols, sc_changelog, sc_prohibit_jm_in_m4): - (sc_useless_cpp_parens, makefile-check, m4-check, po-check): - (author_mark_check, makefile_path_separator_check): - Output line numbers, to simplify navigation of Emacs *compilation* - buffers. - (sc_prohibit_atoi_atof, sc_file_system): - Rework slightly so that Makefile.maint doesn't get reported as a - violation of its own syntax rules. - (sc_dd_max_sym_length): Use ifneq to do nothing, instead of doing - it at run-time (which didn't work with Bison). Fix a makefile typo, - caught by Makefile.maint itself: spaces where a tab should be. - (po-check): Check lib/*.[ch] even if not in CVS; used by Bison, - which copies from ../gnulib/lib/*.[ch] to lib/*.[ch]. - Ignore djgpp and man subdirectories, to avoid false matches with - Bison and coreutils, respectively. Use sort -u to remove the - resulting duplicates. - * gnupload: Rework slightly to avoid bogus warning from - sc_two_space_separator_in_usage. - -2006-02-10 Jim Meyering - - Use gzip's --rsyncable option only if it's available. - * Makefile.maint (gzip_rsyncable): New variable. - (GZIP_ENV): Use it. - -2006-02-08 Jim Meyering - - * Makefile.maint (local-checks-available): Define in terms of - the expansion, $(syntax-check-rules), rather than the single, - top-level target `syntax-check', so that it's easier to exclude - individual rules (via $(local-checks-to-skip)). - (tgz-md5, tgz-sha1, ...): Remove now-unused definitions. - -2006-02-07 Jim Meyering - - * src/system.h (!defined O_DIRECT): If O_DIRECTIO is defined (as it - is on Tru64), define O_DIRECT to that. Patch From James Lemley. - - * tests/help-version (expected_failure_status_vdir): - Redirect an expected disk-full diagnostic to /dev/null. - -2006-02-06 Jim Meyering - - * src/unexpand.c (usage): Use two spaces (not one) to separate the - --first-only option string from its description, so help2man formats - the derived man page properly. - * src/rm.c (usage): Likewise for --no-preserve-root. - * src/chown.c (usage): Likewise. - * src/chgrp.c (usage): Likewise. - - Add a rule to ensure that the above doesn't happen again. - * Makefile.maint (sc_two_space_separator_in_usage): New rule. - (syntax-check-rules): Add it. - * .x-sc_two_space_separator_in_usage: New empty file. - * Makefile.am (EXTRA_DIST): Add .x-sc_two_space_separator_in_usage. - -2006-02-06 Jim Meyering - - * src/cp.c (usage): Use two spaces (not one) to separate each - option string from its description, so help2man formats the - derived man page properly. - * src/mv.c (usage): Likewise. - Patch from Nicolas François in http://bugs.debian.org/351601. - -2006-02-04 Jim Meyering - - * src/copy.c (copy_internal): cp -RL would fail when encountering - the same directory more than once in the hierarchy beneath a single - command-line argument. That is legitimate, e.g. when there are - two or more symbolic links, each pointing to some directory that - would not otherwise be copied. Reported by Christophe LYON. - * tests/cp/cp-deref: New file. Test for today's fix. - * tests/cp/Makefile.am (TESTS): Add cp-deref. - * NEWS: Document this. - -2006-02-03 Jim Meyering - - * configure.ac: Require automake-1.9.6, not 1.8.3. - -2006-02-01 Paul Eggert - - * src/od.c (usage): Mention that -t a ignores high order bit. - Documentation problem reported by Ed Avis. - -2006-02-01 Jim Meyering - - * src/pwd.c (find_dir_entry): Remove unused local, `ent_sb_valid'. - -2006-01-30 Paul Eggert - - * src/head.c (main): Use a better diagnostic when someone uses a - trailing numeric option in an invalid way. Problem reported by - Karl Berry. - * src/tail.c (parse_options): Likewise. - -2006-01-30 Jim Meyering - - * man/wc.x: Include `count' keyword in man page synopsis, - per suggestion from http://bugs.debian.org/181585. - -2006-01-24 Paul Eggert - - * src/df.c (show_dev): If the file system claims to have - more available than total blocks, report the number of used - blocks as being total - available (a negative number) rather - than as garbage. Problem reported by Toralf Foerster. - -2006-01-24 Jim Meyering - - * src/tail.c (tail_forever): Don't exit-nonzero when an attempt - to put a regular file in O_NONBLOCK mode fails with EPERM. - That happens on Linux (up to 2.6.15) when using tail -f on a file with - the append-only attribute. Reported by Dean Gaudet. For details, - see http://savannah.gnu.org/bugs/?func=detailitem&item_id=15473. - * NEWS: Mention this fix. - * tests/tail-2/append-only: New file. Test for the above. - * tests/tail-2/Makefile.am (TESTS): Add append-only. - * tests/Makefile.am (check-root): Add tail-2/append-only - -2006-01-21 Jim Meyering - - * NEWS: Mention fts-related improvements and bug fixes. - -2006-01-19 Jim Meyering - - * tests/fmt/basic (pfx-1, pfx-2): New tests, to demonstrate the bug - reported as http://bugs.debian.org/147577. Forwarded by Thomas Hood. - -2006-01-18 Jim Meyering - - * tests/du/Makefile.am (TESTS): Add long-from-unreadable. - -2006-01-17 Jim Meyering - - Now that fts no longer changes the current working directory, adjust - its clients accordingly -- note that du.c uses fts but doesn't need - any adjustment, since it doesn't operate on the actual files, - but rather just uses the stat buffers provided by fts. - - * src/chown-core.c: Include "openat.h". - Don't include "lchown.h". - (restricted_chown): Accept a new parameter, CWD_FD, and use it in - calling openat, lchownat, chownat, rather than open, lchown, chown. - Update caller. - * src/chmod.c: Include "openat.h". - (process_file): Use chmodat (fts->fts_cwd_fd,... in place of chmod (... - - * tests/du/long-from-unreadable: New test, to exercise one small - corner of fts.c. - -2006-01-13 Jim Meyering - - * tests/Makefile.am (SUBDIRS): Add comments discouraging the - addition of new directories under tests/. - - * tests/acl: Redirect stdin to /dev/null. Otherwise, FreeBSD 5.0's - getfacl would hang. - -2006-01-12 Jim Meyering - - * tests/du/long-sloop: Adjust not to hard-code the expected - diagnostic corresponding to ELOOP. Solaris' diagnostic differs - from that of GNU libc. Reported by Paul Eggert. - - * tests/du/long-sloop: Create file at end of symlink chain. - - * tests/misc/test: New file, with a test for one of the - bugs fixed by yesterday's test.c changes. - * tests/misc/Makefile.am (TESTS): Add test. - -2006-01-11 Jim Meyering - - * tests/du/long-sloop: New file. Test for today's fts.c bug fix. - That bug could make du -L, chgrp -L, or chown -L fail to diagnose - a very long sequence of symbolic links (not necessarily a loop). - * tests/du/Makefile.am (TESTS): Add long-sloop. - -2006-01-11 Paul Eggert - - * src/test.c (test_syntax_error): Append a newline. All callers - changed, except for the ones that didn't already append a newline. - Bug reported by Eric Blake. - -2006-01-11 Jim Meyering - - * src/system.h (X2NREALLOC): Now that verify_true is no longer - void, cast its result to void, to avoid gcc's warning that - ``left-hand operand of comma expression has no effect''. - (DECIMAL_DIGIT_ACCUMULATE, X2REALLOC): Likewise. - -2006-01-10 Jim Meyering - - * tests/chmod/no-x: Add a test for today's fts.c fix. - -2006-01-10 Jim Meyering (tiny change) - - * src/ls.c (gobble_file): Use DTTOIF only if it's defined. - This is necessary for Dragonfly. Patch by Joerg Sonnenberger. - -2006-01-10 Paul Eggert - - * src/system.h (X2NREALLOC, X2REALLOC, DECIMAL_DIGIT_ACCUMULATE): - Use verify_true instead of verify_expr, to sync with gnulib. - -2006-01-08 Jim Meyering - - * src/date.c (usage): Adjust the formatting of the entries for - %::z and %:::z (separate with two spaces, not one) so that help2man - formats them properly. Reported by Philip Rowlands. - -2006-01-06 Paul Eggert - - * configure.ac (gl_IGNORE_UNUSED_LIBRARIES): Add. - -2006-01-06 Jim Meyering - - * Makefile.maint (copyright-check): Use date +%Y in place of - hard-coded 2005. - - * src/remove.c (rm_1): Remove `static' attribute on local `status'. - First off, the attribute should have been `volatile' (not static) - to avoid longjmp-related risk of clobber. Secondly, now there is - no longer any risk of a local variable being clobbered, so there's - no need for any attribute at all. - -2006-01-05 Jim Meyering - - * src/remove.c: Give a few functions the inline attribute. - (AD_pop_and_chdir): Use gotos to avoid some duplication. - (AD_push): Rewrite an assertion so that the entire computation - goes away when assertions are turned off. - - * src/tail.c (ENOSYS) [!defined ENOSYS]: Don't define here. - It's already defined in "system.h". - * Makefile.maint: Add a FIXME comment. - -2006-01-04 Jim Meyering - - * ChangeLog: Remove entries from 2005-10-22 and earlier. - * ChangeLog-2005: New file, for entries up to version 5.92. - -2006-01-03 Jim Meyering - - * tests/du/no-x: Also allow a slightly different diagnostic -- the - one you get when using openat-enabled fts.c and du (coming soon). - * tests/chmod/no-x: Likewise. - * tests/chgrp/no-x: Likewise. - - * src/system.h (O_DIRECTORY) [!defined O_DIRECTORY]: Define. - -2006-01-02 Paul Eggert - - * src/chown-core.c (RC_do_ordinary_chown): New enum value. - (restricted_chown): Return it, if the file cannot be accessed due - to EPERM, or if no uid or gid are required, or if the file is - neither a directory nor a regular file. Rewrite to avoid gotos. - (change_file_owner): Handle RC_do_ordinary_chown case. - Rewrite to avoid gotos. - * tests/chgrp/basic: Make sure we can change the group of - inaccessible files. - - * src/date.c (usage): Explain %g, %G, and %V a bit better. - -2006-01-02 Jim Meyering - - * src/copy.c (set_owner): Correct a comment. - - * src/tail.c (parse_options): Change warning to say that --retry - is useful `mainly' (not `only') when following by name. - Reported here: http://bugs.debian.org/273781 - -2006-01-01 Paul Eggert - - * NEWS: Document that mkfifo and mknod -m no longer set special bits. - * src/copy.c: Include lchmod.h. - (copy_internal): Use lchmod rather than chmod. - * src/cp.c: Include lchmod.h. - (re_protect, make_dir_parents_private): Use lchmod rather than chmod. - * src/mkdir.c: Include lchmod.h. - (usage): Clarify -m's operation. - (main): Use lchmod rather than chmod. Don't use lchmod unless the - new mode contains bits outside the 777 range. - * src/mkfifo.c (usage): Clarify -m's operation. - (main): If -m is given, don't invoke chmod; use umask 0 instead. - Report an error if -m asks for bits outside the 777 range. - * src/mknod.c (usage, main): Likewise. - - * src/mkdir.c, src/mkfifo.c, src/mknod.c: Undo 2005-12-19 changes. - - ----- - - Copyright (C) 2006-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/ChangeLog-2007 b/ChangeLog-2007 deleted file mode 100644 index ea46dab07..000000000 --- a/ChangeLog-2007 +++ /dev/null @@ -1,4022 +0,0 @@ -2007-12-31 Jim Meyering - - * doc/coreutils.texi (Block size): Put braces around multi-digit - exponents. Reported by Darrel Francis. - - Add a syntax check, so this doesn't recur. Reorganize existing checks. - * doc/Makefile.am (sc-exponent-grouping): - (syntax_checks): New variable. - (sc-avoid-io, sc-avoid-non-zero, sc-avoid-timezone): - (sc-avoid-zeroes, sc-use-small-caps-NUL): New rules, extracted - from check-texinfo. - (check-texinfo): Depend on $(syntax_checks). - -2007-12-30 Mike Frysinger - - * src/dircolors.hin (TERM): Add gnome-256color. - -2007-12-21 Ralf Wildenhues - - * doc/coreutils.texi: Fix a typo. Avoid the term `relationals'. - -2007-12-20 Jim Meyering - - Use comma-separated list in ./configure --help output. - * configure.ac: Map commas to spaces in excluded-program list. - Use a comma-separated list, not a space-separated one. - * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): - Expect list of program names to be comma-separated. - Reported by Jan Bauke Douma. - - Avoid another "make check" failure due to omitted programs. - * tests/test-lib.sh (require_built_): New function. - * tests/misc/groups-version: Use it to skip this test if - either groups or id is not built. - - Avoid spurious "make check" failures due to omitted programs. - * man/Makefile.am (distcheck-hook): Make check rules dependents of - this target, not of check-local, so that people aren't distracted by - failures due to programs omitted via --enable-no-install-program=... - -2007-12-19 Paul Eggert - - * src/uniq.c (usage): Improve wording in --help "Note". - -2007-12-18 Jim Meyering - - * src/uniq.c (usage): Note that sorting uniq's input is often useful. - Suggested by Eric Blake. - (usage): Say "key-selection", not "field-selection". - Quote example commands consistently. - -2007-12-15 Jim Meyering - - Version 6.9.91. - - * Makefile.cfg (gpg_key_ID): Use new, longer signing subkey. - -2007-12-12 Jim Meyering - - * tests/mv/part-symlink: Redirect diff output to stderr. - -2007-12-11 Jim Meyering - - Add a test to exercise today's bug fix. - * tests/misc/selinux: Test for today's bug fix. - * NEWS: Mention the SELinux "ls -l" fix. - -2007-12-11 Paul Eggert - - "ls -l" wouldn't output "+" on SELinux hosts unless -Z was also given. - * src/ls.c (gobble_file): Also get the file context if -l is specified. - Treat getfilecon failures like file_has_acl failures. - (UNKNOWN_SECURITY_CONTEXT): New constant. - (clear_files): Don't free it. - (gobble_file): Set unknown security contexts to it; that way, we - don't have to have special cases for unknown contexts. - (print_long_format, print_file_name_and_frills): Don't worry - about scontext being null, since it's always some string now. - -2007-12-11 Jim Meyering - - * NEWS: Add the "Bug fixes" heading. - -2007-12-09 Jim Meyering - - "rm" as root would fail to unlink a non-directory on OS X 10.4.x - * src/remove.c (remove_entry) ["can unlink directories"]: Fix a - mistakenly reversed condition. - * NEWS: Mention this bug fix. - Reported by Pieter Bowman. - -2007-12-08 Jim Meyering - - * src/c99-to-c89.diff: Adjust shred.c offsets. - -2007-12-04 Jim Meyering - - Reflect change in gnulib: don't include getpagesize.h, - now that it's provided by unistd.h. - * src/cat.c: Don't include getpagesize.h. - * src/copy.c: Likewise. - * src/dd.c: Likewise. - * src/shred.c: Likewise. - * src/split.c: Likewise. - -2007-12-02 Jim Meyering - - Copy a .po file into place also when the target doesn't exist. - * bootstrap (gnulib_tool): ... not just when the checksum differs. - So now, if I manually remove po/xx.po, rerunning bootstrap will - copy the latest into place. - - Make my-distcheck depend on "check". - * Makefile.maint (my-distcheck): Also depend on "check", so I can't tag - and release something that fails "make check" (however harmless) when - run in a checked-out-from-git dir, but not in the distributed tarball. - - * NEWS: Add the usual "Noteworthy changes in release 6.9.91..." line. - - Remove just-installed su, if unable to make it set-UID root. - Normally, su isn't even installed. However, if you configure with - --enable-install-program=su, and then install with insufficient - privileges, we now make sure to remove the just-installed binary. - * src/Makefile.am (install-exec-hook): Rename from install-exec-local, - so that this rule is guaranteed to be run *after* installation. - If unable to chown and chmod the installed "su" program, remove it. - Reported by Greg Schaefer. - -2007-12-01 Bob Proulx - - Make existing-perm-race executable. - * tests/cp/existing-perm-race: Update file mode. - -2007-12-01 Jim Meyering - - Version 6.9.90. - - * NEWS: Remove the now-untrue statement about cp vs. dangling symlinks - - Change release procedure: tag *before* running e.g., "make stable". - * Makefile.maint (vc-dist): Don't tag. Now, you must apply the tag - before running "make beta", "make stable", etc. - (vc-tag-check): Remove rule. No longer makes sense. - - * Makefile.maint (vc-tag-check): Correct check for existing git tag. - - Defer NEWS and ChangeLog checks until after the version-changing tag. - * Makefile.maint (alpha beta major): Don't depend on the - news-date-check changelog-check targets. They must fail before - applying the version-changing tag. Instead, run them after "vc-dist". - - * NEWS: Record release date and new version number. - Mention some of the SELinux changes. - * src/stat.c (main): Adjust a comment. - - * TODO: Add some entries (documentation needed), - and remove the one for mktemp. - - Add "extern" keyword to declaration of cp_options_default. - * src/copy.c (cp_options_default): Mark as "extern", so the - "sc_tight_scope" part of "make distcheck" passes. - -2007-12-01 Jim Meyering - - Change comments: say bug present up to coreutils-6.9, not fixed in 6.10. - * tests/cut/Test.pm: Adjust comment. - * tests/misc/cut: Likewise. - * tests/misc/ls-misc: Likewise. - * tests/misc/od: Likewise. - * tests/misc/stty-invalid: Likewise. - * tests/tr/Test.pm: Likewise. - -2007-11-29 Paul Eggert - - Add a test for cp -p and existing file permissions. - * tests/cp/Makefile.am (TESTS): Add existing-perm-race. - * tests/cp/existing-perm-race: New test. It isn't much of a - test yet, since it's hard to catch the race, but it has a FIXME - that will let us do a better test later. - -2007-11-28 Paul Eggert - - Fix a security race with "cp -p A B" when B already exists. - * src/copy.h (struct cp_options): New member owner_privileges. - * src/copy.c (USE_ACL): Define to 0 if not defined, for convenience. - (owner_failure_ok): New function. - (set_owner): Avoid a security-related race by doing an extra chmod - first if it looks like there might be trouble right after a chown. - Accept a source struct stat rather than a uid and gid, and - accept a boolean NEW_DST and destination struct stat. - All callers changed. - * src/copy.h (cp_options_default): New function, replacing the - old chown_privileges. - * src/copy.c (cp_options_default): Likewise. - * src/cp.c (cp_option_init): Use it. - * src/install.c (cp_option_init): Likewise. - * src/mv.c (cp_option_init): Likewise. - -2007-11-30 Jim Meyering - - Move the very-expensive file into test-lib.sh. - * tests/very-expensive: Remove file. - * tests/test-lib.sh (very_expensive_): New function. - * tests/Makefile.am (EXTRA_DIST): Remove very-expensive. - * tests/cp/perm: Call the new function, rather than sourcing the file. - * tests/tail-2/assert: Likewise. - * tests/tail-2/assert-2: Likewise. - * tests/du/2g: Likewise. - - Avoid a spurious test failure when build directory is set-GID. - * tests/cp/fail-perm: Ensure that '.'s set-GID bit is off. - - Be extra careful to quote $abs_top_builddir-derived names. - * tests/misc/ls-misc (shell_quote): New function. - Use it to quote file names derived from $abs_top_builddir, - in case it contains shell meta-characters. This is not currently - needed, since CuTmpdir detects the fishy name and skips the test. - But it's important enough to add the extra protection. - Reported by Ralf Wildenhues. - - Include test name in the "unsafe working directory name" diagnostic. - * tests/CuTmpdir.pm (import): If $ME is '-', use $prefix. - -2007-11-30 Ralf Wildenhues - - Add quotes to protect against white space in build dir name. - * tests/check.mk (TESTS_ENVIRONMENT): Quote $(abs_srcdir). - * tests/chmod/setgid: Quote absolute names. - * tests/misc/help-version: Likewise. - * tests/misc/pwd-unreadable-parent: Likewise. - * tests/rmdir/ignore: Likewise. - * tests/test-lib.sh: Likewise. - - Define `tst', for CU_TEST_NAME. - * build-aux/check.mk (am__check_pre): Set `tst', for - CU_TEST_NAME in tests/check.mk. - - * tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not - defined, because it then goes wild and changes the mode of all - directories below $HOME. Undefined $dir can happen if the test - is to be skipped because of an unsafe working directory name. - -2007-11-28 Paul Eggert - - Close a file descriptor leak when cp --preserve=context fails. - * src/copy.c (copy_reg): Close dest_desc too, if getfscreatecon - or fsetfilecon fail. - -2007-11-28 Jim Meyering - - * README: Document the known problem with gettext <= 0.17. - -2007-11-28 Paul Eggert - - * gl/modules/randread (Depends-on): Remove nonexistent rand-isaac. - -2007-11-27 Jim Meyering - - Don't block use of 'cat' or 'wc' in "make check". - * Makefile.maint (my-distcheck): Add "cat" and "wc" to the list - of programs that we can't blacklist. - - Fix md5sum+sha*sum on sparc: regenerate files with latest autoconf. - * configure et al: Regenerate with very latest version of autoconf - (v2.61a-312-gb524b0f), to fix md5sum and sha*sum miscompilation - on big-endian systems (like sparc) due to lack of the required - definition in of WORDS_BIGENDIAN in lib/config.h. - -2007-11-26 Jim Meyering - - setuidgid.c: more cleanup - * src/setuidgid.c: Include "mgetgroups.h". - (main): Don't presume there's a fixed limit on the maximum number - of group IDs. Don't use NGROUPS; it's artificially low. - Change the name of a local: s/gids_count/n_gids/. - Remove non-portable "const": s/const int tmp =.../int tmp =.../ - -2007-11-25 Jim Meyering - - Document install's -D option. - * doc/coreutils.texi (install invocation): Document -D. - Reported by Akim Demialle. - - setuidgid: Update --help output. - * src/setuidgid.c (usage): Describe -g GID[,GID1...] option. - Mention that USER may be a numeric ID or a user name. - -2007-11-24 Jim Meyering - - Tweak new test. - * tests/cp/preserve-gid: Split some long lines. - Prepend "+" to numeric uid and gid chown arguments, on principle. - Use skip_test_. - - setuidgid: minor clean-up. - * setuidgid.c: Include "xstrtoul.h". - (main): Detect overflow in string-to-gid_t and -to-uid_t conversions. - Improve diagnostics. - - * src/setuidgid.c: Normalize leading white space: no more TABs. - - Test the new feature: cp -p preserves the GID whenever possible. - * tests/cp/preserve-gid: New file. Test for today's change. - * tests/cp/Makefile.am (TESTS): Add preserve-gid. - * tests/Makefile.am (all_t): Add tc. - (tc): New target. - - setuidgid: accept numeric UID, and new option -g GID,GID1,GID2,... - * src/setuidgid.c: Add functionality for the new test above. - - "cp -p" tries to preserve GID even if preserving the UID fails. - * NEWS: Mention this new feature. - * src/copy.c (set_owner): Try to preserve just the GID, - when initial fchown/lchown fails. - * src/cp.c (re_protect): Likewise. - -2007-11-23 Jim Meyering - - * src/runcon.c (main): Remove unused parameter, "envp". - - Add tests to show new class of strings accepted by date -d. - * tests/misc/date (rel-1day, rel-plus1): New tests for the recent - change in gnulib's getdate.y. - * NEWS: Mention the fix. - -2007-11-22 Jim Meyering - - Quiet warnings about unused parameters. - * src/copy.c (set_author) [!HAVE_STRUCT_STAT_ST_AUTHOR]: - "Use" each of the parameters. - - * GNUmakefile: Correct the "rerunning..." diagnostic. - - Make it easier to diagnose PATH-induced "make distcheck" failures. - * Makefile.maint (write_loser): Define. - (my-distcheck): Use an always-failing wrapper script, that gives - a diagnostic, not "false". - Run only "make -C tests check" with the restrictive PATH. - Run the new gnulib-tests/ with the usual PATH. - - cp: by default, refuse to copy through a dangling destination symlink - * NEWS: Mention this change. - * doc/coreutils.texi (cp invocation): Describe the new behavior. - * src/copy.c: No longer include "canonicalize.h". - (copy_reg): Upon failure to open a dangling destination symlink, - don't canonicalize the name, but rather fail (default) or, with - POSIXLY_CORRECT, repeat the open call without O_EXCL (potentially - dangerous). - * src/copy.h (struct cp_options) [open_dangling_dest_symlink]: - New member. Reorder the others, grouping "bool" and "enum" - members together. - * tests/cp/thru-dangling: Test for changed and new behavior. - * src/cp.c (cp_option_init): Initialize new member. - * src/install.c (cp_option_init): Likewise. - * src/mv.c (cp_option_init): Likewise. - -2007-11-21 Pádraig Brady - - * doc/coreutils.texi (split invocation): Improve the - descriptions of the split command options. - -2007-11-21 Jim Meyering - - * src/c99-to-c89.diff: Adjust seq.c offsets. - -2007-11-18 Paul Eggert - - * src/seq.c (print_numbers): Rewrite in an attempt to avoid the - more-general rounding issues exposed by the previous patch. - -2007-11-18 Jim Meyering - - * src/c99-to-c89.diff: Adjust seq.c offsets. - - Remove unused parameter in remove.c. - * src/remove.c (fd_to_subdirp): Remove unused parameter. - (remove_cwd_entries, remove_dir): Update callers. - - bootstrap: work also with 4-argument variant of AC_INIT (from gnulib) - 2007-11-18 Sergey Poznyakoff - * bootstrap (gnulib_extra_files): Adjust sed command. - -2007-11-17 Jim Meyering - - Correct preceding patch. - * src/seq.c (print_numbers): Also handle first < last && step < 0. - * tests/misc/seq [empty-rev]: New test for this case. - - "seq .1 .1" would mistakenly generate no output on some systems - * NEWS: Say this. - * src/seq.c (print_numbers): Handle another floating point corner case. - This avoids failure of seq's eq-wid-7 test on FreeBSD 6.1. - -2007-11-16 Paul Eggert - - Port tests/rmdir/ignore away from GNU/Linux. - * tests/rmdir/ignore: Don't assume that rmdir($PWD) will fail - with errno==ENOTEMPTY when $PWD is not empty; Posix also allows - rmdir to fail with errno==EBUSY. - -2007-11-16 Jim Meyering - - Avoid an obscure new "make distcheck" failure. - * Makefile.maint (my-distcheck): Also allow 'mv', for its use - in gnulib-tests/Makefile. - -2007-11-16 Paul Eggert - - Port readlink-fp-loop to Solaris. - * tests/misc/readlink-fp-loop (symlink_loop_msg): New var, - which records the symlink-loop message, whose wording is - not standardized by Posix. Do not rely on "echo x > p/1" - to work when p/1 has a lot of indirect symlinks. (I'm surprised - that it works on Linux. Perhaps a Linux bug?) - -2007-11-15 Paul Eggert - - Port to Solaris 'make' and use a Posixish shell on Solaris. - * bootstrap.conf (gnulib_modules): Add gnu-make, posix-shell. - * build-aux/check.mk (SHELL): Set to $(PREFERABLY_POSIX_SHELL), - so that commands can assume Posix syntax. - (ENABLE_HARD_ERRORS, TEST_LOGS): Don't use GNU Make's "?=" syntax. - (SH_E_WORKAROUND): New macro. - (am__check_pre, $(TEST_SUITE_LOG)): Use it. - (am__check_pre): Fail if "mkdir" fails. Use $(SHELL) - rather than relying on the "#!/bin/sh" in the file, so that tests - can use Posix syntax. - (am__check_pre, am__tty_colors): Use $$src rather than $$<, to - support the Posix-make $(TEST_LOGS) rule. - (%.log: %.test, %.log: %$(EXEEXT)): Remove unused inference rules - that rely on a GNU Make extension and cause Solaris 'make' to fail. - (SUFFIXES): New macro, so that we can use Posix style inference rules. - (%.log: %): Use this rule only if GNU_MAKE. - Set $$src so that macros can use $$src rather than $$<. - (CHECK-FORCE, DEPENDENCY, $(TEST_LOGS)): New macros and rules, - which rely only on Posix 'make' semantics, and are used only with - non-GNU 'make' implementations. $(TEST_LOGS) invokes 'make' - recursively (and a bit inefficiently) to simulate the GNU 'make' - rules. - (.log.html): Renamed from "%.html: %.log", so that it relies only - on Posix 'make' semantics. - (check-clean, .PHONY): Do not depend on check-clean-local, since - Solaris 'make' complains about nonexistent rules like that. - * src/Makefile.am (SUFFIXES): Remove; no longer needed. - (groups): Use a specific rule rather than an inference rule that - is only instantiated once. The inference-rule approach does not - work with Solaris 'make', which gets confused by the "groups: - Makefile" line. It's not clear from the Posix spec that Solaris - 'make' is buggy here, so instead of worrying about it, rewrite - the makefile so that it clearly conforms to Posix. - * tests/check.mk (TESTS_ENVIRONMENT): Export PACKAGE_BUGREPORT. - GNU 'make' does this automatically for us, but Solaris 'make' - doesn't. - -2007-11-15 Paul Eggert - - Port to Solaris 8 perl, which does not support "use warnings;". - * tests/dd/skip-seek: Skip test if "use warnings;" fails. - * tests/du/files0-from: Likewise. - * tests/misc/base64: Likewise. - * tests/misc/basename: Likewise. - * tests/misc/cut: Likewise. - * tests/misc/date: Likewise. - * tests/misc/dircolors: Likewise. - * tests/misc/dirname: Likewise. - * tests/misc/expand: Likewise. - * tests/misc/expr: Likewise. - * tests/misc/factor: Likewise. - * tests/misc/fmt: Likewise. - * tests/misc/fold: Likewise. - * tests/misc/head-elide-tail: Likewise. - * tests/misc/ls-misc: Likewise. - * tests/misc/md5sum: Likewise. - * tests/misc/md5sum-newline: Likewise. - * tests/misc/mktemp: Likewise. - * tests/misc/od: Likewise. - * tests/misc/paste-no-nl: Likewise. - * tests/misc/pr: Likewise. - * tests/misc/seq: Likewise. - * tests/misc/sha1sum: Likewise. - * tests/misc/sha1sum-vec: Likewise. - * tests/misc/sha224sum: Likewise. - * tests/misc/sha256sum: Likewise. - * tests/misc/sha384sum: Likewise. - * tests/misc/sha512sum: Likewise. - * tests/misc/sort-merge: Likewise. - * tests/misc/stat-printf: Likewise. - * tests/misc/sum: Likewise. - * tests/misc/test-diag: Likewise. - * tests/misc/tsort: Likewise. - * tests/misc/unexpand: Likewise. - * tests/misc/wc-files0-from: Likewise. - * tests/misc/xstrtol: Likewise. - * tests/mv/i-1: Likewise. - * tests/rm/empty-name: Likewise. - * tests/rm/unreadable: Likewise. - -2007-11-15 Andreas Schwab - - * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix syntax error. - Remove trailing space from result. - -2007-11-15 Jim Meyering - - Avoid misbehavior of a cross-device "mv" or "install". - Those programs must not dereference a destination symlink. - * src/copy.c (copy_reg): Don't treat a dangling destination symlink - differently in move mode. In move mode, the only way the added - O_EXCL can cause failure is when some other process has recreated - the file this code unlinked a few instructions before. - -2007-11-14 Jim Meyering - - Another bootstrap kludge. - * bootstrap: Ensure gnulib-tests/test-*.sh are executable - - #ifdef-out matchpathcon-related code, for now. - * src/install.c (setdefaultfilecon): #ifdef-out all of the - matchpathcon-related code, until it's more efficient. - (setdefaultfilecon): Instead of the above, stub-out the entire function. - - Use gnulib's stpncpy module, now required by install.c - * bootstrap.conf (gnulib_modules): Add stpncpy. - - Enable gnulib-tool's --with-tests option. - * bootstrap: After all is done, transform the generated - gnulib-tests/gnulib.mk. - * bootstrap.conf (gnulib_tool_option_extras): Set it here. - * gnulib-tests/Makefile.am: New file. - * Makefile.am (SUBDIRS): Add gnulib-tests. - * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile. - * m4/jm-macros.m4 (coreutils_MACROS) [ARGMATCH_DIE_DECL]: Omit the - "extern " prefix to "void usage ()", so that the macro string value can - be used to construct a function definition in gnulib's test-argmatch.c. - -2007-11-12 Benno Schulenberg - - Clarify description of cp's -a option. - * src/cp.c (usage) [-a]: Remove unnecessary 'P'. - Since option -d of 'cp' includes the function of -P, mentioning the - latter in the description of option -a is redundant and therefore - slightly confusing, as the reader tries to figure out what it adds. - * doc/coreutils.texi (cp invocation): Likewise: s/-dpPR/-dpR/. - -2007-11-09 Jim Meyering - - bootstrap: fix typo to enable use of $gnulib_tool_option_extras. - * bootstrap (gnulib_tool_options): Add a space before the use - of $gnulib_tool_option_extras, so that it's separated from the - preceding argument. - - install+SELinux: reduce a 12x performance hit to ~1.5x - * src/install.c (setdefaultfilecon): Call matchpathcon_init_prefix, - to mitigate what would otherwise be a large performance hit due to - the use of matchpathcon. - Dan Walsh suggested the use of matchpathcon_init_prefix. - * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define. - -2007-11-08 Jim Meyering - - Adapt to gnulib's s/jm_/gl_/ cache variable renaming. - * configure.ac: Change the cache variable name prefix "jm_" to "gl_", - to match today's change in gnulib. - -2007-11-05 Jim Meyering - - Fix bootstrap failure to handle files like lib/uniwidth/cjk.h. - * bootstrap (cp_mark_as_generated): Create any required parent - destination directories before copying a file into place. - - * src/c99-to-c89.diff: Adjust offsets. - - Don't use GNU-sed-specific \< \> operators here, either. - * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Use a loop, as below. - - Use tighter regexps when performing name substitution. - * man/Makefile.am (mapped_name): Add ^ and $$ anchors. - - Don't use GNU-sed-specific \< \> operators. - * configure.ac (MAN): Transform ginstall.1 to install.1 using - a loop, rather than sed with \<...\>. - Problem reported by Bruno Haible. - Andreas Schwab reminded me that \< and \> are not portable. - - Get git-version-gen from gnulib. - * build-aux/git-version-gen: Remove file. - * build-aux/.gitignore: Add git-version-gen. - * bootstrap.conf (gnulib_modules): Add git-version-gen. - -2007-11-03 Jim Meyering - - git-version-gen: Sync from autoconf's version. - * build-aux/git-version-gen: Run git-status - - Sync copyright and scriptversion bits from gnulib. - * build-aux/git-version-gen: No semantic change. - - Change the first '-' to '.' in the snapshot version string, - e.g., 6.9-377-08144 -> 6.9.377-08144 - * build-aux/git-version-gen: ... and add comments. - - seq: add another test for the %% bug. - * tests/misc/seq (fmt-c): Test the other fixed case, too. - -2007-11-03 Paul Eggert - - Fix bug with "seq 10.8 0.1 10.95", plus another bug with %% in format. - - * NEWS: Mention the %%-in-format bug fix. - * src/seq.c (struct layout): New type. - (long_double_format): New arg LAYOUT. Fill it in. Fix mishandling - of %% in formats. - (print_numbers): New arg LAYOUT. Don't convert LAST to output format - when deciding whether to go slightly past LAST. Instead, convert - X to output format and back. This fixes a bug reported by - Andreas Schwab in - - where "seq 10.8 0.1 10.95" would output 11.0 on platforms where - 10.95 rounds to a value that prints as 11.0 when only one digit - past the decimal point is asked for. - (main): Compute layout, for benefit of print_numbers. - * tests/misc/seq (float-3): Undo previous change, since the bug - should be fixed now. - (fmt-b): New test, for the %% bug. - -2007-11-01 Jim Meyering - - * tests/misc/printf-surprise: Correct sed transform. - Reported by Bob Proulx. - - Add example inspired by "make dist" running gzip and lzma in sequence. - * doc/coreutils.texi (tee invocation): Show how to run tar just - once, compressing the tee'd output streams in parallel. - - Say that the first process substitution example is contrived. - * doc/coreutils.texi (tee invocation): ... and show how to do - it properly. Pointed out by James Antill. - - Use mktemp, not mkdtemp, to create test directories. - * tests/test-lib.sh: Use the mktemp binary we've just built, - not the mkdtemp script. - * tests/mkdtemp: Remove file. - * tests/Makefile.am (EXTRA_DIST): Remove mkdtemp. - - Adjust a seq subtest not to depend on the vagaries of floating point. - * tests/misc/seq (float-3): Use 10.94 as the endpoint, not 10.95, - since 10.95 was precisely in the middle of the interval, and with - a %.1f format could map to either 10.9 or 11.0. - Reported by Mike Frysinger - - Make the new printf-surprise test more precise. - * tests/test-lib.sh (require_ulimit_): New function. - * tests/misc/printf-surprise: Use ulimit -v to trigger the fixed bug, - and rather than checking printf's exit status (which would go wrong - on FreeBSD 6.1, since their printf(3) function doesn't require - lots of memory in this case) simply test whether it outputs - the first 10 bytes. - - Accommodate FreeBSD 6.1 hard-link-to-symlink differences. - * tests/cp/same-file: Detect when linking to a symlink links to - the target of the symlink (FreeBSD 6.1 does this, Linux does not), - and skip the few tests that would otherwise fail. - Redirect output of final comparison to stderr, since all stdout - is already redirected. - -2007-10-31 Jim Meyering - - Fix a "make distcheck" failure. - * Makefile.maint (my-distcheck): Don't stub-out dirname, - since build-aux/check.mk now uses it. - - * bootstrap.conf (gnulib_modules): Add xprintf-posix. - -2007-10-30 Jim Meyering - - Avoid seq floating-point test failure on FreeBSD 6.1. - * tests/misc/seq (float-4): Also accept -0.0. - -2007-10-29 Jim Meyering - - Change a "make dist" diagnostic. - * GNUmakefile: Don't imply that $(_curr-ver) is the new version string. - -2007-10-29 Bob Proulx - - Improve color terminal escape usage. - * build-aux/check.mk (am__tty_colors): Use 'tput' to deduce - terminal color capabilities. - -2007-10-29 Jim Meyering - - Don't try to colorize a dumb terminal. - * build-aux/check.mk (am__tty_colors): Skip colors if $TERM is "dumb". - Thanks to Bob Proulx. - - Remove gnulib's printf-posix module, for now. - * bootstrap.conf (gnulib_modules): It caused too many test failures. - - Remove spurious semicolon after "else". - * build-aux/check.mk (am__tty_colors): Fix syntax error. - - If $TERM is empty, don't use colors. This helps the buildbot, - since it produces its result in an environment with a tty, but - we don't want color codes in that case. - * build-aux/check.mk (am__tty_colors): Test for nonempty $TERM. - Suggestion from Bob Proulx. - - Always initialize terminal colorization string variables. - * build-aux/check.mk (am__tty_colors): Always initialize red, grn, etc., - In case they're defined in the environment. - - Avoid test failure in non-srcdir build vs. the git tree. - * tests/check.mk (vc_exe_in_TESTS): Run this test only in a - srcdir build directory. Reported by Andreas Schwab. - -2007-10-28 Jim Meyering - - Define ENOTSUP, not ENOSYS. Needed on OpenBSD 3.9. - * gl/lib/se-context.in.h (ENOTSUP): Define if missing. - * gl/lib/se-selinux.in.h: Likewise. - - Define ENODATA, for FreeBSD 5.0 and 6.1. - * src/system.h (ENODATA): Define, if missing. - - Run autoreconf, not just autoconf, to avoid warnings. - * GNUmakefile (dummy): Otherwise, we'd sometimes get a warning - about autoconf version mismatch between what was used to generate - aclocal.m4 and the currently-running autoconf. - - Require gnulib's printf-posix module, to support Interix. - * bootstrap.conf (gnulib_modules): Add printf-posix. - - Help xgettext recognize more printf-style format strings. - * bootstrap.conf (XGETTEXT_OPTIONS): Add directives for - error, error_at_line, xasprintf, xfprintf and xprintf. - -2007-10-27 Jim Meyering - - Adjust format string so msgfmt doesn't object. - * src/df.c (main): Use "%s%s" (not %smsg) to print "msg" with or - without a "Warning: " prefix. Reported by Clytie Siddall. - - Clean up tests/Makefile.am. - * tests/Makefile.am (EXTRA_DIST): Remove $(TESTS). No longer defined. - (TESTS_ENVIRONMENT): Remove definition. - -2007-10-26 Jim Meyering - - * build-aux/check.mk: Merge with latest from Akim. - - Add a test for the printf fix of 2007-10-21. - * tests/misc/printf-surprise: New file. Test for 2007-10-21's fix. - * tests/misc/Makefile.am (TESTS): Add printf-surprise. - -2007-10-24 Micah Cowan - - Remove vestiges of cvs-gnulib-checkout process. Now we use git. - * bootstrap: Remove support for now-unnecessary option, --cvs-user, - and envvars CVS_USER, CVS_RSH. - -2007-10-24 Micah Cowan - - Tell xgettext that "ARG1 % ARG2" is not a C format string. - * src/expr.c (usage): Add a comment to override xgettext's default - behavior, which would classify "ARG1 % ARG2" as a fprintf-style - format string. Reported by Clytie Siddall. - -2007-10-24 Jim Meyering - - Avoid diagnostics from sha1sum when there is no cached checksum. - * bootstrap (update_po_files): Skip the sha1sum check if the po.s1 - file hasn't been created yet. - - Get gnulib from the git repository, not from an obsolete cvs one. - * bootstrap: Suggestion from Micah Cowan. - - Doc improvements. - * README-hacking: Prefer the no-hyphen variant of git commands, - e.g., use "git pull" not "git-pull". - Don't presume that the only way to read this document is via a - prior git clone: provide instructions for cloning coreutils, too. - - * README-hacking: Add "cd automake" in build instructions. - From Bob Proulx. - - Don't fail part 2 of tests/rm/unreadable when run as root. - * tests/rm/unreadable: With UID == 0, expect different results. - Reported by Mike Frysinger. - -2007-10-23 Jim Meyering - - * README-hacking: Refer to LZMA Utils . - -2007-10-22 Paul Eggert - - * README-hacking: Describe how to build with LZMA. - -2007-10-22 Jim Meyering - - Remove git-version-gen's first parameter. - * build-aux/git-version-gen: Add comments. - Remove first command-line parameter. - * configure.ac: Remove corresponding first argument. - * GNUmakefile (_curr-ver): Likewise. - -2007-10-21 Jim Meyering - - * NEWS: Mention the printf fix. - - Reorder tests to run more basic ones earlier. - * tests/misc/Makefile.am (TESTS): Reorder. - * tests/Makefile.am (SUBDIRS): Reorder. - - tr: do not reject an unmatched [:lower:] or [:upper:] in SET1. - * NEWS: Mention this. - * src/tr.c (get_next) [RE_CHAR_CLASS]: Don't skip the loop when - processing [:lower:] and [:upper:]. - (main): Require [:lower:] or [:upper:] in SET1 only when - when one of those is specified in SET2. - * tests/tr/Test.pm: Add tests for this fix. - Reported by Per Starbäck. - -2007-10-20 Jim Meyering - - * tests/misc/help-version: Add a comment. - - Detect printf(3) failure due to ENOMEM. - * src/printf.c: Include "xprintf.h" - (print_direc): Use xprintf, rather than printf. - * bootstrap.conf (gnulib_modules): Add xprintf. - * po/POTFILES.in: Add lib/xprintf.c. - Reported by Bruno Haible. - - Put always-failing programs first in PATH, so tests cannot mistakenly - run installed versions. - * Makefile.maint (my-distcheck): Set up a bogus bin/ dir, to be used - for "make check". - - * doc/coreutils.texi (tee invocation): Fix typo. Add a little. - Add a cross-reference to bashref's Process Substitution node. - - Adjust tests to pass, now that Test.pm ones use check.mk. - * tests/check.mk (vc_exe_in_TESTS): Adjust regexp not to match the - "TESTS = $x-tests" line in each Test.pm-derived Makefile.am file. - * tests/sort/main: Remove this unused file. - - Ensure that Test.pm-derived tests use the right $PATH. - * tests/Makefile.am.in: Include $(top_srcdir)/tests/check.mk. - -2007-10-20 Bob Proulx - - Prevent "make check" from leaving mktemp /tmp/tmp.* files behind. - * tests/misc/help-version (mktemp_args): Tell mktemp to create - its temporary file in the current directory. - -2007-10-16 Jim Meyering - - Show how to make tee redirect to multiple processes. - * doc/coreutils.texi (tee invocation): Tee can redirect output - to multiple _processes_, too. - -2007-10-14 Jim Meyering - - Pull all TESTS_ENVIRONMENT settings "up" into tests/check.mk. - * tests/Makefile.am.in (TESTS_ENVIRONMENT): Remove definition. - * tests/chgrp/Makefile.am: Likewise. - * tests/chmod/Makefile.am: Likewise. - * tests/chown/Makefile.am: Likewise. - * tests/cp/Makefile.am: Likewise. - * tests/dd/Makefile.am: Likewise. - * tests/du/Makefile.am: Likewise. - * tests/install/Makefile.am: Likewise. - * tests/ln/Makefile.am: Likewise. - * tests/ls/Makefile.am: Likewise. - * tests/misc/Makefile.am: Likewise. - * tests/mkdir/Makefile.am: Likewise. - * tests/mv/Makefile.am: Likewise. - * tests/readlink/Makefile.am: Likewise. - * tests/rm/Makefile.am: Likewise. - * tests/rmdir/Makefile.am: Likewise. - * tests/tail-2/Makefile.am: Likewise. - * tests/touch/Makefile.am: Likewise. - * tests/check.mk (TESTS_ENVIRONMENT) [EXEEXT, EGREP, MAKE, PERL]: - [CONFIG_HEADER, build_programs, host_os, host_triplet, PATH]: - [REPLACE_GETCWD, CU_TEST_NAME]: Add definitions here. - * tests/misc/pwd-long: Use $abs_top_builddir/src, not $BUILD_SRC_DIR. - * tests/dd/skip-seek: Don't use $ENV{PROG}. - * tests/rm/empty-name: Likewise. - * tests/rm/unreadable: Likewise. - * tests/mv/i-1: Likewise. - - Fix a minor typo. - * configure.ac (AC_INIT): Fix a typo (s/9.6/6.9/) that makes a - difference only when running "make dist" without a .git/ subdir. - -2007-10-09 Jim Meyering - - Move the help-version test into misc/. - * tests/help-version: Move to... - * tests/misc/help-version: ...here. - Source test-lib.sh, as usual. - Use $abs_top_builddir, rather than ".." and "../..". - - Make the runcon-no-reorder test slightly more general. - * tests/misc/runcon-no-reorder: Don't hard-code "unconstrained_t". - Use slightly more general "runcon $(id -Z)". - Suggestion from Stephen Smalley. - - Skip the chcon test on a system with no SELinux support. - * tests/test-lib.sh (require_selinux_): New function. - * tests/misc/chcon: Use it. - * tests/misc/selinux: Use it here, too. - * tests/cp/cp-a-selinux: and here. - * tests/selinux: Remove file. - * tests/Makefile.am (EXTRA_DIST): Remove selinux. - Reported by Mike Frysinger and Bauke Jan Douma. - - * src/dircolors.hin: Recognize .lzma as a compressed-file suffix. - - * configure.ac (AM_INIT_AUTOMAKE): Use dist-lzma, rather than dist-bzip2. - - Now that we don't install su, don't make misleading suggestions. - * src/Makefile.am (install-exec-local) [$(INSTALL_SU) != yes]: - Don't suggest running "make install-root". - (uninstall-local) [$(INSTALL_SU) != yes]: Don't even check - the installed binary. - -2007-10-08 Jim Meyering - - When forming a truncated name, use the "[...]" prefix even for - an extremely long name in the current directory - * src/remove.c (full_filename_): Rename a local variable. - Use two separate "truncated" variables, in case the second - call to right_justify does not indicate any truncation -- which - would happen only if the single component FILENAME were longer - than 511 bytes and DIR_NAME were empty. - - rm could malfunction under unusual circumstances: - When operating on a relative name longer than 511 bytes, - and (when either processing a directory that is neither writable - nor readable (but still searchable) or when determining whether - to prompt), and encountering an ENOMEM error while forming the - file name, rm would operate on a truncated-to-511-byte name - starting with "[...]" rather than the intended one. - * NEWS: Describe the bugs. - * src/remove.c: Correct two misuses of full_filename: - (full_filename0, xfull_filename): New functions. - (full_filename_): Rewrite to use full_filename0. - (AD_pop_and_chdir): Use xfull_filename, not full_filename. - (write_protected_non_symlink): Likewise. - -2007-10-07 Jim Meyering - - Don't let a helper function modify errno. - * src/remove.c (full_filename_): Save and restore errno. - Spotted by Bruno Haible. - - Reflect 2->3 GPL copyright version update in gnulib. - * gl/lib/tempname.h: Update copyright from gnulib. - * gl/lib/tempname.c: Likewise. - * .x-sc_GPL_version: Don't make an exception for those two files. - - * configure.ac (AM_INIT_AUTOMAKE): Don't use dist-lzma just yet. - - New program: mktemp. - * NEWS: Mention this. - * README: Add mktemp to the list. - * AUTHORS: Add this: mktemp: Jim Meyering - * src/mktemp.c: New file. - * src/Makefile.am (bin_PROGRAMS): Add mktemp. - (mktemp_LDADD): Add $(LIB_GETHRXTIME). - * man/mktemp.x: New file. - * man/Makefile.am (dist_man_MANS): Add mktemp.1. - (mktemp.1): New dependency. - * man/.cvsignore: Add mktemp.1. - * man/.gitignore: New file. - * src/.cvsignore, src/.gitignore: Add mktemp. - * tests/misc/mktemp: New file. - * tests/misc/Makefile.am (TESTS): Add mktemp. - * tests/Coreutils.pm (run_tests): Give the POST-test function - access to stdout and stderr contents, so it can verify that - the named-on-stdout file/dir does indeed exist and has proper - permissions, etc. - [po/ChangeLog] - * POTFILES.in: Add src/mktemp.c. - - Make tempname more random, via the randint module. - * gl/modules/tempname (Depends-on): Add randint and stdbool. - * gl/lib/tempname.c: Include randint.h and stdbool.h. - (uint64_t): Remove definition. Not needed. - [_LIBC] (RANDOM_BITS): Remove this block, now that we have proper - random bits. - (check_x_suffix): New function. - (gen_tempname_len): Rename from __gen_tempname. - Add a parameter, x_suffix_len, telling how many X's there must be at - the end of the template. - Use pseudo-random numbers all the way, rather than adding 7777 - from one iteration to the next. - (__gen_tempname): New function, to call gen_tempname_len, requiring a - suffix length of 6. - * gl/lib/tempname.h: Add prototype for gen_tempname_len. - - Convert coreutils' rand*.{c,h,m4} into modules. - First step: move these files to gl/lib: - * lib/rand-isaac.c, lib/rand-isaac.h - * lib/randint.c, lib/randint.h - * lib/randperm.c, lib/randperm.h - * lib/randread.c, lib/randread.h - Step 2: add modules/rand* and remove now-unneeded .m4 files. - * gl/modules/randint: New file. - * gl/modules/randperm: New file. - * gl/modules/randread: New file. - * m4/randint.m4: Remove file. - * m4/randperm.m4: Remove file. - * m4/randread.m4: Remove file. - Step 3: use the new modules - * bootstrap.conf (gnulib_modules): Add randint and randperm. - * m4/prereq.m4 (gl_RANDINT, gl_RANDREAD, gl_RANDPERM): Don't require; - These have been removed. - (gl_ROOT_DEV_INO): Don't require; already handled via bootstrap.conf. - - Copy from gnulib the parts of tempname that we'll modify. - * gl/lib/tempname.c: Copy from gnulib. - * gl/lib/tempname.h: Likewise. - * gl/modules/tempname: Likewise. - Allow GPLv2 on temporarily(?)-imported file from gnulib/libc. - * .x-sc_GPL_version: New file. - * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version - -2007-10-07 Jim Meyering - - Avoid a pseudo-leak in sort. - * src/sort.c (main) [lint]: Avoid a nominal leak. - - Use puts, rather than printf ("%s\n". Slightly cleaner. - * src/tsort.c (tsort): ...and more efficient. - - Avoid seq malfunction on non-POSIX systems: mingw, BeOS, Interix. - * bootstrap.conf (gnulib_modules): Add vasprintf-posix. - Suggestion from Bruno Haible. - - Avoid a used-uninitialized error. - * src/copy.c (copy_internal): Don't overload "use_stat". - -2007-10-05 Jim Meyering - - Make a failing cross-partition mv give a sensible diagnostic. - A cross-partition move of a file in a sticky tmpdir and owned by - another user would evoke an invalid diagnostic after copying it: - mv: cannot remove `x': Operation not permitted - Either of the following (mv.c, remove.c) changes would fix the bug by - itself. I think it's slightly better to use both; the added cost is - minimal: mv: an extra lstat-per-mv-cmdline-arg-that-goes-cross-partition, - rm: an extra lstat-per-unlink-that-fails-w/EPERM. - * src/remove.c (remove_entry): Also lstat the file upon EPERM. - * src/mv.c (rm_option_init): Initialize root_dev_ino just as is done - in rm, so that a cross-partition invoked remove.c:rm call works the - same way as one invoked from the command-line use of "rm". That - setting of root_dev_ino makes rm() do the equivalent of an additional - lstat for each argument, which in turn gives rm enough information to - issue the right diagnostic. - * tests/mv/sticky-to-xpart (version): New file. Test for the above. - * tests/mv/Makefile.am (TESTS): Add sticky-to-xpart. - Arrange for "make check-root" to run the new root-only test. - * tests/Makefile.am (tb): New target, to run the new root-only test. - (all_t): Add tb. - * src/c99-to-c89.diff: Adjust offsets. - - Add PACKAGE_VERSION to TESTS_ENVIRONMENT via check.mk. - * tests/check.mk (TESTS_ENVIRONMENT): Add PACKAGE_VERSION here, - rather than in every Makefile.am that needs it. - * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Remove PACKAGE_VERSION. - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise. - -2007-10-04 Jim Meyering - - Adapt to new gnulib naming scheme. - * gl/lib/se-context.in.h: Rename from gl/lib/se-context_.h. - * gl/lib/se-selinux.in.h: Rename from gl/lib/se-selinux_.h. - * gl/m4/selinux-context-h.m4: Remove use of AC_LIBSOURCES. - * gl/m4/selinux-selinux-h.m4: Likewise. - * gl/modules/selinux-h (Files, Makefile.am): Reflect renaming. - (Makefile.am) [lib_SOURCES]: Add se-context.in.h and se-selinux.in.h. - - * lib/search_.h: Remove unused file. - - * bootstrap (slurp): Adapt to _.h -> .in.h name change. - (update_po_files): Work also when there are no .po files in po/. - - Remove test program: lib/t-fpending.c. - * lib/t-fpending.c: Remove file. Now, this test is in gnulib. - * lib/Makefile.am: Remove associated rules. - * .gitignore: Remove lib/t-fpending. - -2007-10-03 Jim Meyering - - * tests/misc/selinux: Skip this test if the initial chcon fails. - -2007-10-02 Jim Meyering - - Never copy through a symlink that cp has just created. - * src/copy.c (copy_internal): When same-file detection requires - 'stat'ing the destination file, also 'lstat' it and ensure that - it wasn't the destination of a preceding copy operation. - This bug was introduced on 2007-06-18. - * tests/cp/abuse: New test for the above. - * tests/cp/Makefile.am (TESTS): Add abuse. - -2007-09-30 Jim Meyering - - cp: do not abbreviate in --help output. - * src/cp.c (usage): Don't abbreviate: s/=link/=links/. - Reported by Géraud Meyer in . - -2007-09-29 Eric Blake - - Test previous patch. - * tests/misc/groups-dash: New test. - * tests/misc/Makefile.am (TESTS): Add it. - -2007-09-28 Eric Blake - - * src/groups.sh: Don't ignore first argument if later argument is --. - -2007-09-27 Jim Meyering - - Avoid spurious test failure when SELinux stats "selinux/class". - * tests/ls/stat-free-symlinks: Grep for more precise /^stat("x"/. - - Move file-set and hash-triple modules to gnulib. - * bootstrap.conf (gnulib_modules): Remove file-set, now that - it's in gnulib, and the canonicalize module requires it there. - * gl/lib/file-set.c, gl/lib/file-set.h, gl/modules/hash-triple: Remove. - * gl/lib/hash-triple.c, gl/lib/hash-triple.h, gl/modules/file-set: - Remove. - - Add a test to exercise a readlink bug. - * tests/misc/readlink-fp-loop: New file. Test for the readlink bug - fixed through today's change to Gnulib's canonicalize module. - * tests/misc/Makefile.am (TESTS): Add readlink-fp-loop. - Bug report and a test case from mpb.mail@gmail.com. - -2007-09-25 Pádraig Brady - - * doc/coreutils.texi (date invocation): - Make "Date input formats" easier to navigate to. - -2007-09-25 Jim Meyering - - Use XOR, not OR to combine bits. - * gl/lib/hash-triple.c (triple_hash): Use XOR (^), not OR (|), to - combine the bits from hashing the name and those of the inode number. - Add a few comments and remove out-of-context ones. - -2007-09-24 Jim Meyering - - * NEWS: The recent rm-diagnostic fix also affects cross-partition "mv". - - copy.c: Remove definitions of factored-out functions. - * src/copy.c: Include "file-set.h". - (seen_file, record_file): Remove functions that I factored - out on 2007-08-23. - -2007-09-22 Jim Meyering - - Don't print the commands of a 10-line script that's run in each subdir. - * tests/check.mk (vc_exe_in_TESTS): Add a leading "@", to reduce noise. - - rm: give a sensible diagnostic when failing to remove a symlink - On some systems (those with openat et al), when rm would fail to - remove a symlink, it would fail with the misleading diagnostic, - "Too many levels of symbolic links". - * NEWS: Mention the bug fix. - * src/remove.c (is_nondir_lstat): New function. - (remove_entry): Use it to catch failed-to-remove symlink (and any - other non-dir) here so that we don't fall through and try to treat - it as directory, which -- with a symlink -- would provoke the bogus - ELOOP failure. - * tests/rm/fail-eacces: Add a test for the above. - * src/c99-to-c89.diff: Adjust offsets. - - rm: fix a tiny, nearly inconsequential bug. - Don't perform a "."-relative lstat, when the file in question - may well not be in ".". Although this is a bug, a few attempts - to exercise it on a linux-2.6.22 system failed. You probably need - a pre-openat system to trigger the failure. The consequence of this - bug would be a lower-quality diagnostic upon failed dir removal. - * src/remove.c (is_dir_lstat): Add a parameter, fd_cwd. - Use it instead of hard-coding AT_FDCWD. - (remove_entry): Call is_dir_lstat with fd_cwd. - -2007-09-22 Karl Berry - - * TODO: It'd be nice to add renice. - -2007-09-21 Jim Meyering - - Avoid test failure due to now-parallelized tests. - * tests/du/two-args: Run "du .." from a sub-directory one level deeper. - -2007-09-16 Jim Meyering - - * tests/misc/tac-continue: Arrange to remove a temporary file. - - * tests/check.mk (vc_exe_in_TESTS): Don't rely on the value of - $(TESTS), so that "make check TESTS=test-name" works once again. - - * tests/CuTmpdir.pm: Use File::Find + chmod syscall, not chmod -R. - - Revamp most test scripts. - - * tests/rm/v-slash: Avoid test failure with non-C locale. - Reported by Michael Stone. - - Enable some previously omitted test scripts. Add a test cross-check. - * tests/rm/Makefile.am (TESTS): Add empty-name and unreadable. - * tests/rm/empty-name: Likewise. - * tests/rm/unreadable: Reenable this test. Adjust for new rm. - * tests/mkdir/Makefile.am: Add writable-under-readonly. - * tests/mkdir/writable-under-readonly: Add some comments. - This test is always skipped, for now. - * tests/Makefile.am (ta): Hook up the new root-only script. - * tests/tail-2/infloop-1: Make this test pass. - * tests/tail-2/Makefile.am (TESTS): Add infloop-1. - * tests/tail-2/fflush: Remove unused file. - * tests/check.mk (vc_executable_is_in_TESTS): More portable. - * tests/check.mk (check): Depend on the above. - * build-aux/check.mk: Remove comment mentioning AUTHORS file. - - Factor out definitions in TESTS_ENVIRONMENT of srcdir, top_srcdir, etc. - tests/check.mk (top_srcdir): Define. - tests/*/Makefile.am: Remove definitions of $(srcdir), $(top_srcdir), - $(abs_top_srcdir), and $(abs_top_builddir), since they're - defined via the included tests/check.mk. - - tests/general: Remove from VC, this long-unused directory and contents. - - Adapt tests/tail-2/ to use test-lib.sh. - Adapt tests/readlink/ to use test-lib.sh. - - Move the sole test in tests/ls-2/ to tests/misc/. - * tests/ls-2/basic-1: Move this file to ... - * tests/misc/ls-misc: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add ls-misc. - * tests/Makefile.am (SUBDIRS): Remove ls-2. - * tests/ls-2: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/ls-2/Makefile. - - More misc, test-related changes. (some to allow running tests as root) - - Move all tests from test/{od,sha1sum,shred,stty} to tests/misc/. - Reflect these renamings: - od/od-N misc/od-N - od/x8 misc/od-x8 - sha1sum/basic-1 misc/sha1sum - sha1sum/sample-vec misc/sha1sum-vec - shred/exact misc/shred-exact - shred/remove misc/shred-remove - stty/basic-1 misc/stty - stty/invalid misc/stty-invalid - stty/row-col-1 misc/stty-row-col - * tests/misc/Makefile.am (TESTS): Add the new files. - * tests/Makefile.am (SUBDIRS): Remove the dir names. - * tests/od, tests/sha1sum, tests/shred, tests/stty: Remove the - directories. - * configure.ac (AC_CONFIG_FILES): Remove the corresponding Makefile - names. - - Move the two tests in tests/tee to tests/misc/. - * tests/tee/basic: Move this file to ... - * tests/misc/tee: ...here. Don't rely on $PROG in env. - * tests/tee/dash: Move this file to ... - * tests/misc/tee-dash: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add tee. - * tests/Makefile.am (SUBDIRS): Remove tee. - * tests/tee: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/tee/Makefile - - Move the two tests in tests/sum/ to tests/misc/. - * tests/sum/basic-1: Move this file to ... - * tests/misc/sum: ...here. Don't rely on $PROG in env. - * tests/sum/sysv: Move this file to ... - * tests/misc/sum-sysv: ...here. Adapt it to use test-lib.sh. - * tests/misc/Makefile.am (TESTS): Add sum and sum-sysv. - * tests/Makefile.am (SUBDIRS): Remove sum. - * tests/sum: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/sum/Makefile. - - Move the sole test in tests/tsort/ to tests/misc/tsort. - * tests/tsort/basic-1: Move this file to ... - * tests/misc/tsort: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add tsort. - * tests/Makefile.am (SUBDIRS): Remove tsort. - * tests/tsort: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/tsort/Makefile. - - Move the sole test in tests/unexpand to tests/misc/unexpand. - * tests/unexpand/basic-1: Move this file to ... - * tests/misc/unexpand: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add unexpand. - * tests/Makefile.am (SUBDIRS): Remove unexpand. - * tests/unexpand: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/unexpand/Makefile. - - Move the sole test in tests/seq to tests/misc/seq. - * tests/seq/basic: Move this file to ... - * tests/misc/seq: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add seq. - * tests/Makefile.am (SUBDIRS): Remove seq. - * tests/seq: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/seq/Makefile - - Convert tests/mkdir/ to use test-lib.sh. - - Move the two tests in tests/md5sum to tests/misc/md5sum. - * tests/md5sum/basic-1: Move this file to ... - * tests/misc/md5sum: ...here. Don't rely on $PROG in env. - * tests/md5sum/newline-1: Move this file to ... - * tests/misc/md5sum-newline: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add md5sum. - * tests/Makefile.am (SUBDIRS): Remove md5sum. - * tests/md5sum: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/md5sum/Makefile - - tests/sample-test: Update to use test-lib.sh. - - Convert tests/misc/ to use test-lib.sh, too. - Convert tests/ls/, too. - Convert tests/ln/, too. - Convert tests/install/, too. - - Move the two tests in tests/fmt to tests/misc/fmt. - * tests/fmt/basic: Move this file to ... - * tests/misc/fmt: ...here. Don't rely on $PROG in env. - * tests/fmt/long-line: Move this file to ... - * tests/misc/fmt-long-line: ...here. - * tests/misc/Makefile.am (TESTS): Add fmt. - * tests/Makefile.am (SUBDIRS): Remove fmt. - * tests/fmt: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/fmt/Makefile - - Move the sole test in tests/factor to tests/misc/factor. - * tests/factor/basic: Move this file to ... - * tests/misc/factor: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add factor. - * tests/Makefile.am (SUBDIRS): Remove factor. - * tests/factor: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/factor/Makefile - - Move the sole test in tests/expr to tests/misc/expr. - * tests/expr/basic: Move this file to ... - * tests/misc/expr: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add expr. - * tests/Makefile.am (SUBDIRS): Remove expr. - * tests/expr: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/expr/Makefile - - Convert tests/du/*, too. - - Move the sole test in tests/dircolors to tests/misc/dircolors. - * tests/dircolors/simple: Move this file to... - * tests/misc/dircolors: ...here. Don't rely on $PROG in env. - * tests/misc/Makefile.am (TESTS): Add dircolors. - * tests/Makefile.am (SUBDIRS): Remove dircolors. - * tests/dircolors: Remove the directory. - * configure.ac (AC_CONFIG_FILES): Remove tests/dircolors/Makefile - - Convert tests/dd/*, too. - - Convert tests/mv, too. - * tests/other-fs-tmpdir: Before, all callers would exit 77 upon - failure to find the required dir. Now, exit 77 in this script so - callers don't have to. Adjust callers. - - Adjust chgrp, chmod, chown, cp tests to use test-lib.sh. - * tests/check.mk: Also define abs_top_builddir. - - Parallel "make check" support. - * build-aux/check.mk: New file, from The Vaucanson Group. - * .x-sc_GPL_version: New file, to allow "version 2 or later" - in build-aux/check.mk. - * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version. - * tests/check.mk: New file. - * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh. - - Begin factoring "sample-test" out of test scripts. - * tests/test-lib.sh: New file, to be sourced by all tests that - were previously derived from the "sample-test" template. - * tests/mkdtemp: New file. - * tests/touch/dir-1: Use test-lib.sh. - * tests/touch/empty-file: Likewise. - * tests/touch/fail-diag: Likewise. - * tests/touch/fifo: Likewise. - * tests/touch/no-create-missing: Likewise. - * tests/touch/no-rights: Likewise. Also, don't sleep. - * tests/touch/not-owner: Likewise. - * tests/touch/obsolescent: Likewise. - * tests/touch/read-only: Likewise. - * tests/touch/relative: Likewise. - * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk, - to get the parallel-"make check" bits. - - Move a slow test into tests/misc. - * tests/check.mk: Wrapper. - * tests/ls/time-1: Move this file to tests/misc/ls-time. - * tests/misc/ls-time: New file. From tests/ls/time-1. - * tests/ls/Makefile.am (TESTS): Remove time-1. - * tests/misc/Makefile.am (TESTS): Add ls-time. - - Add support for parallel "make check" (in tests/misc, for now) - -2007-09-08 Jim Meyering - - Accommodate gnulib's renaming: __fpending.h -> fpending.h. - * lib/t-fpending.c: Include "fpending.h", not "__fpending.h". - -2007-09-07 Jim Meyering - - chmod: don't ignore a dangling symlink - * NEWS: Mention the bug fix. - * src/chmod.c (process_file): Handle the case of FTS_SLNONE, - i.e., give a diagnostic saying we cannot operate on such a file. - * tests/chmod/thru-dangling: Compare new stderr output with expected. - -2007-09-07 Bob Proulx - - Add a test: demonstrate that chmod ignores a dangling symlink - * tests/chmod/thru-dangling: New test. Fails. - * tests/chmod/Makefile.am (TESTS): Add thru-dangling. - -2007-09-05 Jim Meyering - - Adapt to new SELinux behavior: "?" vs. new "unlabeled" - * src/ls.c (gobble_file): Interpret the new "unlabeled" indicator - from getfilecon/lgetfilecon the same way we interpret a negative - return value: no security context. So we don't print the "+". - * tests/selinux: Recognize that "unlabeled" means insufficient - support for SELinux, just like "?". - -2007-09-03 Jim Meyering - - Invoke $(AUTOCONF) manually, if needed to get an updated version string. - * GNUmakefile: Don't actually touch configure.ac. - That would make git-version-gen always print "...-dirty". - - Don't change '-'s to '.'s in the string from git-describe. - * build-aux/git-version-gen: Leave '-'s in the string from git-describe. - Otherwise, s/-/./g would make it too hard to distinguish the base - version number from the appended .DD suffixes. - -2007-09-03 Jim Meyering - - * README-hacking: Require rsync, rather than wget. - -2007-09-02 Jim Meyering - - * bootstrap (WGET_COMMAND): Remove code to set this variable. - - Ensure that $(VERSION) is up to date for dist-related targets. - * GNUmakefile: Arrange to rerun autoconf, if the version reported by - git-version-gen doesn't match $(VERSION), but only for dist targets. - - bootstrap: uses rsync to download the .po files - * bootstrap (po_download_command_format): New global. - (download_po_files): Use rsync. - (update_po_files): Don't remove .po files after download, - so future rsync runs can take advantage of the copies. - -2007-09-01 Jim Meyering - - * bootstrap (gnulib_tool): Make sha1sum check quietly. - - Ensure that snapshot version changes make it to groups, too. - * src/Makefile.am (groups): Depend on Makefile. - - Make groups-version executable, - * tests/misc/groups-version: ... as it was in the patch. - -2007-08-31 Eric Blake - - Test yesterday's change to groups. - * tests/misc/groups-version: New test. - * tests/misc/Makefile.am (TESTS): Add groups-version. - -2007-08-31 Jim Meyering - - Solve the unnecessary-.po-file-regeneration problem once and for all. - * bootstrap (download_po_files): New function, renamed from - get_translations. Now, downloads, but doesn't update LINGUAS. - (update_po_files): New function. - -2007-08-30 Jim Meyering - - Shorten the snapshot version string by removing the "g". - * build-aux/git-version-gen: Remove git-describe's "g" that would - always precede the abbreviated SHA1. Suggestion from Dmitry V. Levin. - - Perform the s,rm,/bin/rm, fix-up properly. No more kludge. - * Makefile.am (EXTRA_DIST): Remove .kludge-stamp. - (.kludge-stamp): Remove rule. Instead, ... - (dist-hook): Do the job here, operating on the file in $(distdir). - (rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm". - (MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use. - (dist-hook): Remove the legacy-from-cvs install-sh is-executable check. - * .gitignore: Remove .kludge-stamp. - - Make inter-release --version output more useful. - Now, each snapshot has a version "number" like 6.9-219-g58ddd, - which indicates that it is built using the 219th change set - (in _some_ repository) following the "v6.9" tag, and that 58ddd - is a prefix of the commit SHA1. - * build-aux/git-version-gen: New file. - * configure.ac: Run it to set the version. - * Makefile.am (dist-hook): Arrange so that .version appears only - in distribution tarballs, never in a checked-out repository. - * .gitignore: Add .version here, too. Just in case. - -2007-08-30 Eric Blake - - * src/.gitignore: Ignore *.exe for platforms with non-empty $(EXEEXT). - -2007-08-30 Eric Blake - - Use PACKAGE_NAME instead of GNU_PACKAGE. - * src/Makefile.am (.sh, uninstall-local): Adjust all users of - hand-rolled GNU_PACKAGE to instead use autoconf-provided - PACKAGE_NAME. - * src/basename.c (main): Likewise. - * src/chroot.c (main): Likewise. - * src/dirname.c (main): Likewise. - * src/echo.c (main): Likewise. - * src/expr.c (main): Likewise. - * src/factor.c (main): Likewise. - * src/groups.sh (version): Likewise. Also, reflect change in - --version output due to GPLv3. - * src/hostid.c (main): Likewise. - * src/hostname.c (main): Likewise. - * src/link.c (main): Likewise. - * src/logname.c (main): Likewise. - * src/nice.c (main): Likewise. - * src/nohup.c (main): Likewise. - * src/printenv.c (main): Likewise. - * src/printf.c (main): Likewise. - * src/pwd.c (main): Likewise. - * src/setuidgid.c (main): Likewise. - * src/sleep.c (main): Likewise. - * src/system.h (case_GETOPT_VERSION_CHAR): Likewise. - * src/test.c (main): Likewise. - * src/true.c (main): Likewise. - * src/unlink.c (main): Likewise. - * src/uptime.c (main): Likewise. - * src/users.c (main): Likewise. - * src/whoami.c (main): Likewise. - * src/yes.c (main): Likewise. - * configure.ac (AC_CHECK_DECLS): No need to check strtoimax, - strtoumax, since gnulib does this. - -2007-08-30 Jim Meyering - - Ensure that TMPDIR is valid. Otherwise, it would cause test failures. - * tests/misc/tty-eof: Set TMPDIR=. - * tests/misc/sort-compress: Likewise. - - Use EXIT_FAILURE, not EXIT_FAIL, now that EXIT_FAILURE is always 1. - * src/system.h (EXIT_FAIL): Remove definition. - * src/chroot.c (main): EXIT_FAIL -> EXIT_FAILURE. - * src/env.c (main): Likewise. - * src/nice.c (main): Likewise. - * src/su.c (change_identity, main): Likewise. - * src/tty.c (main): Likewise. - Suggestion from Eric Blake. - -2007-08-28 Jim Meyering - - * src/test.c (usage): Note that [ honors --help and --version, - but that test does not. Suggestion from Dan Jacobson. - - By default, do not install hostname anymore; no kidding, this time. - * src/Makefile.am (EXTRA_PROGRAMS): Remove hostname from this list, - now that it's no longer being installed by default. This should - have been part of the 2007-08-21 change. - (check-duplicate-no-install): New rule to ensure this doesn't - happen again. - (check): Depend on it. - - Reflect renaming: mreadlink-with-size -> areadlink-with-size. - * bootstrap.conf: Update module name. - * src/copy.c (copy_internal): Update header and function names. - * src/ls.c (get_link_name): Likewise. - * src/readlink.c (main): Likewise. - * src/stat.c (print_stat): Likewise. - - Add file system type names and magic numbers from "man 2 statfs". - * src/stat.c (human_fstype): Also handle BEFS, BFS, BINFMT_MISC, - FUSECTL, HUGETLBFS, NFSD and OPENPROM. - -2007-08-27 Jim Meyering - - Add some file system type names and magic numbers from glibc. - * src/stat.c (human_fstype): Add any file system names and values - present in glibc's linux_fsinfo.h but not in this list. - Alphabetize the S_* names and capitalize the hexadecimal constants. - -2007-08-26 Jim Meyering - - * tests/misc/fold: Fix a typo: missing \ in a diagnostic - no one is likely ever to see. - -2007-08-25 Jim Meyering - - * src/dircolors.hin: Add .dz and .svgz as archive suffixes. - - Remove all .cvsignore files from version control. - -2007-08-24 Jim Meyering - - bootstrap: Ignore more. - * bootstrap (symlink_to_dir): Add a directory name like - uniwidth to e.g., lib/.gitignore. - (slurp): Handle the sys_stat_.h -> sys mapping, too. - * .hgignore: Remove this file, too. - * Makefile.am (EXTRA_DIST): Remove .gitignore and .hgignore. - - No longer version-control .???ignore files in lib/, m4/, and po/. - * .gitignore: Ignore a few files in lib/, m4/, and po/ that are not - picked up automatically. - * lib/.gitignore, lib/.cvsignore: Remove files. - * m4/.gitignore, m4/.cvsignore: Remove files. - * po/.gitignore, po/.cvsignore: Remove files. - - bootstrap: when fetching .po files, do not remove .gmo files. - * bootstrap (get_translations): Don't remove *.gmo files! - They can be expensive to regenerate. - - Create .gitignore and/or .cvsignore from scratch, if absent. - This is in preparation for my removing those files from version - control in the directories managed by gnulib-tool. - * bootstrap: New setting: vc_ignore. - (insert_sorted_if_absent): Create $file if absent. - Adapt to new, possibly empty, list: $vc_ignore. - - * src/system.h (fseeko, ftello): Remove now-unneeded definitions. - * src/od.c (LDBL_DIG): Remove now-unneeded definition. - - Arrange to use tag names like vM.N, rather than COREUTILS-M_N. - * Makefile.maint (this-vc-tag) [git]: Simply use v$(VERSION). - (this-vc-tag-regexp): New variable. - (vc-tag-check): Use it, rather than $(this-vc-tag). - -2007-08-23 Jim Meyering - - * src/dircolors.hin: Add xterm-16color, xterm-88color and eterm-color. - Suggestion from Dan Nicolaescu. - - Don't let ln be a party to destroying user data. - * src/ln.c: Include "file-set.h", "hash.h" and "hash-triple.h". - (dest_set, DEST_INFO_INITIAL_CAPACITY): New globals. - (do_link): Refuse to remove a just-created link. - Record a name,dev,ino triple for each link we create. - (main): Initialize dest_set, if needed. - * tests/mv/childproof: Test for the above fix. - * NEWS: Document this. - Reported by Eric Blake. - - Move functions from copy.c into new modules, since ln needs them, too. - * bootstrap.conf (gnulib_modules): Add file-set. - * gl/lib/file-set.c (record_file, seen_file): Functions from copy.c. - * gl/lib/file-set.h: Add prototypes. - * gl/lib/hash-triple.c (triple_hash, triple_hash_no_name): - (triple_compare, triple_free): Functions from copy.c. - * gl/lib/hash-triple.h (struct F_triple): Define. From copy.c. - Add prototypes. - * gl/modules/file-set: New module. - * gl/modules/hash-triple: New module. - * src/Makefile.am (copy_sources): New variable. - (ginstall_SOURCES, cp_SOURCES, mv_SOURCES): Use it. - * src/copy.c: Include hash-triple.h. - No longer include hash-pjw.h. - (copy_internal): Don't pass a NULL third argument to record_file, - since that function no longer accepts that. - (record_file): Move this function to file-set.c. - Along the way, remove the code to allow a NULL stat-buffer pointer. - Adjust sole caller. - (seen_file): Move this function to file-set.c. - (struct F_triple): Move declaration to hash-triple.h. - (triple_compare, triple_free, triple_hash, triple_hash_no_name): - Move these functions to hash-triple.c. - - bootstrap: generate more ignorable names - * bootstrap (slurp): When generating ignorable names, also map - .sin to .sed, .gperf to .c, and .y to .c. - - * Makefile.maint (patch-check): Don't remove temporaries upon failure. - -2007-08-22 Jim Meyering - - * src/c99-to-c89.diff: Adjust offsets. - - Change "rm --verbose -r a//" not to print extra slashes in a///b - * src/remove.c (push_dir): Don't copy trailing slashes onto the stack. - Reported by François Pinard. - * tests/rm/v-slash: New file. Test for the above change. - * tests/rm/Makefile.am (TESTS): Add v-slash. - - * src/date.c: Don't include "getline.h", now removed from gnulib; - its declarations are now in . - * src/md5sum.c: Likewise. - * src/dircolors.c: Likewise. - - * src/copy.c (DEST_INFO_INITIAL_CAPACITY): Correct a comment. - -2007-08-21 Jim Meyering - - By default, do not install hostname anymore. - * configure.ac: Add "hostname" to the list of not-installed programs. - * src/Makefile.am (no_install__progs): Add "hostname" here, too. - * NEWS: Mention this. - -2007-08-20 Bob Proulx - - Clarify touch documentation of file arguments. - * src/touch.c (usage): Improve wording of documentation regarding - file argument handling and special handling of - argument. - * doc/coreutils.texi (touch invocation): Likewise. - Documentation problem reported by Vincent Lefevre. - -2007-08-20 Paul Eggert - - * NEWS: The old cp -p bug affected coreutils releases before 6.0. - Problem reported by Soren Spies in - . - To be conservative, just say the bug was in all versions through 6.6. - -2007-08-19 Eric Blake - - Avoid consuming too much seekable input when yesno is used. - * bootstrap.conf (gnulib_modules): Add closein. - * src/system.h (includes): Also include closein.h. - * src/mv.c (main): Use close_stdin, not close_stdout. - * src/cp.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/rm.c (main): Likewise. - * src/install.c (main): Likewise. - * NEWS: Document the fix. - -2007-08-20 Jim Meyering - - Parallel "make check" support. - * build-aux/check.mk: New file, from The Vaucanson Group. - * .x-sc_GPL_version: New file, to allow "version 2 or later" - in build-aux/check.mk. - * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version. - * tests/check.mk: New file. - * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh. - - Begin factoring "sample-test" out of test scripts. - * tests/test-lib.sh: New file, to be sourced by all tests that - were previously derived from the "sample-test" template. - * tests/mkdtemp: New file. - * tests/touch/dir-1: Use test-lib.sh. - * tests/touch/empty-file: Likewise. - * tests/touch/fail-diag: Likewise. - * tests/touch/fifo: Likewise. - * tests/touch/no-create-missing: Likewise. - * tests/touch/no-rights: Likewise. Also, don't sleep. - * tests/touch/not-owner: Likewise. - * tests/touch/obsolescent: Likewise. - * tests/touch/read-only: Likewise. - * tests/touch/relative: Likewise. - * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk, - to get the parallel-"make check" bits. - -2007-08-18 Jim Meyering - - Use new "idcache.h" header. - * src/ls.c: Remove ancient declarations of getuser and getgroup. - Include "idcache.h", instead. - - Run each Coreutils.pm-based test in its own subdirectory. - * tests/CuTmpdir.pm: New file. - * tests/Makefile.am (EXTRA_DIST): Add CuTmpdir.pm. - * tests/misc/od, tests/misc/base64, tests/misc/basename: - * tests/misc/cut, tests/misc/date, tests/misc/dirname: - * tests/misc/expand, tests/misc/fold, tests/misc/head-elide-tail: - * tests/misc/paste-no-nl, tests/misc/pr, tests/misc/sha224sum: - * tests/misc/sha256sum, tests/misc/sha384sum, tests/misc/sha512sum: - * tests/misc/sort-merge, tests/misc/stat-printf, tests/misc/test-diag: - * tests/misc/wc-files0-from, tests/misc/xstrtol: - * tests/dd/skip-seek, tests/dircolors/simple, tests/du/files0-from: - * tests/expr/basic, tests/factor/basic, tests/fmt/basic: - * tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1: - * tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec: - * tests/sum/basic-1, tests/tsort/basic-1, tests/unexpand/basic-1: - * tests/mv/i-1, tests/rm/empty-name, tests/rm/unreadable: Use it. - * tests/misc/test-diag: Use "$ENV{abs_top_builddir}/src/test", - not "../../src/test", so it works when run from a subdirectory. - * tests/ls-2/tests: Create temp files and dirs from within the perl - script, so that they're removed, when run from a subdirectory. - * tests/ls-2/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir, - so we can use "$ENV{abs_top_builddir}/src/test" in a test script. - -2007-08-16 Jim Meyering - - Consolidate od tests. - * tests/misc/od: Perform od-zero-len's test here. - Include boilerplate code, so tests run in a subdirectory. - * tests/misc/od-zero-len: Remove this file. - - * tests/ls/time-1: Include sample-test boilerplate code. - Remove the then-unnecessary, hard-coded envvar "unset" commands. - -2007-08-15 Jim Meyering - - Move a slow test into tests/misc. - * tests/ls/time-1: Move this file to tests/misc/ls-time. - * tests/misc/ls-time: New file. From tests/ls/time-1. - * tests/ls/Makefile.am (TESTS): Remove time-1. - * tests/misc/Makefile.am (TESTS): Add ls-time. - - od --skip (-j) works even on files in /proc, when the kernel lies - * src/od.c (skip): Don't let kernel misinformation (nonempty files - in /proc with stat.st_size == 0) make "od -j N" misbehave. - Patch by Paul Eggert. - * NEWS: Document this work-around. - * tests/misc/od-zero-len: New file, test for the above. - - * src/printf.c (usage): Adjust summary to also mention OPTIONs. - From Karl Berry. - -2007-08-14 Jim Meyering - - od: fix a bug that arises when skipping exact length of file - * NEWS: Document the bug fix. - * src/od.c (skip): Call fseek even when n_skip is exactly the - same as the length of the current file. Otherwise, the next - iteration would use unadjusted input stream pointer, thus ignoring - the desired "skip". Report and patch by Paul GHALEB. - - * tests/misc/od: New file, test for the above. - * tests/misc/Makefile.am (TESTS): Add od. - -2007-08-10 Paul Eggert - - Accommodate more xstrtol changes. - * src/df.c (long_options): Don't bother prepending "--" to long - options that OPT_STR might decode, as that hack is no longer needed. - (main): Invoke xstrtol_fatal rather than STRTOL_FATAL_ERROR. - * src/du.c (long_options, main): Likewise. - * src/ls.c (decode_switches): Likewise. - * src/od.c (long_options, main): Likewise. - * src/pr.c (first_last_page, main): Likewise. - * src/sort.c (long_options, specify_sort_size): Likewise. - * src/pr.c (first_last_page): Accept option index and option char - instead of an assembled option string. All callers changed. - * src/sort.c (specify_sort_size): Likewise. - * src/system.h (OPT_STR, LONG_OPT_STR, short_opt_str, OPT_STR_INIT): - Remove. - -2007-08-05 Jim Meyering - - Encapsulate a static variable. - * src/system.h (opt_str_storage): Move static var into... - (short_opt_str): ... new static inline function. - (OPT_STR): Use the new function. - -2007-08-04 Jim Meyering - - Exercise xstrtol's diagnostics via pr's --pages option. - * tests/misc/xstrtol: New file. - * tests/misc/Makefile.am (TESTS): Add xstrtol. - -2007-08-04 Paul Eggert - - Adapt to new human and xstrtol API. - * src/df.c (long_options): Prepend "--" to long options that - OPT_STR might decode. - * src/du.c (long_options): Likewise. - * src/od.c (long_options): Likewise. - * src/sort.c (long_options): Likewise. - * src/df.c (main): Adjust to new human and xstrtol API. - * src/du.c (main): Likewise. - * src/ls.c (decode_switches): Likewise. - * src/od.c (main): Likewise. - * src/pr.c (first_last_page): Likewise. New argument OPTION. - All callers changed. - * src/sort.c (specify_sort_size): New arg OPTION. All callers - changed. Adjust to new xstrtol API. - * src/system.h (opt_str_storage): New static var. - (OPT_STR, LONG_OPT_STR, OPT_STR_INIT): New macros. - -2007-08-02 Jim Meyering - - Adjust one more test to accommodate the recent fts change. - This matters only on systems with insufficient openat support. - * tests/du/inacc-dest: Adjust expected diagnostic. - - Adjust the other two "no-x" tests and unify all three. - * tests/du/no-x: Factor out du-specific bits. - * tests/chmod/no-x: Use the same code. - * tests/chgrp/no-x: Use the same code. - - Adapt du's no-x test not to fail on older Linux systems. - * tests/du/no-x: Accept a third variant of the diagnostic. - -2007-07-31 Jim Meyering - - du: print size (probably incomplete) of each inaccessible directory - * src/du.c (process_file): Print what we know of the size of a - directory even when it is inaccessible. What we print is just the - size of the directory itself, not counting any of its contents. - * tests/du/inacc-dir: Test for this. - * NEWS: Mention this change. - - Add a test for du not counting size of inaccessible directories. - * tests/du/inacc-dir: New file. Test for fts.c bug fixed yesterday. - * tests/du/Makefile.am (TESTS): Add inacc-dir. - * NEWS: Mention the bug fix. - -2007-07-28 Jim Meyering - - Attempt to copy a regular file, even if stat says it is empty. - * NEWS: Document this bug fix. - * src/copy.c (copy_reg): Read from a regular file, even if it - appears (stat.st_size == 0) to be empty. This reverts an - optimization introduced on 2005-11-23 for coreutils-6.0. - Otherwise, "cp /proc/cpuinfo /tmp" creates an empty file, - on e.g., linux-2.6.20. - * tests/cp/proc-zero-len: New file. Test for the above. - * tests/cp/Makefile.am (TESTS): Add proc-zero-len. - Reported by Dan Berrangé. - -2007-07-26 Bob Proulx - - sort: Improve sort --random-sort test. - * tests/misc/sort-rand: If "locale" is available pick a random - non-C locale and check "sort --random-sort" behavior using it. - -2007-07-24 Jim Meyering - - sort: add a test to exercise the affected code. - * tests/sort/Test.pm (realloc-buf): Exercise the code that changed - yesterday. No other test in all of "make check" does this. - * NEWS: Mention the fix. - -2007-07-23 Paul Eggert - - sort: avoid unaligned access. - * src/sort.c (fillbuf): When enlarging the line buffer, ensure that - the new size is a multiple of "sizeof (struct line)". This avoids - alignment problems when indexing from the end of the buffer. - Problem reported by Andreas Schwab in - . - -2007-07-23 Jim Meyering - - Update all copyright notices to use the newer form (e.g., remove - the postal address, and add the 'licenses' URL). - - * COPYING: Update to Version 3. - - Update c99/c89 patch for new, copyright-change-induced offsets. - * Makefile.maint (patch-check): Filter out '^Only in...' lines. - * src/c99-to-c89.diff: Handle new c99'isms in seq.c. - -2007-07-22 Jim Meyering - - * configure.ac: Arrange to rerun configure whenever src/Makefile.am - changes. That file contains the list of program names that must be - substituted into files like man/Makefile. - Add quotes around AC_SUBST arguments. - -2007-07-21 Paul Eggert - - * bootstrap (slurp): Work even in environments where "ls" defaults - to "ls -A". Put in a FIXME, though, since the current code does - not slurp files whose names start with ".", and this looks like - it might be a troublesome area. - -2007-07-20 Jim Meyering - - Document and add a test for today's sort bug fix. - * NEWS: Describe the bug fix. - * tests/sort/Test.pm (obs-inval): Add a test for today's fix. - -2007-07-20 Andreas Schwab - - * src/sort.c (main): Don't free a pointer to non-malloc'd memory. - -2007-07-19 Jim Meyering - - Fix a portability bug in the new ls-color test. - * tests/ls/stat-free-symlinks: Don't rely on the ability of - a built-in printf to interpolate '\e'. Use '\033' instead. - -2007-07-18 Jim Meyering - - "cp -i --update older newer" no longer prompts; same for mv - * src/copy.c (copy_internal): Perform "update" check before the - possible interactive prompt. Reported by zeno_AT_biyg_DOT_org - in - * tests/mv/update: Add tests for the above. - * NEWS: Mention the bug fix. - -2007-07-15 Jim Meyering - - ls --color: Don't stat symlinks when neither ORPHAN nor MISSING - attribute has a color. - * src/ls.c (main): Don't set check_symlink_color when C_EXEC is - colored, unless ln=target (aka color_symlink_as_referent) is set. - (gobble_file): Set f->linkok = true also when !check_symlink_color. - http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10608/focus=10927 - Reported by Jeremy Maitin-Shepard. - * tests/strace: New file, contents extracted from... - * tests/mv/atomic: ...here. Source strace. - * tests/ls/stat-free-symlinks: New file. Test for the above. - Use strace to ensure that in this corner case, ls does not call stat. - * tests/ls/Makefile.am (TESTS): Add stat-free-symlinks. - * tests/Makefile.am (EXTRA_DIST): Add strace. - -2007-07-14 Jim Meyering - - Remove long-deprecated options. - * NEWS: Mention this. - * src/df.c, src/ls.c: Remove --kilobytes option. - * src/du.c: Remove --kilobytes and --megabytes options. - * src/who.c: Remove -i and --idle options. - * src/ptx.c: Remove --copyright option. - - Change interface: make 2nd param _space_-separated, not comma-separated - * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Remove now- - unnecessary use of tr. - Improve comments. - * configure.ac: Adjust caller, as well as the code that ensures the - 2nd parameter stays in sync with the list in src/Makefile.am. - -2007-07-14 Karel Zak - - * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix typo: s/$2/$1/. - (gl_INCLUDE_EXCLUDE_PROG): Quote first use of $2 parameter. - Don't mix comma- and space-separated lists. - Patch from Karel Zak. - -2007-07-13 Jim Meyering - - Warn about non-portable use of unescaped backslash at end of string, - and treat it as if it were escaped. - * src/tr.c (unquote): Considering that such usage would make GNU tr - from coreutils-5.2.1 and earlier *fail*, the least we can do now is - to warn about it. Solaris' tr ignores it. - * NEWS: Mention this. - - Use proper backslash-quoting inside backticks. - * configure.ac: Otherwise we run afoul of strict GNU tr: - a string ending in a lone backslash would provoke a failure. - -2007-07-12 Jim Meyering - - Expand default-no-install prog list in ./configure --help output, - and fix some []-quoting bugs in sed expressions. - * configure.ac: Hard-code the list, "arch,su" here as well - as in src/Makefile.am, and ensure the two stay in sync. - * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Use $2, - rather than the nearly-equivalent shell variable. - Karel Zak reported that ./configure --help's output included - the literal string, $gl_no_install_progs_default. - - Clean up include-exclude-prog.m4. - * m4/include-exclude-prog.m4 (gl_ADD_PROG): Don't modify MAN. - (gl_REMOVE_PROG): Likewise. - Add omitted "\>" in sed regexp. - Remove any leading or trailing spaces. - (gl_ADD_PROG): Remove any leading space. - * configure.ac: Instead, derive $MAN from $optional_bin_progs. - Append $(EXEEXT) to *all* names, not just the first one. - -2007-07-11 Jim Meyering - - If there's a GPL vN copyright comment, require that N == 3. - * Makefile.maint (sc_GPL_version): New rule. - * tests/misc/arch: Fix the sole violation. - -2007-07-10 Jim Meyering - - Skip "arch" test if it's not built. - * tests/misc/Makefile.am (built_programs): Define. - (TESTS_ENVIRONMENT): Add $(built_programs), for... - * tests/misc/arch: ...this: skip the test if arch is not built. - * src/Makefile.am (built_programs.list): New rule. - * tests/Makefile.am (built_programs): Rename from all_programs. - (TESTS_ENVIRONMENT): Use built_programs, not all_programs. - * tests/help-version: Likewise. - * NEWS: Mention that using --enable-no-install-program=X may - cause "make check" to fail. - - Add support for enabling/disabling installation of specified programs. - * NEWS: Mention new configure-time options. - Mention that neither arch nor su is built/installed, by default. - * m4/include-exclude-prog.m4: New file. - * configure.ac: Use new macro, gl_ADD_PROG, rather than - manually appending to OPTIONAL_BIN_PROGS and MAN. - Move the code that adds "df" to the list of programs to build from - m4/jm-macros into this file. - Use gl_INCLUDE_EXCLUDE_PROG, then handle special cases: ginstall, [. - (NO_INSTALL_PROGS_DEFAULT): AC_SUBST it. Used by man/Makefile.am. - * man/Makefile.am (dist_man_MANS): Remove from this list all man pages - corresponding to "bin" programs. Add $(MAN) instead. - (optional_mans): Remove all uses. - (check-x-vs-1): Adapt to work even though arch and su are typically - no longer built (and neither are their .1 files). - * src/Makefile.am (install_su): Rename from INSTALL_SU, now that - INSTALL_SU has a different meaning. Use the new $(INSTALL_SU) value. - -2007-07-10 Karel Zak - - New program: arch - * NEWS: Mention arch. - * README: Add arch to the list of programs. - * AUTHORS: Add arch. - * src/uname.c: Include "uname.h". - (PROGRAM_NAME): Handle arch, too. - (ARCH_AUTHORS): Define. - (uname_long_options, arch_long_options): Renamed and new globals. - (usage): Handle arch-mode as well as uname-mode. - (decode_switches): New function, extracted from main, - to handle arch-mode as well as uname-mode. - (main): Handle both modes. - * src/uname-arch.c: New program, alias for "uname -m". - * src/uname-uname.c: New file, default uname mode. - * src/uname.h: New file, uname modes. - * src/Makefile.am (EXTRA_PROGRAMS): Add arch. - (uname_SOURCES, arch_SOURCES): Define. - * man/arch.x: New file. - * man/Makefile.am (dist_man_MANS): Add arch.1. - (arch.1): New dependency. - * tests/misc/arch: New test, compare "arch" with "uname -m" - * configure.ac (OPTIONAL_BIN_PROGS): Add arch. - (MAN): Add arch.1. - * .x-sc_require_config_h: Exempt uname-arch.c and uname-uname.c - from the always-include- rule. - -2007-07-10 Jim Meyering - - Change "version 2" to "version 3" in all copyright notices. - -2007-07-09 Jim Meyering - - Compensate for new c99'isms in seq.c. - * Makefile.maint (patch-check): Use -p1, not -p2, so a patch - generated via "make patch-check REGEN=1" actually works. - * src/c99-to-c89.diff: Handle new c99'isms in seq.c. - -2007-07-09 Pádraig Brady - - Fix the automatic number width formatting in seq. - * src/seq.c: Fix the -w logic. Ignore spaces and '+' - characters of input numbers when determining width. - Set format correctly for input numbers in scientific notation. - * tests/seq/basic: Add various number width tests. - Details: - -2007-07-08 Jim Meyering - - Run the coreutils-specific code only if tests/Makefile.am.in exists. - * bootstrap (mam_template): Move definition out of loop. - - Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*. - * bootstrap (symlink_to_dir): Rename function from symlink_to_gnulib. - Add a directory parameter. Update all callers. - (cp_mark_as_generated): Also check for -- and link to -- files in gl/. - - * THANKS: Add Pádraig Brady. - -2007-07-08 Jim Meyering - - Adapt to deeper hierarchy in gnulib. - * bootstrap (symlink_to_dir): If the destination directory doesn't - exist, create it. This is required at least for "lib/uniwidth/cjk.h". - - Use , not "wcwidth.h". - * src/wc.c: Now that gnulib provides the POSIX-specified , - include it and , rather than "wcwidth.h". - * src/ls.c: Include , rather than "wcwidth.h". - -2007-07-05 Jim Meyering - - setuidgid: set all groups, not just the primary one. - I wanted to use the xgetgroups function from id.c, so factored - it out and made it into a non-exiting function (hence the "m" - prefix rather than "x"). - * src/setuidgid.c (main): Use mgetgroups. - Include "mgetgroups.h". - - * src/id.c (xgetgroups): Remove function. - Include "mgetgroups.h". - (print_group_list): Use mgetgroups, not xgetgroups. - - * gl/modules/mgetgroups: New module. - * gl/lib/mgetgroups.c: New file. mgetgroups is derived from - id.c's xgetgroups function. - * bootstrap.conf (gnulib_modules): Add mgetgroups. - * gl/m4/mgetgroups.m4: New file. - * gl/lib/mgetgroups.h: New file. - - * bootstrap: Merge in changes from gnulib. - - * src/id.c: Include "getugroups.h" rather than declaring manually. - -2007-07-04 Paul Eggert - - * NEWS: pr -F no longer suppresses the footer or the first two blank - lines in the header. - * doc/coreutils.texi (pr invocation): Likewise. Also, a too-short - page length implies -t, not -T. - * src/pr.c (lines_per_header, lines_per_footer): Now constants. - (init_parameters): Don't try to change them. - (print_header): Use the same header and footer format regardless of - wither form feeds are being used. - (usage): Adjust to above change when describing too-short page length. - Too-short page length impliesy -t, not -T. - * tests/pr/2-S_f-t_notab: Adjust to the fact that -F now affects - only formfeed handling; it does not change the header. - * tests/pr/2-Sf-t_notab: Likewise. - * tests/pr/2f-t_notab: Likewise. - * tests/pr/2s_f-t_notab: Likewise. - * tests/pr/2s_w60f-t_nota: Likewise. - * tests/pr/2sf-t_notab: Likewise. - * tests/pr/2sw60f-t_notab: Likewise. - * tests/pr/2w60f-t_notab: Likewise. - * tests/pr/3a3f-0F: Likewise. - * tests/pr/3b3f-0F: Likewise. - * tests/pr/3b3f-0FF: Likewise. - * tests/pr/3b3f-FF: Likewise. - * tests/pr/3f-0F: Likewise. - * tests/pr/3f-FF: Likewise. - * tests/pr/Test.pm: Likewise. - * tests/pr/a3f-0F: Likewise. - * tests/pr/a3f-0FF: Likewise. - * tests/pr/a3f-FF: Likewise. - * tests/pr/b3f-0F: Likewise. - * tests/pr/b3f-0FF: Likewise. - * tests/pr/b3f-FF: Likewise. - * tests/pr/3-5l17f-t: Remove, since it's been renamed to another - file whose name has a line count 7 larger, - reflecting the new line count needed for this behavior. - * tests/pr/3a3l8f-t: Likewise. - * tests/pr/3b3l8f-t: Likewise. - * tests/pr/3l17f-t: Likewise. - * tests/pr/3ml17f-t: Likewise. - * tests/pr/Ja3l17f-lm: Likewise. - * tests/pr/Jb3l17f-lm: Likewise. - * tests/pr/Jml17f-lm-lo: Likewise. - * tests/pr/W-72l17f-ll: Likewise. - * tests/pr/W20l17f-ll: Likewise. - * tests/pr/W26l17f-ll: Likewise. - * tests/pr/W27l17f-ll: Likewise. - * tests/pr/W28l17f-ll: Likewise. - * tests/pr/W35Ja3l17f-lm: Likewise. - * tests/pr/W35Jb3l17f-lm: Likewise. - * tests/pr/W35Jml17f-lmlo: Likewise. - * tests/pr/W35a3l17f-lm: Likewise. - * tests/pr/W35b3l17f-lm: Likewise. - * tests/pr/W35ml17f-lm-lo: Likewise. - * tests/pr/W72Jl17f-ll: Likewise. - * tests/pr/a3l17f-lm: Likewise. - * tests/pr/a3l8f-t: Likewise. - * tests/pr/b3l17f-lm: Likewise. - * tests/pr/b3l8f-t: Likewise. - * tests/pr/l17f-t: Likewise. - * tests/pr/ml17f-0F: Likewise. - * tests/pr/ml17f-lm-lo: Likewise. - * tests/pr/ml17f-t: Likewise. - * tests/pr/ml17f-t-0F: Likewise. - * tests/pr/n+2-5l17f-0FF: Likewise. - * tests/pr/n+2l17f-0FF: Likewise. - * tests/pr/n+2l17f-bl: Likewise. - * tests/pr/n+3l17f-0FF: Likewise. - * tests/pr/n+3l17f-bl: Likewise. - * tests/pr/n+3ml13f-bl-FF: Likewise. - * tests/pr/n+3ml17f-bl-tn: Likewise. - * tests/pr/n+3ml17f-tn-bl: Likewise. - * tests/pr/n+4b2l10f-0FF: Likewise. - * tests/pr/n+5-8b3l10f-FF: Likewise. - * tests/pr/n+5a3l6f-0FF: Likewise. - * tests/pr/n+6b3l6f-FF: Likewise. - * tests/pr/nJml17f-lmlmlo: Likewise. - * tests/pr/nJml17f-lmlolm: Likewise. - * tests/pr/nN1+3l17f-bl: Likewise. - * tests/pr/nN15l17f-bl: Likewise. - * tests/pr/nSml13-bl-FF: Likewise. - * tests/pr/nSml13-t-t-FF: Likewise. - * tests/pr/nSml13-t-tFFFF: Likewise. - * tests/pr/nSml17-bl-FF: Likewise. - * tests/pr/nSml17-t-t-FF: Likewise. - * tests/pr/nSml17-t-tFFFF: Likewise. - * tests/pr/nl17f-bl: Likewise. - * tests/pr/o3Jml17f-lm-lo: Likewise. - * tests/pr/o3a3Sl17f-tn: Likewise. - * tests/pr/o3a3Snl17f-tn: Likewise. - * tests/pr/o3a3l17f-tn: Likewise. - * tests/pr/o3b3Sl17f-tn: Likewise. - * tests/pr/o3b3Snl17f-tn: Likewise. - * tests/pr/o3b3l17f-tn: Likewise. - * tests/pr/o3mSl17f-bl-tn: Likewise. - * tests/pr/o3mSnl17fbltn: Likewise. - * tests/pr/o3ml17f-bl-tn: Likewise. - * tests/pr/w72l17f-ll: Likewise. - * tests/pr/3-5l24f-t: New file, containing the contents of the - file with the same name but with the line count smaller by 7, - reflecting the new behavior with -F. - * tests/pr/3a3l15f-t: Likewise. - * tests/pr/3b3l15f-t: Likewise. - * tests/pr/3l24f-t: Likewise. - * tests/pr/3ml24f-t: Likewise. - * tests/pr/Ja3l24f-lm: Likewise. - * tests/pr/Jb3l24f-lm: Likewise. - * tests/pr/Jml24f-lm-lo: Likewise. - * tests/pr/W-72l24f-ll: Likewise. - * tests/pr/W20l24f-ll: Likewise. - * tests/pr/W26l24f-ll: Likewise. - * tests/pr/W27l24f-ll: Likewise. - * tests/pr/W28l24f-ll: Likewise. - * tests/pr/W35Ja3l24f-lm: Likewise. - * tests/pr/W35Jb3l24f-lm: Likewise. - * tests/pr/W35Jml24f-lmlo: Likewise. - * tests/pr/W35a3l24f-lm: Likewise. - * tests/pr/W35b3l24f-lm: Likewise. - * tests/pr/W35ml24f-lm-lo: Likewise. - * tests/pr/W72Jl24f-ll: Likewise. - * tests/pr/a3l15f-t: Likewise. - * tests/pr/a3l24f-lm: Likewise. - * tests/pr/b3l15f-t: Likewise. - * tests/pr/b3l24f-lm: Likewise. - * tests/pr/l24f-t: Likewise. - * tests/pr/ml24f-0F: Likewise. - * tests/pr/ml24f-lm-lo: Likewise. - * tests/pr/ml24f-t: Likewise. - * tests/pr/ml24f-t-0F: Likewise. - * tests/pr/n+2-5l24f-0FF: Likewise. - * tests/pr/n+2l24f-0FF: Likewise. - * tests/pr/n+2l24f-bl: Likewise. - * tests/pr/n+3l24f-0FF: Likewise. - * tests/pr/n+3l24f-bl: Likewise. - * tests/pr/n+3ml20f-bl-FF: Likewise. - * tests/pr/n+3ml24f-bl-tn: Likewise. - * tests/pr/n+3ml24f-tn-bl: Likewise. - * tests/pr/n+4b2l17f-0FF: Likewise. - * tests/pr/n+5-8b3l17f-FF: Likewise. - * tests/pr/n+5a3l13f-0FF: Likewise. - * tests/pr/n+6b3l13f-FF: Likewise. - * tests/pr/nJml24f-lmlmlo: Likewise. - * tests/pr/nJml24f-lmlolm: Likewise. - * tests/pr/nN1+3l24f-bl: Likewise. - * tests/pr/nN15l24f-bl: Likewise. - * tests/pr/nSml20-bl-FF: Likewise. - * tests/pr/nSml20-t-t-FF: Likewise. - * tests/pr/nSml20-t-tFFFF: Likewise. - * tests/pr/nSml24-bl-FF: Likewise. - * tests/pr/nSml24-t-t-FF: Likewise. - * tests/pr/nSml24-t-tFFFF: Likewise. - * tests/pr/nl24f-bl: Likewise. - * tests/pr/o3Jml24f-lm-lo: Likewise. - * tests/pr/o3a3Sl24f-tn: Likewise. - * tests/pr/o3a3Snl24f-tn: Likewise. - * tests/pr/o3a3l24f-tn: Likewise. - * tests/pr/o3b3Sl24f-tn: Likewise. - * tests/pr/o3b3Snl24f-tn: Likewise. - * tests/pr/o3b3l24f-tn: Likewise. - * tests/pr/o3mSl24f-bl-tn: Likewise. - * tests/pr/o3mSnl24fbltn: Likewise. - * tests/pr/o3ml24f-bl-tn: Likewise. - * tests/pr/w72l24f-ll: Likewise. - -2007-06-23 Jim Meyering - - Prefer "STREQ (a, b)" over "strcmp (a, b) == 0"; similar for != 0. - * src/base64.c (main): Likewise. - * src/install.c (setdefaultfilecon): Likewise. - * src/sort.c (main): Likewise. - * Makefile.maint (sc_prohibit_strcmp): New rule. - * .x-sc_prohibit_strcmp: New file, to list the few exceptions. - * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp. - -2007-06-22 Paul Eggert - - * NEWS: seq no longer mishandles obvious cases like - "seq 0 0.000001 0.000003" by omitting the last output number. - * doc/coreutils.texi (seq invocation): Remove advice about workaround - for seq off-by-one problem, since the bug is fixed now. Replace - it with more-generic advice about rounding errors. - * src/seq.c (long_double_format, print_numbers): - New arg NUMERIC_FORMAT. All uses changed. - -2007-06-22 Pádraig Brady (trivial change) - - * tests/seq/basic: Add test cases for seq off-by-one problem. - -2007-06-22 Jim Meyering - - * src/stat.c (long_options): Add a FIXME comment to help ensure - that the deprecated and undocumented "--filesystem" option is - removed someday. - -2007-06-18 Paul Eggert - - A few more symlink-related fixes. Fix a bug triggered by cp - --parents and symlinks. Close some race conditions possible when - the destination replaces a newly-created file with a symlink. - * NEWS: Document that 'cp --parents' no longer mishandles - symlinks in file name components of source. - * src/copy.c (HAVE_LCHOWN): Default to false. - (lchown) [!defined HAVE_LCHOWN]: Define to chown, for convenience. - * src/cp.c (lchown) [!HAVE_LCHOWN]: Likewise. - * src/install.c (lchown [!HAVE_LCHOWN]: Likewise. - * src/copy.c (set_owner): Use lchown instead of chown, for safety - in case the file got replaced by a symlink in the meantime. - * src/cp.c (re_protect): Likewise. - * src/install.c (change_attributes): Likewise. - * src/copy.c (copy_internal): Use ordinary C rather than an #if. - * src/cp.c (lchown) [!HAVE_LCHOWN]: Define to chown, for convenience. - (struct dir_attr): Cache the entire struct stat of the directory, - rather than just its mode, so that we needn't stat the directory - twice (which can lead to races). - (re_protect): Don't use XSTAT as that's not appropriate in - this context (symlinks should be followed here). Instead, use - the cached stat value. - (make_dir_parents_private): Save dir's entire struct stat, not - just its mode. - * tests/cp/cp-parents: Add test to check against bug with - cp --parents and symlinks. - -2007-06-18 Jim Meyering - - Use mreadlink_with_size (doesn't exit), not xreadlink_with_size. - * bootstrap.conf (gnulib_modules): Add readlink-with-size. - Remove xreadlink and xreadlink-with-size. - * src/copy.c (copy_internal): Use mreadlink_with_size, - not xreadlink_with_size. - * src/ls.c (get_link_name): Likewise. - * src/readlink.c (main): Likewise. - * src/stat.c (print_stat): Likewise. - - * README-hacking: Don't mention Gzip 1.2.4, now that 1.3.12 is out. - -2007-06-16 Jim Meyering - - Make chgrp and chown diagnostics consistent. - * src/chown.c (main): Emit the diagnostic before the file name, - not after it, to be consistent with chgrp's diagnostic. - * src/chgrp.c (parse_group): Emit a ":" between the diagnostic - and the file name. - Reported by Egmont Koblinger. - * THANKS: Add Egmont Koblinger. - -2007-06-15 Paul Eggert - - Correct cp's handling of destination symlinks in some cases. - * NEWS: "cp" no longer considers a destination symlink to be the - same as the referenced file when copying links or making backups. - * src/copy.c (copy_reg): When following a symlink, use the - followed name in later chown etc. requests, so that the created - file is affected, rather than the symlink. Use O_NOFOLLOW on - source when not dereferencing symlinks; this avoids a race. - Preserve errno correctly when doing multiple open attempts on the - destination. - (copy_internal): Follow destination symlinks only when copying a - regular file and only when we don't intend to remove or rename the - destination first, regardless of whether following source - symlinks; this is because since POSIX and tradition (e.g., - FreeBSD) say we should ordinarily follow destination symlinks if - the system calls would ordinarily do so. - * src/copy.h (struct cp_options): Add comment that 'dereference' - is only for source files. - * src/cp.c (usage): Note that --derereference etc. are only for - source files. - (make_dir_parents_private): Follow symlinks, regardless of whether - --dereference is specified, because these are destination symlinks. - * tests/cp/same-file: Adjust tests to match revised behavior. - Filter out perror output since it might vary from host to host. - Use sed alone instead of also using echo. - - * doc/coreutils.texi (cp invocation): Document the behavior better when - the destination is a symlink. Clarify source versus destination - symlinks. Describe the new behavior for destination symlinks. - -2007-06-15 Jim Meyering - - * src/copy.c: Include "canonicalize.h". - (copy_reg): Use canonicalize_filename_mode to follow the symlink, - so that we can always open with O_EXCL and avoid a race. - -2007-06-15 Jim Meyering - - Don't include "quote.h" when it is not used. - * src/md5sum.c: Remove unnecessary inclusion of "quote.h". - * src/expr.c: Likewise. - * src/shred.c: Likewise. - * Makefile.maint (sc_prohibit_quote_without_use): New rule. - * src/c99-to-c89.diff: Adjust offsets. - -2007-06-14 Paul Eggert - - Clarify what "cat" documentation means by "blank" lines. - * doc/coreutils.texi (cat invocation): "Blank" lines actually mean - empty lines. - * src/cat.c (usage): Say that "nonblank" means nonempty. Clarify - --squeeze-blank. - -2007-06-13 Jim Meyering - - rmdir: give better diagnostics - * src/rmdir.c (remove_parents): Give a more descriptive/consistent - diagnostic upon failure. - (main): Likewise. - Suggestion from Joey Hess. - * THANKS: Add Joey Hess. - - Don't include "quotearg.h" when it is not used. - * Makefile.maint (sc_prohibit_quotearg_without_use): New rule. - * src/cp.c: Don't include "quotearg.h". It wasn't used. - - * README-hacking: List Gperf as a build-requirement, too. - Reported by Steve Ward. - -2007-06-11 Jim Meyering - - * README: Mention README-hacking, for whose who start from - cloned/checked-out sources rather than from a distribution tarball. - Reported by Steve Ward. - * THANKS: Add Steve Ward. - -2007-06-10 Jim Meyering - - bug-fix: cp would fail to write through a dangling symlink - * NEWS: Mention the bug fix. - * src/copy.c (copy_reg): When open fails with EEXIST, the destination - is lstat'able, and a symlink, call open again, but now without O_EXCL. - * tests/cp/thru-dangling: New file, to test for the above fix. - * tests/cp/Makefile.am (TESTS): Add thru-dangling. - * THANKS: Add Michael McLagan. - Bug report from Michael McLagan in . - -2007-06-04 Paul Eggert - - * doc/coreutils.texi (Common options): Mention that -h and - --human-readable are equivalent to --block-size=human-readable. - Documentation problem reported by Steve Ward in - . - (du invocation): Use optSi rather than duplicating the macro's - contents (incorrectly, since we claimed a "B" was output). - -2007-05-31 Jim Meyering - - Pull printf-related code from gnulib, rather than using forked copy. - * bootstrap.conf (gnulib_modules): Don't avoid size_max and xsize - modules. While I dislike xsize-style overflow avoidance, maintaining - a forked version of e.g., vasnprintf.c was too much work. - -2007-05-29 Jim Meyering - - * src/dircolors.hin: Add screen-256color. - Suggested by sdl.web@gmail.com in . - -2007-05-26 Jim Meyering - - * TODO: Add an entry for comm --output-delimiter=STR - -2007-05-25 James Youngman - - wc: ignore multibyte-character decoding errors - * src/wc.c (wc): Don't issue an error message when mbrtowc - indicates that we have seen an invalid byte sequence. This - makes "wc /bin/sh" bearable (though the word and line counts - are likely not to be useful). - * NEWS: Mention the change. - -2007-05-22 Jim Meyering - - Check for an up-to-date copyright year in coreutils.texi. - * Makefile.maint (copyright-check): Also check for an up-to-date - copyright year in doc/$().texi, if that file exists. - * doc/coreutils.texi: Add 2007 to list of Copyright years. - Reported by Karl Berry. - - cut: diagnose a range starting with 0 (-f 0-2) as invalid, and - give a better diagnostic for a field-number/offset of 0. - * NEWS: Mention the fix. - * src/cut.c (ADD_RANGE_PAIR): Add an explicit check. - Based on a patch from James Youngman. - * tests/misc/cut: Add tests for the above. - - "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-" - Also, diagnose the '-' in "cut -f -" as an invalid range, rather - than interpreting it as the unlimited range, "1-". - * NEWS: Mention these changes. - * src/cut.c (set_fields): Don't interpret an accumulator "value" - of 0 as an unspecified range endpoint. - Give better diagnostics. - Adjust a comment so that it is true also for 64-bit size_t. - - * tests/cut/Test.pm: Add tests for the above. - - stty: fix a harmless syntax nit - * src/stty.c (visible): Use ";" as the statement terminator - between two assignments, not ",". - (integer_arg): Join an unnecessarily wrapped line. - -2007-05-20 Jim Meyering - - stty: diagnose an invalid hex value in 35-colon command-line argument - * NEWS: Mention this. - * src/stty.c (strtoul_tcflag_t, strtoul_cc_t): New functions. - (recover_mode): Use those functions (not sscanf), to parse the - string robustly. - * tests/stty/invalid: New file. Test for the above. - * tests/stty/Makefile.am (TESTS): Add invalid. - * .x-sc_prohibit_atoi_atof: Don't exempt stty.c from this check. - Add tests/stty/invalid so we don't have to obfuscate the comment - about sscanf therein. - * Makefile.maint (sc_prohibit_atoi_atof): Mention sscanf in the - diagnostic, too. - - * TODO: Remove some now-completed or no longer relevant items. - -2007-05-19 Jim Meyering - - Rename uses of futimens -> gl_futimens; glibc now declares the former. - * src/copy.c (copy_reg): Reflect renaming: futimens -> gl_futimens. - * src/touch.c (touch): Likewise. - -2007-05-18 Jim Meyering - - * Makefile.maint (my-distcheck): Remove -pedantic from $(CFLAGS) - for now, to avoid c89-check failure due to use of #include_next. - -2007-05-15 Jim Meyering - - Generate a dozen test-related Makefile.am files at bootstrap-time. - * README-hacking: Build-from-checkout now require Perl, too. - * bootstrap: Now that these generated Makefile.am files are no longer - under version control, they must be created at bootstrap time. - -2007-05-14 Paul Eggert - - * man/chmod.x: Document chmod's behavior with setuid and setgid bits. - Remove misleading implication about leading zero. Problem - reported by Jan Engelhardt in - . - -2007-05-13 Jim Meyering - - Remove the generated tests/*/Makefile.am files from version control. - * tests/cut/Makefile.am: git-remove this generated file. - * tests/head/Makefile.am: Likewise. - * tests/join/Makefile.am: Likewise. - * tests/pr/Makefile.am: Likewise. - * tests/sort/Makefile.am: Likewise. - * tests/tac/Makefile.am: Likewise. - * tests/tail/Makefile.am: Likewise. - * tests/test/Makefile.am: Likewise. - * tests/tr/Makefile.am: Likewise. - * tests/uniq/Makefile.am: Likewise. - * tests/wc/Makefile.am: Likewise. - * .cvsignore, .gitignore: Ignore these generated files. - - * src/.cvsignore, src/.gitignore: Add chcon here, ... - * .cvsignore, .gitignore: ... not here. - - Test uniq's new --zero-terminated (-z) option. - * tests/uniq/Test.pm: When possible, create a "-z"-testing variant - of each existing test. - (2z, 3z, 4z, 5z, 20z, 122, 123): New tests from James Youngman. - -2007-05-12 James Youngman - - Add -z option to uniq. Originally proposed by Egmont Koblinger. - * NEWS: Mention uniq's new option: --zero-terminated (-z). - * src/uniq.c: Add new option, --zero-terminated (-z), to make - uniq use the NUL byte as separator/delimiter rather than newline. - (check_file): Add a parameter: delimiter. Update caller. - Use readlinebuffer_delim in place of readlinebuffer everywhere. - (main): Handle the new option. - (usage): Describe new option the same way sort does. - * doc/coreutils.texi (uniq invocation): Describe the new option. - -2007-05-07 Jim Meyering - - * NEWS: Mention that last week's tr bug dates back to 1992. - -2007-05-04 Jim Meyering - - Avoid test failure when run with an unusual umask. - * tests/ls/color-dtype-dir: Set umask to 022. - Suggestion from AIDA Shinra. - - Avoid failure of root-only test when run with a restrictive umask. - * tests/rm/no-give-up: Ensure that non-root can access "d/" through - root-owned ".". Reported by AIDA Shinra. - - tr -c: don't abort when translating with S2 larger than complement of S1 - * src/tr.c (main): Remove invalid assertion triggered by e.g., - tr -c a '[b*256]'. There's nothing wrong with having Set2 larger - than Set1. Reported by Guntram Blohm. - * tests/tr/Test.pm (no-abort-1): Test for the above. - * NEWS: Mention this bug fix. - * THANKS: Add Guntram Blohm. - -2007-05-03 Jim Meyering - - Avoid test failure when run with a permissive umask. - * tests/rm/no-give-up: Set permissions of test directory properly, - i.e., not depending on umask prohibiting go=w. - Reported by AIDA Shinra. - -2007-05-02 Paul Eggert - - The following commands and options now support the standard size - suffixes kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y: - head -c, head -n, od -j, od -N, od -S, split -b, split -C, - tail -c, tail -n. - * doc/coreutils.texi (od invocation, head invocation, tail invocation): - Document support for new size suffixes. - (head invocation, tail invocation): - Document that -n uses the same suffixes as -c. - (tail invocation): More-clearly document what leading "+" does. - * src/head.c (usage, string_to_integer): Support new suffixes. - * src/od.c (usage, main): Likewise. - * src/split.c (usage, main): Likewise. - * src/tail.c (usage, parse_options): Likewise. - Prompted by a patch from Evan Hunt. - -2007-05-02 Jim Meyering - - * src/du.c (usage): Tweak description of --dereference-args (-D) again. - Prompted by another request for clarification from Justin Pryzby. - - Invoke rm via 'setuidgid ... env PATH="$PATH" ...', as in fail-eperm. - * tests/rm/fail-2eperm: Patch from AIDA Shinra. - Reported by Peter Dyballa. - * THANKS: Add AIDA Shinra and Peter Dyballa. - -2007-04-28 Paul Eggert - - * src/nohup.c (usage): Describe how standard input and output - are redirected. - -2007-04-25 Jim Meyering - - * src/du.c (usage): Clarify description of --dereference-args (-D). - Prompted by a report from Justin Pryzby. - - * bootstrap.conf (gnulib_modules): Add fseeko and ftello. - (gnulib_modules): Add autobuild. - -2007-04-24 Jim Meyering - - * THANKS: Add Andreas Frische. - * NEWS: Mention today's ls --color fix. - * tests/ls-2/tests (sl-dangle): Add a test for today's fix. - -2007-04-24 Eric Blake - - ls --color once again colors dangling symlinks correctly - * src/ls.c (gobble_file): Much like the 2007-04-07 fix, - add a term to the expression that decides whether we need - stat and/or lstat calls. Reported by Andreas Frische. - -2007-04-16 Jim Meyering - - * src/cut.c (usage): Adjust synopsis to show that an OPTION is required. - Reported by Rudolf Kastl. - * THANKS: Add Rudolf Kastl. - -2007-04-11 Paul Eggert - - split --line-bytes=N (-C N): don't create an empty file. - * src/split.c (line_bytes_split): Don't create an empty line - afterwards if the last buffer happens to be exactly full. - * tests/misc/split-fail: Add a test case for this. - * NEWS: mention this. - -2007-04-10 Jim Meyering - - ls: don't form or compute the length of strings that won't be used. - * src/ls.c (gobble_file): Form and compute length of strings for - block size, owner, group, author, major+minor numbers and file size - only if they'll actually be used. I.e., don't form most of them - when not producing long format output. - -2007-04-07 Jim Meyering - - Add a test for, and document, today's fix. - * NEWS: Mention today's ls --color fix. - * tests/ls-2/tests (sl-target): Add a test for today's fix. - * THANKS: Add Kirk Kelsey. - -2007-04-07 Eric Blake - - Fix a bug in how the LS_COLORS ln=target attribute is handled. - * src/ls.c (gobble_file): Use "stat" (not lstat) also when the - ln=target attribute applies. Reported by Kirk Kelsey. - -2007-04-02 Jim Meyering - - * src/copy.c (copy_reg): Initialize local "con", before calling - getfscreatecon, in case that function (or its inline stub) does - not set it. - -2007-04-01 Paul Eggert - - * src/ls.c (print_horizontal): Fix bug reported by Mike Frysinger: - ls -x DIR would sometimes output the wrong string in place of the - first entry. - * NEWS: Mention the bug fix. - * tests/ls/x-option: New file. - * tests/ls/Makefile.am (TESTS): Add x-option. - - gnulib moved md5 and sha1 modules into a new crypt/ directory; adapt - * bootstrap.conf (gnulib_modules): Adjust to gnulib's renaming of - md5 to crypt/md5 and sha1 to crypt/sha1. - -2007-03-30 Jim Meyering - - * NEWS: Mention these SELinux changes. - - * ChangeLog-selinux: Remove file. - Move its contents into this file, removing old dates. - - * src/runcon.c (main): Don't reorder arguments. Reported by - Ulrich Drepper in . - * tests/misc/runcon-no-reorder: New file. Test for the above. - * tests/misc/Makefile.am (TESTS): Add runcon-no-reorder. - - * src/runcon.c (main): Remove "." at end of a diagnostic. - - * src/runcon.c: New program. - * src/Makefile.am (bin_PROGRAMS): Add runcon. - (runcon_LDADD): Define. - * README: Add runcon to the list of programs. - * AUTHORS: Add this: runcon: Russell Coker - * tests/help-version: Add runcon as an exception. - * man/Makefile.am (dist_man_MANS): Add runcon.1. - (runcon.1): New dependency. - - mkfifo, mknod: Accept new "-Z, --context=C" option. - * src/mkfifo.c, src/mknod.c: Include . - (main): Honor it. - * src/Makefile.am (mkfifo_LDADD, mknod_LDADD): Use $(LIB_SELINUX). - - mkdir: Accept new "-Z, --context=C" option. - * src/mkdir.c: Include . - (main): Honor it. - * src/Makefile.am (mkdir_LDADD): Use $(LIB_SELINUX). - - * tests/cp/cp-a-selinux: New file. Test for the bug reported in - . - * tests/cp/Makefile.am (TESTS): Add cp-a-selinux. - - * tests/selinux: New file. - * tests/Makefile.am (EXTRA_DIST): Add selinux. - * tests/misc/selinux: Source the new script, rather than open coding it. - - Change how "cp -a" and "cp --preserve=context" work with SELinux. - Now, cp -a attempts to preserve context, but failure to do so does - not change cp's exit status. However "cp --preserve=context" is - similar, but failure *does* cause cp to exit with nonzero status. - * src/copy.h (struct cp_options) [require_preserve_context]: New member. - * src/copy.c (copy_reg, copy_internal): Implement the above. - * src/mv.c (cp_option_init): Initialize the new member. - * src/install.c (cp_option_init): Likewise. - * src/cp.c (cp_option_init): Likewise. - (decode_preserve_arg): Set it or reset it. - - cp, mv, install: add SELinux support, but unlike with the Red Hat - patch, mv and cp do not provide the "-Z context" option. - * src/copy.c: Include . - (restore_default_fscreatecon): New function. - (copy_reg): Make cp --preserve=context work for existing destination. - (copy_internal): Likewise for new destinations. - * src/copy.h (cp_options) [preserve_security_context]: New member. - * src/cp.c: Include . - (selinux_enabled): New global. - (usage): Mention new --preserve=context option. - (PRESERVE_CONTEXT): Define/use. - (decode_preserve_arg): Handle PRESERVE_CONTEXT. - (main): Remove an obsolete comment. - If --preserve=context is specified on a system without SELinux - enabled, give a diagnostic and fail. - * src/mv.c: Include . - Set x->preserve_security_context if SELinux is enabled. - * src/install.c: Accept new "-Z, --context=C" option. - Accept --preserve-context option (but not -P option). - Accept alternate spelling: --preserve_context, for now. - Include and "quotearg.h". - (selinux_enabled, use_default_selinux_context): New globals. - (PRESERVE_CONTEXT_OPTION): Define. - (cp_option_init): Default: do not preserve security context. - (setdefaultfilecon): New function. - (main): Honor new options. - * src/Makefile.am (mv_LDADD, cp_LDADD, ginstall_LDADD): - Add $(LIB_SELINUX). - * src/system.h (GETOPT_SELINUX_CONTEXT_OPTION_DECL): Define. - - * tests/misc/selinux [VERBOSE]: Print version info for each - of the tested tools, not just ls. - - * src/c99-to-c89.diff: Remove the ls.c patch, now that I've - temporarily removed the offending c99'ism. - - * src/chcon.c (usage): Split a string literal that was longer than 509. - - * src/ls.c (gobble_file): Don't call getfilecon unless print_scontext. - Upon failed getfilecon, accept not just ENOTSUP, but also ENODATA. - - * src/c99-to-c89.diff: Adjust offsets. - - * AUTHORS: Add chcon. - - * src/c99-to-c89.diff: Remove trailing blanks. - - * src/chcon.c: Don't include "dirname.h". system.h already includes it. - - * gl/lib/selinux-at.c: Remove a use of HAVE_CONFIG_H. - - * src/c99-to-c89.diff: Handle a new c99'ism in ls.c. - - * src/id.c (main): Tweak id -Z diagnostic. - - id: Add SELinux support: -Z option. - * src/id.c (main): Apply patches from Fedora, with these changes: - Remove #ifdef WITH_SELINUX. - Use error (EXIT_FAILURE, not fprintf+exit(1). - * src/Makefile.am (id_LDADD): Define, so as to add $(LIB_SELINUX). - - stat: Add support for SELinux in the form of a %C format directive. - * src/stat.c (follow_links): Make this variable file-global. - (out_file_context): New function. - (print_statfs): Honor %C. - (print_stat): Honor %C. - (do_stat): Remove follow_links parameter. - (usage): Document the two %C directives. - (main): Accept -Z (though it's a no-op). - * src/Makefile.am (stat_LDADD): Define. - - ls: Add support for SELinux and a slightly modified -Z option. - I started with the patches from Red Hat. - The entries below tell how the code evolved. - - * src/ls.c (print_long_format, print_file_name_and_frills): When - there is no security context (due to getfilecon/lgetfilecon failing - with e.g. ENOTSUP), print it as "?", not "". - * src/ls.c (print_file_name_and_frills): Make -Z work without -l. - (length_of_file_name_and_frills): Likewise. - - * src/ls.c: Remove the --lcontext and --scontext options. - Change the way -Z, --context work so that it no longer implies -l. - Thus, -Z -l will work like -lcontext and -Z without -l will work - like --scontext. - - Adjust tests to reflect new 'ls -l' syntax -- affects only - systems with SELinux when operating on a file with no ACL. - These tests assumed that everything before the first space on - each line is the 10-byte mode string. But there may also be a "+" - in the 11th column, just before the space. However, note that this - is not new. The same thing would have happened even without the - change below, when listing a file with an ACL. - * tests/chmod/equals, tests/cp/cp-parents, tests/cp/fail-perm: - * tests/cp/link-preserve, tests/install/basic-1, tests/misc/mknod: - * tests/mkdir/parents, tests/mkdir/special-1, tests/mv/partition-perm: - - Don't make compilation depend on USE_ACL. An SELinux security - context counts as an "alternate access control method", so ls - must output a "+" for each file with a security context. - * src/ls.c [struct fileinfo] (have_acl): Declare unconditionally. - (FILE_HAS_ACL): Remove macro definition. Use f->have_acl directly. - (gobble_file): Record whether a file has a security context, and - update the condition used to determine whether to print the "+". - (gobble_file): Call getfilecon/lgetfilecon also when - format == long_format, so that we get the "+". - - * src/ls.c (gobble_file): Add a comment explaining why (with a - security context option) ls doesn't exit nonzero due to e.g., - getfilecon failing with errno == ENOTSUP. - - * src/ls.c (gobble_file): Ignore failure of getfilecon if it's due - to ENOTSUP. - - * src/ls.c (gobble_file): Factor out three small blocks using - getfilecon and lgetfilecon. - Don't ignore return value from getfilecon and lgetfilecon. - - * src/ls.c (print_long_format): Don't use ?: (empty 2nd arg with C - ternary operator). - (print_scontext_format): Likewise. - (print_scontext): Declare to be "bool", not int. Adjust uses. - - * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Add $(LIB_SELINUX). - - * tests/misc/chcon: New file. - * tests/misc/chcon-fail: New file. - * tests/Makefile.am (check-root): Run new, root-only misc/chcon test. - * tests/misc/Makefile.am (TESTS): Add chcon and chcon-fail. - - * tests/misc/Makefile.am (TESTS): Add selinux. - * tests/misc/selinux: New file. - * tests/help-version: Skip chcon. - * man/chcon.x: New file. - * man/Makefile.am: Build chcon.1. - - New program: chcon - * gl/modules/selinux-at: New module. Check for libselinux and set - LIB_SELINUX here, unconditionally, rather than depending on - the configure-time --enable-selinux option. - * gl/modules/selinux-h: New module. - * bootstrap.conf (gnulib_modules): Add selinux-at. - * gl/lib/selinux-at.c, gl/lib/selinux-at.h: New files. - * gl/lib/se-selinux_.h: New file. - * gl/lib/se-context_.h: New file. - * gl/m4/selinux-selinux-h.m4: New file. - * gl/m4/selinux-context-h.m4: New file. - * src/Makefile.am (bin_PROGRAMS): Add chcon. - (chcon_LDADD): Define. - * README: Add chcon to the list of programs. - * src/chcon.c: Rewrite the original (Red Hat) chcon to use fts. - -2007-03-29 Jim Meyering - - * .vg-suppressions: Add libc-getpwuid-leak. - -2007-03-28 Jim Meyering - - Help translators include translation team's web or email address. - * src/system.h (emit_bug_reporting_address): New function. - * src/base64.c: Use it rather than a literal printf. - * src/basename.c, src/cat.c, src/chgrp.c, src/chmod.c: - * src/chown.c, src/chroot.c, src/cksum.c, src/comm.c, src/cp.c: - * src/csplit.c, src/cut.c, src/date.c, src/dd.c, src/df.c: - * src/dircolors.c, src/dirname.c, src/du.c, src/echo.c, src/env.c: - * src/expand.c, src/expr.c, src/factor.c, src/fmt.c, src/fold.c: - * src/head.c, src/hostid.c, src/hostname.c, src/id.c, src/install.c: - * src/join.c, src/kill.c, src/link.c, src/ln.c, src/logname.c: - * src/ls.c, src/md5sum.c, src/mkdir.c, src/mkfifo.c, src/mknod.c: - * src/mv.c, src/nice.c, src/nl.c, src/nohup.c, src/od.c: - * src/paste.c, src/pathchk.c, src/pinky.c, src/pr.c, src/printenv.c: - * src/printf.c, src/ptx.c, src/pwd.c, src/readlink.c, src/rm.c: - * src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c, src/shuf.c: - * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c: - * src/su.c, src/sum.c, src/sync.c, src/system.h, src/tac.c: - * src/tail.c, src/tee.c, src/test.c, src/touch.c, src/tr.c: - * src/true.c, src/tsort.c, src/tty.c, src/uname.c, src/unexpand.c: - * src/uniq.c, src/unlink.c, src/uptime.c, src/users.c, src/wc.c: - * src/who.c, src/whoami.c, src/yes.c: Likewise. - - * src/stty.c: Don't include "vasprintf.h", now that its - declarations are guaranteed to be in gnulib's stdio.h. - * src/who.c: Likewise. - -2007-03-27 Jim Meyering - - * README: Use "install", not "ginstall" in the list of program names. - * src/Makefile.am (check-README): Substitute s/ginstall/install/. - -2007-03-25 Jim Meyering - - * src/c99-to-c89.diff: Regenerate. - -2007-03-25 Paul Eggert - - Avoid the need for euidaccess and/or lstat on every directory entry - with 'rm -r dir' (without -f), if we are root, or if we are removing - a directory tree that is full of symbolic links. - * bootstrap.conf (gnulib_modules): Add write-any-file. - * src/copy.c: Include write-any-file.h. - (UNWRITABLE): Remove macro, replacing with.... - (writable_destination): New function, which uses can_write_any_file - to avoid the need for euidaccess when we are privileged. - (overwrite_prompt, abandon_move): Use it. - * src/remove.c: Include write-any-file.h. - (D_TYPE): New macro. - (DT_UNKNOWN, DT_DIR, DT_LNK) [!HAVE_STRUCT_DIRENT_D_TYPE]: New macros. - (write_protected_non_symlink): Don't bother to stat if we can write - any file. - (prompt): New arg PDIRENT_TYPE. All callers changed. - Use readdir dirent type to avoid the need for 'lstat' on each directory - entry in cases like 'rm -r dir', if we are root, or if the tree is - full of symbolic links. - (DT_IS_KNOWN, DT_MUST_BE): Remove. - (remove_entry): New arg DIRENT_TYPE_ARG. All callers changed. - -2007-03-24 Jim Meyering - - If strace malfunctions, skip the test rather than failing it. - * tests/mv/atomic: Required on a mips-unknown-linux-gnu system - running the aging linux-2.4.27-mipscvs-20040814. - -2007-03-23 Paul Eggert - - * src/pathchk.c: Don't include euidaccess.h, as we don't call - euidaccess. - -2007-03-23 Jim Meyering - - * README-package-renamed-to-coreutils: Add a URL for the FAQ, - and a couple more archive links. - -2007-03-22 Jim Meyering - - Post-release version change. - * NEWS: Add a line for 6.9+. - * configure.ac (AC_INIT): Set new version string. - - Version 6.9. - * NEWS: Record release date and new version number. - * configure.ac (AC_INIT): New version number. - - * tests/mv/hard-3: Correct the preceding change: $3 -> $2. - -2007-03-22 Paul Eggert - - Improve a test script. - * tests/mv/hard-3: Check for 'ls' failure, too. - Generate more-useful debugging output when 'ls' fails. - -2007-03-21 Jim Meyering - - Fix a test script not to claim an ext2 file system is of type xfs. - * tests/du/slink: When using df --local and df --type=TYPE, - test only the exit code. Don't bother with stdout. - Prompted by a report by Thomas Schwinge of an inaccurate diagnostic. - - * gl/lib/savewd.c: Remove this file, since the savewd_save change - is now in gnulib. The other wasn't useful. - -2007-03-20 Jim Meyering - - * gl/lib/acl.c: Remove this file, now that gnulib's version subsumes it. - - Skip part of this test when "." is not a local file system. - * tests/install/basic-1: Otherwise, it would fail on some NFS - file systems. - * tests/mkdir/p-3: Likewise. - -2007-03-19 Paul Eggert - - * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): - Add $(LIB_ACL_TRIVIAL). - -2007-03-18 Jim Meyering - - Fix a generic NFS-related test failure. - * tests/mkdir/p-3: When setting up an unreadable "." in an - inaccessible parent, make the parent inaccessible *after* making "." - unreadable. Otherwise, running "chmod a-r ." in an already- - inaccessible parent would fail on NFS with "Stale NFS file handle". - - Fix a bug in how pr -m -s works. - * NEWS: Describe how the fix affects pr. - * src/pr.c (init_parameters): The --merge (-m) option does - not imply --expand-tabs (-e), so don't set "untabify_input". - Reported by Wis Macomson. - * tests/misc/pr: New file. Test for the above fix. - * tests/misc/Makefile.am (TESTS): Add pr. - * THANKS: Update. - -2007-03-17 Jim Meyering - - Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted. - * bootstrap: Put ""s around use of $build_aux, in case - someone uses a name containing shell meta-characters. - Reported by Alfred M. Szmidt. - * tests/misc/tty-eof: Add shuf to the list of tested commands. - - Avoid test failure on NFS-mounted Solaris ZFS file system. - * tests/du/basic: Skip a test if "." is on a non-local file system. - - Avoid an obscure build failure, prefer waitpid over wait. - * src/install.c (strip): Use waitpid, not wait. It's equivalent, - but feels less obsolescent. - - * bootstrap: Don't use \> in grep regexp. For HP-UX. - -2007-03-16 Jim Meyering - - Begin adding support for Solaris ZFS (4 entries per trivial ACL) - * gl/lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro. - (file_has_acl, copy_acl): Use it, rather than enumerating errno values. - (is_trivial_acl): New function. Incomplete, for now. - (file_has_acl, copy_acl): Use the new function, rather than - counting the number of entries in an ACL. - - * bootstrap: Update from gnulib. - - * .x-sc_prohibit_atoi_atof: Add TODO here, too. - -2007-03-16 Paul Eggert - - * src/copy.c: Include filemode.h. - (overwrite_prompt): Say "try to overwrite", not "overwrite", to - make it clearer that the attempt may fail. Problem reported by - Dan Jacobson in: - http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html - Output symbolic mode as well as numeric. - * tests/mv/i-2 (fail): Adjust to new prompt format. - -2007-03-15 Jim Meyering - - Enforce policy: don't use *scanf functions. - * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic. - * .x-sc_prohibit_atoi_atof: Give stty a temporary pass. - * TODO: note that stty.c needs this small clean-up. - -2007-03-13 Jim Meyering - - Prepare to work on ACL-related failure when using Solaris ZFS. - * gl/lib/acl.c: New file, copied from gnulib. - - Work around a failing test due to an NFS-based race condition. - * tests/cp/sparse: Accept a report that the copy is *smaller*. - -2007-03-12 Jim Meyering - - Make bootstrap.conf a tiny bit more generic. - * bootstrap.conf (XGETTEXT_OPTIONS): Exclude gettext-related .m4 - files when e.g., AM_GNU_GETTEXT([external] appears in configure.ac. - -2007-03-10 Jim Meyering - - Try to fix today's NFS-related failure: Treat ESTALE like EACCES. - * gl/lib/savewd.c: Copy this file from gnulib, then change - "errno != EACCES" to (errno != EACCES && errno != ESTALE). - The symptom was this failure in tests/install/basic-1: - ginstall: cannot create directory `rel/a': Stale NFS file handle - - The preceding change solved part of the problem. Now ginstall fails. - * tests/install/basic-1: Temporarily, don't redirect ginstall's - stderr to /dev/null, so I can see why the NFS autobuilder's NFS test - is failing. - - * tests/install/basic-1: When setting up an unreadable "." in an - inaccessible parent, make the parent inaccessible *after* making "." - unreadable. Otherwise, running "chmod a-r ." in an already- - inaccessible parent would fail on NFS with "Stale NFS file handle". - Reported by Bob Proulx. - - * Makefile.maint (po-check): Exclude c99-to-c89.diff. - -2007-03-09 Jim Meyering - - Avoid test failures on Darwin 7.9.0 (MacOS X 10.3.9) - * tests/chgrp/basic: Don't let failure by chgrp to set the - group of a symlink make this test fail. Do give a diagnostic. - In the chgrp-no-change-ctime test, add darwin7.9.0 as another - known-failing system. - When failing on some other system, print $host_triplet, too. - Also avoid test failures on Darwin 8.8.x (MacOS X 10.4). - Reported by Peter Fales. - -2007-03-08 Jim Meyering - - * src/c99-to-c89.diff: Reflect the new c99'ism, update offsets. - -2007-03-08 Paul Eggert - - rm without -f: give a better diagnostic when euidaccess fails. - * src/remove.c (write_protected_non_symlink): Return int, not bool, - so that we can indicate failure too (as a positive error number). - (prompt): If write_protected_non_symlink fails, report that error - number and fail rather than charging ahead and removing the dubious - entry. Redo the logic of printing a diagnostic so that we need to - invoke quote (full_filename (...)) only once. More details at: - - -2007-03-08 Jim Meyering - - Generalize a few more cvs-isms. - * bootstrap (checkout_only_file): Rename from CVS_only_file. - Change comments and diagnostics not to say "CVS". - - * bootstrap: Run libtool, if necessary. - - Make bootstrap a little more general. - * bootstrap (build_aux): Factor out/use this definition. - Formally require a "AC_CONFIG_AUX_DIR($build_aux)" line in configure.ac. - (insert_sorted_if_absent): Move function definition "up", to - precede new first use. - If $build_aux/ doesn't exist initially, create it, and - mark it as ignored. - -2007-03-03 Andrew Church (tiny change) - Paul Eggert - - Fix a bug: cp -x would fail to set mount point permissions. - * NEWS: mention cp -x bug fix - * src/copy.c (copy_internal): Don't return immediately after - copying a mount point that we do not intend to recurse under. - Based on a patch by Andrew Church. - -2007-03-03 Jim Meyering - - pwd-unreadable-parent: Skip test on ia64/Linux, too. - * tests/misc/pwd-unreadable-parent: Also skip when $REPLACE_GETCWD. - Reported by Bob Proulx. - -2007-03-02 Jim Meyering - - pwd-unreadable-parent: Skip test on non-Linux/GNU systems. - * tests/misc/pwd-unreadable-parent: Rather than trying to decide - whether this test has a chance of succeeding, run it only when - $(host_os) is linux-gnu. It was failing on powerpc-apple-darwin8.8.0 - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Add host_os=$(host_os). - - * tests/misc/pwd-long: Also allow "+" in $PWD. - - Remove another coreutils-ism. Formatting cleanup. - * Makefile.maint (my-distcheck): Update an outdated comment. - (emit_upload_commands): Use $(PACKAGE) rather than "coreutils". - (my-distcheck): Skip the c99/c89 check if there's no such .diff file. - -2007-03-01 Jim Meyering - - * Makefile.maint (warn_cflags): Hoist, adding "-Dlint -O". - (my-distcheck): Use the new variable, instead of too-long literal. - - Make "make syntax-check" rules less coreutils-specific. - * Makefile.maint (sc_cast_of_x_alloc_return_value): Use CVS_LIST_EXCEPT. - (sc_cast_of_alloca_return_value): Likewise. - (sc_root_tests): Do nothing if there is no check-root target - in tests/Makefile.am. - - Run the writable-files check only for release-building targets. - * Makefile.maint (local-checks-available): Remove writable-files. - (alpha beta major): Put it here, instead. - - "make syntax-check" now runs only Makefile.cfg-selected tests - * Makefile.maint (syntax-check-rules): Hoist this definition so that - it precedes the indirect use in the definition of $(local-check). - (local-check): Use :=, not just "=". - (syntax-check): Depend on $(local-check), not $(syntax-check-rules). - -2007-02-28 Bruno Haible - - * bootstrap.conf (gnulib_modules): Replace xreadlink with - xreadlink-with-size. Add xreadlink. - * src/copy.c (copy_internal): Update. - * src/ls.c (is_directory): Update. - * src/stat.c (print_stat): Update. - * src/readlink.c (main): Use the one-argument xreadlink function. - -2007-02-28 Paul Eggert - - * doc/coreutils.texi (Common options): --si outputs "M", not "MB". - Problem reported by Philip Rowlands in - . - -2007-02-28 Jim Meyering - - * .x-sc_file_system: Add the new test, tests/misc/df-P, to this - list of exceptions, for the "make distcheck" sc_file_system rule. - - * Makefile.maint (gnulib_snapshot_date): Remove now-unused definition. - -2007-02-27 Paul Eggert - - Make df -P immune to effects of e.g., the BLOCK_SIZE envvar. - * NEWS: With -P, the default block size and output format is not - affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE. - * src/df.c (main): Implement this. - -2007-02-27 Jim Meyering - - Add a test for the above. - * tests/misc/df-P: New file. - * tests/misc/Makefile.am (TESTS): Add df-P. - -2007-02-25 Jim Meyering - - * Makefile.maint (announcement): Adjust so that it works with - announce-gen's --gnulib-snapshot-time-stamp option. - Indent one of the command lines using TAB, not 8 spaces. - - Post-release version change. - * NEWS: Add a line for 6.8+. - * configure.ac (AC_INIT): Set new version string. - -2007-02-24 Jim Meyering - - Version 6.8. - * NEWS: Record release date and new version number. - * configure.ac (AC_INIT): New version number. - - Don't skip this test on new-enough Linux/GNU systems. - * tests/misc/pwd-unreadable-parent: Test $REPLACE_GETCWD = 0, - rather than for __GETCWD_PREFIX in config.h (the latter is no - longer defined, ever, due to gnulib changes). - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define REPLACE_GETCWD. - - Remove the "gnits" option; it prohibits my using "+" as a version - string suffix, and all it does (beyond the default "gnu" option) - is to _require_ the THANKS file. - * configure.ac (AM_INIT_AUTOMAKE): Remove it. - - Remove all AUTOMAKE_OPTIONS settings in Makefile.am files. - * tests/chgrp/Makefile.am, tests/chmod/Makefile.am: - * tests/chown/Makefile.am, tests/cp/Makefile.am: - * tests/du/Makefile.am, tests/expr/Makefile.am: - * tests/factor/Makefile.am, tests/general/Makefile.am: - * tests/install/Makefile.am, tests/ln/Makefile.am: - * tests/ls/Makefile.am, tests/mkdir/Makefile.am: - * tests/mv/Makefile.am, tests/readlink/Makefile.am: - * tests/rm/Makefile.am, tests/rmdir/Makefile.am: - * tests/seq/Makefile.am, tests/stty/Makefile.am: - * tests/tee/Makefile.am, tests/touch/Makefile.am: - - * README: Document the OSF/1 4.0d build failure and work-around. - Reported by Bruno Haible. - - * NEWS: Use a simple "+" suffix to denote pre-release, not "-dirty". - Nicer connotations. - * configure.ac: Use 6.7+, not 6.7-dirty. - -2007-02-24 Paul Eggert - - * NEWS: sort no longer compresses temporaries by default. - * bootstrap.conf: Remove findprog. - * doc/coreutils.texi (sort invocation): The default is to not - compress. Don't treat "" specially. - * src/sort.c: Don't include findprog.h. - (create_temp): Compress only if the user specified --compress-program. - * tests/misc/sort-compress: Adjusts tests to match new behavior. - -2007-02-24 Jim Meyering - - Avoid a shell syntax error, when building with an inadequate Perl. - * man/Makefile.am (.x.1): Add quotes around $(PERL) in case, since - it can expand to "/.../missing perl". - - * man/Makefile.am (.x.1): Warn when unable to update a man page. - Suggestion from Bruno Haible. - -2007-02-23 Bruno Haible - - Handle better the combination of old Perl and a pre-c99 compiler. - * man/Makefile.am (.x.1): If the autoconf test has determined that - perl is missing or not a sufficient version, do nothing. - - * tests/readlink/can-e: Put the closing double-quote at the end of a - backquoted word, not in the middle. Works around a bug in sh on - OSF/1 4.0d. - * tests/readlink/can-f: Likewise. - * tests/readlink/can-m: Likewise. - - * tests/du/slink: Skip the test if executing on an nfsv3 file system. - This avoids a test failure at least on OSF/1 4.0d. - -2007-02-23 Jim Meyering - - * src/date.c (usage): Split a diagnostic that had grown to be - longer than the C89 maximum of 509 bytes. - -2007-02-23 Ed Santiago - - * src/date.c (usage): Mention that --rfc-3339 uses space, not 'T', - for a separator. Include sample RFC 2822 and 3339 output. - -2007-02-23 Jim Meyering - - With -Dlint, make shuf free all heap-allocated storage. - * src/shuf.c (main): Move declaration of input_lines to - function scope, and initialize to NULL, so we can free it. - [lint]: Free all malloc'd memory. - * tests/misc/shuf: Also test shuf's -e and -i options. - -2007-02-22 Jim Meyering - - Merge in a change from some other incarnation of this file (gzip?) - * bootstrap (gnulib_tool): Skip get_translations if there is no po/ dir. - - Adjust preceding change not to perform an unaligned access. - * src/copy.c (copy_reg): Undo previous change. Instead, make - it clearer that we're using a single-byte sentinel, and - [lint]: Initialize sizeof (uintptr_t) - 1 bytes after the sentinel. - Reported by Andreas Schwab. - - Placate valgrind, wrt ./cp --sparse=always - * src/copy.c (copy_reg): Place the sentinel by setting a - full word's worth of bits, not just a single byte's worth. - This avoids a harmless (but distracting) case of memory being - used-uninitialized. - -2007-02-21 Paul Eggert - - Honor dd's noatime flag if possible, even if not supported on build fs - * doc/coreutils.texi (dd invocation): Warn that noatime might not be - reliable. - * src/dd.c (flags, usage): Look at O_NOATIME, not - HAVE_WORKING_O_NOATIME, to decide whether to support the noatime - flag, so that dd attempts O_NOATIME even if the build file system - does not support it. Problem reported by Jim Meyering today in - bug-coreutils. - * tests/dd/misc: Generate a warning, not a failure, if noatime - exists but fails. - -2007-02-21 Jim Meyering - - * tests/misc/date: Remove vestigial use of Data::Dumper. - -2007-02-20 Paul Eggert - - * src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warning - about out-of-range initializer with Sun C 5.8. - -2007-02-20 Jim Meyering - - * bootstrap (CVS_only_file): Use README-hacking. - - Now that we use GIT, not cvs, rename README-cvs. - * README-hacking: Renamed from... - Update to reflect that we now use git. - - * README-cvs: ...this. - - * src/env.c (main): When invoked with no arguments (i.e. when printing - the environment), use a local variable to iterate through the global - "environ" array, rather than "environ" itself. This is solely to - avoid changing the environment for an LD_PRELOAD-substituted "puts" - or "exit" function. Tiny patch by Harvey Eneman. See - . - * THANKS: Update. - - * bootstrap: Move definitions of temporary directory names and the - new bt_regex "up" to precede all uses, so it's clearer what their - scope is. Also, use [.], rather than \\., since the former works - even if eval'd. - - * bootstrap: Remove occurrences of $bt (._bootmp) from lib/Makefile. - Based on the bison 2007-02-19 change by Joel E. Denny. - -2007-02-19 Paul Eggert - - * NEWS: sort now uses a --compress-program option rather than - an environment variable. - * doc/coreutils.texi (sort invocation): Document this. - * src/sort.c (usage): Likewise. - (COMPRESS_PROGRAM_OPTION): New const. - (long_options, create_temp, main): Support new option. - * tests/misc/sort-compress: Test it. - -2007-02-19 Jim Meyering - - * bootstrap: Fix typo s/dowloading/downloading/ in --help output. - -2007-02-18 Jim Meyering - - * src/system.h: Don't include exit.h, now that it's subsumed - by the gnulib-generated stdlib.h. - - * tests/rm/fail-eacces: Skip this test when running as root. - Reported by Matthew Woehlke. - - * bootstrap: Use "._bootmp" as the temporary directory name, - not ".#bootmp". The latter's "#" caused trouble with the new, - gnulib-added "LINK_WARNING_H = $(top_srcdir)/.#bootmp/..." line. - -2007-02-14 Paul Eggert - - * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase. - * src/dircolors.c: Include c-strcase.h. - (dc_parse_stream): Use c_strcasecmp rather than - strcasecmp to avoid unreliable results in locales like Turkish - where strcasecmp is incompatible with the C locale. - -2007-02-13 Jim Meyering - - Also check for and print stderr output, in case a program fails. - * tests/misc/tty-eof: Occasionally (not reproducible), this - test would fail, with one or more programs exiting nonzero, e.g., - tty-eof: sha224sum exited with status 1 (expected 0) - Now, maybe we'll get a clue, the next time that happens. - -2007-02-12 Jim Meyering - - * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script. - - * tests/misc/pwd-unreadable-parent: Skip the test if we're - definitely using the replacement. - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER. - -2007-02-10 Jim Meyering - - Remove excess leading spaces that would make help2man misbehave. - * src/printf.c (usage): Remove excess spaces on 2nd line of %b desc. - * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc. - * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc. - * src/date.c (usage): Use two spaces after each optional flag, not one. - Reported by Thomas Huriaux in . - - * Makefile.maint (longopt_re): Relax the regexp, making square - brackets optional, so it matches the newly reported violations, too. - - * src/csplit.c (usage): Use two spaces (not one) to separate - each option string from its description, so help2man formats - the derived man page properly. Reported by Thomas Huriaux in - . - * src/df.c (usage): Likewise. - * src/du.c (usage): Likewise. - * src/install.c (usage): Likewise. - * src/ls.c (usage): Likewise. - -2007-02-03 Jim Meyering - - Test for today's gnulib/lib/getcwd.c fix affecting pwd and readlink - * NEWS: Mention the bug fix. - * tests/misc/pwd-unreadable-parent: New file. - * tests/misc/Makefile.am (TESTS): Ad pwd-unreadable-parent. - -2007-02-02 Paul Eggert - - * NEWS: Document fix for cp --preserve=mode. - * src/copy.c (copy_internal): Omit the group- or other-writeable - permissions when creating a directory, to avoid a race condition - if the special mode bits aren't right just after the directory is - created. - * src/cp.c (make_dir_parents_private): Likewise. - * tests/cp/parent-perm-race: Test for the "cp --preserve=mode" - race fix in copy.c. - - * NEWS: Document fix for cp --parents. - * src/cp.c (make_dir_parents_private): Report the error sooner with - "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not - creating the directory, DEST/DIR. - * tests/cp/cp-parents: Test for the non-race-condition bug fixed - by the above change. - -2007-02-02 Jim Meyering - - * src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0". - - * src/c99-to-c89.diff: Make shred.c Index: and a/b prefixes - consistent, so this can be applied with patch -p0. - Reported by Matthew Woehlke. - - Arrange for "make check-root" to run the new root-only test. - * tests/Makefile.am (t9): New target, to run tests/cp/cp-a-selinux. - (all_t): Add t9. - - * Makefile.maint (patch-check): Use patch with its -p2 option, - since that makes this check slightly more strict. - - Use a directory on a loopback device mounted with -o context=... - * tests/cp/cp-a-selinux: Since this test now runs mount and umount, - it is a root-only one. - -2007-01-29 Jim Meyering - - Plug a leak in ls. - * src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to - determine dev/inode or upon detecting a symlink loop. - - * src/ls.c: Rename three global variables. - (cwd_file): Rename from 'files'. - (cwd_n_alloc): Rename from 'nfiles'. - (cwd_n_used): Rename from 'files_index'. - - Shave 8 bytes off the size of "struct fileinfo". - * src/ls.c (fileinfo): Put all members of type "bool" together. - -2007-01-28 Paul Eggert - - Modify "ls" to sort its data faster, using the new gnulib mpsort - module rather than qsort. This is particularly a win in - environments where strcoll is slow, since mpsort typically calls - strcoll less often than qsort does. - * bootstrap.conf (gnulib_modules): Add mpsort. - * src/ls.c: Include mpsort.h. - (sorted_file, sorted_file_alloc): New vars, for a new vector of - pointers to the file info, for speed. - (clear_files, extract_dirs_from_files, sort_files, print_current_files): - (print_many_per_line, print_horizontal, print_with_commas): - (calculate_columns): Set and use new vector. - (initialize_ordering_vector): New function. - -2007-01-26 Paul Eggert - - Adjust to today's change to gnulib, which added a module for - string.h to replace the little include files like strcase.h. - * src/dircolors.c: Don't include strcase.h. - * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h. - -2007-01-26 Jim Meyering - - * src/dd.c (advance_input_after_read_error): Change diagnostic to - say "invalid file offset" rather than "screwy file offset". - - * .x-sc_cast_of_argument_to_free: Remove this file. - * Makefile.am (EXTRA_DIST): Likewise. - -2007-01-25 Dan Hipschman - - * src/sort.c (create_temp): Remove superfluous access-X_OK - check. find_in_path does this for us. - -2007-01-24 Jim Meyering - - Remove usually-skipped test. - * tests/cp/open-perm-race: Remove this file. It is subsumed - by parent-perm-race. - * tests/cp/Makefile.am (TESTS): Remove open-perm-race. - * tests/sort/Makefile.am: Regenerate. - - Pass "make distcheck" again. - * src/sort.c (usage): Split a diagnostic that had grown to be - longer than the C89 maximum of 509 bytes. - * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c. - FIXME: this is just temporary, while we wait to remove the offending - access-calling code. - * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free. - * Makefile.maint (sc_cast_of_argument_to_free): Use the - canonical, $$($(CVS_LIST_EXCEPT)). - * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update. - -2007-01-24 Paul Eggert - - * NEWS: New option sort -C, proposed by XCU ERN 127, which looks - like it will be approved. Also add --check=quiet, --check=silent - as long aliases, and --check=diagnose-first as an alias for -c. - * doc/coreutils.texi (sort invocation): Document this. - Also, mention that sort -c can take at most one file. - * src/sort.c: Implement this. - Include argmatch.h. - (usage): Document the change. - (CHECK_OPTION): New constant. - (long_options): --check now takes an optional argument, and is now - treated differently from 'c'. - (check_args, check_types): New constant arrays. - (check): New arg CHECKONLY, which suppresses diagnostic if -C. - (main): Parse the new options. - * tests/sort/Test.pm (02d, 02d, incompat5, incompat6): - New tests for -C. - -2007-01-24 Jim Meyering - - Fix a typo. - * tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir. - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise. - - Don't depend on "which". - * tests/misc/sort-compress (SORT): Use $abs_builddir, now which. - * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir. - -2007-01-24 Dan Hipschman - - Test sort compression. - * tests/misc/Makefile.am: Add the test. - * tests/misc/sort-compress: New file containing the tests. - -2007-01-24 Jim Meyering - - * NEWS: sort temp file compression: tweak wording. - * src/sort.c (struct sortfile) [name]: Declare member to be const. - -2007-01-21 Jim Meyering - - * src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS): - In pipe_fork callers, use these named constants, not "2" and "8". - (proctab, nprocs): Declare to be "static". - (pipe_fork) [lint]: Initialize local, pid, - to avoid unwarranted may-be-used-uninitialized warning. - (create_temp): Use the active voice. Describe parameters, too. - -2007-01-21 James Youngman - - Centralize all the uses of sigprocmask(). Don't restore an invalid - saved mask. - * src/sort.c (enter_cs, leave_cs): New functions for protecting - code sequences against signal delivery. - * (exit_cleanup): Use enter_cs and leave_cs instead of - calling sigprocmask directly. - (create_temp_file, pipe_fork, zaptemp): Likewise - -2007-01-21 Dan Hipschman - - Add compression of temp files to sort. - * NEWS: Mention this. - * bootstrap.conf: Import findprog. - * configure.ac: Add AC_FUNC_FORK. - * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment - variable. - * src/sort.c (compress_program): New global, holds the name of the - external compression program. - (struct sortfile): New type used by mergepfs and friends instead - of filenames to hold PIDs of compressor processes. - (proctab): New global, holds compressor PIDs on which to wait. - (enum procstate, struct procnode): New types used by proctab. - (proctab_hasher, proctab_comparator): New functions for proctab. - (nprocs): New global, number of forked but unreaped children. - (reap, reap_some): New function, wait for/cleanup forked processes. - (register_proc, update_proc, wait_proc): New functions for adding, - modifying and removing proctab entries. - (create_temp_file): Change parameter type to pointer to file - descriptor, and return type to pointer to struct tempnode. - (dup2_or_die): New function used in create_temp and open_temp. - (pipe_fork): New function, creates a pipe and child process. - (create_temp): Creates a temp file and possibly a compression - program to which we filter output. - (open_temp): Opens a compressed temp file and creates a - decompression process through which to filter the input. - (mergefps): Change FILES parameter type to struct sortfile array - and update access accordingly. Use open_temp and reap_some. - (avoid_trashing_input, merge): Change FILES parameter like - mergefps and call create_temp instead of create_temp_file. - (sort): Call create_temp instead of create_temp_file. - Use reap_some. - (avoid_trashing_input, merge, sort, main): Adapt to mergefps. - - The idea of compressing sorts temporary files was first - suggested/implemented by Jay Soffian in 1998, and again - by Charles Randall in 2001. - -2007-01-20 Jim Meyering - - * tests/misc/pwd-long: Work properly even when run from the - wrong one of two or more bind-mounted sibling directories. - Suggestion from Mike Stone in . - -2007-01-20 Paul Eggert - - Standardize on list of signals when an app catches signals. - * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL, - SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ. - * src/ls.c (main): Likewise (except SIGPIPE was already caught). - Note that ls.c is special, as it also catches SIGTSTP. - * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in - . - -2007-01-19 Dan Hipschman - and Paul Eggert - - * src/sort.c (cleanup): Clear temphead at the end. - (exit_cleanup): New function. - (main): Don't invoke atexit until we're ready. - Invoke it with exit_cleanup, not with cleanup and close_stdout, - to avoid a race condition with cleanup and signal handling. More - details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508 - -2007-01-18 Jim Meyering - - * src/c99-to-c89.diff: Adjust remove.c offsets. - -2007-01-17 Jim Meyering - - Make "rm --interactive=never ..." never prompt. - * NEWS: Mention this. - * src/remove.h (enum rm_interactive): New ternary type. - (struct rm_options) [interactive]: Use it, here -- rather than bool. - * src/remove.c (prompt): Reflect type change. - * src/mv.c (rm_option_init): Initialize to RMI_NEVER now. - * src/rm.c (main): Add a FIXME comment for '-d' option. - Adapt to type change of rm_options.interactive. - - * tests/rm/i-never: New file. Test for the above fix. - * tests/rm/Makefile.am (TESTS): Add i-never. - -2007-01-15 Jim Meyering - - * bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore, - emit foo.h, for each foo_.h. This yields one false-positive, fts.h, - but that's ok, since fts_.h will eventually be renamed. - - * src/remove.c (remove_dir): Don't use errno in diagnostic. - Root-only test failure reported by Alex van Hout and Jon Grosshart in - . - - * bootstrap.conf (avoided_gnulib_modules): Fix my typo: - s/--avoid=canonicalize-lgpl/--avoid=canonicalize-gpl/ - -2007-01-14 Bruno Haible - - Enable use of gnulib's new fchdir module. - * bootstrap.conf (avoided_gnulib_modules): Avoid canonicalize-lgpl, - since we use canonicalize. - (gnulib_modules): Add fchdir. - * m4/jm-macros.m4 (coreutils_MACROS): Remove fchdir-stub. - -2007-01-13 Jim Meyering - - * tests/cp/open-perm-race: Remove gdb-based test. - It would run only when compiled with -g, and besides is now - subsumed by file-perm-race. - * tests/cp/Makefile.am (TESTS): Remove open-perm-race. - - * Transform all Makefile.am files so that when running "make check", - CU_TEST_NAME is set to the name of the test. This is so that when I - run valgrind-enabled (--log-file-qualifier=CU_TEST_NAME) "make check" - on the entire package it is more convenient to map a leak or error - found in a valgrind log file back to the offending test. - Use this command: - (echo tests/Makefile.am.in; find tests -name Makefile.am) \ - |xargs perl -pi -e '/^(\s*)PATH=...VG_PATH_PREFIX/ and ' \ - -e 'print $1,q|CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst |,"\\\n"' - -2007-01-11 Jim Meyering - - Avoid a leak in expr's implementation of the ":" (match) operator. - * src/expr.c (docolon): Free the regexp buffer using regfree, rather - than doing it manually, being careful to set fastmap to NULL first. - Free any re_regs.start and .end members, if necessary. - - * tests/misc/test-diag: Work also when libc's error function - reports the entire program name ("../../src/test"), rather than - just the final component. - -2007-01-10 Jim Meyering - - Don't use fts_statp uninitialized for "chown -RLh --preserve-root ...". - * src/chown-core.c (FTSENT_IS_DIRECTORY): New macro. - (change_file_owner): Perform the ROOT_DEV_INO_CHECK only for a - directory. Non-directory entries lack fts_statp data when using - the FTS_NOSTAT option. - -2007-01-07 Jim Meyering - - * tests/sample-test: Update copyright date to 2007. - * Makefile.maint (copyright-check): Also check the copyright date - in tests/sample-test. - -2007-01-06 Jim Meyering - - * tests/fmt/basic (pfx-only, pfx-of-pfx): New tests, - based on examples from G.P. Halkes in - . - -2007-01-06 G.P. Halkes - - * src/fmt.c (copy_rest): Correct prefix handling. - Don't elide a line with the prefix followed by only white space. - (get_line): Move EOF-check to loop-termination condition. - * tests/fmt/basic (pfx-1): Adjust test to expect desired result. - (pfx-2): Remove test; its premise was contrary to the documentation. - -2007-01-05 Jim Meyering - - Avoid a used-uninitialized bug for invalid input, i.e., when the size - of the input, not counting newlines, is 1 % 4. - * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4. - It may be smaller when flushing. - -2007-01-05 Mike Frysinger - - * src/dircolors.hin: Add a TERM directive for cons25. - -2007-01-04 Jim Meyering - - * Makefile.cfg (local-checks-to-skip): Skip strftime-check, in - case you don't have convenient access to glibc info documentation. - - Use the release year, not the current year. - * src/groups.sh (version): Use a better name: @RELEASE_YEAR@. - * src/Makefile.am (RELEASE_YEAR): Define it. - (.sh): Use it. - Thanks to a prod from Eric Blake. - - Ensure that "group --version" always prints the current year. - * src/groups.sh (version): Use @CURRENT_YEAR@, rather than 2006. - * src/Makefile.am (.sh): Also substitute for @CURRENT_YEAR@. - Suggestion from Eric Blake. - - When decoding, always allow newlines in input, with almost no - performance impact. - * src/base64.c (do_decode): Initialize decode context. - Call base64_decode one more time, after all input is processed. - (usage): When decoding, newlines are always accepted. - - * tests/misc/base64: Add a bunch of tests, for the above. - * gl/lib/base64.c: Include . - (base64_decode_ctx_init, get_4, decode_4): New functions. - (base64_decode): Efficiently handle interspersed newlines. - (base64_decode_alloc): Update signature. - * gl/lib/base64.h (struct base64_decode_context): Define. - (base64_decode_ctx_init): Add prototype. - (base64_decode, base64_decode_alloc): Update prototypes. - - * gl/lib/base64.c: Copied from gnulib. - * gl/lib/base64.h: Likewise. - -2007-01-03 Jim Meyering - - * THANKS: Add Evan Hunt. - -2007-01-03 Bruno Haible - - Avoid spurious test failures on MacOS X 10.3.9, in a German locale. - * tests/chown/deref: Apply lang-default. - * tests/misc/split-a: Likewise. - * tests/mv/reply-no: Likewise. - - * src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails. - Needed on MacOS X. - -2007-01-02 Paul Eggert - - Now, "ls -FRL" always follows symbolic links on Linux. - * NEWS: Mention this bug fix. - * src/ls.c (gobble_file): Fix bug reported by - Nobuyuki Tsuchimura in - http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00152.html - where "ls -FRL" didn't follow a symbolic link in some cases on Linux. - * tests/ls/follow-slink: Add a test for this case. - -2007-01-01 Jim Meyering - - * tests/rm/fail-eperm: Revert last change. The PATH=... setting - is not honored at least on HP-UX 11.23 systems. - Instead, simply transform the actual output diagnostic. - Test failure reported by Bob Proulx. - - - ----- - - Copyright (C) 2007-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/ChangeLog-2008 b/ChangeLog-2008 deleted file mode 100644 index dde945b9c..000000000 --- a/ChangeLog-2008 +++ /dev/null @@ -1,379 +0,0 @@ -2008-12-16 Jim Meyering - - NB: ChangeLog files are no longer manually maintained. - See HACKING for details. - -2008-02-07 Jim Meyering - - We *do* need two different version files. - One for tarball-only, the other to be updated any time we - get a new value of $(VERSION). - * Makefile.am (dist-hook): Create .tarball-version in dist tarball. - * GNUmakefile (_curr-ver): Make git-version-gen use it. - * .gitignore: Ignore it. - - Fix a typo in description of size suffixes: s/GB/G/. - * doc/coreutils.texi (od invocation, head invocation, tail invocation): - Spotted by Bert Wesarg. - - * NEWS [6.9.90]: Mention the added feature that head, od, split and - tail now accept the standard size suffixes (kB, M, MB, G, GB, and - so on for T, P, Y, Z, and Y) on arguments to selected options. - -2008-02-06 Steven Schubiger - - mkdir, split: write --verbose output to stdout, not stderr. - * src/mkdir.c (verbose_output): New function. - (announce_mkdir): Use it. - * src/split.c (usage): Update. - * src/split.c (cwrite): Write to stdout, not stderr. - * doc/coreutils.texi (split invocation): Remove the mention - of --verbose output being printed to stderr. - * tests/mkdir/p-v: Redirect stdout, not stderr. - * tests/misc/split-a: Likewise. - * NEWS: Mention this change. - * TODO: Remove this item. - -2008-02-04 Jim Meyering - - * Makefile.maint (announcement): Remove stale comment. - -2008-02-02 Jim Meyering - - Clarify a comment. - * tests/sort/Test.pm: Replace a vague ChangeLog reference with a URL. - -2008-01-31 Bob Proulx - - Improve wording of date and time man page. - * man/date.x: Improve compact description of the --date=STRING. - * man/touch.x: Likewise. - Suggested by A. Costa. - -2008-01-31 Jim Meyering - - Remove alignment constraint from the sha*_read_ctx functions. - * lib/sha256.c (set_uint32): New function. - (sha256_read_ctx, sha224_read_ctx): Use it. - * lib/sha512.c (set_uint64): New function. - (sha512_read_ctx, sha384_read_ctx): Use it. - * lib/sha256.h: Remove warning about alignment constraint. - * lib/sha512.h: Likewise. - Prompted by similar changes in gnulib's sha1 and md[45] modules. - - Adapt to new version of vc-list-files. - * tests/check.mk (vc_exe_in_TESTS): Adapt to new constraint - that vc-list-files be run only from $(top_srcdir). - - Pull vc-list-files from gnulib. - * bootstrap.conf (gnulib_modules): Add vc-list-files. - * build-aux/vc-list-files: Remove file. - - Improve the cp/parent-perm test. - * tests/cp/parent-perm: Also check that perms of existing dest - dirs are changed to match those of corresponding src dir - -2008-01-30 Paul Eggert - - Don't modify argv in dd due to ',' in arguments. - * src/dd.c: Include quotearg.h. - (operand_matches): New function. - (parse_symbols, operand_is): Use it. - (parse_symbols): 1st arg is now const pointer. Don't modify it. - msgid arg is now just the message, not a format. - (scanargs): Add some 'const's to check for problems like the above. - -2008-01-30 Jim Meyering - - * src/c99-to-c89.diff: Adjust remove.c offsets, again. - - Now that system.h defines is_empty_dir, include "openat.h". - * src/system.h: Include "openat.h" here, ... - * src/chcon.c: ... not here. - * src/chmod.c: Likewise. - * src/chown-core.c: Likewise. - * src/remove.c: Likewise. - - * src/c99-to-c89.diff: Adjust remove.c offsets. - - Improve "rmdir --ignore-fail-on-non-empty" - * src/rmdir.c (remove_parents, main): With --ignore-fail-on-non-empty, - suppress a diagnostic also for other errno values, which can arise - with read-only media or when the parent directory has the immutable - attribute (set via chattr +i). - (errno_may_be_empty, ignorable_failure): New functions. - * src/remove.c (is_empty_dir): Move function to ... - * src/system.h (is_empty_dir): ...here, and make it inline. - Suggested by Josselin Mouette in - via Bob Proulx. - * NEWS: Mention the improvement. - -2008-01-29 Paul Eggert - - Don't modify argv in dd. - * src/dd.c (operand_is): New function. - (scanargs): Use it so that we don't need to modify argv, as a nicety. - Problem reported by Adam Goode in - . - -2008-01-29 Jim Meyering - - * Makefile.am (BUILT_SOURCES): Ensure that .version exists. - Reported by Bob Proulx. - -2008-01-29 Bob Proulx - - Improve the man pages of --date=STRING for 'date' and 'touch'. - * man/date.x: Add a compact description of the --date=STRING. - * man/touch.x: Likewise. - Reported by A. Costa in http://bugs.debian.org/363011 - -2008-01-29 Michael Stone - - Improve the description of when dd outputs its final statistics. - * doc/coreutils.texi (dd invocation): Say that dd prints stats - upon normal termination and upon SIGINT. - -2008-01-29 Jim Meyering - - Avoid "make distcheck" failure: newly-created man/*.1 files not removed - * Makefile.am (EXTRA_DIST): Add .version. - (.version): New rule. - (dist-hook): Don't create $(distdir)/.version here, now that it's - being distributed. - * man/Makefile.am (common_dep): Use ../.version, not ../VERSION. - (../VERSION): Remove rule. - * GNUmakefile (dummy): Create .version, not VERSION. - Add an extra "...:= $(shell..." statement to ensure that - .version exists even when the preceding code is not run. - * .gitignore: Remove both .version and VERSION. - - ls: don't segfault on files in /proc with an old libselinux - * src/ls.c (gobble_file): Work around a bug in libselinux1-2.0.15 - whereby getfilecon returns 0 yet sets the context to NULL. - Reported by Jan Moringen via Michael Stone in - http://bugs.debian.org/463043 - * tests/ls/Makefile.am (TESTS): Add proc-selinux-segfault. - * tests/ls/proc-selinux-segfault: Test for the above fix. - * NEWS: Mention the fix. - -2008-01-26 Jim Meyering - - Work around Darwin9's set-GID-like group ownership inheritance. - This avoids another spurious Mac OS 10.5.1 (Darwin 9.1) test failure. - * tests/cp/preserve-gid: Accept a group ID of 0, as well. - Reported by Elias Pipping. - - Emit "info coreutils 'PROG invocation'" into the man page, - rather than just "info PROG". The latter would often fail - or simply display the man page. - * man/help2man: Change the template. - Prompted by http://bugs.debian.org/399684 - - chcon: correct description of --no-dereference (-h) option. - * src/chcon.c (usage): Remove invalid reference to lchown. - Reported by Göran Uddeborg. - - Ensure that each version string change propagates to man pages. - * man/Makefile.am (common_dep): Don't depend on configure.ac for - version changes. Instead, depend on ../VERSION. - (../VERSION): New rule. - * Makefile.am (DISTCLEANFILES): Define. - * GNUmakefile: Update ./VERSION. - * .gitignore: List VERSION. - Reported by Sven Joachim. - - Avoid cp/preserve-gid test failure on Mac OS 10.5.1 (Darwin 9.1) - * tests/cp/preserve-gid: Set group as well as owner on ".". - Reported by Elias Pipping. - - Improve a warning about non-portable "mv" usage. - * doc/coreutils.texi (mv invocation): Adjust the warning: moving a - dir-symlink-specified-with-a-trailing-slash works in a surprising - manner only on some systems. Reported by Tomas Pospisek in - http://bugs.debian.org/343652. - -2008-01-26 Mike Frysinger - - * src/dircolors.hin (TERM): Add jfbterm. - -2008-01-23 Jim Meyering - - Clean up build-related rules. - * Makefile.cfg (gnulib_dir): Update comment. - * Makefile.maint (announcement) [cl_date, utc_date]: Don't set - now-unused variables. - - * TODO: Update the note on getgrouplist. - -2008-01-23 Zvi Har'El - - Add a ";", so "make install" works with --enable-install-program=su. - * src/Makefile.am (install_su): Add a semicolon. (tiny change) - -2008-01-23 Jim Meyering - - Avoid misinterpreting mgetgroups failure in running root-only tests. - * src/setuidgid.c (main): Don't misinterpret as size_t an error - return from mgetgroups. Reported by Theodoros V. Kalamatianos. - - * README: Remove/convert a few stray mentions of CVS. - -2008-01-22 Jim Meyering - - Require automake-1.10.1, for its support of dist-lzma. - * configure.ac (AM_INIT_AUTOMAKE): Require 1.10.1. - - Version 6.10. - - * NEWS: Record release date. - - * README-hacking: Update to reflect existence of automake-1.10.1. - -2008-01-18 Jim Meyering - - Update README. - * README: Remove a note about failing tests on SunOS 4. - On Mac OS 10.5.1 (Darwin 9.1), you'll need --disable-acl. - (Running tests as root): Recommend using "check-root", not "check". - -2008-01-17 Jim Meyering - - Do not define-away __attribute__ when __STRICT_ANSI__ is set. - * src/system.h (__attribute__): Remove the __STRICT_ANSI__ disjunct. - It has been unnecessary since approximately gcc-2.6, and now, leaving - it would cause gcc -Werror -ansi to fail to compile csplit.c. - * gl/lib/randread.c (__attribute__): Likewise. - -2008-01-16 Jim Meyering - - * NEWS: Mention the configure.ac fix. - - * TODO: Add an introduction. - Remove a few entries. Update a few others. - -2008-01-13 Jim Meyering - - Remove each output redirection target before writing to it. - * tests/check.mk (vc_exe_in_TESTS): Remove t1 and t2 _first_, - in case they exist beforehand and are not writable. - * build-aux/check.mk (am__check_pre): Likewise, remove $@-t. - -2008-01-13 Elias Pipping - - * configure.ac: Correct a non-portable use of sed. - -2008-01-12 Mike Frysinger - - * src/dircolors.hin (image formats): Add the .svg suffix. - -2008-01-12 Jim Meyering - - Use new version of announce-gen. - * Makefile.maint (announcement): Remove use of the - --gnulib-snapshot-time-stamp option. - Use new --gnulib-version option instead. - (gnulib-version): New variable. - -2008-01-11 Jim Meyering - - * Version 6.9.92. - - * tests/tr/Test.pm: Prefer en_US.ISO-8859-1 to en_US.iso88591. - Suggestions from James Youngman and Pádraig Brady in - http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12218/focus=12227 - -2008-01-10 Jim Meyering - - * README-hacking: Add Git to the list of required tools. - -2008-01-08 Paul Eggert - - Fix a minor race condition when using cp -p --parents. - * src/cp.c (make_dir_parents_private): If stat fails on the parent - directory, do not add it to the list of directories whose modes - might need fixing later. Also, do not bother invoking 'stat' - unless the stat results might be needed later. - -2008-01-08 Jim Meyering - - parent-perm: avoid a bizarre test failure. - * tests/cp/parent-perm: Accommodate the situation in which - chmod ("dir", 02755) returns 0 yet fails to set the S_ISGID bit. - - Remove uses of now-undefined Makefile variable. - * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Remove uses - of no-longer-defined variable, $(LIB_ACL_TRIVIAL). - -2008-01-07 Jim Meyering - - cp (but not copy.c): plug a small leak. - * src/cp.c (do_copy) [--parents]: Free the attribute list. - - Make a racy test failure less likely to happen. - * tests/misc/tty-eof: Uncomment a debug "warn". - This change happens to make this test far less likely to fail. - With that statement commented out, this test would fail about - 20% of the time on my desktop. Now, it's gone 100 iterations - in a row with no failure. - - * NEWS: Mention the cp bug fix. - -2008-01-07 Jan Blunck - - cp --parents: don't use uninitialized memory when restoring permissions - * src/cp.c (make_dir_parents_private): Always stat each source - directory, in case its permissions are required in re_protect, - when setting permissions of a just-created destination directory. - -2008-01-07 Jim Meyering - - cp: add a test for today's bug fix. - * tests/cp/parent-perm: New script. Test today's change. - Based on reproducer from Jan Blunck. - * tests/cp/Makefile.am (TESTS): Add parent-perm. - -2008-01-06 Jim Meyering - - touch: add a test for today's change. - * tests/touch/now-owned-by-other: New script. Test today's change. - * tests/touch/Makefile.am (TESTS): Add now-owned-by-other. - * tests/Makefile.am (all_t): Add td, a new root-only test. - (td): New target. - * NEWS: Mention the improvement. - -2008-01-06 Paul Eggert - - touch: ignore "-d now" option, when appropriate - * src/touch.c (main): Treat "-d now" as if it were absent, if - neither -a nor -m is specified. Problem reported by Dan Jacobson in: - http://lists.gnu.org/archive/html/bug-coreutils/2008-01/msg00010.html - -2008-01-05 Jim Meyering - - Avoid tr case-conversion failure in some locales. - * src/tr.c (skip_construct): New function. - (main): When processing a pair of case-converting classes, don't - iterate through the elements of each [:upper:] or [:lower:] class. - Reported by Gerald Pfeifer in - . - * tests/tr/Test.pm [tolower-F]: New test for the above fix. - [upcase-xtra, dncase-xtra]: New tests, for a related code path. - * NEWS: Mention the tr bug fix. - -2008-01-02 Jim Meyering - - * .gitignore: Ignore lzma-compressed files, too. - - Update copyright date. - * tests/sample-test: Likewise. - * doc/coreutils.texi: Likewise. - - - ----- - - Copyright (C) 2008-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/Makefile.am b/Makefile.am index d28afe9f2..68f537cef 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,23 +20,9 @@ ALL_RECURSIVE_TARGETS = SUBDIRS = po . gnulib-tests changelog_etc = \ - ChangeLog-2005 \ - ChangeLog-2006 \ - ChangeLog-2007 \ - ChangeLog-2008 \ build-aux/ChangeLog-2007 \ - doc/ChangeLog-2007 \ lib/ChangeLog-2007 \ - m4/ChangeLog-2007 \ - old/fileutils/ChangeLog \ - old/fileutils/ChangeLog-1997 \ - old/fileutils/NEWS \ - old/sh-utils/ChangeLog \ - old/sh-utils/ChangeLog.0 \ - old/sh-utils/NEWS \ - old/textutils/ChangeLog \ - old/textutils/NEWS \ - po/ChangeLog-2007 + m4/ChangeLog-2007 EXTRA_DIST = \ $(changelog_etc) \ @@ -110,7 +96,7 @@ dist-hook: gen-ChangeLog $(AM_V_GEN)date +%s > $(distdir)/.timestamp $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in -gen_start_date = 2008-02-08 +gen_start_ver = 8.15 .PHONY: gen-ChangeLog gen-ChangeLog: $(AM_V_GEN)if test -d .git; then \ @@ -118,9 +104,11 @@ gen-ChangeLog: test -e "$$log_fix" \ && amend_git_log="--amend=$$log_fix" \ || amend_git_log=; \ - $(top_srcdir)/build-aux/gitlog-to-changelog \ - $$amend_git_log --since=$(gen_start_date) > $(distdir)/cl-t && \ - { rm -f $(distdir)/ChangeLog && \ + $(top_srcdir)/build-aux/gitlog-to-changelog $$amend_git_log \ + -- v$(gen_start_ver)~.. > $(distdir)/cl-t && \ + { printf '\n\nSee the source repo for older entries\n' \ + >> $(distdir)/cl-t && \ + rm -f $(distdir)/ChangeLog && \ mv $(distdir)/cl-t $(distdir)/ChangeLog; } \ fi diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix index 0260a9334..bef5a9b54 100644 --- a/build-aux/git-log-fix +++ b/build-aux/git-log-fix @@ -2,55 +2,6 @@ # option. It specifies what changes to make to each given SHA1's commit # log and metadata, using Perl-eval'able expressions. -3a169f4c5d9159283548178668d2fae6fced3030 -# fix title: -s/all tile types/all file types/ - -e181802521d4e19e367dbe8cfa877296bb5dafb2 -# fix the title! -s,seq:,factor:, - -3ece0355d52e41a1b079c0c46477a32250278c11 -# correct the URL -s,,, - -# This is wrong now only in the git log. The ChangeLog-2008 -# entry was also erroneous, but has been corrected. -# ed5c4e770a27862813c0182be8680abeb005d15b -# # Wrong bug ID: -# s,/363011,/350541, -# # in this: -# # Suggested by Josselin Mouette in - -# This was wrong only in the git log. The ChangeLog entry was -# is from 2007, and so was recorded (correctly) in ChangeLog-2007. -# 1379ed974f1fa39b12e2ffab18b3f7a607082202 -# # Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself. -# # Change the author to be Paul. Note the escaped "@": -# s,Jim .*>,Paul Eggert , - -209850fd7e1e89cf8937310878bd22d70e3588a5 -s/isspace/isblank/ -# in this: -# * tests/misc/uniq: New file. Test for the above, but only -# when isspace(0240). - -760bc6f7e73014e934a744a9d46ea8dbf5ba25c8 -s/Now, each/Now, the/; -s!(elicits.*)\.!first $1, and the second works properly.! -# change the log from this: -# Without this, `truncate -s '> -1' F` would truncate F to length 0, -# and `truncate -s " +1" F` would truncate F to 1 byte. Now, each -# elicits a diagnostic. -# to this: -# Without this, `truncate -s '> -1' F` would truncate F to length 0, -# and `truncate -s " +1" F` would truncate F to 1 byte. Now, the -# first elicits a diagnostic, and the second works properly. - -# Credit initial reporter of a related issue, now that the BZ is public. -1e18d8416f9ef43bf08982cabe54220587061a08 -s,by ,by Nao Nishijima in http://bugzilla.redhat.com/766461\nand by , - # I was unable to apply the c-set using normal methods, so # applied it with patch and then forgot to reset the Author. 51a4b04954ad5ad12de1d1b82a3603fc350a3bfa diff --git a/doc/ChangeLog-2007 b/doc/ChangeLog-2007 deleted file mode 100644 index f7c09c950..000000000 --- a/doc/ChangeLog-2007 +++ /dev/null @@ -1,2009 +0,0 @@ -2007-10-05 Jim Meyering - - * coreutils.texi (chroot invocation): List two systems on which - chroot works when run by non-root. - -2007-09-19 Jim Meyering - - * coreutils.texi (expr invocation): Correct description of relative - operator precedence. Reported by hanpingtian@gmail.com. - -2007-08-25 Eric Blake - - Avoid case-insensitive clash in one-page-per-node html docs. - * coreutils.texi (Concept index): Rename from Index. - -2007-07-15 Jim Meyering - - * coreutils.texi: Revise node structure per new fdl.texi. - -2007-06-06 Jim Meyering - - * coreutils.texi (rmdir invocation): Fix a tiny typo. - -2007-06-03 Jim Meyering - - * constants.texi: Remove from version control. - This file has always been generated. - * .gitignore: Add constants.texi. - -2007-04-28 Paul Eggert - - * coreutils.texi (nohup invocation): Add advice about saving - output to a file. - -2007-04-16 Jim Meyering - - * coreutils.texi (cut invocation): Adjust synopsis to show that an - OPTION is required. Reported by Rudolf Kastl. - -2007-03-21 Eric Blake - - * coreutils.texi (md5sum invocation): Document escapes in output - format. Reported by Armijn Hemel. - -2007-03-15 Paul Eggert - - Fix manual in response to bug reports by Dan Jacobson. - * coreutils.texi (sort invocation): Explain numeric sorts better. - Compress self-congratulation into a simple "comparison is exact" - notice; the --general-numeric-sort option already explains the - tradeoffs. - (seq invocation): Add example of -f. - -2007-03-12 Jim Meyering - - * coreutils.texi (cp invocation): Mention that --preserve=timestamps - doesn't preserve time stamps on symbolic links. - Reported by Polo Talnir in . - -2007-02-27 Paul Eggert - - * coreutils.texi (df invocation): With -P, the default block size - and output format is not affected by DF_BLOCK_SIZE, BLOCK_SIZE, or - BLOCKSIZE. - -2007-01-30 Paul Eggert - - * coreutils.texi - (Input processing in ptx, mkdir invocation, rmdir invocation): - @item -> @itemx to fix some typos. - -2007-01-30 Paul Eggert - - * coreutils.texi (mkdir invocation): Say how to set the file - permission bits of a parent directory with mkdir -p. - -2007-01-29 Jim Meyering - - Document new syntax: "chown +0:+287 file", "chgrp +99 file" - * coreutils.texi (Disambiguating names and IDs): New section. - (chown invocation, chgrp invocation): Mention the new syntax - with an xref to the new section. - -2007-01-19 Jim Meyering - - * coreutils.texi (ls: General output formatting): Mention the - workarounds to accommodate the Apple Terminal bug. - -2007-01-04 Jim Meyering - - * coreutils.texi (base64 invocation): When decoding, newlines - are always accepted. - -2007-01-03 Jim Meyering - - Document what the ".0" in e.g., "-k 2,3.0" means, and... - * coreutils.texi (sort invocation): ... that it can be applied to the - field-end spec, but not the field-start one. Patch from Evan Hunt. - -2006-12-21 Jim Meyering - - * coreutils.texi (dd invocation): Improve the documentation - for bs, ibs, obs, and cbs. Suggestion from Dan Jacobson. - Patch by Olivier Delhomme. - (dd invocation): Add to the description of cbs. - (dd invocation): Specify that bs=N overrides only any - _preceding_ ibs and obs settings. Spotted by Andreas Schwab. - -2006-12-14 Jim Meyering - - * coreutils.texi: Remove two doubled words. - (Treating / specially): With --preserve-root, chgrp and chown - will not modify "/", even through a symlink. - -2006-11-28 Jim Meyering - - * perm.texi (Mode Structure): Fix typo: s/setgid/setuid/. - Reported by Georg Neis as Debian bug 400778. - -2006-10-27 Jim Meyering - - * coreutils.texi (wc invocation): When giving the order in which - the various "counts" are listed, also mention "maximum line length". - Prompted by a report from Vincent LeFevre. - -2006-10-23 Jim Meyering - - * coreutils.texi (rm invocation): Describe --one-file-system. - -2006-09-26 Paul Eggert - - * coreutils.texi (groups invocation): "groups" no longer prefixes - the output with "user :" unless more than one user is specified. - -2006-09-19 Paul Eggert - - * coreutils.texi (cp invocation): Say that -i and -f are - independent. Clarify -i's behavior. - (Disk usage): Clarify intro. Problem reported by Van Ly. - -2006-09-08 Paul Eggert - - * coreutils.texi (tail invocation): Ignore -f when standard input - is a FIFO, too. - -2006-09-02 Paul Eggert - - * coreutils.texi (Treating / specially): --preserve-root is - now the default for rm. - (rm invocation): Likewise. Also, document that you can't - remove `.' or `..'. Use the POSIX term "root directory" - rather than the more-ambiguous "file system root". - -2006-08-22 Paul Eggert - - * .cvsignore: Add Makefile.in, coreutils.html, coreutils.pdf, - coreutils.ps, coreutils.tps. Remove coreutils.cm (dunno what it - is, but the makefile doesn't mention it). Remove coreutils.info - as it is subsumed by coreutils.info*. - -2006-08-22 Jim Meyering - - * .cvsignore: Add files that are now generated by ../bootstrap. - -2006-08-20 Paul Eggert - - * Makefile.in, fdl.texi, getdate.texi: - Remove from CVS, since ../bootstrap generates them automatically. - -2006-08-17 Jim Meyering - - * Makefile.am (EXTRA_DIST): Reflect doclicense.texi->fdl.texi renaming. - -2006-08-17 Paul Eggert - - * ChangeLog: Add copyright notice. - * Makefile.am: Likewise. - * getdate.texi: Likewise. - * perm.texi: Likewise. - * getdate.texi: Update to version 1.2 of the GNU FDL. - * coreutils.texi: Likewise. - (Copying This Manual): Renamed from GNU Free Documentation License. - Now an appendix. Include fdl.texi rather than doclicense.texi. - * fdl.tex: Renamed from doclicense.texi. Latest version from FSF. - * perm.texi: Add copyright notice. - -2006-08-15 Paul Eggert - - * coreutils.texi (df invocation): df exits nonzero if it outputs - nothing. - -2006-08-09 Paul Eggert - - * coreutils.texi (dd invocation): Warn about oflag=append without - conv=notrunc. See Debian bug 373736. - -2006-08-08 Paul Eggert - - * coreutils.texi (shuf invocation, Random sources): New sections. - (Operating on sorted files): Add shuf. - (sort invocation, shred invocation): New option --random-source. - (sort invocation): Fix typo: -R -> -r. - -2006-07-28 Paul Eggert - - * coreutils.texi (install invocation, mkdir invocation): - Add cross-references to Directory Setuid and Setgid. - (install-invocation): The default mode is no longer equivalent to 755. - * perm.texi (Changing Special Mode Bits): Clarify u+s versus - a+s versus +s, and likewise for g+s. - (Numeric Modes): Bring back example of 0055 == 55. 4755 no - longer clears setgid bit on directories. - (Directory Setuid and Setgid): Numeric modes now affect setuid - and setgid on directories only if they set these bits. This - is so that leading 0 has no effect on numeric modes. - -2006-07-26 Jim Meyering - - * coreutils.texi (What information is listed): Mention that missing - pieces of information are marked with "?". From Paul Eggert. - -2006-07-25 Paul Eggert - - * perm.texi (Directory Setuid and Setgid): Explain that this is a - GNU extension, and that other systems behave differently here. - -2006-07-22 Paul Eggert - - * coreutils.texi (What information is listed): Clarify that the - restricted deletion flag is another name for the sticky bit. - * perm.texi (Mode Structure): The restricted deletion flag - restricts only unprivileged users. - (Mode Structure, Symbolic Modes, Numeric Modes): Be more careful - about distinguishing file mode bits from permissions bits, - and about execute versus search permission. The FreeBSD command - is chflags, not chrflags. - -2006-07-16 Paul Eggert - - * coreutils.texi: Change GNU to @acronym{GNU} in a few places. - Use "set-user-ID" and "set-group-ID" a bit more consistently. - Use "appropriate privileges" rather than "super-user" a bit - more consistently. - (install invocation): Parent directories are now 755 without uid - or gid changing. The default mode is now 0755, not 755. - (mkdir invocation): Rewrite the top-level usage description, since - I couldn't easily follow the old one. It's now 3 lines not 8. - For -m, describe file permission bits versus other bits, and note - that mkdir is atomic if you don't mention special bits. - (chmod invocation): Mention what chmod does to setgid and setuid bits. - * perm.texi (Mode Structure): Modernize the explanation of the - setuid and setgid bits on directories. - (Changing Special Mode Bits): Mention that a implies both u and g - for s. Cross reference to new node. - (Numeric Modes): Don't claim that 0055 is the same as 55; this isn't - true any more. Mention new node. - 4755 is now like u=rwxs,go=rx,g-s, not like u=rwxs,go=rx. - (Directory Setuid and Setgid): New node. - -2006-07-08 Jim Meyering - - * coreutils.texi (Squeezing): Separate doubled "the", so typo-checkers - don't complain. - - * Makefile.am (check-texinfo): Enforce the zeros vs. zeroes consistency. - -2006-07-08 Ralf Wildenhues - - * coreutils.texi: Fix some typos. Use `zeros' consistently (both - `zeros' and `zeroes' are correct). - -2006-07-01 Paul Eggert - - * coreutils.texi (tail invocation): With no operand, 'tail -f' now - silently ignores the '-f' only if standard input is a FIFO or pipe - and POSIXLY_CORRECT is set. - -2006-06-30 Paul Eggert - - * coreutils.texi (seq invocation): seq now uses long double - internally rather than double. It now defaults to a minimal fixed - point format if possible. It lets you use %a, %A, %E, %F, %G. - Don't assume printf doesn't work for numbers that fit in 64 but - not 32 bits; typically they work these days. Improve discussion - of large integers and update the rounding-error numbers. - -2006-06-28 Paul Eggert - - * coreutils.texi (sort invocation): 'sort +1 -2' is now supported - even when conforming to POSIX 1003.1-2001, since this is a pure - extension to POSIX. - -2006-06-27 Jim Meyering - - * coreutils.texi (wc invocation): Remove ./ prefix from example. - From Padraig Brady. - -2006-06-26 Jim Meyering - - * coreutils.texi (wc invocation): Spell out `--files0-from' in - the example. Suggestion from Bob Proulx. - - * coreutils.texi (wc invocation): Document new --files0-from option. - -2006-06-20 Eric Blake - - * coreutils.texi (sleep invocation): Document that accepting - multiple arguments and suffixes are extensions. - Reported by Dan Jacobson. - -2006-06-12 Paul Eggert - - * Makefile.am (check-texinfo): Use $(_W) and $(W_) instead of - assuming grep -w (which is not portable). - -2006-05-27 Ralf Wildenhues - - * Makefile.am: Use `AM_MAKEINFOFLAGS' rather than - overwriting `MAKEINFO', so that `missing' can do its job. - - * Makefile.am (check-texinfo): Use `$(EGREP)' instead of `grep -E'. - (check-texinfo): Use literal `{' only in brackets, i.e., [{] or [}], - to avoid triggering an error from Solaris 2.6's grep. - -2006-05-25 Paul Eggert - - * coreutils.texi (sort invocation): Remove mention of --seed, since - it's going away. - -2006-05-04 Eric Blake - - * coreutils.texi (Examples of date): Give example of @seconds. - -2006-05-03 Paul Eggert - - * coreutils.texi (head invocation, tail invocation, sort invocation): - Give advice about porting to hosts that support only obsolete syntax. - Problem reported by Zack Weinberg. - -2006-04-23 Francesco Montorsi - - * coreutils.texi (Which files are listed): Describe new option: - --group-directories-first. - -2006-04-17 Paul Eggert - - * coreutils.texi (What information is listed): Add P for Solaris - 10 ports. Add commented-out entries for other types that POSIX - says are possible, or that I observed in FreeBSD documentation. - -2006-04-18 Jim Meyering - - * coreutils.texi (Input processing in ptx): Remove mention of the - default --ignore file, /usr/local/lib/eign. That file has never - been used. Reported by Eric Blake. - -2006-04-12 Paul Eggert - - * coreutils.texi (expr invocation): expr exit status is 3 only for - internal errors now; 2 is also for invalid values in expressions. - - (What information is listed): Document 'ls' type letters. - Problem reported by Lincoln Martin. - -2006-04-09 Ori Avtalion - - * coreutils.texi (Top): Add 'hostid' to System context menu line. - (trivial change) - -2006-03-22 Eric Blake - - * coreutils.texi (General options in ptx): Undocument --copyright. - -2006-03-27 Eric Blake - - * coreutils.texi (dirname invocation): Macro in previous patch - was too broad. - -2006-03-11 Eric Blake - - * coreutils.texi (basename invocation, dirname invocation): - Improve documentation to match recent // patches. - -2006-03-23 Paul Eggert - - * coreutils.texi (nohup invocation): nohup now redirects stderr to - nohup.out if stdout is closed and stderr is a tty. - -2006-03-05 Paul Eggert - - * coreutils.texi (dd invocation): New flags directory, nolinks. - Alphabetize nofollow. - -2006-02-17 Simon Josefsson - - * coreutils.texi: Add base64 section. - -2006-02-20 Eric Blake - - * coreutils.texi (rm invocation): Fix typo in last patch. - (paste invocation): Fix whitespace. - -2006-02-18 Eric Blake - - * coreutils.texi (rm invocation): Document new -I option, and new - --interactive behavior. - -2006-02-12 Jim Meyering - - * coreutils.texi (Character sets): Don't say that an unknown - backslash-escape causes an error message -- it doesn't. - Mention that `\' also removes any special significance, so - is useful for [, ], *, -. Prompted by Richard Neill in - http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=14937 - -2006-02-01 Paul Eggert - - * coreutils.texi (od invocation): Warn that -t a ignores the high - order bit. - -2006-01-30 Paul Eggert - - * coreutils.texi (tail invocation): In the obsolete usage, the - count is optional, so put square brackets around it. - -2006-01-02 Paul Eggert - - * getdate.texi (General date syntax): Invalid dates are rejected. - (Time of day items): Mention the possibility of leap seconds. - Problem reported by Dr. David Alan Gilbert. - - * coreutils.texi: Use @acronym around "ISO" uniformly. - (Date conversion specifiers): Explain %g, %G, and %V a bit better. - -2006-01-02 Jim Meyering - - * coreutils.texi (tail invocation): Say that --retry - is useful `mainly' (not `only') when following by name. - -2006-01-01 Paul Eggert - - * coreutils.texi, perm.texi: Clarify file mode bits versus - file permission bits. - * coreutils.texi (mkfifo invocation, mknod invocation): -m - affects only file permission bits. - -2005-12-29 Paul Eggert - - * coreutils.texi (sort invocation): Clarify that a blank is a space - or a tab. - -2005-12-15 Jim Meyering - - * coreutils.texi (stat invocation) [--printf]: Describe new option. - [--format]: Add example. Distinguish from --printf. - Sort option descriptions. - -2005-12-05 Andreas Gruenbacher - - * coreutils.texi (ls): Clarify the Alternate Access Method description. - (cp): Clarify that --preserve=mode also preserves acls. - -2005-12-12 Paul Eggert - - * coreutils.texi (sort invocation): Clarify explanation of - --random-sort, and use a simpler example. - -2005-12-10 Frederik Eaton - - * coreutils.texi (sort invocation): Add --random-sort (-R) and --seed. - -2005-12-07 Paul Eggert - - * coreutils.texi (dd invocation): New noatime flag. - -2005-11-25 Paul Eggert - - * coreutils.texi (df invocation): Document treatment of dummy file - systems better. - -2005-11-16 Paul Eggert - - * coreutils.texi (ln invocation): ln -v now outputs lines only for - successful links. - (tail invocation): Say that the obsolete form uses exactly one - option and at most one file. - -2005-11-13 Jim Meyering - - * perm.texi (Mode Structure): Capitalize two sentences in an - enumerated list and fix a typo. From Aaron Hawley. - -2005-11-08 Paul Eggert - - * coreutils.texi (Formatting file timestamps): ls now defaults to - --time-style='locale', which in turn acts like - --time-style='posix-long-iso' if the locale settings are messed up. - -2005-11-02 Paul Eggert - - * coreutils.texi (rm invocation): Don't mention --directory (-d). - -2005-11-01 Paul Eggert - - * coreutils.texi (tail invocation): Describe obsolete usages - like "tail -2" more precisely. - (touch invocation): The old usage works only for 1969-1999 now. - -2005-08-28 David Madore - - * coreutils.texi: Document SHA-1 and SHA-2 utilities. - -2005-10-15 Paul Eggert - - * doc/coreutils.texi (Top, General output formatting, dir invocation): - (vdir invocation): Don't document the old v and d commands. - -2005-10-15 Jim Meyering - - * coreutils.texi (du invocation): Document du's -m option, - now that we've decided to keep it. - (who invocation): Remove documentation for deprecated --idle (-i). - -2005-10-13 Jim Meyering - - * coreutils.texi: Avoid a few overfull/underfull hboxes. - -2005-09-24 Paul Eggert - - * coreutils.texi (touch invocation): - "touch -" now touches standard output. - -2005-09-17 Paul Eggert - - * coreutils.texi (who invocation): Remove a stray '+'. - -2005-09-15 Paul Eggert - - * coreutils.texi (uname invocation): uname -a no longer generates - the -p and -i outputs if they are unknown. - -2005-09-13 Paul Eggert - - * coreutils.texi (Time conversion specifiers, Options for date): - Document date --rfc-3339 and new specifiers %:z, %::z, %:::z. Use - "date and time" consistently; the old version sometimes said "time - and date". Fix a minor bug in the documentation for --rfc-2822: - it claimed day-of-month < 10 had leading space, not leading zero. - Use a consistent format for terms like "RFC". - (uname invocation): Mention that Linux outputs "unknown" for - -i and -p. - -2005-09-08 Paul Eggert - - * coreutils.texi (nice invocation): Document "niceness" versus - "nice value" versus "scheduling priority". - -2005-09-07 Paul Eggert - - * coreutils.texi (nice invocation): Use "niceness", not "nice value" - to talk about nice values offset by -20. Don't use the word - "priority" when niceness is intended. - -2005-08-15 Jim Meyering - - * coreutils.texi (join invocation): Itemize the defaults. - From Karl Berry. - -2005-08-12 Jim Meyering - - * coreutils.texi (cp invocation, mv invocation): Remove square - brackets in --reply=[HOW]. Reported by Oscar Liljeblad. - -2005-07-19 Paul Eggert - - * coreutils.texi (md5sum invocation): --check now allows multiple - FILE inputs. - -2005-07-18 Paul Eggert - - * coreutils.texi (false invocation): - Mention that false is often built-in, and that it exits - with status >1 on some hosts. - (true invocation): Remove now-incorrect "non-POSIX mode" reference. - -2005-07-15 Paul Eggert - - * coreutils.texi (nohup invocation): POSIXLY_CORRECT no longer - affects nohup's behavior. Input is redirected from /dev/null. - -2005-07-11 Paul Eggert - - * coreutils.texi (cat invocation): Remove -B or --binary option - (available on MS-DOS-like platforms only). Explain when text and - binary mode are used now. - (md5sum invocation): -b actually does have an effect on Unix: it - causes "*" to be output. Explain when text and binary mode are - used now. - -2005-07-03 Jim Meyering - - * coreutils.texi (cp invocation): Mark --reply as deprecated. - (mv invocation): Likewise. - -2005-06-24 Jim Meyering - - * coreutils.texi (cp invocation): Clarify how --reply=no works. - -2005-06-14 William Brendling - - * coreutils.texi (du invocation): New options --last-time and - --time-style. - -2005-06-19 Jim Meyering - - * coreutils.texi (ln invocation): Change a few `paths' to `file names'. - * Makefile.am (check-texinfo): Also catch uses of path, pathname. - -2005-06-17 Jim Meyering - - * coreutils.texi (shred invocation): Clarify that shred - works on ext3 as long as it's not in data=journal mode. - Patch from Mark Melahn. - -2005-06-16 Jim Meyering - - * coreutils.texi (Backup options): Undocument --version-control=S (-V). - -2005-06-07 Jim Meyering - - * coreutils.texi (ln invocation): Examples, from Bob Proulx. - -2005-06-01 Paul Eggert - - Use "file name" when talking about file names, instead of "filename" - or "path", as per the GNU coding standards. - * coreutils.texi (readlink invocation): "path component" -> - "component", since we don't use the POSIX "path" nomenclature. - -2005-05-11 Paul Eggert - - * getdate.texi (General date syntax): Don't say that date - date --iso-8601=ns generates acceptable dates; it doesn't yet. - Problem reported by Nic Ferrier. - -2005-05-06 Paul Eggert - - * coreutils.texi (dd invocation): New flags "binary" and "text". - -2005-05-04 Paul Eggert - - * coreutils.texi (chmod invocation): chmod -w complains if its - behavior differs from what chmod a-w would do. - -2005-05-02 Paul Eggert - - * coreutils.texi (ls invocation): ls --indicator-style=directory - renamed to ls --indicator-style=slash, to avoid confusion with ls - --directory. - -2005-04-28 Paul Eggert - - * perm.texi (Mode Structure, Changing Special Permissions): - (Conditional Executability, Numeric Modes): - These days the sticky bit is more often uses as the restricted - deletion flag, so modernize the discussion about this. - (Mode Structure): Linux/GNU -> GNU/Linux. - (Symbolic Modes): Don't imply that "+ur" or "u" is valid. - (Setting Permissions): Don't imply that "+t" is invalid. - Use "rwx" rather than the less-common "rxw" in an example. - (Copying Permissions): Say that ugo is a replacement for - a string of the other letters. Add spaces around examples. - Use "set-user-ID" rather than "set user ID" to avoid ambiguity. - Use "+t" rather than "o+t", since POSIX doesn't specify the latter. - Mention which combinations are portable and which are GNU. - (Numeric Modes): Don't imply they aren't portable; they are - nowadays. - -2005-04-26 Paul Eggert - - * coreutils.texi (Standards conformance): Do not mention head -10, - since it now works the same regardless of POSIX version. - (od invocation): -w N -> -w[N]. - (pr invocation): -S STRING -> -SSTRING. - (fold invocation): -WIDTH works even when conforming to POSIX - 1003.1-2001. - (head invocation, tail invocation): Likewise for -NUM. - (split invocation): Likewise for -LINES. - (uniq invocation): Likewise for -N. - (expand invocation, unexpand invocation): Likewise for -TAB. - (nice invocation): Likewise for -ADJUSTMENT. - (sort invocation): Clarify explanation of +N option. - (uniq invocation): Likewise. - (join invocation): Remove special case for --help, --version. - (touch invocation): Clarify explanation of date options. - (Options for date): -I timespec -> -I[timespec]. - -2005-04-23 Paul Eggert - - * coreutils.texi (install invocation): Use a= instead of 0 for - the point of departure for -m, and explain what it meeams. - (mkdir invocation, mkfifo invocation, mknod invocation): - The umask does not affect the point of departure. - Problem reported by Mike Stone. - -2005-04-11 Paul Eggert - - * coreutils.texi: For consistency, standardize on "user ID" rather - than "uid" or "UID" or "user id". Similarly for "group ID". - -2005-04-09 Jim Meyering - - * coreutils.texi (rm invocation): Say that --recursive removes - listed directories too, not just their contents. - -2005-04-08 Paul Eggert - - * coreutils.texi (dd invocation): Document the distinction between - INFO and USR1 for dd, and the effect of POSIXLY_CORRECT here. - -2005-04-05 Paul Eggert - - * coreutils.texi (cat invocation, chown invocation) - (chgrp invocation, basename invocation, dirname invocation): - Add examples, which are copies of the examples newly added - to the usage messages. - (ln invocation): Use same format as other examples above, - for consistency. - -2005-03-26 Paul Eggert - - * coreutils.texi: Clarify NUL vs null byte vs null character. - -2005-03-18 Paul Eggert - - * coreutils.texi (nohup invocation): Clarify nohup.out creation. - -2005-03-11 Paul Eggert - - * coreutils.texi (Formatting file timestamps): Very long timestamps - may be treated as errors. - -2005-03-08 Paul Eggert - - * coreutils.texi (date invocation): Use an example that makes it - clear tha the default date use space-padded day of month. - Replace "directive" with "conversion specifier" to be consistent - with POSIX. All uses changed. - Fix menu RHS to match actual directive lists. - (Time conversion specifiers): Renamed from Time directives. - Use @samp consistently, sometimes instead of @code. - Consistently ention which specifiers are GNU extensions. - Give more examples (in some cases, instead of ranges). - Say why %F is preferred for dates. - (Date conversion specifiers): Renamed from Date directives. - Likewise for other changes. - (Padding and other flags): Correct the description. - Document #. Give an example for %9B. - -2005-02-23 Paul Eggert - - * coreutils.texi: Adjust to match current strftime.c. - (Time directives): Say that %k, %l, and %P are GNU extensions. - For %p and %P, mention handling of noon and midnight. - For %s, use ISO 8601, and mention handling of leap seconds. - For %S, clarify mention of leap seconds. - For %T, say that it's the same as %H:%M:%S. - For %X, don't say that it must be the same as %H:%M:%S. - For %z and %Z, clarify which time zones are used. These options - are now affected by --date, so don't claim that they're not. - (Date directives): %C is now all but the last two chars of %Y. - For %D, say that it's equivalent to %m/%d/%y. - For %e, use blank in example. - For %h, use @code for %b. - For %Y, mention what happens with outlandish years. - (Padding and other flags): Renamed from Padding. - Mention that the flags are GNU extensions. - Mention the 0 and ^ flags. - Mention field widths an modifiers. - (Examples of date): - is a flag, not a modifier. - -2005-01-07 Jim Meyering - - * coreutils.texi (sort invocation): Specify that a string - of zero digits is interpreted as 0. Reported by Ulrich Hermisson. - -2005-01-04 Jim Meyering - - * coreutils.texi (shred invocation): Clarify that shred works fine - with journaled file systems that are configured not to journal - file system data. Also mention BFS and NTFS. - -2004-12-15 Paul Eggert - - * coreutils.texi (ls invocation): Change minor problem to be - "subdirectory not found", since top-level trouble is now serious. - (dircolors invocation): Quote argument to eval. Problem reported - by Stephane Chazelas. - -2004-12-11 Paul Eggert - - * coreutils.texi (join invocation): Mention that blank separators - in the -o option need to be quoted. Problem reported by Phil Clayton. - -2004-12-10 Paul Eggert - - * coreutils.texi (id invocation): -G also prints main group. - Problem reported by Tim Waugh. - -2004-12-09 Paul Eggert - - * coreutils.texi (ls invocation): Document new "ls" exit status. - -2004-12-08 Paul Eggert - - * getdate.texi (Time of day items, Time zone items): - Describe new formats +00:00, UTC+00:00. - -2004-12-04 Jim Meyering - - * coreutils.texi (cut invocation): Say when --complement is useful. - -2004-10-01 Paolo Bonzini - - * coreutils.texi (cut invocation): Document --complement and - adjust the documentation of -b, -c, -f. - -2004-11-27 Paul Eggert - - * coreutils.texi (du invocation): Use if=/dev/null rather - than :|. Problem reported by Dan Jacobson. - Use "seek=2GiB" rather than the wordier "seek=`echo '2^31'|bc`". - Say "KiB" not the (inaccurate) "kilobytes". - Similarly for "GiB" and "gigabytes". - -2004-11-16 Paul Eggert - - * coreutils.texi: Changes inspired by Debian coreutils 5.2.1-2. - (General output formatting): -x doesn't have an operand. - (Formatting the file names): Warn that even with -N unprintable - chars are still printed as '?' some times. - (rm invocation): Reword rm -d to note that it's sometimes useful - on non-directories. - (logname invocation, users invocation, who invocation): - The utmp and wtmp file names vary from system to system. - - * getdate.texi (General date syntax): "next" is 1, not 2. - Document that "second" isn't allowed as an ordinal number. - -2004-11-15 Paul Eggert - - * coreutils.texi (dd invocation): Reword the new dd message. - -2004-11-14 Paul Eggert - - * coreutils.texi (dd invocation): dd now outputs total bytes, - seconds, and bytes per second. - -2004-11-03 Paul Eggert - - * Makefile.am (_W, W_): New macros. - (check-texinfo): Use them instead of assuming grep -w (which is not - portable). - -2004-10-29 Paul Eggert - - * coreutils.texi: Document TZ better, and adjust to new getdate.texi. - (Top): Update menu. - (pr invocation, Formatting file timestamps, touch invocation, - stat invocation, who invocation, date invocation, Options for date): - Mention TZ. - * getdate.texi: Sync from gnulib. - -2004-10-28 Paul Eggert - - * coreutils.texi (Standards conformance): Use "head -10" rather - than "head -1" as example of obsolete usage, since the POSIX - consensus is that "head -1" could be supported even if we don't - yet have clear consensus on "head -10". See today's revision to - the SUS FAQ - . - -2004-10-24 Paul Eggert - - * coreutils.texi (pathchk invocation): Options must precede operands. - -2004-10-17 Paul Eggert - - * coreutils.texi (pathchk invocation): Overall lengths are - OS limits, not file system limits. Component length checks - apply to all components, not merely to existing ones. Say - that nonexistent names are not errors. For -p, omit all - checks based on the underlying file system, not merely length - checks. Explain what the portable file name character set is. - -2004-10-15 Paul Eggert - - * coreutils.texi (printf invocation): Mention ISO/IEC 10646 as - well as Unicode. Various minor formatting cleanups. - -2004-10-13 Paul Eggert - - * coreutils.texi (sort invocation): Move LC_ALL, LC_COLLATE - index entries to proper paragraph. - -2004-10-12 Jim Meyering - - * Makefile.am (check-texinfo): Add `builtin' and `builtins' to - the list of words to avoid. - -2004-10-11 Paul Eggert - - * coreutils.texi (Special built-in utilities): New node. - (printf invocation): builtin -> built-in, for consistency - with POSIX terminology. - (test invocation, pwd invocation): - Use specific rather than generic language to warn about - built-in commands. - (chroot invocation, env invocation, nice invocation, nohup invocation): - Warn that command must not be a special built-in. - (env invocation): Warn about environment variables with unusual - spellings, or duplicates. - -2004-09-26 Paul Eggert - - * coreutils.texi (ls invocation): Document "ls --hide". - -2004-09-24 Paul Eggert - - * coreutils.texi (chmod invocation): Warn about "chmod -w file". - -2004-09-23 Paul Eggert - - * coreutils.texi (tail invocation): Fix bugs in the description of - the obsolete syntax (e.g., it does not support -k or -m). Warn - about usages like "tail -" and "tail -c 4" that are ambigous on - older systems. - -2004-09-20 Paul Eggert - - * coreutils.texi (mv invocation, rm invocation): Say "the response - is affirmative" rather than "the response begins with y or Y", - so that the documentation is accurate in non-English locales. - Problem reported by Munzir Taha. - -2004-09-18 Paul Eggert - - * coreutils.texi (dd invocation): Distinguish between options - (e.g., --help) and operands (e.g., if=file). Move miscellaneous - stuff after the operand descriptions, for clarity. - -2004-09-09 Paul Eggert - - * coreutils.texi (sort invocation): -u disables the last-resort - comparison, too. Revamp its description. - (test invocation): Document -r, -w, -x more carefully. - -2004-09-08 Paul Eggert - - * coreutils.texi (Common options): Some programs don't reorder - options. - (tr invocation, echo invocation, printf invocation, test invocation, - expr invocation, basename invocation, chroot invocation, - nice invocation, nohup invocation, seq invocation): - This program doesn't reorder options. - (tr invocation): Mention --help, --version, --. - (echo invocation): Mention that -- isn't special. - (test invocation): Mention that the expression is optional, - and that test ! EXPR is like ! test EXPR. - Mention that -h and -L don't dereference symlinks. - (expr invocation): Mention --help, --version. - - * coreutils.texi (sort invocation): Add remarks about sort -u - versus sort | uniq. Prompted by a question from Andrew Noymer. - -2004-09-06 Paul Eggert - - * coreutils.texi (od invocation): Several changes for POSIX - and FreeBSD compatibility. Add support for XSI syntax - (POSIX 1003.1-2004). Rename -s[N] to -S N. Remove documentation - for -h. -i is now -t dI (not d2) and -l is now -t dL (not d4). - -2004-09-05 Paul Eggert - - * coreutils.texi (String tests): Improve quality of warning about - quoting strings for the shell. - -2004-09-03 Paul Eggert - - * coreutils.texi (dd invocation): Specify which conversion options - are mutually exclusive. Give a bit more detail about ascii, - ebcdic, and ibm conversions. - -2004-08-24 Paul Eggert - - POSIX-conformance fixes for "expand" and "unexpand". - * coreutils.texi: Standardize on "tab stop" (the POSIX usage) - rather than "tabstop". - (unexpand invocation): Use "blank" rather than "space" when - POSIX requires "blank". Define "blank". Initial blanks are - converted even if there's just one. For -a, convert two or - more blanks only if they occur just before a tab stop. - -2004-08-19 Paul Eggert - - * coreutils.texi (chown invocation): Fix synopsis: - group must always be preceded by separator. - "chown : file" and "chown '' file" don't change the owner or group. - Update the explanation of what happens to the set-user-ID or - set-group-ID bits, e.g., they sometimes are not cleared if they - denote mandatory locking. Change "find"-oriented examples to use - chown -h. - -2004-08-18 Paul Eggert - - * coreutils.texi (printf invocation): Clarify how "printf" is - supposed to work with extra arguments, missing arguments, etc. - -2004-08-10 Paul Eggert - - POSIX-conformance fixes for "-" used as an operand. - * coreutils.texi (Common options): Clarify that "-" means - stdin/stdout only when it is an operand, not when it is an - option-argument. - (shred invocation): "shred -- -" is equivalent to "shred -", - not to "shred ./-". - (tee invocation): "tee -" means to copy (again) to stdout. - -2004-07-25 Paul Eggert - - * coreutils.texi (nice invocation): Document the "nice value", and - how it affects the scheduling priority. (The old documentation - implied that the nice value equaled the scheduling priority, which - isn't accurate.) Document that the range of nice values might - exceed -20..19. Specify what happens when you give a nice value - that is out of range, or when you don't have permissions to lower - the nice value. Bash doesn't have a builtin 'nice', so don't say - "most shells" have one. - -2004-04-03 Dmitry V. Levin - - * coreutils.texi (readlink invocation): Document new - "readlink -f" behaviour and new canonicalize options, -e and -m. - -2004-07-02 Jim Meyering - - * Makefile.am (check-texinfo): Disallow `filename' in .texi files. - Spell it like `file name' instead, to be consistent. - Fail if a @footnote directive follows non-punctuation. - Fail upon use of @url. Use @uref instead. - -2004-07-01 Paul Eggert - - * coreutils.texi (Common options, Target directory, cp invocation, - install invocation, mv invocation, ln invocation): Add -t as a - short option for --target-directory, and -T as a short option for - --no-target-directory. Clean up relevant synopses a bit, so that - the language is similar for all. - -2004-06-30 Paul Eggert - - * coreutils.texi: Put the right amount of space at sentence ends. - Make sure "i.e." and "e.g." are followed by commas (the GNU style). - Put blank lines before and after every @example, prefer the - previous line to end in ":" (when not a sentence end, for consistency), - and prepend @noindent to the following line when appropriate. - In examples, use "--" arguments when needed to prevent undesired - interpretation of operands as options. - Use "file name" rather than "filename", as per the GNU coding standards. - Remove unwanted spaces before @footnote. - Use "---" when appropriate, instead of " -- ". - Use "name" (or something like that) rather than "path" or "pathname", - since the GNU coding standards don't allow "path". - Use @acronym, @command, @minus{}, @samp in a few places, - where appropriate. - (Target directory): Clarify description of example. - (fmt invocation): Give issue number for reference, and reword - for clarity. - (sort invocation): Note that xargs without -0 also mishandles - file names containing some special characters other than newline. - (Translating): Mention that \012 is not universally portable. - Use '\0' rather than '\000'. - (Squeezing): bourne -> Bourne. - Fix unportable usage of '\n' by replacing it with '[\n*]'. - (More details about version sort): Remove unnecessary indent - in examples. - (dd invocation): Use 'kill -s USR1', not 'kill -USR1', as POSIX - indicates that the former is more portable (the latter is an XSI - extension). - (shred invocation): Use @uref rather than @url, and use a more-typical - style for the date. - (kill invocation): Clarify usage; for example, "kill -s TERM -1" - isn't allowed. - (seq invocation): Reword to avoid implying that printf necessarily - fails for numbers outside the 32-bit range. Prefer separating - options from their operands. - (Opening the software toolbox): Give an online reference to - Robbins's article, and give a date. Don't imply that the - current documentation is unchanged from his article. - (Putting the tools together): Rework examples so that they don't - assume the C locale; nowadays many users now operate outside the C - locale by default. While we're at it, don't assume ASCII either. - Indent example to match actual output from GNU uniq. Remove some - unnecessary and confusing brackets from 'tr' operands. "Software - Tools in Pascal" is back in print, according to Amazon anyway. - Add references to Kernighan's online copies of examples. - -2004-06-30 Paul Eggert - - * coreutils.texi, perm.texi: Standardize on "file system" rather - than "filesystem", as POSIX prefers it with a space. - -2004-06-29 Paul Eggert - - * coreutils.texi (Common options, Target directory, cp - invocation, install invocation, mv invocation, ln invocation): - Likewise. - (link invocation): Explain how to rewrite link using ln now - that we have --no-target-directory. - (ln invocation): Explain that --no-target-directory subsumes - --no-dereference. - (unlink invocation): Modify wording to match new wording in - link invocation. - -2004-06-25 Paul Eggert - - * coreutils.texi (install invocation): Document - --target-directory in synopsis, too. - -2004-06-15 Paul Eggert - - * coreutils.texi (yes invocation): "--" is now supported. - (false invocation, true invocation): --help and --version now - work unconditionally. - -2004-06-07 Jim Meyering - - * coreutils.texi: Remove menu references to just-removed subsection. - -2004-06-06 Jim Meyering - - * coreutils.texi (tr invocation): Remove the section describing - how POSIXLY_CORRECT changes tr's behavior. - -2004-06-02 Jim Meyering - - * coreutils.texi (cut invocation): Clarify what --output-delimiter=STR - does with byte/character ranges. - -2004-06-01 Paul Eggert - - * coreutils.texi (tr invocation): Mention -C. - -2004-05-13 Paul Eggert - - * coreutils.texi (echo invocation): Document today's changes. - -2004-05-17 Jim Meyering - - chgrp and chown now dereference symlinks by default, per POSIX. - * coreutils.texi (chgrp invocation, chown invocation): Document it. - -2004-05-13 Paul Eggert - - * coreutils.texi (sort invocation): Document that "sort -m -o F" - might write F before reading all the input. - -2004-05-09 Jim Meyering - - * coreutils.texi (stat invocation): Change IO to I/O. - * Makefile.am (check-texinfo): Check for the above. - -2004-04-25 Paul Eggert - - * coreutils.texi (sort invocation): Mention -k earlier, so - that the options are in alphabetical order. Describe how -b works - more-accurately; this involves fixing some examples, too. Mention - what happens if the start field falls after an end field or after - a line end. Warn about using -k without -b, -g, -M, -n, or -t. - Add an example of how to sort IPv4 addresses and Apache Common - Log Format dates. Remove a duplicate example. - (Putting the tools together): Use separate options rather - than agglomerating them. - -2004-03-27 Paul Eggert - - cp -pu and mv -u (when copying) now take the destination - file system time stamp resolution into account. - - * coreutils.texi (mv invocation): Document this. - (cp invocation): Document -u (it was missing!) with new behavior. - -2004-04-08 Paul Eggert - - * coreutils.texi (dd invocation): Remove noctty flag from dd. - -2004-04-07 Paul Eggert - - New dd conv= symbols nocreat, excl, fdatasync, fsync, - and new dd options iflag= and oflag=. - - * coreutils.texi (dd invocation): Document them. - -2004-04-07 Jim Meyering - - * coreutils.texi (stty invocation - Input): Document new iutf8 option. - -2004-04-04 Jim Meyering - - * coreutils.texi (stat invocation): Correct --format description. - -2004-02-25 Paul Eggert - - * coreutils.texi (Block size): Document new envvar BLOCKSIZE. - -2004-03-24 Jim Meyering - - * Makefile.am (check-texinfo): Add a check to ensure future - consistency in using @sc{nul}, not `NUL'. - -2004-03-23 Paul Eggert - - * coreutils.texi: Use @sc{nul} consistently for NUL. - (du invocation): FILE0 -> FILE. - -2004-03-23 Jim Meyering - - * coreutils.texi (du invocation): --files0-from is useful with - --total (-c), not with --summarize. - -2004-03-22 Jim Meyering - - * coreutils.texi: Tweak a few lines that resulted in - `overfull hbox' warnings. - -2004-03-03 Jim Meyering - - * coreutils.texi (du invocation): Document new option: --file0-from=F. - -2004-02-29 Paul Eggert - - * coreutils.texi (touch invocation): - Describe use of fractional seconds. - (date invocation, Options for date): Likewise. - * getdate.texi (General date syntax, Time of day items): Likewise. - * coreutils.texi (date invocation): Mention effect of LC_TIME. - (Options for date): Describe new --iso-8601=ns option. - - * getdate.texi: Add copyright notice. Change getdate to - get_date when talking about the function name. - (Seconds since the Epoch): New section, containing the time_t - info moved from Date input formats section, along with new - info about the @ syntax. Mention negative time stamps, - fractional time stamps, and leap seconds. - (General date syntax): Modernize examples a bit to reflect new - features. - (General date syntax, Relative items in date strings): - Use ' rather than " to quote formats. - (Time of day items): Add an example with fractional seconds. - Describe fractional-second syntax. - -2004-03-15 Jim Meyering - - * coreutils.texi (date invocation): Add missing `C' to %[...] range - in the `Date directives:: ...' menu entry. From Bob Proulx. - - * coreutils.texi: Add FIXME comment: - The following don't have `invocation' nodes: [, pinky, shasum, uptime. - -2004-03-10 Jim Meyering - - * coreutils.texi (Sorting the output): Remove description of - ls's --sort=directory option. ls doesn't accept that option, yet. - Reported by Arvind Autar. - - * coreutils.texi (cp invocation): Improve description of - cp's --sparse=WHEN option. - - * coreutils.texi (nl invocation): Specify that these are _basic_ - regular expressions (BRE), and add a link to grep's documentation. - Suggestion from Dan Jacobson. - -2004-02-23 Paul Eggert - - * coreutils.texi (chown invocation): Document that chown now falls - back on USER.GROUP parsing regardless of POSIX version, as POSIX - 1003.1-2001 allows that behavior as a compatible extension. - -2004-02-22 Jim Meyering - - * coreutils.texi (du invocation): Mention that using du's -H option - currently evokes a warning. - -2004-02-15 Paul Eggert - - * coreutils.texi (expr invocation): - Document what forms integers may take, and say "integer" - consistently instead of "number". Warn about operands - that "expr" can misinterpret, and how to work around the - problem. - -2004-02-17 Jim Meyering - - * coreutils.texi (csplit invocation): Correct typo (s/LINE/N/) - in description of `N' pattern. From Reuben Thomas - -2004-02-11 Jim Meyering - - * coreutils.texi (Time directives): The %s value *is* changed by the - --date=DATE option; don't say otherwise. Patch from Padraig Brady. - -2004-02-10 Paul Eggert - - * coreutils.texi (Formatting the file names): - Improve wording for --quoting-style documentation. - Suggestions by Bruno Haible. - -2004-02-02 Jim Meyering - - * coreutils.texi (nice invocation): Add examples. - Prompted by a suggestion from Dan Jacobson. - (factor invocation): Add an example. - Update timing numbers for a more modern CPU. - -2004-01-27 Jim Meyering - - * coreutils.texi (seq invocation): Remove `@dots{}' at end of synopsis. - Separate `Synopses' section into three examples. - Clarify first paragraph. @w{}-protect an expression.1 - Use @option{--option}, rather than @code{--option}. - -2004-01-19 Paul Eggert - - * coreutils.texi (Exit status): Document that ordinary failure - might not exit with status 1 on unusual platforms. - Mention chroot, env, nice, and su as having unusual exit - status patterns. Don't bother to mention true and false - since their exit status patterns are actually normal. - (sort invocation, su invocation): Mention its unusual exit - status pattern. - (chroot invocation): Simplify description of exit status 1. - Remove duplicate description of status 127. - (env invocation): Use consistent tenses; simplifiy description - of status 1. - (nice invocation): Likewise. - -2003-12-15 Paul Eggert - - * coreutils.texi (touch invocation): touch -r and -d can now - both be specified, with -r specifying the origin for -d. - -2004-01-15 Alfred M. Szmidt - - Factor out some common options. - * coreutils.texi (Common options): Define macros here. - (What information is listed, cp invocation): Use the macro(s). - (install invocation, mv invocation, ln invocation): Likewise. - (df invocation, du invocation): Likewise. - -2004-01-09 Jim Meyering - - Document the exit status of each and every program. - * coreutils.texi (yes invocation): Document that a write error - makes `yes' exit unsuccessfully. - (chroot invocation): Enumerate the meaning of exit status values. - (nice invocation): Likewise. - (Exit status) [@macro exitstatus]: New macro. - Use @exitstatus to describe the exit status of most programs. - -2004-01-02 Jim Meyering - - * coreutils.texi (du invocation): Mention that -H will eventually - mean not --si, but --dereference-args (-D). - -2003-12-20 Jim Meyering - - * coreutils.texi (du invocation): Describe new option: -0, --null. - -2003-12-03 Paul Eggert - - * coreutils.texi (What information is listed, chroot invocation): - Adjust example 'ls' output to match new behavior with narrower - output columns. - (The cut command): Remove example that cut the output of - 'ls -l'. The output was incorrect even with the old 'ls', and - the whole idea of using 'cut' on 'ls -l' output is bogus anyway. - -2003-11-24 Paul Eggert - - Parse floating-point operands and options in the C locale. - POSIX requires this for printf, and we might as well be - consistent elsewhere (tail, sleep, seq). - - * coreutils.texi (tail invocation, printf invocation, - sleep invocation, seq invocation): Document this. - -2003-11-24 Jim Meyering - - * coreutils.texi (Traversing symlinks, Treating / specially): - New sections. - (rm invocation, chown invocation, chmod invocation, chgrp invocation): - Describe new options, --preserve-root and --no-preserve-root. - -2003-11-11 Jim Meyering - - * coreutils.texi (chown invocation) [chownchgrpoptions]: New macro - describing -H, -L, -P options. Use it here. - (chgrp invocation): And here. - -2003-11-09 Jim Meyering - - * coreutils.texi (dd invocation): Fix typo in example. - -2003-10-15 Jim Meyering - - * coreutils.texi (ln invocation): Note that --directory, -d, -F - probably won't work even for superuser. Suggestion from Dan Jacobson. - -2003-09-29 Paul Eggert - - * coreutils.texi (csplit invocation): - The regexp offset need not have a sign; POSIX requires support - for signless offets. - -2003-10-03 Jim Meyering - - * coreutils.texi (du invocation): Describe -P, --no-dereference. - -2003-09-28 Jim Meyering - - * coreutils.texi (Translating): Correct typo in menu description. - From A Costa. - -2003-09-02 Paul Eggert - - * coreutils.texi (sort invocation): -d now overrides -i. - "whitespace" -> "blanks"; "whitespace" isn't correct. - -t '\0' now specifies a NUL tab. - -2003-08-17 Jim Meyering - - * coreutils.texi (who invocation): Add an entry for -l, --login. - Remove `-l' from the entry for --lookup. - (who invocation): Begin adding missing option documentation. - -2003-08-07 Paul Eggert - - * coreutils.texi (split invocation): - Add -d or --numeric-suffixes option to 'split'. - -2003-07-31 Paul Eggert - - * getdate.texi (General date syntax): Add --rfc-2822 option to GNU date. - * coreutils.texi (Options for date): Fix a typo in format: - it's now %d not %_d. Add URLs. - -2003-07-31 Paul Eggert - - * getdate.texi (Relative items in date strings): Warn about - fuzz in relative units. - -2003-07-29 Jim Meyering - - * coreutils.texi (tail invocation): Restore two end-of-sentence words - that were mistakenly removed on 2002-09-13. Reported by Paul Worrall. - -2003-07-28 Jim Meyering - - * coreutils.texi (dd invocation): Explain that a SIGUSR1 signal - makes dd give a progress report to stderr. - -2003-07-24 Paul Eggert - - * coreutils.texi: Document changes of 2003-07-24. - -2003-07-24 Jim Meyering - - * coreutils.texi (su invocation): Use `@subsection', not invalid - `@heading'. - -2003-07-17 Paul Eggert - - * coreutils.texi (expr invocation): Exit status is 2 if the - expression is syntactically invalid, 3 if there is some other error. - This change is for conformance to POSIX. - -2003-07-14 Paul Eggert - - * coreutils.texi (uname invocation): Explain the POSIX - terminology behind uname -m and uname -s. - -2003-07-13 Jim Meyering - - * coreutils.texi (chown invocation): Warn that chown - now clears set-user-ID and set-group-ID bits on some systems. - From Bob Proulx. - (nohup invocation): Tell what happens when stdout is not a terminal. - Based on a suggestion from Steven Mocking. - -2003-07-10 Jim Meyering - - * coreutils.texi (Standards conformance): Mention that uses like - `tail -1' and `head -1', like `sort +1', are non conforming. - (chown invocation): Say that using `.' as a separator may not work. - -2003-06-25 Jim Meyering - - * coreutils.texi (Time directives) [%s]: Add a cross reference - to the related examples. - (Examples of date): Add an @anchor here, along with a few more examples. - Suggestion from Dan Jacobson. - -2003-06-12 Jim Meyering - - * coreutils.texi (wc invocation): Tweak wording: wc prints counts in - the order `newline, word, byte'. Suggestion from Keith M. Briggs. - Also change `lines' to `newlines'. - -2003-05-14 Jim Meyering - - * coreutils.texi (head invocation): Document --bytes=-N and --lines=-N. - -2003-05-13 Paul Eggert - - * coreutils.texi (uniq invocation, squeezing, The uniq command): - Use "repeated" rather than "duplicate" to describe adjacent - duplicates; this simplifies the description and makes it more - consistent with POSIX. - (uniq invocation): Make it clear that -d and -u suppress the - output of lines, rather than cause some lines to be output. - Mention what happens if a line lacks enough fields or characters. - -2003-05-13 Jim Meyering - - * coreutils.texi (true invocation): Mention that it is possible to - make true --help or true --version (in non-POSIX mode) exit nonzero. - Suggestion from Paul Eggert. - -2003-05-10 Jim Meyering - - * coreutils.texi (Exit status): Remove `uniq' from the list. - It uses standard exit codes. - (More details about version sort): Note that strverscmp, and hence - `ls -v', does not use LC_COLLATE. Reported by From: Andrey Borzenkov. - -2003-04-21 Jim Meyering - - Fix printf POSIX compatibility bug reported by Ben Harris in - . - * coreutils.texi (printf invocation): It's \NNN in the format, - \0NNN in the %b operand. - -2003-04-10 Jim Meyering - - * Makefile.am (check-texinfo): Check for uses of non-zero. - I prefer to spell it `nonzero'. - - * coreutils.texi (readlink invocation): Tweak description a little. - -2003-04-04 Jim Meyering - - * Makefile.am (constants.texi): Rename target (thus enabling it), - now that fileutils, textutils, and sh-utils have been merged. - (MAINTAINERCLEANFILES): Define. - -2003-04-02 Jim Meyering - - * coreutils.texi (false invocation): Note that false exits - unsuccessfully even with --help and --version. - - * Makefile.am (check-texinfo): Don't fail if perl is missing. - Reported by Nelson Beebe. - -2003-03-27 Jim Meyering - - * coreutils.texi (printf invocation): Fix formatting bugs. - From Paul Eggert. - (sort invocation): Describe sort's --stable (-s) option. - -2003-03-13 Jim Meyering - - * coreutils.texi (shred invocation): Mention that --exact - is now the default for non-regular files. - -2003-03-02 Jim Meyering - - * coreutils.texi (Exit status): New section. - Suggestion from Michael Stone. - -2003-02-21 Jim Meyering - - * coreutils.texi (du invocation): Document --apparent-size. - Adjust documentation of --bytes (-b). - (stat invocation): Describe %B. - -2003-02-07 Richard Dawe - - * coreutils.texi: Use @command instead of @code for program names. - - * perm.texi (Mode Structure): Mention filesystem-specific - permissions and that mounting a filesystem as read-only may - override actual file permissions. Use @command instead - of @code for program names. - -2003-02-06 Jim Meyering - - * coreutils.texi: Adjust alignment and mention `file, text, shell' - on the `* Coreutils:...' dirently line. From Karl Berry. - -2003-02-05 Jim Meyering - - * Makefile.am (check-texinfo): Allow bare `POSIX' to be used on - direntry lines. - - * coreutils.texi: Use new form of @direntry. - Put unlink in its proper place. Adjust wording in some - dir entry descriptions, mainly so they fit in 80 columns. - Don't use mark-up like @acronym{POSIX} in direntries. - Mostly from Karl Berry. - -2003-01-25 Jim Meyering - - * coreutils.texi (cut invocation): Describe new functionality of - --output-delimiter=STR. - -2003-01-24 Jim Meyering - - * coreutils.texi (The cut command): Give an example of using cut -c - with an output delimiter. From Jan Nieuwenhuizen. - - * coreutils.texi (The cut command): Extend the new example a little. - (Formatting file timestamps): Fix typo: s/%M:S/%M:%S/. - - * coreutils.texi: Change each use of `Core-utils' to `Coreutils'. - From Karl Berry. - -2003-01-19 Jim Meyering - - * coreutils.texi (Which files are listed): Document new option: - --dereference-command-line-symlink-to-dir. - -2003-01-15 Paul Eggert - - Change ls -H back to the way it was yesterday, since this is - compatible with FreeBSD and the POSIX spec is confusing - and somewhat contradictory. - - * coreutils.texi (Which files are listed, General output - formatting): Undo last change. - -2003-01-15 Jim Meyering - - * coreutils.texi (General output formatting): Reflect option name change: - s/--dereference-command-line/--dereference-command-line-symlink-to-dir/. - Say that this option changes how ls treats only symlinks to directories - specified on the command line. - -2002-08-27 Dmitry V. Levin - - * coreutils.texi: Document readlink. - -2002-12-14 Jim Meyering - - * coreutils.texi (mknod invocation): Specify how major and minor mode - numbers are interpreted. Report forwarded by Kristin E Thomas. - -2002-11-13 Jim Meyering - - * coreutils.texi (Examples of expr): Remove bogus `^'s. - Reported by Thomas Goerlich. - -2002-11-09 Jim Meyering - - * coreutils.texi (What information is listed) [--dired]: - Correct parts of --dired description. Reported by Andre Spiegel. - Include a lot more description, with examples. - -2002-11-06 Jim Meyering - - * coreutils.texi (printf invocation): Fix typo in index: - change \0x prefix to \x. - Change \xhhh to \xhh. - -2002-10-07 Paul Eggert - - Add support for locale-specific size indications (e.g., - thousands-separators) and for explicit size suffixes on output. - - * coreutils.texi (Block size): Say that: - This affects display format as well as block size. - Fractional block counts are rounded up. - ls file size blocksize defaults to 1. - A block size spec preceded by ' generates thousands separators. - A suffix without a preceding integer generates suffixes. - (tail invocation): 32k -> 32 KiB. - (What information is listed): ls -h is now equivalent to - ls --block-size=human, and ls -H is now equivalent to - ls --block-size=si. Displayed file size is now always affected by - --block-size. - -2002-09-13 Jim Meyering - - * coreutils.texi (tail invocation): In --sleep-interval=NUMBER, - NUMBER may now be a floating point number. - (stat invocation): Remove references to now-removed %S and %C. - (Time directives) [%S]: Explain why the range is [0..60]. - -2002-08-30 Jim Meyering - - * coreutils.texi [START-INFO-DIR-ENTRY]: Don't use sc{} on LHS. - Fix typo: s/permission/permissions/. From Michail Litvak. - -2002-08-02 Paul Eggert - - * coreutils.texi (uniq invocation): uniq now obeys LC_COLLATE. - -2002-07-29 Paul Eggert - - * coreutils.texi (nohup invocation): 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. - -2002-07-24 Jim Meyering - - * coreutils.texi (Time directives): Document %P, %R, %e, %F, - %g, %G, and %V - -2002-07-22 Martin Michlmayr - - * coreutils.texi (Formatting the file names): Document - that -N/--literal are equivalent to --quoting-style=literal. - Reported by Oskar Liljeblad as Debian bug#103612. - -2002-07-10 Jim Meyering - - * coreutils.texi (du invocation): s/PAT/PATTERN/. - From Martin Michlmayr. - -2002-07-08 Jim Meyering - - * coreutils.texi (cp invocation): Remove unnecessary "$@" in example; - Texinfo would render the @" as an umlaut over the following character. - From Paul Eggert. - * Makefile.am (check-texinfo): Check for the above. - -2002-07-06 Jim Meyering - - * coreutils.texi (stat invocation): Remove description of --secure. - -2002-07-03 Jim Meyering - - * coreutils.texi (stat invocation): Rename --link/-l - to --dereference/-L. Rewrite description of --dereference. - -2002-06-26 Paul Eggert - - * coreutils.texi (Putting the tools together): Don't mention egrep, - since it's not part of POSIX 1003.1-2001. - -2002-06-21 Jim Meyering - - * coreutils.texi (stat invocation): New section. From Michael Meskes. - -2002-05-19 Paul Eggert - - * coreutils.texi (ls invocation): Document new option: --author. - -2002-06-03 Jim Meyering - - * coreutils.texi (rm invocation): Add the warning (also in the --help - output) that the contents of a removed file are often recoverable. - -2002-05-27 Jim Meyering - - * Makefile.am (check-texinfo): Adapt to reflect that now we use - @acronym{POSIX}. - -2002-05-26 Jim Meyering - - * coreutils.texi: Use @acronym in place of most uses of @sc. - * getdate.texi (Date input formats): Likewise. - -2002-04-28 Jim Meyering - - * coreutils.texi: Change `@code{PROG}' to `@command{PROG}'. - -2002-04-28 Paul Eggert - - * coreutils.texi (kill invocation): Document the above. - Document POSIX signals better. - -2002-04-15 Jim Meyering - - * coreutils.texi: Document kill. - Written by Marcus Brinkmann. - -2002-04-13 Jim Meyering - - * coreutils.texi: Document link and unlink. - -2002-04-08 Jim Meyering - - * coreutils.texi: Use new directives, @copying and @insertcopying, - thus now requiring texinfo-4.2 to create the .info file. - -2002-02-26 Paul Eggert - - * coreutils.texi (File characteristic tests): Document the - behavior of test -nt and -ot when one of the files does not exist, - using the same behavior that is documented in ksh93. - -2002-03-05 Paul Eggert - - * coreutils.texi (cut invocation): Say that selected input is - written in the same order that it is read, and is written - exactly once. - -2002-03-03 Paul Eggert - - 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. - - * coreutils.texi (cp invocation): Document this. - Fix some related minor bugs: --no-dereference is no longer - equivalent to -d, and --archive (-a) can override the other - symlink options. Warn that cp -R is not portable on symbolic - links unless you also specify -P. - -2002-03-02 Jim Meyering - - * coreutils.texi (cp invocation): Document that cp -r - preserves symlinks. Emphasize non-portability of cp -r. - -2002-02-27 Paul Eggert - - * coreutils.texi (Time directives): Add %N for nanoseconds. - This documents the recent change to 'ls'. - -2002-02-28 Jim Meyering - - * coreutils.texi (pr invocation): Reword to avoid using `:' - in an @opindex entry -- info doesn't permit it. - -2002-02-27 Paul Eggert - - * coreutils.texi (Formatting file timestamps): Document new - time-formatting method: --time-style=+FORMAT. - -2002-02-18 Paul Eggert - - * coreutils.texi (seq invocation): In the example, use "tail - -n 3", not "tail -3", to conform to POSIX 1003.1-2001. - -2002-02-17 Jim Meyering - - * coreutils.texi (tsort background): New section. - From Ian Lance Taylor. - (tsort invocation): Add a more realistic example. - -2002-02-15 Paul Eggert - - * coreutils.texi: Document _POSIX2_VERSION. - (Standards Conformance): New section. - -2002-01-24 Jim Meyering - - * coreutils.texi (START-INFO-DIR-ENTRY): Remove a few entries - and clean up a few others based on suggestions from Bob Proulx. - -2002-02-14 Paul Eggert - - Add support for POSIX 1003.1-2001, which requires removal for - support of obsolete "+" option syntax in sort, tail, and uniq. - * coreutils.texi: Document this. (Also, document a similar - change to "touch", for fileutils). - -2002-01-12 Jim Meyering - - * coreutils.texi (shred invocation): List some journaled filesystems. - -2001-11-10 Jim Meyering - - * coreutils.texi (Date directives): Document %u. - -2001-11-07 Paul Eggert - - * coreutils.texi (paste invocation): Give examples. - Thanks to Dan Jacobson for suggesting the examples. - -2001-11-05 Jim Meyering - - * coreutils.texi (sort invocation): Recommend setting LC_ALL=C, - not LC_COLLATE=C. Explain how the latter can cause problems. - Based on a message from Paul Eggert. - (ls invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C. - -2001-10-21 Jim Meyering - - * coreutils.texi (cp invocation): Describe --reply=... - -2001-10-17 Jim Meyering - - * coreutils.texi (cp invocation): `cp --no-dereference' is - no longer equivalent to `cp -d'. - `cp -d' is equivalent to `--no-dereference --preserve=links'. - cp's -P option means --no-dereference, not --parents. - Describe new optional argument to --preserve. - Describe new option: --no-preserve=ATTRIBUTE_LIST. - -2001-09-23 Jim Meyering - - * Makefile.am (check-texinfo): Redirect stderr of `grep -w' to - /dev/null, so people with old versions of grep don't see the failure. - -2001-09-16 Jim Meyering - - * coreutils.texi (mv invocation): Describe new option: - --reply={yes,no,query}. Fix a few typos. - -2001-09-15 Paul Eggert - - * coreutils.texi (uniq invocation): The input need not - be sorted. Try to clarify -d versus -D versus -u. - -2001-09-12 Jim Meyering - - * coreutils.texi (tail invocation): Document new option: -F. - From Herbert Xu. - -2001-09-04 Paul Eggert - - * coreutils.texi (join invocation): Describe the GNU - extension to join, which does not require sorted input when - the input contains no unpairable lines. - -2001-09-03 Paul Eggert - - * coreutils.texi: - 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. - -2001-08-24 Herbert Xu - - * coreutils.texi (cut invocation): Document how cut treats lines - with no separators. - -2001-06-19 Paul Eggert - - * coreutils.texi: expr now uses LC_COLLATE for string comparison, - as per POSIX. - -2001-08-25 Jim Meyering - - * coreutils.texi: Use @option, rather than @samp everywhere. - -2001-06-21 Paul Eggert - - * coreutils.texi: 'expr' now requires '+' rather than 'quote' - to quote tokens. - -2001-07-14 Jim Meyering - - * coreutils.texi (cp invocation): Reflect 2001-07-08 change to - cp (via copy.c). - -2001-06-16 Jim Meyering - - * Makefile.am (info_TEXINFOS): Reflect renaming: s/omni-/core/. - * coreutils.texi: Likewise. - - * coreutils.texi: New, renamed from omni-utils.texi. - * omni-utils.texi: Removed, renamed to coreutils.texi. - - * omni-utils.texi (ls invocation): Mention the effect of locale. - Reported by Keith Thompson. - -2001-05-24 Jim Meyering - - * texinfo.tex: Update from master source. - - * omni-utils.texi (ls invocation): Document more clearly what ls - does when given no arguments. - -2001-05-21 Jim Meyering - - * textutils.texi: Remove file. - - * Makefile.am ($(DVIS), $(INFO_DEPS)): Depend on $(EXTRA_DIST). - (DISABLED_constants.texi): New rule -- disabled for now. - - This directory is now shared by fileutils, textutils, and sh-utils. - - - ----- - - Copyright (C) 2001-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/old/fileutils/ChangeLog b/old/fileutils/ChangeLog deleted file mode 100644 index 290ab5e84..000000000 --- a/old/fileutils/ChangeLog +++ /dev/null @@ -1,8397 +0,0 @@ -2006-08-17 Paul Eggert - - * ChangeLog: Add copyright notice. - * ChangeLog-1997: Likewise. - * NEWS: Likewise. - -2002-07-28 Jim Meyering - - * 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 - - * src/stat.c: Don't include malloc.h -- it was unnecessary. - -2002-07-22 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * src/stat.c (print_it): Use memcpy and a little pointer arithmetic, - rather than stpncpy. - -2002-07-14 Jim Meyering - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * tests/Makefile.am (envvar-check): Mark as `.PHONY'. - - * src/stat.c: Remove everything associated with --secure option. - -2002-07-04 Jim Meyering - - * 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 - - * src/stat.c (usage): Rename --link/-l to --dereference/-L. - Describe --secure. - Describe --format. - (main): Support -L. Deprecate -l. - -2002-07-02 Jim Meyering - - * 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 - - * tests/touch/fail-diag: Handle yet another different diagnostic. - Report from Volker Borchert. - -2002-06-29 Jim Meyering - - * 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 - - * src/ls-test: Use grep, not egrep. - -2002-06-25 Jim Meyering - - * 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 - - * src/stat.c (usage): Add missing open-quote. - Reported by Michael Piefel. - -2002-06-22 Jim Meyering - - * 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 - - * 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 - - * src/copy.c Include hurd.h. - (copy_internal): Preserve the stat.st_author field. - -2002-06-21 Jim Meyering - - * 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 - - * src/system.h: Change `defined(X)' syntax to `defined X' - in cpp directives. - -2002-06-17 Jim Meyering - - * 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 - - 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 - - * 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 - has been included before this file. - -2002-06-13 Richard Dawe - - 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 - - * 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 - - * 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 - - * 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 - - `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 - - * 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 - - * tests/rm/Makefile.am (TESTS): Add rm5. - * tests/rm/rm5: New test. - -2002-05-30 Jim Meyering - - 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 - - * 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 - - * 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 - - * tests/mv/mv-special-1: Adapt for changed format of --verbose output. - -2002-05-22 Jim Meyering - - * 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 - - * tests/rm/rm3: New file. - * tests/rm/rm4: New file. - * tests/rm/Makefile.am (TESTS): Add rm3 and rm4. - -2002-05-17 Jim Meyering - - * 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 - - * src/remove.c (rm): Free cwd_state, if necessary. - -2002-05-01 Jim Meyering - - * 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 - - * src/ls.c: Remove use of D_TYPE_IN_DIRENT, now that that symbol - has been renamed. - -2002-05-30 Jim Meyering - - * 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 - - * 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 - - * 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 - - 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 - - * src/remove.c (rm): Call exit with EXIT_FAILURE, not `1'. - -2002-04-19 Jim Meyering - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am (EXTRA_DIST): Remove config/config.rpath, - now that automake knows about it. - -2002-03-08 Jim Meyering - - 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 - - * Use automake-1.6. Regenerate dependent files. - -2002-03-05 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add config/config.rpath. - -2002-03-04 Jim Meyering - - * 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 - - * Version 4.1.6. - -2002-03-03 Paul Eggert - - 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 - - * 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 - - * src/ls.c (decode_switches, usage): Add --time-style=+FORMAT. - * doc/coreutils.texi (Formatting file timestamps): Document it. - -2002-02-25 Paul Eggert - - 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 . - (USE_ACL): Remove; replaced by HAVE_ACL everywhere. - (gobble_file): Use file_has_acl rather than doing it ourselves. - -2002-02-20 Jim Meyering - - * 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 - - * 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 - - * tests/ls/infloop: Use `head -n 7', not `head -7'. - * tests/rm/hash: Likewise. - -2002-02-10 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Hungarian (hu). - -2002-02-02 Jim Meyering - - * 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 - - * 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 - - * src/remove.c (rm): Add a comment. - -2002-01-28 Jim Meyering - - * 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 - - * 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 - - * src/ls.c: Avoid undefined behavior when strcoll fails, - by resorting the directory with strcmp instead. - - Include . - 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 - - 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 - - * 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 - - * src/touch.c (main): Issue a warning for obsolete usage, unless - POSIXLY_CORRECT. - -2002-01-14 Paul Eggert - - 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 - - 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 - - * src/shred.c (usage): Also mention Ext3. - Suggestion from Göran Uddeborg. - -2002-01-06 Bruno Haible - - * src/ls.c (long_time_format): Extend translator comments. - -2002-01-05 Jim Meyering - - * Version 4.1.5. - -2001-12-29 Jim Meyering - - * 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 - - * 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 - - * src/shred.c: Add FSF copyright notice. - -2001-12-18 Paul Eggert - - 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 - - * 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 - - * 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 - - 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add Estonian (et). - -2001-12-08 Jim Meyering - - * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's - no longer available at that location. - -2001-12-04 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/shred.c: Don't include "gtod.h" - (main): Don't `call' GETTIMEOFDAY_INIT. - * src/ls.c: Likewise. - -2001-11-24 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * tests/rm/r-3: Clean up. - -2001-11-09 Jim Meyering - - * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no - arguments. - -2001-11-06 Jim Meyering - - * src/dircolors.hin: Remove duplicate entry for .png. - Reported by Frédéric L. W. Meunier. - -2001-11-03 Jim Meyering - - * Version 4.1.1. - - * src/ls.c (DEV_INO_PUSH): Avoid unnecessary copies. - (dev_ino_pop): Likewise. - -2001-11-02 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/sys2.h (alloca): Define to __builtin_alloca if __GNUC__, - to avoid a warning if -Wall. - -2001-10-21 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * src/copy.c (copy_internal): Tighten up and add comments - describing the test for when to record (via remember_copied) - a 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * src/copy.c (record_dest): Avoid a small leak. - -2001-10-06 Jim Meyering - - 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 - - * src/copy.c: Include hash-pjw.h and remove definition of hash_pjw. - * src/remove.c: Likewise. - -2001-10-01 Jim Meyering - - * src/remove.c (hash_pjw): Remove function. - * src/copy.c: Likewise. - -2001-09-29 Jim Meyering - - * 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 - - 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 - - * 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 - - * 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 - - 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 - - * src/ls.c (usage): Fix typo in -g usage. - -H now means --dereference-command-line. - -2001-09-16 Jim Meyering - - * 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 - - 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 - - * 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 - - * 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 - - * src/ls.c (get_link_name): Update use of xreadlink. - -2001-09-02 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.maint (m4-check): New rule. - (local-check): Depend on it. - -2001-08-06 Jim Meyering - - 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 - - * 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 - - * 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 - - * ls.c (quote_name): Pass 0 to mbsnwidth, since the default - got changed and we want the default now. - -2001-08-03 Paul Eggert - - * ls.c (quote_name): Pass 0 to mbsnwidth, since the default - got changed and we want the default now. - -2001-07-15 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/ln.c (do_link): Test the boolean symbolic_link, not the function, - symlink. Patch by Frederik Eaton. - -2001-06-17 Jim Meyering - - * 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 - - * 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 - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-06-09 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Turkish (tr). - -2001-05-25 Jim Meyering - - * 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 - - * 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 - - * Makefile.maint (wget-update): depcomp and missing are now in - automake's lib/ subdirectory. - -2001-05-11 Paul Eggert - - 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 - - * 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 - - * 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 - - * Makefile.maint (my-distcheck): Remove work-around kludge and - associated comment, now that automake has ben fixed. - -2001-05-12 Paul Eggert - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2001-05-01 Jim Meyering - - * 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 - - * 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 - - * Makefile.maint (my-distcheck): Add a comment. - -2001-04-23 Jim Meyering - - * Version 4.0.45. - -2001-04-22 Jim Meyering - - * 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 - - * 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 - - * depcomp: New version, from automake. - -2000-10-31 Bruno Haible - - * ls.c: Don't inspect MB_LEN_MAX. Paul Eggert says it's - not always defined correctly. - -2001-04-03 John David Anglin - - * tests/chgrp/basic: Ensure that initial group id's are properly set - for `d' and `d/f3'. - -2001-04-02 Jim Meyering - - * 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 - - * configure.in: Don't require autoconf version here -- it's done in m4/. - -2001-03-23 Jim Meyering - - * 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 - - * 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 - - * doc/fileutils.texi: Warn that touch DATE FILE will be withdrawn. - -2001-03-17 Jim Meyering - - * 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 - - * Makefile.maint (wget-update): Also get `missing'. - Use for-loops. - - * missing: Update from automake. - -2001-03-11 Jim Meyering - - * tests/rm/isatty: Disable this test, for now. - It would block when run in the background. - -2001-03-09 Jim Meyering - - * 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 - - * 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 - - * src/dd.c (output_char): Reformat so each statement is on a - separate line. - -2001-02-21 Jim Meyering - - * 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 - - * src/ls.c (FULL_TIME_OPTION): Renamed from FULL_TIME, for - consistency with the other enum values. - -2001-02-20 Paul Eggert - - * 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 - - * 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 - - * Version 4.0.40. - - * src/chown.c (main): `quote' the offending argument. - -2001-02-17 Paul Eggert - - 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 - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-02-16 Paul Eggert - - * 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 - - * Makefile.maint (emit-rsync-commands): Define. - (alpha): Use it here. - -2001-02-10 Jim Meyering - - * Makefile.maint (alpha): Fix previous, incomplete change. - - * Version 4.0.39. - - * depcomp: New version, from automake. - -2001-02-04 Jim Meyering - - * README: Remove note about now-ancient Sequents. - -2001-02-03 Jim Meyering - - * 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 - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-01-28 Jim Meyering - - * 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 - - * src/remove.c (remove_file): Correct an expression to avoid making - an unnecessary call to euidaccess for each file. - -2001-01-21 Jim Meyering - - * Version 4.0.37. - -2001-01-20 Jim Meyering - - * configure.in: Remove jm_CHECK_ALL_TYPES. - Now it's invoked by jm_MACROS. - -2001-01-17 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * depcomp: New version, from automake. - -2001-01-10 Jim Meyering - - * 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 - - 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 - - * 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 - - * src/chown.c (usage): Split long message string. - -2001-01-07 Karl Eichwalder - - * src/ls.c (usage): Untabify. - - * src/chgrp.c (parse_group): Normalize spelling. - -2001-01-03 Paul Eggert - - * 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 - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * src/ls.c (print_long_format): Don't dump core if strftime - returns the empty string. - -2000-12-30 Paul Eggert - - * src/ls.c (gobble_file): If not using long format, don't - invoke acl; it's not needed. - -2000-12-30 Jim Meyering - - 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 - - * 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 - - * tests/group-names: Try /usr/xpg4/bin/id (Solaris 7) if plain - 'id' doesn't work. - -2000-12-28 Jim Meyering - - * tests/cp/cp-parents: Run sticky-check from just-created directory. - -2000-12-28 Jim Meyering - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * 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 - - * doc/fileutils.texi: Use `ref_file' in place of `file' to make - descriptions of the various --reference=... options clearer. - -2000-12-17 Jim Meyering - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2000-12-16 Jim Meyering - - * 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 - - * 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 - - * 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 , , 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 - - * 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 - - * 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 - - * tests/ls/Makefile.am (TESTS): Add follow-slink. - * tests/ls/follow-slink: New file. - -2000-12-01 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/dd.c (skip): Perform the `records < blocksize' test - at the top of the loop, not at the bottom. - -2000-11-26 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * tests/chmod/equal-x: Update to use its own directory, and better trap. - -2000-11-18 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/ls.c (print_long_format): Remove obsolete comment. - From Paul Eggert. - - * doc/texinfo.tex: Update from master repository. - -2000-11-11 Paul Eggert - - * src/ls.c (): 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 - - * 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 - - * 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 - - * 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 - - * src/df.c (print_header): Mark strings for translation. - -2000-11-05 Jim Meyering - - * 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 - - * Version 4.0.30. - - * src/chmod.c (main): Better diagnostics. - -2000-10-31 Jim Meyering - - * 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 - - * 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 - - * configure, config.h.in, Makefile.in, etc.: Regenerate using the - very latest version (in CVS) of autoconf. - -2000-10-29 Jim Meyering - - * 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 - - * 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 - - * doc/getdate.texi (Authors of getdate): Add Paul Eggert. - -2000-10-23 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add .prev-version. - -2000-10-22 Jim Meyering - - * 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 - - * tests/cp/cp-parents: New test. - * tests/cp/Makefile.am (TESTS): Add cp-parents; - -2000-10-19 Jim Meyering - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - * depcomp: Likewise. - -2000-10-18 Jim Meyering - - * 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 - - * 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 - - * src/mv.c (rm_option_init): Remove FIXME-maybe comment. - -2000-09-30 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * src/cp.c (main): Tweak a relatively new diagnostic. - -2000-09-23 Jim Meyering - - * tests/ls/time-1: Output more information when a test fails. - -2000-09-22 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * config.sub: Update from master repository. - -2000-09-10 Jim Meyering - - * 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 - - * 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 - - * src/mkdir.c (S_IRWXUGO): Remove definition. - * src/sys2.h (S_IRWXUGO): Define here, instead. - -2000-09-07 Jim Meyering - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2000-09-05 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * src/dd.c: Back out my last change. Paul's (above) is better. - -2000-08-22 Jim Meyering - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * README: Remove note about how installation can fail and the - work-around, now that it's all automated. - -2000-08-07 Paul Eggert - - * src/cp.c (usage, main): For cp -P messages, mention the new - behavior as well as the old. - -2000-08-07 Paul Eggert - - 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 - - * 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 - - * doc/fileutils.texi (cp invocation) [-r]: Remove inaccurate mention of - `non-symbolic links'. - -2000-08-05 Jim Meyering - - * 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 - - * src/shred.c [!HAVE_CONFIG_H]: Use `virtual memory exhausted', not - `Memory exhausted'. - -2000-07-30 Jim Meyering - - * 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 - - * src/ls.c: Include , , , . - (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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * config.guess: Update from FSF. - * config.sub: Likewise. - -2000-07-05 Paul Eggert - - * doc/fileutils.texi: Don't use ` and ' for quoting. - -2000-07-01 Jim Meyering - - * 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 - - * tests/mv/i-2: Don't copy `out' into /tmp. - -2000-06-26 Paul Eggert - - 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 - - * 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 - - * 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 - - * README-alpha: Update. - -2000-06-17 Jim Meyering - - * 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 - - * src/copy.c (copy_reg): Give a slightly better diagnostic upon - open failure. - -2000-06-15 Paul Eggert - - * 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 - - * tests/rm/r-1 (framework_failure): Initialize this instead of - test_failure. - -2000-06-12 Jim Meyering - - * 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 - - * Makefile.maint (alpha_subdir): Factor out `gnu/fetish'. - -2000-06-04 Jim Meyering - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add Danish (da). - -2000-05-29 Jim Meyering - - 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 - - * src/dd.c (close_stdout_wrapper): Don't dereference NULL pointer. - From Bob Proulx. - -2000-05-23 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * src/rm.c (usage): Add the answer to `How do I remove a file named -f?' - -2000-05-01 Jim Meyering - - * 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 - - * 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 - - * Version 4.0r. - - * src/cp.c [LSTAT_FOLLOWS_SLASHED_SYMLINK] (lstat): Define to rpl_lstat. - -2000-04-27 Jim Meyering - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/touch.c (touch): Add O_NOCTTY to the list of open-time flags. - -2000-04-13 Jim Meyering - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * src/ls.c (decode_switches): Remove `e' from getopt_long's list of - option characters. Reported by John Summerfield. - -2000-02-28 Jim Meyering - - * tests/install/basic-1: Use ginstall, not install. - -2000-02-27 Jim Meyering - - * 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 - - Transform 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 - - * 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 - - * 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 - -2000-02-10 Jim Meyering - - 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 - - * 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 - - * 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 - - * 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 - - * tests/touch/Makefile.am (TESTS): Add fifo. - * tests/touch/fifo: New file. - -2000-02-01 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in: Move addext.c prerequisites from this file into m4/. - (AC_CHECK_HEADERS): Move these checks into m4/. - -2000-01-17 Paul Eggert - - * 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 - - * 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 - (): Include if HAVE_STRING_H. - (): Include if HAVE_STDLIB_H. - (alloca): Abort if malloc fails. - Reported by Paul Eggert. - -2000-01-15 Jim Meyering - - * 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 - - * 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 - - Quote multibyte characters correctly. - - * lib/quotearg.c (ISGRAPH): Remove. - (ISPRINT): New macro. - (): 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 - - * 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 - - * lib/getdate.y: Update copyright notice. - -2000-01-11 Paul Eggert - - * COPYING: Sync with latest FSF version (fixing a minor Y2k problem). - -2000-01-11 Paul Eggert - - * 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 - - * 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 - - * Version 4.0o. - - * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h. - -2000-01-09 Jim Meyering - - * 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 - - * 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 - - * 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 - - * man/help2man: Import version 1.020. - - * lib/strftime.c: Sync with the GNU C Library. - -2000-01-06 Paul Eggert - - * 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 - - * 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 - - * Version 4.0m. - - * src/mv.c: New option: --strip-trailing-slashes. - - 1999-11-18 Paul Eggert - - * lib/strftime.c (my_strftime): Some old compilers object to - '\a', so don't bother optimizing for it. - -2000-01-01 Paul Eggert - - 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 - 1999-12-17 Kalle Olavi Niemitalo - - * 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 - - * 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 - - * lib/getdate.y (get_date): Fix typo in time_t overflow test. - From Michael Stone. - -1999-12-21 Andreas Schwab - - * tests/shred/remove: Use $file, not $tmp/file. Exit 77 if run as - root. - -1999-12-20 Paul Eggert - - * src/df.c (ceil_percent): Remove. - (show_dev): Avoid overflow problems when calculating percent. - Do not display negative percents. - -1999-12-19 Jim Meyering - - * 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 - - * 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 - - * lib/makepath.c (make_path): Consistently use `error' to output - the verbose, `created directory ...' messages. - Reported by Bernhard Rosenkraenzer. - -1999-12-12 Jim Meyering - - 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 - - * 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 - - * tests/cp/cp-mv-backup: Use 1>&2 rather than `1<&-'. - Suggestion from Volker Borchert. - -1999-12-05 Jim Meyering - - * Makefile.maint: Remove ftp.enst.fr. - -1999-12-04 Jim Meyering - - * 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 - - * 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 - - * src/ls.c (usage): Shorten help for --show-control-chars. - -1999-11-30 Jim Meyering - - 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 - - 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 - - * 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 - - * 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 - - * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c. - -1999-11-20 Jim Meyering - - * 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 - - * lib/strstr.c (strstr): Include config.h. - Add a `;' between shloop label and `}'. - From Akim Demaille. - -1999-11-17 Jim Meyering - - * 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 - - * touch.c (touch): Simplify code a tad, using fd == -1 instead - of separate valid_fd variable. - -1999-11-13 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/cp.c (do_copy): Constify `dest', and cast-away the new - const in assignment to new_dest. - -1999-10-23 Jim Meyering - - * tests/touch/Makefile.am (TESTS): Add dangling-symlink. - * tests/touch/dangling-symlink: New file. - -1999-10-23 Paul Eggert - - * 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 - - * configure.in (ALL_LINGUAS): Add Japanese (pa). - -1999-10-17 Jim Meyering - - * 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 - - * 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 - - * lib/getopt.c: Merge changes from latest glibc. - * lib/getopt.h: Likewise. - * lib/getopt1.c: Likewise. - -1999-10-09 Jim Meyering - - 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * configure.in (AC_REPLACE_FUNCS): Remove strdup, now that this - is done in m4/jm-macros.m4. - -1999-09-09 Jim Meyering - - * 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 - - * lib/lchown.h (ENOSYS): Don't use ENOMSG; it's not in NeXTStep3.3. - Use EINVAL instead. - -1999-09-01 Jim Meyering - - * src/cp.c: Remove declaration of xstrdup. - * src/df.c: Likewise. - * src/ls.c: Likewise. - -1999-09-01 Akim Demaille - - * 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 - - * 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 - - * 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) - - (): Include only if testing. - (ISUPPER): Remove. - (ISLOWER, PC): New macros. - (): 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * po/POTFILES.in: Add lib/quotearg.c. - -1999-08-09 Paul Eggert - - * 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 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 - - * 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 - - * po/POTFILES.in: Add lots of lib/*.c files. - Remove src/cp-hash.c, since it doesn't use _(). - -1999-08-04 Jim Meyering - - * configure.in: Remove getline-testing code. Now it's in m4/. - -1999-08-01 Paul Eggert - - * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. - -1999-07-30 Jim Meyering - - * src/ls.c (usage): Explain about default wrt --hide-control-chars and - --show-control-chars. Reported by Germano Leichsenring. - -1999-07-28 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR). - -1999-07-24 Jim Meyering - - * 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 - - * 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 - - * 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 - - * man/help2man: Import version 1.012. - -1999-07-04 Jim Meyering - - * lib/xstrtol.c [!defined strtoumax]: Declare strtoumax. - -1999-07-04 Paul Eggert - - * 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 - - 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 - - * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. - -1999-05-23 Jim Meyering - - * 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. - : Include this instead. - : 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 - - * 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 - - * 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 or 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 - - * src/shred.c (main): Put `u' for -u in getopt_long's string argument. - Remove the `R'. - -1999-05-07 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * lib/dup2.c: New file. - -1999-04-30 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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: , : Include for mode_t. - (mode_string): Now takes mode_t. - - * lib/modechange.h: Include , 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 - - * Version 4.0g. - -1999-04-22 Jim Meyering - - * 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 - - 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. - (): 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 - - * 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 - - * 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 : 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 - - * configure.in (AC_CHECK_FUNCS): Remove strtoull, strtoumax, and - strtouq, now that they're checked in m4/xstrtoumax.m4. - -1999-04-18 Paul Eggert - - * 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 - - * 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 - - 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 , 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. - : 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: - : 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. - : 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 - - * 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 - - * 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 - - * lib/getdate.y (difftm): Protoize. - -1999-04-06 Jim Meyering - - * lib/strftime.c: Update from master source in libc. - -1999-04-04 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * src/*.c: Don't include closeout.h or version-etc.h explicitly. - Now, they're included via sys2.h. - -1999-03-29 Jim Meyering - - * 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 - - 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 - - `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 - - * 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 - - * 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 - - * 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 - - * man/help2man: Import version 1.010. - -1999-03-22 Jim Meyering - - * src/chmod.c (usage): Add one-liner. Suggestion from Karl Berry. - -1999-03-19 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * getdate.y: : 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 - - * src/shred.c (wipename): Fix string thinko. Now, shredding files - in subdirectories works (dir/file). From Janos Farkas. - -1999-02-13 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * lib/strcasecmp.c (STRXCASECMP_FUNCTION): Don't increment within macro - argument list. From Akim Demaille. - -1999-01-31 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (space): Add `for' in message of statvfs check. - From Ulrich Drepper. - -1999-01-04 Jim Meyering - - * Version 4.1-b2. - -1999-01-02 Jim Meyering - - * 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 - - * 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 - - * 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 - - * Version 4.1-b1. - - * configure.in (ALL_LINGUAS): Add chinese (zh). - -1998-12-19 Jim Meyering - - * tests/ln/misc: Use absolute path for final rm. - - * Makefile.maint (my-distcheck): Run make with - CFLAGS='-Wformat -Werror'. - -1998-12-18 Jim Meyering - - * 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 - - * lib/Makefile.am (EXTRA_DIST): Add xstat.in. - -1998-12-12 Jim Meyering - - 1998-10-15 Akim Demaille - * 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 - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add Greek (el). - * po/el.po: New file. - -1998-11-07 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * Version 4.0-b3. - -1998-10-08 Paul Eggert - - * 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 - - * 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 - - * 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 - - * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define PERL. - From Kaveh Ghazi. - -1998-10-03 Jim Meyering - - * 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 - - * 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 - - * tests/Makefile.am (EXTRA_DIST): Remove README. - From Akim Demaille. - -1998-09-28 Jim Meyering - - * 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 - - * 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 - - * 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 - - * man/Makefile.maint ($(man_MANS)): Correct typo: s/-tmp/-t/. - From Akim Demaille. - -1998-09-21 Jim Meyering - - * man/Makefile.maint ($(man_MANS)): Remove `echo'. - -1998-09-20 Jim Meyering - - * Version 3.16y. - - * src/install.c (install_file_to_path) [-D]: Create any leading - directories with permissions of 0755. - -1998-09-19 Jim Meyering - - * 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 - - * 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 - - * lib/modechange.c: Protoize. - -1998-09-07 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * lib/filemode.h (PARAMS): Define and use. - From Kaveh Ghazi. - -1998-08-15 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 3.16t. - -1998-07-31 Paul Eggert - - 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 - - * configure.in (ALL_LINGUAS): Add slovak (sk) and norwegian (no). - -1998-07-28 Paul Eggert - - * 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 . - - * 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 - - * 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 - - * 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 - - * 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 if NDEBUG is not defined; - needed on SunOS 4. - -1998-07-21 Paul Eggert - - 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 - - * 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 - - * lib/mountlist.c (read_filesystem_list): Fix more memory leaks on - failure. - -1998-07-16 Jim Meyering - - 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 - - * src/df.c (print_header): Print "1k-blocks", not "1.0k-blocks". - -1998-07-07 Jim Meyering - - * src/sys2.h [HAVE_FCLOSE_UNLOCKED]: Remove unnecessary block. - Suggestion from Ulrich Drepper. - -1998-07-04 Jim Meyering - - * 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 - - * Version 3.16r. - - * src/remove.c (remove_dir): Use fprintf (not error) to avoid - newline in prompt. - -1998-06-30 Paul Eggert - - * 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 - - * 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 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 - - * 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 - - * src/copy.c (copy_internal): Don't call chown on a symlink. - -1998-07-01 Jim Meyering - - * lib/xstrtol.c: Don't define NDEBUG here, now that it's done via - configure's --disable-assert option. - -1998-06-29 Paul Eggert - - * 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 - - * 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 - - * 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 , , . - -1998-06-29 Jim Meyering - - * lib/mountlist.c (fstype_to_string): Guard with - #if ! HAVE_F_FSTYPENAME_IN_STATFS. - -1998-06-28 Paul Eggert - - 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 only if HAVE_CONFIG_H. - Include if HAVE_STDLIB_H; - declare getenv unless HAVE_DECL_GETENV. - (_): New macro. - Include , , . - (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 - - * 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 - - * 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 - - * src/remove.c (remove_file): Remove `non-directory' part of - `removing non-directory FILE' verbose message. - -1998-06-23 Jim Meyering - - * src/df.c (show_dev): Increase field width for blocks, used, - and available columns from 7 to 8. - -1998-06-21 Jim Meyering - - * aclocal.m4: Regenerate with fixed gettext.m4 installed. - See README-alpha for details. - -1998-06-02 Andreas Schwab - - * src/automake-wrap: Quote `&' in sed replacement text. - -1998-05-31 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add russian (ru). - -1998-05-16 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * lib/Makefile.am (noinst_HEADERS): Add safe-read.h. - -1998-04-11 Jim Meyering - - * 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 - - * configure.in: Don't use AC_PATH_PROG to check for perl, now that - we use jm_PERL. - -1998-04-06 Jim Meyering - - * 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 - - * 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 - - * 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 - - * tests/ls/cr-1: New file. - * tests/ls/Makefile.am (TESTS): Add cr-1. - -1998-03-31 Jim Meyering - - * 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 - - * 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 - - * src/copy.c: Add copyright. - * src/remove.c: Add copyright. - [_AIX]: Add #pragma alloca. - -1998-03-27 Jim Meyering - - * 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 - - * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4 - automatically handles it. - -1998-03-21 Jim Meyering - - * 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 - - * lib/fsusage.h (struct fs_usage): New member - fsu_bavail_top_bit_set. - * lib/fsusage.c: Include . - (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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * Version 3.16m. - - * ChangeLog-1997: New file. - * Makefile.am (EXTRA_DIST): Add ChangeLog-1997. - -1998-02-21 Jim Meyering - - * 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 - - * 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 - - 1997-10-17 Eli Zaretskii - * lib/fileblocks.c [__DJGPP__]: Add missing typedef for daddr_t. - -1998-02-13 Jim Meyering - - * 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 - - * 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 - - * 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 - - * POTFILES.in: Add remove.c. Reported by Santiago Vila. - -1998-01-28 Jim Meyering - - * 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 - - * Makefile.am: Include Makefile.maint from $(srcdir). - -1998-01-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/df.c (print_header): Fix inode format header to line it up - with the rest of the output. - -1998-01-13 Jim Meyering - - * lib/stat.c: Set errno to ENOENT, not EINVAL. This is consistent - with most other implementations. - -1998-01-12 Jim Meyering - - * 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 - - * 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 - - * 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 - - * lib/makepath.c (make_path): Put only newly created directories - on the LEADING_DIRS list. - -1998-01-05 Paul Eggert - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * src/rm.c (remove_cwd_entries): Initialize the entry-name obstack - only once and never free it. - - - ----- - - Copyright (C) 1998-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/old/fileutils/ChangeLog-1997 b/old/fileutils/ChangeLog-1997 deleted file mode 100644 index 7152ae605..000000000 --- a/old/fileutils/ChangeLog-1997 +++ /dev/null @@ -1,6165 +0,0 @@ -1997-12-31 Paul Eggert - - If the -h or -H options are given, print inode counts and - disk allocations using a human readable format. - - * src/df.c (show_dev): Print inode counts human readably. - * src/ls.c (decode_switches): -h and -H override output units. - (print_dir, gobble_file, print_long_format, - print_file_name_and_frills): Print disk allocations human readably. - * doc/fileutils.texi: Document the above changes. - -1997-12-31 Jim Meyering - - * src/df.c (show_dev): Move declarations and computation of - blocks_used etc. and blocks_percent_used and - inodes_used etc. and inodes_percent_used into respective branches - of the `if (inode_format)' statement where they're actually used. - - * lib/exclude.h: Define and use PARAMS, not __EXCLUDE_P. - * lib/exclude.c: Use PARAMS, not __EXCLUDE_P. - -1997-12-29 Jim Meyering - - * src/rm.c (remove_cwd_entries): Plug a gross leak -- don't call - obstack_init inside the loop. - - * src/du.c (usage): Replace TABs with spaces in --help message. - From Santiago Vila. - - * lib/argmatch.c (invalid_arg): Use a single fprintf and whole - format statements to ease translation. - From Santiago Vila. - Convert from K&R to ANSI function dcls. - -1997-12-28 Jim Meyering - - * lib/group-member.c: Use ANSI syntax, not K&R. - - * lib/makepath.c (make_path) [!__STDC__]: Remove K&R-style definition. - - * lib/group-member.h: Add PARAMS. - * src/chgrp.c: Remove incorrect declaration of group_member. - Include group-member.h instead. - Based on suggestion from Ulrich Drepper. - -1997-12-27 Jim Meyering - - * Version 3.16h. - -1997-12-25 Jim Meyering - - * lib/getline.c: (_GNU_SOURCE): Define only if not already defined. - - * configure.in: Remove AC_DEFINE of _GNU_SOURCE. - * acconfig.h (_GNU_SOURCE): Define if not already defined. - Put this code in @TOP@ section. - (_GNU_SOURCE): Remove #undef. - -1997-12-20 Andreas Schwab - - * configure.in: Move jm_CHECK_DECLS down so that it follows the - checks for the headers it requires. - - * doc/fileutils.texi (mknod invocation): Fix description of file - type mnemonics. - - * src/sys2.h: Declare stpcpy only if not defined as macro. - - * src/du.c (S_ISLNK): Define this instead of S_ISDIR. - - * src/dd.c (skip): Compare lseek return value with -1 to allow it - to be negative as signed value. - - * lib/savedir.c: Declare stpcpy only if not defined as macro. - * lib/mountlist.c: Likewise. - * lib/path-concat.c: Include if available. - - * src/copy.c (copy_internal): Use S_ISLNK only if defined. - - * src/install.c (get_ids): Don't cast GID_T_MAX to long, it might - overflow. - -1997-12-22 Jim Meyering - - * configure.in: AC_DEFINE _GNU_SOURCE. - * acconfig.h: Add _GNU_SOURCE. - -1997-12-21 Jim Meyering - - * src/copy.h: Use PARAMS, not __P. - * src/cp-hash.h: Likewise. - - * lib/chown.c (rpl_chown): Rename from chown. - Undefine chown just after including config.h. - Include sys/stat.h. - Use correct ordering of uid and gid parameters both in function - definition and in call to chown. - With patches from Kaveh Ghazi. - - * sys/fsusage.h: Use PARAMS, not __P. - * sys/getline.h: Likewise. - * sys/hash.h: Likewise. - * sys/human.h: Likewise. - * sys/long-options.h: Likewise. - * sys/makepath.h: Likewise. - * sys/modechange.h: Likewise. - * sys/path-concat.h: Likewise. - * sys/save-cwd.c: Likewise. - * sys/save-cwd.h: Likewise. - * sys/savedir.h: Likewise. - * sys/strverscmp.h: Likewise. - * sys/xalloc.h: Likewise. - * sys/xstrtol.h: Likewise. - -1997-12-16 Paul Eggert - - Add --exclude and --exclude-from or -X options to du. - - * lib/exclude.h, lib/exclude.c: New files. - * lib/Makefile.am (libfu_a_SOURCES): Add exclude.c. - (noinst_HEADERS): Add exclude.h. - * du.c: Include exclude.h. - (exclude): New static var. - (long_options, usage, main): Add --exclude and --exclude-from or -X. - (count_entry): Skip excluded entries. - -1997-12-16 Jim Meyering - - * src/sys2.h: s/__P/PARAMS/g. - * src/chgrp.c: Likewise. - * src/chmod.c: Likewise. - * src/chown.c: Likewise. - * src/copy.c: Likewise. - * src/du.c: Likewise. - * src/dd.c: Likewise. - * src/install.c: Likewise. - * src/ls.c: Likewise. - -1997-12-15 Paul Eggert - - * ls.c (struct bin_str): Make len int, not unsigned, to avoid - bogus comparison < 0. - (quote_filename): Add forward decl. - (decode_switches): -b, -e, -N, -Q are now mutually exclusive. - (print_dir): Quote directory name as per quoting options. - (print_long_format): Don't count color changes as part of file name. - (quote_filename): Revamp interface: now accepts stream to output to - and filename, and returns length of quoted filename. - This removes duplicated code and should make errors less likely. - Also, no longer mallocs storage. All callers changed. - Don't quote ' ' if -Q. - (OUTCHAR): New macro. - (SAVECHAR, SAVE_2_CHARS): Remove. - (print_name_with_quoting): New stack arg. All callers changed. - (print_color_indicator): Cast ext len to size_t to avoid warning - with GCC 2.8. - (length_of_file_name_and_frills): Rewrite to use quote_filename. - This fixes bug when computing file name length with -e. - -1997-12-15 Jim Meyering - - * tests/rm/deep-1 (deep): Remove `find > k' debugging remnant. - -1997-12-14 Paul Eggert - - Add shell style quoting, and make it the default. - - * NEWS, doc/fileutils.texi: Describe -e, which is now the default. - Describe change to --dired output. - - * src/ls.c (quote_shell): New var. - (long_options, decode_switches, usage): New option -e or --quote-shell. - (dired_dump_obstack): New arg STYLE. - (main): Pass quoting style to dired_dump_obstack. - (decode_switches): -N now clears quote_as_string. - (quote_filename): Add shell style quoting. - -1997-12-14 Jim Meyering - - * tests/ln/sf-1: Make sure we get diagnostics in English. - - * Version 3.16g. - - * src/system.h: Remove lseek and memchr dcls. - * src/sys2.h: Put them here instead. - - * src/rm.c (ASSIGN_STRDUPA): Cast alloca return value to char*. - - * lib/hash.h: s/HAVE_DECLARATION_/HAVE_DECL_/. - -1997-12-13 Jim Meyering - - * tests/Makefile.am (check-local): New target. - - * tests/.posix-warn: New file. - - * src/dd.c (usage): Mention that `notrunc' is a conv= option. - Change --help output to tell the truth: that for of=FILE, - FILE *is* truncated. Reported by Miles Bader. - Remove incomplete, usage-like comment at top of file. - - * src/mv.c (do_move): If rename fails for any reason (not just when - errno == EXDEV), then revert to trying copy-then-unlink. This is - necessary to allow moving files within certain types of Linux NFS - mounted filesystems. Reported by Marty Leisner. - -1997-12-11 Jim Meyering - - * src/ln.c (do_link): Don't require --force when target exists and - using --backup. This changes makes ln consistent with cp and mv in - this respect. Suggestion from Eli Zaretskii. - -1997-12-06 Jim Meyering - - * src/du.c: Separate struct dcl and typedef. - (String *): Rename from parameter-shadowed `string'. - (stringstruct): Remove typedef. - -1997-11-30 Jim Meyering - - * lib/savedir.c (savedir): Revert last change. malloc always - works when called with zero, because we use the wrapper if the - system version is lacking. - - * configure.in (AC_LFS): Use this macro rather than open-coding it. - (jm_AC_HEADER_INTTYPES_H): Likewise. - (jm_AC_TYPE_UINTMAX_T): Likewise. - - * lib/human.c (human_readable): Convert to ANSI-style definition. - [lint]: Define `power'. - - * src/ls.c (print_long_format): Rename inner-scoped `buf' arrays - to `hbuf' to avoid shadowing local. - -1997-11-29 Paul Eggert - - Port to LFS and C9X in general, and to Solaris 2.6 in particular. - - * NEWS: Describe ls -h, -H, rounding, new SI prefixes, - 64-bit accumulators, and LFS. - - * acconfig.h (HAVE_INTTYPES_H, uintmax_t): New macros. - - * configure.in (CPPFLAGS, LDFLAGS, LIBS): Set to appropriate - values if large file support needs explicit enabling. - (HAVE_INTTYPES_H, uintmax_t): New macros to configure. - - * doc/fileutils.texi: Describe new -H option, new ls -h option. - Clarify about powers of 1000 vs 1024. - - * lib/Makefile.am (libfu_a_SOURCES): Add new file human.c. - (noinst_HEADERS): Add new file human.h. - - * lib/fileblocks.c (st_blocks): long -> off_t. - Avoid arithmetic overflow when size is near max. - Depend on _POSIX_SOURCE and BSIZE, not _POSIX_VERSION, for - compatibility with system.h. - (BSIZE): Remove definition, since if BSIZE is not defined - we're never invoked. - - * lib/fsusage.c: Do all calculations using uintmax_t. - Include if available. - (adjust_blocks, CONVERT_BLOCKS): Remove. - (get_fs_usage): Set new member fsu_blocksize, and do not convert - numbers to 512-byte block units; this avoids overflow here. - Cast lseek arg to off_t, not long. - - * lib/fsusage.h (struct fs_usage): New member fsu_blocksize. - Other members are now uintmax_t, not long. - - * lib/human.c, lib/human.h: New files. The interface is inspired - by the human_readable function that was in du.c, but it's pretty - much rewritten from scratch. - - * lib/idcache.c (getuidbyname, getgidbyname): Names can now - be NULL in cache. This change merely fixes ifdeffed-out code. - - * lib/savedir.c (savedir): Check for size zero before invoking - malloc; this can occur if st_size arg overflows on conversion to - unsigned int. All callers now cast st_size arg to unsigned int. - - * src/chgrp.c (, UINT_MAX, UINT_MAX): Remove; now - done by system.h. - - * src/copy.c (copy_reg): Store file size as off_t, not long. - Do not assume st_size has been normalized to 512 byte blocks, - or that it fits in size_t after dividing by the blocksize. - - * src/cp-hash.c (): Include if HAVE_INTTYPES_H. - (hash_insert2): Cast inode number to uintmax_t; this prevents - negative remainders if the inode number is negative and ino_t - is longer than unsigned. - - * src/dd.c, src/df.c, src/du.c, src/ls.c (): Include if - HAVE_INTTYPES_H. - ("human.h"): Include. - - * src/dd.c (input_blocksize, output_blocksize, conversion_blocksize): - Now size_t instead of long. 0 means unset. - (skip_records, seek_record, max_records): Now uintmax_t, not long. - (w_partial, w_full, r_partial, r_full, r_truncate): - Now uintmax_t instead of unsigned. - (print_stats): Print counts as uintmax_t, not unsigned. - (main, skip): Check for overflow when computing file offsets. - (skip): Records count arg is uintmax_t, not long; blocksize arg is - size_t, not long. Try lseek even on non regular files, as per comment. - (oc, col): Now size_t, not int. - (copy): No need to check max_records >= 0 any more, as the - default value is now effectively infinity. - Cast lseek arg to off_t. - (copy, copy_with_block): conversion_blocksize - col can never - be negative now, since it's unsigned, so rewrite loops to - avoid problems with unsigned. - (scanargs): Parse numeric args using uintmax_t, not int. - Check for overflow when converting block size args to size_t. - Blocksize options are now unsigned, and are now 0 when not set yet. - (parse_integer): Return uintmax_t, not int; accept new int * arg - to store error indicator, since all returned values are now valid. - Check for overflow when scanning integer. - - * src/df.c (LONGEST_HUMAN_READABLE_1K_BYTE_BLOCKS): Remove. - (human_readable_base): Renamed from human_blocks; value is now - zero or positive integer, not just zero or nonzero. - (output_units): New variable; - replaces booleans kilobyte_blocks and megabyte_blocks. - (long_options): Add --si or -H. - (print_header): Adjust to renamed option variables. - (human_readable_1k_blocks): Remove. - (show_dev): Count blocks using uintmax_t, not long. - Calculate percentages using double, not long; this still isn't - perfect as it suffers double rounding, but it's more likely to - round correctly in practice than using long did. - Adjust to renamed option variables. - Use new human_readable library function to format uintmax_t values. - (usage): Add -H, --si. - (main): Adjust to renamed option variables. - Use -H if BLOCKSIZE is SI. Add -H. - - * src/du.c (LONGEST_HUMAN_READABLE, enum Output_units): Remove. - (count_entry): Now returns uintmax_t, not long. - (human_readable_base): Renamed from opt_human_readable; value is now - zero or positive integer, not just zero or nonzero. - (output_units): Now an integer giving output size. - (tot_size): Now uintmax_t, not long. - (long_options, usage): Add --si or -H. - (main): Adjust to renamed option variables. - Use -H if BLOCKSIZE is SI. Add -H. - (human_readable): Remove; rewritten and now in lib/human.c. - (print_size): Rewrite in terms of human_readable. - Accept extra arg to be printed after size; all callers changed. - - * src/install.c (BITSPERBYTE): Remove. - (UID_T_MAX, GID_T_MAX): Define in terms of TYPE_MAXIMUM. - - * src/ls.c (): Don't include; system.h does it now. - (INT_MAX): Remove. - (longdiff): Remove bogus definition that uses subtraction; - it gives the wrong answer when overflows occur. - (convert_blocks): Remove. - (output_units): New variable; - replaces booleans kilobyte_blocks and megabyte_blocks. - (human_readable_base): New variable. - (long_options, usage): Add -h or --human-readable and -H or --si. - (decode_switches): Adjust to renamed option variables. - Use -H if BLOCKSIZE is SI. Add -h, -H. - (print_dir): Count blocks using uintmax_t, not int. - (gobble_file): Now returns uintmax_t, not int. - Don't convert blocks to 512 byte units, as this might overflow; - let caller handle the problem. Deduce what caller will print - by invoking human_readable. - (print_long_format, print_file_name_and_frills): Don't assume - inode number, block count, file size fit in unsigned long. - Use human_readable to do block count conversion and to print - file sizes. - (prep_non_filename_text): Print decimal string for time if - localtime fails due to enormous time_t. - - * src/system.h (): Include if HAVE_LIMITS_H. - (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX, UINT_MAX): - New macros. - (ST_NBLOCKS): Now counts actual blocks, not 512-byte blocks. - (ST_NBLOCKSIZE): New macro. - -1997-11-24 Jim Meyering - - * src/sys2.h: New file -- but just temporary. - * src/system.h: Move lots of pieces into sys2.h. - Include sys2.h. - -1997-11-19 Jim Meyering - - * lib/Makefile.am (AUTOMAKE_OPTIONS): Use ansi2knr so *I* don't - have to convert my hash package to use k&r C. - -1997-11-15 Jim Meyering - - * intl/Makefile.in (distclean): Don't remove libintl.h here. - * Makefile.am (DISTCLEANFILES): Remove it here instead. - -1997-11-13 Jim Meyering - - * 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 - - * src/copy.c (copy_dir): Use path_concat rather than open-coding it. - - * src/rm.c [mempcpy]: Remove definition. - * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define here instead. - * lib/path-concat.c (path_concat): Use mempcpy, not stpcpy. - -1997-11-09 Jim Meyering - - * 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 - - * m4/getline.m4: Fix typo in comment. - Add header check for string.h. - - * m4/Makefile.am (EXTRA_DIST): Add readdir.m4. - * configure.in (jm_FUNC_READDIR): Use it. - (AC_FUNC_FNMATCH): Add mempcpy. - -1997-11-02 Jim Meyering - - * acconfig.h: Add malloc and realloc. - - * src/rm.c: Put cycle-detecting code inside an - #ifdef ENABLE_CYCLE_CHECK, for systems lacking d_ino. - [D_INO_IN_DIRENT]: Define ENABLE_CYCLE_CHECK. - - * src/rm.c: (ASSIGN_STRDUPA): Clean up. - (right_justify): Use memcpy return value directly. - Suggestions from Ulrich Drepper. - - (remove_cwd_entries) [! defined HAVE_WORKING_READDIR]: Impose overhead - of working around non-POSIX readdir implementation only on systems - that need it. - (remove_cwd_entries): Temporarily save a copy of each entry name in - an obstack rather than on the stack via alloca, then free it in the - likely event that we don't save the entry in the hash table. - -1997-10-25 Jim Meyering - - * lib/xmalloc.c (xalloc_fail): Renamed from fixup_null_alloc. - (xcalloc): #ifdef-out unused function. - (xrealloc): Remove code to work around deficient versions of realloc. - Now we have an autoconf-enabled replacement version. - (xmalloc): Remove code to work around deficient versions of malloc. - Now we have an autoconf-enabled replacement version. - - * configure.in (jm_FUNC_MALLOC): Use it. - - * lib/Makefile.am (EXTRA_DIST): Add malloc.c. - * lib/malloc.c: New file. - * m4/malloc.m4: New file. - * m4/Makefile.am (EXTRA_DIST): Add malloc.m4. - - * lib/Makefile.am (noinst_HEADERS): Add xalloc.h. - - * lib/xalloc.h: New file. - * lib/xmalloc.c: Updated from textutils. - - * src/*.c: Remove old-style xmalloc and xrealloc decls. - * src/system.h: Include xalloc.h. - Remove dcls of xmalloc, xcalloc and xrealloc. - -1997-10-24 Jim Meyering - - * src/ls.c (gobble_file): Cast pointer arg in xrealloc call to char*. - * src/*.c: Remove old-style xmalloc and xrealloc decls. - * src/system.h: Add prototyped xcalloc, xmalloc and xrealloc decls. - Suggestion from Achim Blumensath. - -1997-10-23 Jim Meyering - - * Makefile.am (aclocal-files): Also depend on m4/Makefile.am. - - * src/system.h [!HAVE_DECLARATION_FREE]: Declare free. - [!HAVE_DECLARATION_MALLOC]: Declare malloc. - [!HAVE_DECLARATION_REALLOC]: Declare realloc. - [!HAVE_DECLARATION_STPCPY]: Declare stpcpy. - [!HAVE_DECLARATION_STRSTR]: Declare strstr. - * src/copy.c: Remove stpcpy decl. - * src/cp.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/ls.c: Likewise. - * src/dircolors.c: Remove free and malloc decls. - * src/ls.c: Likewise. - * src/rm.c: Remove free, malloc, and realloc decls. - On some systems, strstr and stpcpy are macros, so declaring them - unconditionally gets syntax errors. - Reported by Mark M. Kettenis. - - * configure.in: Use jm_CHECK_DECLS. - * m4/Makefile.am (EXTRA_DIST): Add decl.m4 and check-decl.m4. - -1997-10-22 Jim Meyering - - * m4/decl.m4: New file. - * m4/check-decl.m4: New file. New macro, jm_CHECK_DECLS. - -1997-10-18 Jim Meyering - - * src/rm.c (remove_cwd_entries): Entries in table of processed dir - entries are not malloc'd, so don't have hash cleanup free them. - Rewind dirp upon NULL readdir, required for at least SunOS. - -1997-10-13 Jim Meyering - - * configure.in (AC_CHECK_HEADERS): Add termios.h. - * src/ls.c: Bracket inclusion of termios.h with #ifdef HAVE_TERMIOS_H. - Masami Takikawa reported that this is necessary on NeXTStep 3.0 systems. - -1997-10-07 Jim Meyering - - * src/*.c: Update bug-reporting address. - -1997-10-06 Jim Meyering - - * src/install.c (usage): Add a line describing --verbose. - - * lib/makepath.c (make_path): Print message IFF the directory was - just created and the format string is non-NULL. - Print the verbose message using fprintf, not error. - -1997-10-05 Jim Meyering - - * lib/Makefile.am (noinst_HEADERS): Add savedir.h. - - * src/copy.h (struct cp_options): New field: require_preserve. - * src/copy.c (copy_internal): Use require_preserve. - * src/cp.c (cp_option_init): Initialize it. - (main): Set to 1 for -a and for -p. - -1997-10-03 Jim Meyering - - * lib/savedir.h (savedir) [__P]: New file with prototype. - * lib/savedir.c (savedir): Declare DIR parameter to be const. - Include savedir.h. Indent cpp directives. - * src/chgrp.c: Remove old-style savedir dcl. Include savedir.h for - prototype. - * src/chmod.c: Likewise. - * src/chown.c: Likewise. - * src/copy.c: Likewise. - * src/du.c: Likewise. - Achim Blumensath reported that ``on systems like BeOS, where off_t is - 64 bits [not having a prototype] results in passing 0 as name_size...'' - -1997-09-27 Jim Meyering - - * src/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), per - automake manual. - -1997-09-20 Jim Meyering - - * lib/Makefile.am (libfu_a_SOURCES): Use hash.c, not oa-hash.c. - (noinst_HEADERS): Use hash.h, not oa-hash.h. - -1997-09-15 Jim Meyering - - * src/rm.c: Use hash.c (chaining) functions, not those of oa-hash.c - (open addressing). The latter implementation is wonderful when - deletions are rare, but doesn't support the frequent deletions - required to implement the active directory set. - - * lib/hash.c: New file -- replaces oa-hash.c. - * lib/hash.h: New file. - * lib/oa-hash.c: Remove. - * lib/oa-hash.h: Remove. - - * src/ln.c (do_link): Perform S_ISLNK test only if lstat succeeded. - Otherwise, dest_stats could be used uninitialized. - -1997-09-14 Jim Meyering - - * src/rm.c (full_filename): Use realloc, not xrealloc. - - * configure.in (jm_FUNC_REALLOC): Use it. - * m4/Makefile.am (EXTRA_DIST): Add realloc.m4. - * m4/realloc.m4: New file. - * lib/Makefile.am (EXTRA_DIST): Add realloc.c. - * acconfig.h (realloc): Add #undef. - - * src/dd.c (equal): Use STREQ (from system.h) instead. - (siginfo_handler): New function: handler for SIGINFO/SIGUSR1. - (install_handler): New function. - (main): Use install_handler instead of open-coding it. - Handle SIGINFO (or SIGUSR1 if that's not defined). - (print_stats): Move definition to precede first reference. - Remove prototype. - -1997-09-13 Jim Meyering - - * src/ls.c (print_many_per_line): Add some non-essential curly braces. - (print_horizontal): Likewise. - (struct col_info) [valid_len]: Rename from `valid' which conflicted - with the macro in locale.h of SunOS4.1.4. - - * src/rm.c: (PARAMS): Define. - (rm): Guard prototype in forward dcl with PARAMS. - - * lib/strverscmp.h [HAVE_CONFIG_H]: Include config.h. - (PARAMS): Define. - Guard prototype with PARAMS. - - * lib/oa-hash.c: Use K&R style function dcls, not ANSI. - (HASH_MALLOC): Prefix with (Type*) cast to placate old compilers. - Use assert, not ASSERT. - Include assert.h. - (HASH_DELETED_ITEM_MARKER): Define to address of file-scoped static, - not less-portable ((void *) (~0U)). - (HASH_VACANT): Define here, not in hash.h. - - * lib/oa-hash.h: (HASH_DELETED_ITEM_MARKER): Move definition to hash.c. - (HASH_VACANT): Likewise. - - * lib/strverscmp.c [HAVE_CONFIG_H]: Include config.h. - (strverscmp): Use `1' not `+1' -- some compilers (sunos' cc) can't - parse it. - - * lib/strdup.c [HAVE_CONFIG_H]: Include config.h. - - * src/rm.c: Finish rewrite to use chdir and hash tables. - See `Implementation overview' comment in the source. - -1997-09-11 Jim Meyering - - * src/install.c: Add new option: --verbose (-v). - From Andreas Schwab. - -1997-09-01 Jim Meyering - - * lib/Makefile.am (EXTRA_DIST): Remove mvdir.c and rmdir.c. - Add lstat.c and stat.c. - - * src/ls.c [!STDC_HEADERS]: Declare malloc. - - * m4/Makefile.am (EXTRA_DIST): Add stat.m4. - * m4/stat.m4: New file. - * m4/stat.m4 (jm_FUNC_STAT): New macro. - * lib/stat.c: New file. - * configure.in (jm_FUNC_STAT): Use it. - - * src/ln.c (do_link): Form destination file name (when DEST is a - directory) before checking whether SOURCE and DEST are the same file. - See tests/ln/sf-1. Reported by Michael Veksler. - - * tests/ln: New directory and test. - * tests/Makefile.am (SUBDIRS): Add ln. - * configure.in (AC_OUTPUT): Add tests/ln/Makefile. - -1997-08-31 Jim Meyering - - * src/chgrp.c (change_file_group): Call describe_change with a - 3-state argument. - (describe_change): Report whether the operation was successful, - a failure, or that the request was a no-op. - Before, running `chgrp --verb bin /' as non-root reported - group of / changed to bin - chgrp: you are not a member of group `bin': Not owner - - * src/chown.c (change_file_owner): Call describe_change with a - 3-state argument. - (describe_change): Report whether the operation was successful, - a failure, or that the request was a no-op. - Before, running `chown --verb bin /' as non-root reported - owner of / changed to bin - chown: /: Not owner - - * configure.in (jm_FUNC_LSTAT): Use it. - - * acconfig.h (lstat): Add #undef. - - * m4/Makefile.am (EXTRA_DIST): Add lstat.m4. - - * m4/lstat.m4: New file. - * m4/lstat.m4 (jm_FUNC_LSTAT): New macro. - * lib/lstat.c: New file. - - * src/rm.c (fspec_get_full_mode): Don't call error here. - (remove_file): Call error after fspec_get_full_mode call, if necessary. - Don't print mode when asking whether to descend into write-protected - directory. - (remove_dir): Don't fail just because we can't stat the file to get - the mode for the prompt string. - (rm): Exit successfully for missing files when -f is given. - (rm): Remove cruft to work around SunOS4's broken lstat now that - there is a working replacement function. - - * lib/oa-hash.c: New file. - * lib/oa-hash.h: New file. - - * lib/Makefile.am (libfu_a_SOURCES): Add oa-hash.c. - (noinst_HEADERS): Add oa-hash.h. - - * lib/stpncpy.c: New file. - * configure.in (AC_REPLACE_FUNCS): Add stpncpy. - - * src/rm.c (remove_cwd_entries): Convert to using oa-hash.c. - - * m4/Makefile.am (EXTRA_DIST): Add d-ino.m4 and d-type.m4. - - * tests/rm: New directory and tests. - * tests/Makefile.am (SUBDIRS): Add rm. - * configure.in (AC_OUTPUT): Add tests/rm/Makefile. - - * src/dircolors.c [!STDC_HEADERS]: Declare malloc. - Remove unnecessary dcl of xmalloc. - - * src/rm.c: Major rewrite in progress. Use fchdir/chdir. - - * m4/d-ino.m4: New file. - * m4/d-type.m4: New file. - * acconfig.h (D_TYPE_IN_DIRENT): Define. - * configure.in: Move code to check for d_ino into its own file. - Use jm_STRUCT_DIRENT_D_TYPE and jm_STRUCT_DIRENT_D_INO. - - * src/chmod.c (change_file_mode): Call describe_change with a 3-state - argument. - (describe_change): Report whether the operation was successful, - a failure, or that the request was a no-op. - Before, running `chmod --verb u-r /' as non-root reported - mode of / changed to 0355 (-wxr-xr-x) - chmod: /: Not owner - Reported by Philippe Schnoebelen - -1997-07-28 Jim Meyering - - * configure.in (AC_OUTPUT): Remove tests/ls/Makefile. - Add tests/cp/Makefile and tests/mkdir/Makefile. - - * lib/modechange.c (mode_create_from_ref): Don't use umask. - Don't use MODE_X_IF_ANY_X. - - * src/install.c (main): New option --preserve-timestamps (-p). - (install_file_in_file): Preserve timestamps if requested. - (change_timestamps): New function. - (usage): Describe --preserve-timestamps. - Correct --mode description. - From Galen Hazelwood. - - * src/install.c: Declare pointer parameters const as appropriate. - -1997-07-13 Jim Meyering - - * doc/Makefile.am (EXTRA_DIST): Remove explicit mention of texinfo.texi. - Now, automake includes it automatically. - -1997-07-09 Jim Meyering - - * tests/mkdir: New directory and associated files. - * tests/cp: New directory and associated files. - * tests/Makefile.am (SUBDIRS): Add cp and mkdir. - - * lib/makepath.c (make_path): Chdir to `/' before starting if necessary. - Call save_cwd before while loop rather than from first iteration - inside it. - - * lib/strverscmp.c (strverscmp): Add `parenentheses around arithmetic - in operand of |' as suggested by gcc -Wall. - -1997-07-06 Jim Meyering - - * lib/idcache.c (getuidbyname): Declare parameter to be const. - (getgidbyname): Declare parameter to be const. - -1997-07-06 Jean-François Bignolles - - * lib/modechange.h (mode_create_from_ref): Add prototype. - (MODE_MASK_ALL): New define. - (MODE_BAD_REFERENCE): New define. - * lib/modechange.c (mode_create_from_ref): New function. - * lib/strverscmp.c: New file. - * lib/strverscmp.h: New file. - * lib/Makefile.am (noinst_HEADERS): Add strverscmp.h. - - * configure.in (AC_REPLACE_FUNCS): Add strverscmp. - - * src/ls.c: Add new option: --sort=version (-v). - * src/chgrp.c: Add new option: --reference=FILE. - * src/chown.c: Add new option: --reference=FILE. - * src/chmod.c: Add new option: --reference=FILE. - -1997-07-06 Jim Meyering - - * lib/idcache.c (getuser): Return NULL (rather than stringified uid) - upon lookup failure. - (getgroup): Likewise. - (getuidbyname) [NOT_USED]: #ifdef-out unused function. - (getgidbyname) [NOT_USED]: #ifdef-out unused function. - Suggested by François Pinard. - * src/ls.c (print_long_format): Reflect changes in semantics of - getuser, getgroup. - -1997-07-04 Jim Meyering - - * Makefile.am (aclocal-files): Look in source directory, not build dir. - From Andreas Schwab. - -1997-07-03 Jim Meyering - - * src/mv.c (apply_attributes): New function. - (copy_reg): Use apply_attributes instead of open-coding the pieces. - Now, failure to preserve file attributes does not cause mv to change - its exit status, and such failures elicit warning diagnostics. This - behavior is required by POSIX. Before, failure to preserve ownership - due to insufficient access was diagnosed only for root. - Prompted by a report from Bengt Martensson. - -Tue Jul 1 06:42:17 1997 Jim Meyering - - * lib/makepath.c (make_path): Reorder stat-then-mkdir-if-missing - calls so that mkdir is called first. Before make_path would first - `stat' a directory, then call mkdir if it didn't exist. But if - some other process created the directory between the stat & mkdir, - the mkdir would fail with EEXIST. Diagnosis and suggestion from - Greg McGary. - -Sun Jun 29 17:19:30 1997 Jim Meyering - - * src/dd.c (copy): Add FIXME comment. - - * src/mv.c (copy_reg): New parameter, SOURCE_STATS. - (do_move): Update caller. - -Sun Jun 22 08:32:46 1997 Jim Meyering - - Use variable width columns when printing in multi-column mode. - * src/ls.c: (init_col_info): New function. - (print_current_files): Call init_col_info if format is - `many_per_line' or `horizontal'. - (print_many_per_line): Calculate and apply optimum column widths. - (print_horizontal): Likewise. - From Ulrich Drepper. - - * src/mv.c (movefile): Take new boolean parameter, DEST_IS_DIR, - to save a stat per moved file when the destination is a directory. - (main): Call movefile with additional argument. - (strip_trailing_slashes_2): New function. - (movefile): Remove trailing slashes from dest. Otherwise, stat ("b/") - fails with ENOTDIR on systems including Linux w/libc 2.0.30. - Reproduce with `rm -rf a b; mkdir a; touch b; ./mv a b/'. - (do_move): Fix misleading comment. - -Sat Jun 21 21:26:57 1997 Jim Meyering - - * configure.in: Remove now-unused definitions of LN, MV, RM. - -Sun Jun 15 07:04:29 1997 Jim Meyering - - * lib/full-write.c (full_write): Add comment regarding failure due - to bug in Linux Slackware 1.2.13 kernel. - - * lib/makepath.c: Rewrite using save-cwd.c and chdir to remove - quadratic component of complexity. Before, it processed O(n^2) - directory name components via stat and mkdir. Now it's O(n). - This makes mkdir -p a lot more efficient when creating directories - with very many components. On a Linux 2.0.30 ext2fs filesystem - this command: mkdir -p `perl -e 'print "a/" x 500'` now runs in - 0.77 seconds (user+sys). Contrast that with the 9.5(!) seconds - it took before. - -Sat Jun 14 11:40:17 1997 Jim Meyering - - * man/Makefile.am: (EXTRA_DIST): Put man_MANS here so they are - distributed. This is necessary for automake-1.1p. - -Tue Jun 3 15:00:00 1997 Jim Meyering - - * lib/fileblocks.c [HAVE_UNISTD_H]: Include unistd.h. - John Gatewood Ham reported that this is necessary for DJGPP/Win95. - -Wed May 28 06:35:56 1997 Jim Meyering - - * lib/mountlist.c (read_filesystem_list): Add `|| defined (__OpenBSD__)' - to the NetBSD #if so OpenBSD also uses the f_fstypename member. - (fstype_to_string): Add `&& !defined (__OpenBSD__)' to the NetBSD #if - expression to exclude this function definition. OpenBSD 2.1 beta - doesn't need it. Patch from Hugh Daniel - -Tue May 27 04:35:17 1997 Jim Meyering - - * src/cp.c: Use base_name, not basename. - * src/dircolors.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/mv.c: Likewise. - * src/mvdir.c: Likewise. - * src/rm.c: Likewise. - - * configure.in: Add AC_SYS_LONG_FILE_NAMES. - Check for pathconf. - Don't replace basename. Now we use only base_name. - Clean up kludge that worked around a bug (now-fixed) in automake. - - * lib/argmatch.h Change dcl of program_name so it doesn't conflict - with the ubiquitous char* one. - - * lib/addext.c: New file. - * lib/Makefile.am (libfu_a_SOURCES): Add addext.c. - Remove getversion.c; get_version is now in backupfile.c. - Add basename.c since it's no longer replacible. - - * lib/getopt.c: Update from glibc via patch-2.2.93. - * lib/getopt1.c: Likewise. - * lib/getopt.h: Likewise. - * lib/argmatch.h: Update from FSF via patch-2.2.93. - * lib/argmatch.c: Likewise. - * lib/backupfile.c: Likewise. - * lib/backupfile.h: Likewise. - * lib/basename.c: Likewise. - -Sun May 25 09:21:01 1997 Jim Meyering - - * src/copy.c (copy_internal): When preserving symlinks - (--no-dereference) and the destination file is a symlink, - use stat (not xstat) to see if it points back to the source. - Reported by James . - - * src/du.c: Remove global variable opt_human_readable. - (enum Output_units): Rename from output_size. - Rename size_* to Unit_*. - Add Unit_variable to correspond to --human-readable. - (convert_blocks): Remove now-unused definition. - (human_readable): Rename paramater n_bytes to n_blocks. - Adjust conversions to reflect fact that input is now number of - 512-byte blocks, not bytes. - (print_size): New function. - (du_files): Use print_size instead of open coding it. - (count_entry): Always count in units of 512-byte blocks to delay. - This lets du accumulate totals corresponding to a terabyte before - overflowing 32-bit long int. - Use print_size instead of open coding it. - - Tue Feb 4 11:58:49 1997 Andreas Schwab - - * src/du.c (convert_blocks): Remove now-unnecessary #undef. - (du_files): Pass output_size unchanged to convert_blocks. No need - to test output_size for size_bytes, convert_blocks handles that - correctly. - (count_entry): Likewise. - - * src/system.h (convert_blocks): Remove definition. - * src/ls.c (convert_blocks): Add definition. - -Sun May 25 09:11:17 1997 Jim Meyering - - * src/du.c [AIX]: Remove unused #pragma alloca. - -Sat May 24 09:20:12 1997 Jim Meyering - - * src/rmdir.c: New options: --ignore-fail-on-non-empty and --verbose. - (remove_parents): Implement new options. - (main): Likewise. - - * lib/mountlist.c (read_filesystem_list): Show automount-related - duplicate filesystems only when --all specified. With suggestions - from Stuart Kemp. Also indent cpp directives. - - * configure.in (AC_CHECK_FUNCS): Add hasmntopt. - (AC_CHECK_HEADERS): Add sys/mntent.h. - (ALL_LINGUAS): Add Czech (cs). - -Wed Mar 26 23:43:57 1997 Jim Meyering - - * src/du.c (main): Implement new --max-depth=N option. - Based on the idea and a patch from Torbjorn Lindgren. - (du_files): Likewise. - (count_entry): Likewise. - -Sat Mar 22 20:29:10 1997 Jim Meyering - - * missing: New file -- from the automake-1.1m distribution. - -Fri Mar 21 23:58:12 1997 Jim Meyering - - * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.1l. - (aclocal.m4): Use aclocal's new -I option. - -Thu Mar 13 21:27:36 1997 Jim Meyering - - * lib/mktime.c: (TIME_T_MIN): Work around a bug in Cray C 5.0.3.0. - -Wed Mar 12 23:11:11 1997 Jim Meyering - - * src/chgrp.c (change_file_group): Use uid of -1 to indicate - we don't want to change the file's user ID. - - * m4/gettext.m4: Update from gettext-0.10.27. - - * acconfig.h (chown): Add #undef. - - * configure.in (ALL_LINGUAS): Add ko. - Use jm_FUNC_CHOWN. - * m4/chown.m4: New file. - * m4/Makefile.am (EXTRA_DIST): Add chown.m4. - * lib/chown.c: New file. - * lib/Makefile.am (EXTRA_DIST): Add chown.c. - -Sun Mar 9 22:46:41 1997 Jim Meyering - - * src/ls.c (decode_switches): Ignore value of COLUMNS envionment - variable when it is the empty string. Suggestion from Ulrich Drepper. - This makes it easier on people using shells (which?) with which it - is not easy to unset environment variables. - -Wed Feb 26 23:46:39 1997 Jim Meyering - - * lib/getdate.y: (tYEAR_UNIT): Increase yyRelYear by $1, not just by 1. - From Andreas Schwab. - - * src/copy.c (copy_internal): When there is any potential for - ambiguity in a diagnostic, give explanatory diagnostic in addition - to file name. - * src/cp.c (re_protect): Likewise. - -Sat Feb 22 14:10:25 1997 Jim Meyering - - * lib/getdate.y - (tMONTH_UNIT): Increase yyRelMonth by $1, not just by 1. - (tDAY_UNIT): Likewise for yyRelDay. - (tHOUR_UNIT): Likewise for yyRelHour. - (tMINUTE_UNIT): Likewise for yyRelMinutes. - (tSEC_UNIT): Likewise for yyRelSeconds. - Matthew S. Levine reported that touch -d yesterday didn't work. - -Thu Feb 20 20:16:59 1997 Jim Meyering - - * lib/mktime.c: Update from libc. - * lib/strtol.c: Update from libc. - -Wed Feb 19 22:06:32 1997 Jim Meyering - - * src/ls.c (main): Remove trailing slashes from command line arguments. - Otherwise, running `mkdir x; chmod 644 x; ls -d x/' (note the trailing - slash) makes ls fail with permission denied on at least Linux 1.2.13 - and 2.0.14 systems. - -Wed Feb 5 21:54:17 1997 Jim Meyering - - * src/ls.c (quote_filename): Allocate two more bytes (for quotes) - when using --quote-name (-Q). - Feb 2 change wasn't complete. Patch from Mark Harris. - -Mon Feb 3 21:49:55 1997 Jim Meyering - - * po/POTFILES.in: Add copy.c and cp-hash.c. Remove cp-aux.c. - -Sun Feb 2 09:40:37 1997 Jim Meyering - - * src/system.h [__GNUC__]: Don't define alloca to __builtin_alloca. - - * Makefile.am (SUBDIRS): Add tests. - - * configure.in (AC_OUTPUT): Add tests/Makefile and tests/ls/Makefile. - * tests: New directory. - * tests/ls: New directory. - - * src/ls.c (quote_filename): Don't backslash-escape double quotes. - This fixes a problem whereby columns weren't aligned when some files - contained double quote characters and ls's --escape (-b) option was - used. Reported by Mark Harris. - - * src/cp-hash.c (struct entry): Move dcl to this file from cp.h. - (struct htab): Likewise. - No longer include cp.h. Instead, include the things it used to - include. - (hash_insert2): Make function static. Move this function to precede - the sole function from which it is called. - - * src/Makefile.am (noinst_HEADERS): Add copy.h, cp-hash.h. - Remove cp.h. - (EXTRA_DIST): Remove cp-aux.c and cp-hash.c. - (cp_SOURCES): Remove cp-aux.c. Add cp-hash.c. - * src/cp-aux.c: Remove file. - * src/cp.h: Remove file. - - * src/du.c (hash_insert2): Rename local HTAB to HT to avoid shadowing - global. - - * src/dircolors.c [obstack_chunk_alloc]: Define to malloc, not xmalloc - to work better with new obstack functions. - * src/ls.c (obstack_chunk_alloc): Likewise. - - * src/df.c (main): Rename local I to C to avoid shadowing and to - be more consistent. Declare I in inner scopes. - - * po/Makefile.in.in (POTFILES): Redirect to an intermediate file - and write-protect POTFILES. - -Fri Jan 31 21:13:04 1997 Jim Meyering - - * src/chown.c (usage): Make the parenthetical note on --no-dereference - a little more general. - - * src/*.c: Compare getopt_long return value against -1, not EOF. - Use NULL, not `(int *) 0' as last parameter in getopt_long call. - (usage): Bracket bug-reporting address with <> and append a period. - -1997-01-27 Paul Eggert - - * src/ls.c (print_long_format): Fix off-by-one problem in size - being passed to strftime. - -Sun Jan 26 20:17:50 1997 Jim Meyering - - * Version 3.16. - - * acconfig.h (strftime): Add #undef. From Marcus Daniels. - -Sat Jan 25 00:34:39 1997 Jim Meyering - - * src/du.c (count_entry): Fix blatant bug (typo?) that made - --megabytes report numbers in units of kilobytes. - Reported by Galen Hazelwood. - - * src/cp.h: Remove now-unnecessary prototype for is_ancestor. - - * lib/Makefile.am (noinst_HEADERS): Add getdate.h. - - * src/cp-aux.c (is_ancestor): Remove function. - * src/cp.c (is_ancestor): Add function. - - * src/cp.h: Remove spurious extern dcl of htab. - - * m4/getgroups.m4: Move the code from configure.in into - this macro that resorts to looking for getgroups in -lbsd. - Set new shell variable, GETGROUPS_LIB (that callers should check), - if it is found there. - * configure.in: Check $GETGROUPS_LIB just after jm_FUNC_GETGROUPS. - (AC_CHECK_FUNCS): Remove getgroups. - Remove code that resorts to looking for getgroups in -lbsd. - - * configure.in (jm_FUNC_GNU_STRFTIME): Use it -- because ls - needs a version of strftime that supports the %e format and - pretty many systems lack that: NextStep 3.3, Mips Ultrix ?.?. - This is a little bit overkill (for now) in that if the strftime - in your C library doesn't have all features of GNU strftime (even - though it may support %e) ls will be linked with the version of - strftime provided with this package. But for an upcoming release, - GNU ls will provide an option to allow the user to specify the - date format string -- and for that I want to make GNU strftime - the default in any case. Think of this as an incentive to use - the GNU C library. - -Fri Jan 24 23:36:00 1997 Jim Meyering - - * lib/long-options.c (parse_long_options): Reset optind to zero - before just returning so that getopt internals get initialized from - the probably-new parameters when/if getopt is called later. - From Ulrich Drepper. - -Mon Jan 20 06:52:09 1997 Jim Meyering - - * configure.in (fu_cv_sys_truncating_statfs): Add preprocessor - guard to make sure that this test for Sun brokenness doesn't - get a false positive on any other type of system. Eirik Fuller - reported that Linux 2.1.20 has a f_spare member in - the statfs struct. And that triggered a false positive. - -Thu Jan 9 06:23:18 1997 Jim Meyering - - * m4/gettext.m4: Remove AC_ISC_POSIX. From Karl Heuer. - -Wed Jan 8 16:38:24 1997 Jim Meyering - - * Version 3.15. - - * src/ls.c (print_long_format): Cast alloca return value to char*. - - * lib/getopt.c (_getopt_internal): Use `_', rather than the - (sometimes-)expansion `gettext'. - -Tue Jan 7 22:49:55 1997 Jim Meyering - - * lib/getopt.c: New (more POSIX compliant) version from GNU libc. - [_]: Define to gettext also if ENABLE_NLS is defined. - This is temporary. - -Sun Jan 5 09:33:07 1997 Jim Meyering - - * src/ls.c (print_long_format): Avoid making unnecessary copy of - date/time string. Patch from Paul Eggert. - (print_long_format): NUL-terminate line of output. - (print_long_format): Detect and handle strftime failure - due to pathologically long strings in locale tables. - Patch from Paul Eggert. - (print_long_format): Change references to BIGBUF in use of - FPUTS macro to references to BUF. - Use 11 (not 20) bytes for mode string buffer. - -Sat Jan 4 21:14:36 1997 Jim Meyering - - * src/ls.c (print_long_format): Clean up vestiges of legacy - ctime-oriented code. With internationalization and strftime, - you can't presume that %a expands to a 3-byte string. - Reported by Ross Ridge. - (print_long_format): Use POSIX-mandated %e (blank-padded numeric - day of month), not %d (the same number, but *zero*-filled). - -Fri Jan 3 21:08:29 1997 Jim Meyering - - * acconfig.h (getgroups): Add #undef. - From Marcus Daniels. - -Thu Jan 2 21:16:16 1997 Jim Meyering - - * lib/Makefile.am (EXTRA_DIST): Add getgroups.c. - -Wed Jan 1 17:30:26 1997 Jim Meyering - - * lib/getgroups.c: New file. - - * configure.in (AC_ARG_PROGRAM): Remove explicit use. - It's implicit in AM_INIT_AUTOMAKE. From Wayne Stewart. - (list_mounted_fs): Fix typo (by declaring NUMSYS) in test for - getfsstat on osf1. From hitchens@epa001.enet.dec.com. - -Sun Dec 29 21:55:13 1996 Jim Meyering - - * configure.in (jm_FUNC_GETGROUPS): Use it. - -Sat Dec 28 14:32:05 1996 Jim Meyering - - * src/ls.c: Two problems fixed by these changes from Joakim Rosqvist. - Quoting Joakim: - 1) The "total" number and the size of the first file as - output from 'ls --color -s' did not get colorized according - to the "no"-argument in LS_COLORS. Fixed by adding a function - prep_non_filename_text which prints the C_LEFT C_NORM C_RIGHT - strings (or C_END). It is called from main before any text is - output, and from print_name_with_quoting after having output a - colorized filename. - 2) If the "no"-argument of LS_COLORS is set, the terminal will be - set to print in that color after ls exits. The man-pages suggests - setting "no" and "fi" to the terminals default colors to avoid - the problem, but that would mean I can't use anything but the - default color for regular files and non-filename text. Fixed by - outputting C_LEFT immediately followed by C_RIGHT right before - exit, which restores the default color. - -Fri Dec 27 17:29:02 1996 Jim Meyering - - * Makefile.am (aclocal.m4): No longer depend on acinclude.m4. - - * configure.in: AC_REQUIRE version 2.12 of autoconf. - -Sun Dec 22 23:29:10 1996 Jim Meyering - - * acinclude.m4: Move macros to individual files in new directory, m4/. - See ChangeLog entries in sh-utils for the details. - -Wed Dec 18 23:09:19 1996 Jim Meyering - - * src/dircolors.hin (ORPHAN): By default, color orphans red on - a black background. - - * src/dircolors.c (usage): Remove --print-data-base. - Now only --print-database remains. Although it wasn't documented, - --print-data-base was still accepted. But it made `--p', `--print', - `--print-data', etc. ambiguous. - - * src/ls.c (gobble_file): Stat symlinks also when printing with - color and set linkok to reflect existence of referent. - Patches from Joakim Rosqvist, James Antill, and Jesse Thilo. - -Tue Dec 17 21:03:40 1996 Jim Meyering - - * src/system.h (ISDIGIT): Replace with smaller, faster edition - that yields nonzero only on ASCII digits. - (ISDIGIT_LOCALE): New macro, with same meaning that ISDIGIT - used to have. From Paul Eggert. - * lib/backupfile.c (ISDIGIT): Likewise. - * lib/getdate.y (ISDIGIT): Likewise. - - * src/cp.c (ROOT_CHOWN_AFFECTS_SYMLINKS): New macro. - (DO_CHOWN): Take an additional parameter. - (LINK_CHOWN): Remove macro. - (copy): When preserving owner and group of a symlink, use - chown only if ROOT_CHOWN_AFFECTS_SYMLINKS and EUID == 0. - Otherwise, the chown would affect the file referenced through - the symlink. - -Sat Dec 14 14:51:50 1996 Jim Meyering - - * acinclude.m4 (jm_SYS_PROC_UPTIME): Fix typo in cache variable - name for cross compiling. - Remove definitions of gettext-related macros. The gettext - installation procedure installs corresponding .m4 files so that - aclocal will use them. - -Wed Dec 11 19:34:22 1996 Jim Meyering - - * Version 3.14. - -Tue Dec 10 00:14:24 1996 Jim Meyering - - * configure.in: Bump version to 3.13k. - - * src/install.c [_POSIX_VERSION]: Don't declare wait. That - declaration conflicted with one in a system header file on - i386-pc-isc3.0, now that I've removed the AC_ISC_POSIX macro - and _POSIX_VERSION is no longer defined. - Reported by Karl Heuer. - - * configure.in (AC_ISC_POSIX): Remove kludgy macro. - Use this test instead: - (LIBS): Add -lcposix if it contains strerror. - Patch from Karl Heuer. - - * lib/Makefile.am (EXTRA_DIST): Add mktime.c. - Reported by Thomas Bushnell. - * (EXTRA_DIST): Add strftime.c to appease automake. - Although it's not used yet, it'll be used by ls's (to-be-done) - --format=FORMAT option. - -Mon Dec 9 18:26:54 1996 Jim Meyering - - * lib/obstack.h: Include config.h. - [!HAVE_BCOPY && HAVE_MEMCPY && !defined (bcopy)]: Define bcopy - in terms of memcpy. Reported by Marcus Daniels. - - * configure.in (LIBOBJS): After AC_FUNC_FNMATCH, add fnmatch.o - and define fnmatch to rpl_fnmatch if necessary. - - * acconfig.h (fnmatch): Add undef. - - * src/df.c (find_mount_point): Convert from K&R style header to ANSI. - Patch from Kaveh Ghazi. - -Sun Dec 8 07:22:38 1996 Jim Meyering - - =========== Update for automake-1.1k. - * Makefile.am (AUTOMAKE_OPTIONS): Require 1.1k. - * configure.in (AM_CONFIG_HEADER): Use it. - (AC_OUTPUT): Remove stamp-h timestamping statement. - Now, AM_CONFIG_HEADER does it automatically. - * lib/Makefile.am (noinst_LIBRARIES): Rename to libfu.a as per - new automake requirement. - Rename fu_* variables to libfu_a_*. - -Mon Dec 2 20:30:20 1996 Jim Meyering - - * configure.in (jm_FUNC_MKTIME): Use this instead of AM_FUNC_MKTIME. - - * src/system.h [!S_IXUGO] (S_IXUGO): Define it. - - * src/ls.c (print_color_indicator): Check the file's suffix only - if it's a regular file. - Reported by Santiago Vila Doncel. - (print_type_indicator): Use S_IXUGO instead of writing out - (S_IEXEC | S_IXGRP | S_IXOTH). - (length_of_file_name_and_frills): Likewise. - -Sun Dec 1 13:07:39 1996 Jim Meyering - - * lib/getdate.y (date): Interpret the date, L/M/N, as YYYY/MM/DD - if L >= 1000, otherwise as MM/DD/YY. With this change, - date --date=DATE accepts dates like those in an RCS log listing. - -Sat Nov 30 22:11:42 1996 Jim Meyering - - * acinclude.m4: (jm_FUNC_MKTIME): New macro. This is like - AM_FUNC_MKTIME, but with one addition: when it replaces the - function, it also redefines mktime to gnu_mktime. - -Fri Nov 29 21:19:13 1996 Jim Meyering - - * src/install.c (copy_file): Allow installation from non-directory - (rather than only regular) files. Suggestion from Charles Karney. - - * src/df.c (main): Accept -F as a synonym for -t for compatibility - with Solaris. From Peter Eriksson. - - * src/ls.c (main): Close stdout and check result, in case any - deferred writes fail. - Use EXIT_SUCCESS and EXIT_FAILURE in exit and usage calls. - -Thu Nov 28 13:10:22 1996 Jim Meyering - - * src/df.c (find_mount_point): Use strip_trailing_slashes and dirname - instead of open-coding them. When given FILE containing no slashes, - chdir to the directory containing it (the current directory) rather - than to `..'. - - Tue Nov 5 14:51:56 1996 Miles Bader - - * src/df.c (find_mount_point): Use save_cwd/restore_cwd. - "save-cwd.h": New include. - - Wed Oct 30 00:21:16 1996 Miles Bader - - * lib/fsusage.c (get_fs_usage): If DISK is 0 and we needed to use - it, return -1 with 0 in ERRNO. - * src/df.c (show_dev): Deal with null values for DISK and FSTYPE, - including interpreting special 0 errno return from get_fs_usage. - (show_point): Don't fail if we can't find a mount entry for POINT, - just call show_dev with 0 values and let it fail if necessary. - (main): Require a non-zero MOUNT_LIST only if showing all filesystems. - (find_mount_point): New function. - (xgetcwd): New declaration. - -Thu Nov 28 00:31:11 1996 Jim Meyering - - * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT - for gettext-0.10.25. - -Tue Nov 26 23:24:13 1996 Jim Meyering - - * acinclude.m4: Update with macros from gettext-0.10.25. - -Sun Nov 24 22:43:24 1996 Jim Meyering - - * acconfig.h (mktime): Add undef for my enhanced (beyond automake's - 1.1g version of) AM_FUNC_MKTIME. - - * acinclude.m4 (AM_FUNC_GETLINE): Use am_, not su_ prefix for - local/cache variables. - -Sat Nov 23 16:11:59 1996 Jim Meyering - - * lib/Makefile.am (EXTRA_DIST): Add getline.c now that getline - isn't mentioned in AC_REPLACE_FUNCS. - - * lib/Makefile.am (EXTRA_DIST): - - * chgrp.c (usage): Alphabetize option descriptions the way - sort -f would. - * chown.c (usage): Likewise. - * cp-aux.c (usage): Likewise. - * df.c (usage): Likewise. - * install.c (usage): Likewise. - * ln.c (usage): Likewise. - * ls.c (usage): Likewise. - * mkdir.c (usage): Likewise. - * mv.c (usage): Likewise. - * rm.c (usage): Likewise. - From Karl Berry. - -Fri Nov 22 22:14:10 1996 Jim Meyering - - * configure.in (AC_REPLACE_FUNCS): Don't try to replace getline this - way. AM_FUNC_GETLINE does it now. - (AM_FUNC_GETLINE): Use it here. - - * src/cp.c (copy): With -i and not -f, prompt for any type of - (non-directory) source file before overwriting an existing target. - Reported by Mark A. Thomas and Emile LeBlanc. - -Tue Nov 19 23:10:32 1996 Jim Meyering - - * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11 - has this built-in. - (AC_FUNC_FNMATCH): Use this macro (new with autoconf-2.11) instead - of open-coding it. - -Sun Nov 17 20:53:00 1996 Jim Meyering - - * src/touch.c: Remove unused declaration of mktime. From Tony Leneis. - -Mon Nov 4 23:18:03 1996 Jim Meyering - - * configure.in (test for group_member): Handle it separately - so I can keep the hyphen (not the underscore) in the filename. - - * lib/rename.c: New version from François Pinard. - -Sat Nov 2 07:05:36 1996 Jim Meyering - - * src/ls.c (gobble_file): Set linkok for non-orphaned symlinks. - From Bauke Jan Douma. - (gobble_file): Initialize linkok. - With these two changes, ls --color should display orphaned symlinks - as blinking text on terminals that support it. - - * configure.in (ALL_LINGUAS): Add Spanish (es). - - * doc/Makefile.am (MAKEINFO): Set to makeinfo --no-split. - Otherwise, the generated info files have names longer than - the 14-byte max of some old systems. - Reported by Karl Heuer. - -Tue Oct 29 06:49:16 1996 Jim Meyering - - * src/ls.c (decode_switches): Make -A set really_all_files to zero - as well as setting all_files to 1. With this change, ls -f -A prints - everything but . and .., unsorted. Before, the -A was effectively - ignored. From Karl Berry. - -Tue Oct 22 07:00:00 1996 Jim Meyering - - * src/Makefile.am (dircolors.h): Depend on dcgen only in maintainer - mode. - -Mon Oct 21 16:52:28 1996 Jim Meyering - - * lib/Makefile.am (EXTRA_DIST): Remove group-member.c. - Add (temporary hack to work around bug in automake-1.1f) mvdir.c and - rmdir.c. - - * configure.in: Remove hack that created link from group_member.c - to group-member.c. - - * lib/group_member.c: New file. Renamed from group-member.c. - * lib/group-member.c: Delete. - - * src/dircolors.hin: Comment out DOS-style suffixes. - -Sun Oct 20 13:49:25 1996 Jim Meyering - - * lib/Makefile.am (INCLUDES): Add -I../intl. Reported by Eric Backus. - - * Makefile.am (AUTOMAKE_OPTIONS): Set to `gnits'. - (EXTRA_DIST): Remove. - - * configure.in: Remove README_ALPHA related code. Automake takes - care of it automatically now when in gnits mode. - -Sun Oct 13 14:02:41 1996 Jim Meyering - - * src/ls.c (print_long_format): Use strftime of localtime - (not ctime) to produce the date/time in long listings. - From Rafal Maszkowski. - -Sat Oct 12 18:20:38 1996 Jim Meyering - - * lib/mountlist.c (fstype_to_string): Handle fstypes of freebsd. - From Arne Henrik Juul. - -Thu Oct 10 23:47:34 1996 Jim Meyering - - * lib/Makefile.am (EXTRA_DIST): Remove posixtm.y and getdate.y. - (fu_SOURCES): Put them here instead. - Remove rules for building getdate.c and posixtm.c; now automake - generates those rules. - * lib/ylwrap: New file. - * lib/interlock: New file. - -Wed Oct 9 06:51:47 1996 Jim Meyering - - * src/ls.c (usage): Improve brief descriptions of --sort and --time. - From François Pinard. - - * lib/rpmatch.c [!WITH_REGEX]: Include rx.h. - From Andreas Schwab. - -Mon Oct 7 23:31:10 1996 Jim Meyering - - * lib/Makefile.am (EXTRA_DIST): Remove names of several files - that automake adds automatically. - (fu_SOURCES): Likewise. - (fu_DEPENDENCIES): Depend on fu_LIBADD. - - * src/chown.c (usage): Improve usage message. - * src/cp-aux.c (usage): Likewise. - * src/ls.c (usage): Likewise. - * src/install.c (strip): Improve diagnostic. - From Ulisses Alonso. - - * src/Makefile.am (noinst_HEADERS): Add dircolors.h. - (dircolors.h): Always depend on dcgen. - -Sat Oct 5 08:07:03 1996 Jim Meyering - - * acinclude.m4 (AM_FUNC_ERROR_AT_LINE): New macro. - (AM_FUNC_OBSTACK): New macro. - - * configure.in (AM_FUNC_ERROR_AT_LINE): Use this instead of - open-coding it. - (AM_FUNC_OBSTACK): Likewise. - - * lib/filemode.c (ftypelet) [HAVE_ST_DM_MODE]: Add support for - Cray's migrated dmf files. - * src/ls.c (print_long_format) [HAVE_ST_DM_MODE]: Likewise. - * acconfig.h [HAVE_ST_DM_MODE]: New macro. - From Johan Danielsson. - - * acinclude.m4 (AC_HEADER_SYS_TIME_H): New macro. - (AM_FUNC_MKTIME): Require AC_HEADER_SYS_TIME_H so that configure's - checking... messages don't get nested. - - * configure.in (GNU_PACKAGE): New variable. - (PACKAGE_VERSION): Remove it. - - * acconfig.h (GNU_PACKAGE): New variable. - (PACKAGE_VERSION): Remove now-unused variable. - - * src/*.c: Update --version output to conform to the coding standard. - -Wed Oct 2 21:44:36 1996 Jim Meyering - - * src/dircolors.c (usage): Deprecate --print-data-base even though - that's the way GNU make writes it. `database' is one word. - Add description of FILE argument. - -Tue Oct 1 12:56:23 1996 Jim Meyering - - * lib/Makefile.am (fu_SOURCES): Remove getline.c. - (EXTRA_DIST): Add getline.c. - Reported by François Pinard. - -Mon Sep 30 20:08:45 1996 Jim Meyering - - * src/Makefile.am (dircolors.h): Don't depend on anything unless - in maintainer-mode. Reported by Marcus Daniels. - - * lib/path-concat.c (path_concat): Use K&R style function definition. - -Sun Sep 29 22:00:44 1996 Jim Meyering - - * configure.in (ALL_LINGUAS): Add slovenian (sl). - - * src/cp-aux.c (usage): Take only one argument -- like all the other - usage functions. - - * src/cp.c (do_copy): Give better error message when copying multiple - files and the last one is not a directory. From Karl Berry. - Call error (0, 0, ... then usage (1) -- instead of calling usage - with two arguments. - -Sat Sep 28 13:16:29 1996 Jim Meyering - - * lib/getversion.c (backup_types): Declare const. - (backup_args): Likewise. - -Sat Sep 21 10:22:28 1996 Jim Meyering - - * src/dircolors.c (xstrndup): Use message that's the same as the one - you get from e.g., xmalloc. Reported by Santiago Vila. - -Thu Sep 19 22:13:31 1996 Jim Meyering - - * lib/Makefile.am (fu_SOURCES): Remove regex.c and rx.c. - (EXTRA_DIST): Put them here instead. - - * configure.in ($PACKAGE, $VERSION): Don't AC_DEFINE_UNQUOTED these. - AM_INIT_AUTOMAKE now does it (as of automake-1.1e). - - * lib/Makefile.am (fu_SOURCES): Move getopt.c and getopt1.c back to - here fro EXTRA_DIST. - * configure.in (AC_REPLACE_GNU_GETOPT): Remove it -- it's not - necessary. - - * acinclude.m4 (AM_SANITY_CHECK_CC, AC_SYS_POSIX_TERMIOS, - AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Remove definitions. - Now automake's aclocal includes them. - -Sun Sep 15 23:08:48 1996 Jim Meyering - - * Makefile.am (EXTRA_DIST): Remove acinclude.m4. - -Mon Sep 9 21:39:49 1996 Jim Meyering - - * src/cp.c (do_copy): Describe in a little more detail the code - that makes `cp non-directory file/' (eventually) fail. - -Sun Sep 8 12:54:31 1996 Jim Meyering - - * src/dircolors.c (usage): Refer to LS_COLORS, not LS_COLOR. - From Santiago Vila Doncel. - - * src/cp.c (do_copy): Set backup_type to `none' only *after* - calling to find_backup_file_name. Reported by Eli Zaretskii. - -Sat Sep 7 12:25:42 1996 Jim Meyering - - * lib/regex.c, lib/regex.h: New files. - * lib/rx.c, lib/rx.h: New files. - - * lib/Makefile.am (INCLUDES): Add -I../intl so compiler will find - libintl.h for rpmatch.c. - - * src/system.h: Add comments justifying IS* versions of ctype.h macros. - -Thu Sep 5 18:12:44 1996 Jim Meyering - - * src/chmod.c (main): Don't set verbose flag for --changes. - (change_file_mode): If chmod succeeds and --changes was given, - give a diagnostic describing the new permissions. - Reported by Philippe Schnoebelen (phs@fing.edu.uy). - - * src/cp.c (do_copy): When concatenating DEST (with a trailing `/') - and the basename part of non-directory SOURCE, don't add a slash - between them. - -Wed Sep 4 21:42:32 1996 Jim Meyering - - * lib/rpmatch.c: Make sure NULL is defined by including stddef.h - (if STDC_HEADERS || _LIBC) or simply defining it (otherwise). - Include sys/types.h for definition of size_t needed by regex.h. - - * lib/Makefile.am (fu_SOURCES): Add regex.c and rx.c. - (noinst_HEADERS): Add regex.h and rx.h. - - * configure.in (AM_SANITY_CHECK_CC): Use it. - (AM_WITH_REGEX): Use it. - - * acconfig.h (WITH_REGEX): Add it. - -Tue Sep 3 08:13:09 1996 Jim Meyering - - * lib/rpmatch.c (rpmatch): Set yesexpr to "^[yY]" and noexpr to - "^[nN]"; this conforms to POSIX.2. From Paul Eggert - . - -Mon Sep 2 10:59:10 1996 Jim Meyering - - * POTFILES.in: Add lib/rpmatch.c. - - * lib/rpmatch.c (ENABLE_NLS): Include libintl.h and define _ to - gettext. - - * src/*.c (usage): Tell where to report bugs. - -Sat Aug 31 18:48:18 1996 Jim Meyering - - * src/touch.c (utime_now): Protoize. - Reported by David S. Miller (davem@caip.rutgers.edu). - -Sun Aug 25 22:43:15 1996 Jim Meyering - - * acinclude.m4 (AM_FUNC_MKTIME): New macro. - * configure.in (AM_FUNC_MKTIME): Use it. - (AC_REPLACE_FUNCS): Remove mktime. - -Wed Aug 21 23:17:04 1996 Jim Meyering - - * src/Makefile.am (EXTRA_DIST): Remove ansi2knr.1 and ansi2knr.c. - Automake includes them automatically. - - * configure.in (AM_INIT_AUTOMAKE): Use it. - (AM_PROG_INSTALL): Remove. AM_INIT_AUTOMAKE does this. - (AC_PROG_MAKE_SET): Likewise. - -Sun Aug 18 09:52:39 1996 Jim Meyering - - * configure.in (jm_MAINTAINER_MODE, fp_C_PROTOTYPES): Rename with - AM_ prefix for latest automake/aclocal. - - * lib/Makefile.am (noinst_HEADERS): Add path-concat.h. - (fu_SOURCES): Add path-concat.c. - - * src/mv.c: Include path-concat.h. - (movefile): Use path_concat instead of open-coding its functionality. - Declare pointer parameters const as appropriate. - - * src/cp.c: Include path-concat.h. - (do_copy): Check path_concat return value. - (path_concat): Remove function. - - * lib/path-concat.h: New file. - * lib/path-concat.c (path_concat): New file. Just like the function - from cp.c except the stand-alone version uses malloc instead of - xmalloc. - - * configure.in (ALL_LINGUAS): Add Dutch (nl). - -Fri Aug 16 21:59:24 1996 Jim Meyering - - * src/chgrp.c (parse_group): Don't abort when given a group number - larger than INT_MAX. Fix bug whereby root could run - `chgrp INVALID-GROUP FILE' and it wouldn't fail, but rather would - change FILE's group to some indeterminate value. This problem - was reported as Debian Bug#4119 via Erick Branderhorst - (branderh@IAEhv.nl). - Declare pointer parameters const as appropriate. - -Thu Aug 1 22:12:15 1996 Jim Meyering - - * src/system.h (ST_NBLOCKS) [_CRAY]: Special case for Cray. - * lib/fsusage.c (get_fs_usage) [STAT_STATFS4] [_CRAY]: Define - f_bavail to f_bfree. - From Johan Danielsson. - -Wed Jul 31 23:39:23 1996 Jim Meyering - - * src/ln.c [LINK_TYPE]: Remove macro. NLS messages aren't - extracted from macros. Reported by Santiago Vila. - (link_type_string): New global variable to be used instead of - LINK_TYPE. - (main): Set it here. - (do_link): Use it (instead of macro) here. - -Tue Jul 30 23:24:18 1996 Jim Meyering - - * configure.in (AC_CHECK_HEADERS): Add sys/fs/s5param.h. - * lib/fsusage.c [HAVE_SYS_FS_S5PARAM_H]: Include sys/fs/s5param.h - to work around bug in sys/filsys.h of Fujitsu UXP/V. - From by Johan Danielsson. - - * src/cp.c (DO_CHOWN): New macro -- derived from code in copy. - (copy): Use DO_CHOWN to assure that any newly-created symbolic - links have proper owner and group. - -Sat Jul 27 17:22:14 1996 Jim Meyering - - * src/system.h (bindtextdomain) [!ENABLE_NLS]: Undefine to avoid - redefinition warnings on solaris. - (textdomain) [!ENABLE_NLS]: Likewise. - -Thu Jul 25 21:10:42 1996 Jim Meyering - - * src/chgrp.c (main): Fix typo in getopt_long string: s/n/h/. - Reported by Ken Pizzini. - -Wed Jul 24 22:24:37 1996 Jim Meyering - - * src/dircolors.c (usage): Remove -h. It is not an option. - Reported by Ulrich Drepper. - -Sun Jul 21 11:58:48 1996 Jim Meyering - - * configure.in (AC_CHECK_HEADERS): Add sys/timeb.h for lib/getdate.y. - This was a problem for SCO OSR5. From Bela Lubkin . - (statvfs test): Arrange for this test to fail (as it should) for - SCO OSR5. Suggestion from Bela Lubkin. - - * src/Makefile.am (BUILT_SOURCES): Remove @MAINT@. - (dircolors.h): Remove @MAINT@. These prevented `make distcheck' - from working sometimes. - - * lib/yesno.c (yesno) [!HAVE_RPMATCH]: Remove function since we'll - always use the rpmatch-based version. - Declare rpmatch. - - * lib/rpmatch.c [STDC_HEADERS]: Guard inclusion of stdlib.h. - (_) [!_]: Define it. - (try): Add RESPONSE parameter. - (rpmatch): Update caller. - Anchor regular expressions to beginning of string. - - * configure.in (AC_CHECK_FUNCS): Don't check rpmatch. - - * acconfig.h (HAVE_OBSTACK): Undef it. - - The following is from Ulrich Drepper. - - * configure.in (AC_REPLACE_FUNCS): Add rpmatch. - * lib/Makefile.am (EXTRA_DIST): Add rpmatch.c. - * lib/rpmatch.c: New file. - * lib/yesno.c (yesno): New rpmatch-based version of the function. - * config.h.in (HAVE_RPMATCH): Undef it. - - * lib/Makefile.am (EXTRA_DIST): Put error.c and obstack.c here... - (fu_SOURCES): Instead of here. - - * configure.in (AC_CHECK_FUNCS): Add rpmatch. - Add checks for error_at_line and obstacks so systems with GNU libc - don't compile and link with distributed error.c and obstack.c. - - * configure.in (AC_REPLACE_FUNCS): Replace getline.c. - Add related check for the getdelim function. As done in gettext. - -Sat Jul 20 17:01:56 1996 Jim Meyering - - * lib/Makefile.am (fu_SOURCES): Remove error.c, and obstack.c. - (EXTRA_DIST): Add error.c, and obstack.c. - - * configure.in (PACKAGE_VERSION): Use space instead of hyphen to - separate PACKAGE and VERSION. - -Fri Jul 19 23:28:36 1996 Jim Meyering - - * src/cp.c (path_concat): Rewrite to return new parameter. - (do_copy): Update uses of path_concat to use new parameter. - Use that new pointer to compute correct offset for make_path_private. - Before, cp --recursive --parents SRC DEST failed when SRC was - an absolute file name. E.g., - % cd /tmp; rm -rf d f; mkdir d; touch f; cp -PR /tmp/f d - cp: tmp: No such file or directory - Reported by Horst von Brand vonbrand@sleipnir.valparaiso.cl. - -Thu Jul 18 21:58:51 1996 Jim Meyering - - * src/install.c [_AIX]: Add #pragma alloca. - From Bernd Leibing . - - * src/chgrp.c (main): Initialize for internationalized message support: - call setlocale, bindtextdomain, and textdomain. Reported by - Michel Robitaille . - -Wed Jul 17 22:37:40 1996 Jim Meyering - - * configure.in (ALL_LINGUAS): Add polish (pl). - -Mon Jul 15 23:42:57 1996 Jim Meyering - - * Many files: Update FSF address. - -Sun Jul 14 07:53:45 1996 Jim Meyering - - * src/du.c (usage): Sort option descriptions in dictionary order. - -Sat Jul 13 07:34:24 1996 Jim Meyering - - * src/dircolors.c (long_options): Add missing last line of NULL - entries. From Ralph Loader . - -Thu Jul 11 21:50:48 1996 Jim Meyering - - * Version 3.13. - - * dircolors.1: New file -- but just a pointer to texinfo docs. - * man/Makefile.am (man_MANS): Add dircolors.1. - - * configure.in (VERSION): Bump to 3.13. - -Wed Jul 10 22:57:29 1996 Jim Meyering - - * aclocal.m4 (fp_PROG_CC_STDC): Include sys/stat.h in test program - so that DYNIX/ptx V4.1.3 doesn't use `-Xc -D__EXTENSIONS__' -- with - those options on that system, sys/stat.h gets compile errors. - With help from Marcus Daniels. - - * getopt.c: Update from gettext-0.10.23. - * getopt1.c: Likewise. - * getopt.h: Likewise. - -Tue Jul 9 20:19:44 1996 Jim Meyering - - * src/dircolors.c (usage): Improve --help message. From Karl Berry. - (long_options): Add print-data-base and print-database. - - * src/dircolors.c (dc_parse_stream): Don't give `unrecognized keyword' - message unless we've processed a matching TERM directive. Reported - by Karl Berry and François Pinard. - - * src/install.c (UID_T_MAX): Use `(unsigned long)1' rather than - `(uid_t)1' to avoid problems on systems where uid_t is signed. - (GID_T_MAX): Likewise for gid_t. - From Kjetil Torgrim Homme. - -Sun Jul 7 22:40:08 1996 Jim Meyering - - * src/ls.c: Change initial colors for `color_indicator' to match - those currently in dircolors.hin. From Joshua Cowan. - - * src/dircolors.hin: Recognize more filename extensions. - From Joshua Cowan. - - * src/Makefile.am (CLEANFILES): Add dcgen. From Joshua Cowan - . - - * src/Makefile.am (MAINTAINERCLEANFILES): Add dircolors.h. - - * configure.in (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use it. - * acconfig.h [GWINSZ_IN_SYS_IOCTL]: Add #undef. - - * src/ls.c: Include termios.h. - Guard inclusion of sys/ioctl.h with #ifdef GWINSZ_IN_SYS_IOCTL, - rather than HAVE_SYS_IOCTL_H. Modelled after sh-utils' stty.c - at suggestion from Chip Bennett - to make ls adjust its idea of screen width upon window resize - on systems (SunOS, Solaris) where TIOCGWINSZ is defined in - termios.h, and not sys/ioctl.h. - - * aclocal.m4 (AM_SYS_POSIX_TERMIOS): New macro, derived from test - in the configure.in from sh-utils. - (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise. - -Sat Jul 6 12:46:27 1996 Jim Meyering - - * src/cp-aux.c (usage): Factor out backup-related text into - separate string/printf statement so translators deal with only - one corresponding string in .pot file. - * src/install.c (usage): Likewise. - * src/ln.c (usage): Likewise. - * src/mv.c (usage): Likewise. - Suggestion from Santiago Vila Doncel. - - * configure.in (AC_REPLACE_FUNCS): Add group_member. - (AC_LINK_FILES): Create link lib/group_member.c to lib/group-member.c. - * lib/Makefile.am (fu_SOURCES): Remove group-member.c. - (EXTRA_DIST): Add group-member.c here. - -Fri Jul 5 22:16:13 1996 Jim Meyering - - * src/dircolors.c [!STDC_HEADERS]: Declare free. - From Marcus Daniels. - -Thu Jul 4 12:34:50 1996 Jim Meyering - - * src/dd.c (usage): Remove space before newline in usage message. - * src/mknod.c (usage): Likewise. - * src/mv.c (usage): Likewise. - - * src/Makefile.am (libexec_PROGRAMS): Regenerate using patched - automake-1.0 to work around rm -f bug on Solaris2.4. - Reported by Kaveh Ghazi. - - * src/ls.c: Make `dir --version' and `vdir --version' print their - names, not `ls'. - Reported by Ulrich Drepper. - -Wed Jul 3 17:41:15 1996 Jim Meyering - - * src/dircolors.c: Include sys/types.h before system.h. - From Jim Blandy (jimb@cyclic.com). - - * src/chgrp.c [!MAXUID]: Define after inclusion of system.h to avoid - warning about redefinition on SunOS4, Solaris2.4 and SGI-irix5.3. - From Kaveh Ghazi. Also, Santiago Vila Doncel reported that defining - MAXUID before including system.h caused a compilation failure on some - ConvexOS system. - -Tue Jul 2 22:56:03 1996 Jim Meyering - - * configure.in (VERSION): Bump to 3.12q. - - * src/system.h [!EXIT_SUCCESS]: Define it. - [!EXIT_FAILURE]: Define it. - - * lib/strndup.c (strndup): Include stdio.h and sys/types.h to - get definition of NULL and size_t on SunOS4.1.3. - -Mon Jul 1 23:47:29 1996 Jim Meyering - - * src/ln.c (do_link): Update messages to ease translation. - Suggestion from Santiago Vila. - -Sun Jun 30 16:41:45 1996 Jim Meyering - - * src/install.c (usage): Fix typo, 3nd->3rd, in usage message. - From Santiago Vila Doncel. - -Sat Jun 29 00:33:31 1996 Jim Meyering - - * configure.in (PACKAGE_VERSION): Add `GNU ' prefix so we see - it in the output of --version. Reported by RMS. - - * src/Makefile.am (BUILT_SOURCES): Guard dependency on dircolors.h - with @MAINT@ so it won't be removed with a casual disctlean. - (EXTRA_DIST): Add dcgen.pl and dircolors.hin. - -Fri Jun 28 22:56:00 1996 Jim Meyering - - * src/dircolors.c (dc_parse_stream): Move `enum states' dcl into - this function. - - * src/ln.c (do_link): Allow `ln -sf --backup k k' to succeed in - creating the self-referential symlink, since doing so doesn't - remove the source but merely renames it. - -Wed Jun 26 06:58:58 1996 Jim Meyering - - * ln.c (same_name): New function. - (do_link): Use it to test reliably whether A and B (from - ln --force A B) are hard links to the same file. - From Andreas Schwab. - -Tue Jun 25 00:03:43 1996 Jim Meyering - - * lib/getline.c: New file. - * lib/getline.h: New file. - * lib/Makefile.am (fu_SOURCES): Add getline.c. - (noinst_HEADERS): Add getline.h. - -Mon Jun 24 22:39:02 1996 Jim Meyering - - * configure.in (AC_REPLACE_FUNCS): Add strndup. - (AC_PATH_PROG): Check for perl. - - * ls.c (decode_switches): Allow 0 as argument to --tabsize (-T) option. - Interpret as a directive to use no TAB characters to separate columns. - (indent): Handle TABSIZE == 0. - - * dircolors.c (dc_parse_stream): Remove spurious newline in - error message. - (dc_parse_stream): Give `unrecognized keyword' diagnostic for - misspelled `TERM' keyword as well as for others. - -Sun Jun 23 12:58:32 1996 Jim Meyering - - * dircolors.hin: New file. - * dcgen.pl: New file. - * src/Makefile.am (dircolors.h): Add a rule to create this file. - (dcgen): Likewise. - - * dircolors.c (parse_line): Rewrite to avoid modifying LINE. - Put LINE first in parameter list. - Adjust caller. - (dc_parse_stream): Free KEYWD and ARG. - (main): Give diagnostic for unreasonable combinations of - options/arguments. - - * lib/Makefile.am (EXTRA_DIST): Add strndup.c. - * configure.in (AC_REPLACE_FUNCS): Add strndup. - * strndup.c: New file. From id-utils-3.0k. - (strndup): Deansify. - [!STDC_HEADERS]: Include string.h and stdlib.h. - -Sat Jun 22 16:57:53 1996 Jim Meyering - - * dircolors.c: Major overhaul. No longer read from /etc/DIR_COLORS - or from ~/.dircolors. Defaults are now compiled in. If you specify - a file on the command line, it is used instead of the compiled-in - defaults. - (main): New option --print-database (-p). - Detect write failure. - Add --bourne-shell and --c-shell aliases for --sh and --csh resp. - -Tue Jun 18 20:54:05 1996 Jim Meyering - - * cp.c (copy_reg): Cast both sides of comparison to size_t - to avoid a warning about `comparison between signed and unsigned' - from gcc -Wall. - Declare pointer parameters const as appropriate. - - * ln.c (do_link): Refine last change so we don't disallow commands - like `ln --force A B' when A and B are hard links to the same file. - See comments in the source. Reported by Erik Naggum - and Andreas Schwab. - - * ls.c (decode_switches): Correct typo in error messages: - enironment -> environment. From Santiago Vila Doncel - . - - * aclocal.m4: Update from gettext-0.10.20. - * ABOUT-NLS: Likewise. - * intl/*: Likewise. - - * cp.c (do_copy): Change message from `missing file argument' to - more precise `missing destination file'. From Karl Berry. - - * ln.c (STREQ): Remove macro definition - * system.h (STREQ): Add it here instead. - * cp.c (do_copy): Use STREQ here instead of strcmp(...) == 0. - * ls.c (parse_ls_color): Likewise. - * df.c (selected_fstype, excluded_fstype, show_disk, main): Likewise. - - * cp.c (do_copy): When the force and backup options have been - specified and the source and destination are the same name for an - existing, regular file, convert the user's command, e.g. - `cp --force --backup foo foo' to `cp --force foo fooSUFFIX' - where SUFFIX is determined by any version control options used. - (usage): Update --help message. - At urging of (most recently) Karl Berry. - -Sun Jun 16 13:40:22 1996 Jim Meyering - - * doc/Makefile.am (EXTRA_DIST): Add texinfo.tex. - - * Makefile.am (cvs-dist): Use -c option in cvs tag command. - -Sat Jun 15 22:21:09 1996 Jim Meyering - - * configure.in (ALL_LINGUAS): Add pt. - (AC_REPLACE_FUNCS): Add basename. - - * Makefile.am (EXTRA_DIST): Add basename.c. - (fu_SOURCES): Remove basename.c. - -Thu Jun 6 21:57:08 1996 Jim Meyering - - * po/Makefile.in.in: Update from gettext-0.10.16. - * intl/*: Likewise. - * ABOUT-NLS: Likewise. - * aclocal.m4 (AC_REPLACE_GNU_GETOPT): Move definition to precede - gettext-related ones. - Update from gettext-0.10.16. - -Sat Jun 1 12:44:51 1996 Jim Meyering - - * ls.c: Rename options and internal variables to reflect change to - --color=WHEN where WHEN is never, always, or auto (for consistency - with e.g. cp --sparse=WHEN. For at least a while, the original - slackware-supported arguments `none', `force', `yes', etc will be - supported but deprecated by lack of documentation. - (decode_switches): Use STDOUT_FILENO instead of `1' in isatty test. - (usage): Update/add description of the --color option. - - * ls.c: Declare pointer parameters const as appropriate. - -Tue May 28 18:39:49 1996 Jim Meyering - - * dd.c (print_stats): Don't mark "%u %s" as a translatable string. - * mv.c (main): Don't mark "%s" as a translatable string. - From Göran Uddeborg. - -Thu May 23 07:50:38 1996 Jim Meyering - - * ls.c (usage): Make --literal (-N) description clearer. - - * acconfig.h (MOUNTED_LISTMNTENT): Add it. - * fsusage [_CRAY]: Don't include sys/filsys.h because although - Unicos-9 has it, it's not needed and would cause other problems - because it requires inclusion of other, non-standard headers. - * mountlist.c (read_filesystem_list) [MOUNTED_LISTMNTENT]: New - function. - From Johan Danielsson (joda@pdc.kth.se). - - * configure.in (AC_CHECK_FUNCS): Add listmntent for Unicos-9. - Define MOUNTED_LISTMNTENT #ifdef _CRAY and HAVE_GETMNTENT. - With an initial patch from Johan Danielsson. - -Wed May 22 18:58:01 1996 Jim Meyering - - * configure.in (LINGUAS): Add sv. - -Tue May 21 07:06:30 1996 Jim Meyering - - * lib/euidaccess.c (euidaccess) [!S_IROTH]: Define. - [!S_IWOTH]: Define. - [!S_IXOTH]: Define. - Marcus Daniels reported that m68k NEXTSTEP 3.2 - doesn't define S_IROTH or S_IWOTH unless some posix compile option - is used and associated symbols defined. - -Sun May 19 09:32:51 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * chown.c: New option: --no-dereference (-h). Solaris 5.4's chown - provides -h. - (change_file_owner): Use lchown if --no-dereference (-h) was given. - (usage): Update. - (main): Fail if user requests --no-dereference on a system that - doesn't have support for it. - - * chgrp.c: New option: --no-dereference (-h). - [!MAXUID]: Define to INT_MAX. - (change_file_group): Use lchown if --no-dereference (-h) was given. - (usage): Update. - (main): Fail if user requests --no-dereference on a system that - doesn't have support for it. - -Wed May 15 22:54:31 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * fsusage.c (get_fs_usage): Declare parameter PATH to be const. - * fsusage.h: Update prototype to match. - - * chmod.c (describe_change): Declare pointer parameters to be const. - (change_file_mode): Likewise. - (change_dir_mode): Likewise. - - * ln.c (do_link): Declare pointer parameters to be const. - - * df.c (main): Fail with a diagnostic if both --human-readable and - --portability are used. - Likewise if --megabytes and --portability are used. - Rearrange function definitions to precede respective uses to obviate - all forward dcls. Remove forward dcls. - Declare parameters const as appropriate. - - * modechange.c (mode_compile): Declare parameter MODE_STRING const. - Remove register attribute. - (mode_adjust): Likewise for CHANGES. - * modechange.h: Reflect above changes in prototypes. - - * lib/Makefile.am (getdate.c): Disable dependencies that can - require rerunning YACC when not in maintainer mode. - (posixtm.c): Likewise. - -Tue May 14 23:36:54 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * dd.c (print_stats): Restructure pluralization of error message - so it's easier to translate. Reported by Göran Uddeborg - . - * mv.c (main): Likewise. - -Tue May 7 22:10:20 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * configure.in: Require autoconf-2.10. - - * aclocal.m4 (jm_MAINTAINER_MODE): New macro. - * configure.in (jm_MAINTAINER_MODE): Use it. - -Sun May 5 20:27:47 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * src/Makefile.am (bin_PROGRAMS): Add dircolors. - (DEFS): Add -DSHAREDIR=\"$(datadir)\". - (GNUVER): Remove definition of unused variable. - -Sat May 4 20:54:32 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * system.h [IN_CTYPE_DOMAIN]: Rename from ISASCII. - * backupfile.c [IN_CTYPE_DOMAIN]: Rename from ISASCII. - - * dircolors.c: Make enumerated constants upper case. - (main): Don't use ANSI-style string concatenation. - Add `static' and/or `const' to some file scope variables. - -Wed May 1 00:20:00 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * lib/Makefile.am (EXTRA_DIST): Add strcasecmp.c. - * configure.in (AC_REPLACE_FUNCS): Add strcasecmp. - - * ls.c (parse_ls_color, usage): Remove support for alternate spellings: - --colours and LS_COLOURS. - (parse_ls_color): Reverse sense of test for LS_COLORS environment - variable and return -- save a level of indentation on a 100+-line - block. - -Mon Apr 29 22:07:41 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * POTFILES.in: Add chgrp.c. From François Pinard. - Add dircolors.c. - * dircolors.c: New file. Written by H. Peter Anvin. - -Sun Apr 28 16:32:38 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * ls.c: Apply color ls changes by Peter Anvin - and Dennis Flaherty based on original - patches by Greg Lee . And on top of all - that, a few changes from Ulrich Drepper. - - * ls.c (parse_ls_color): Use strcpy to initialize 3-character array. - Automatic aggregate initialization isn't portable. - Remove all ^L's. - (get_funky_string): Declare static and move to precede single - caller: parse_ls_color. - Make some globals `static' and/or `const'. - (LEN_STR_PAIR): New macro. - (color_indicator): Use it in this declaration. - (parse_ls_color): Use error, not fprintf. - (decode_switches): Add a comment. - (print_name_with_quoting): Add braces around inner if-else - statement to clarify. - - * configure.in: Add a comment that fp_C_PROTOTYPES must precede - AC_C_INLINE. Otherwise, some systems lose because the value - AC_C_INLINE choses with plain `cc' is different from that chosen - when using the ANSI-mode C compiler. From Kaveh Ghazi. - - * fileblocks.c [HAVE_ST_BLOCKS || _POSIX_VERSION]: Add extern dcl - of unused variable so that after preprocessing, the file will never - be empty. Otherwise, some compilers in ANSI mode (among them, the - Dec Alpha OSF 2.0 C compiler) reject empty files. From Kaveh Ghazi. - Indent CPP conditionals. - -Fri Apr 26 05:52:03 1996 Karl Eichwalder - - * ls.c (usage): Add newline at end of printf format string. - -Wed Apr 24 21:33:43 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * ln.c (do_link): Remove duplicate `if (lstat(...' block. - - * ln.c (do_link): With --force, don't remove DEST when it's - the same as SOURCE. Before, `ln -f FILE FILE' would remove FILE. - Reported by Bruno Haible (haible@ilog.fr). - - * mkdir.c (main): Use verbose_fmt_string, not string literal in - call to make_path for --parents. Reported by Ulrich Drepper. - - * doc/mdate-sh: Get year as last rather than 6th field in output - of date. Otherwise, people with 2-word TZ (like `MET DST') lost. - From Andreas Schwab. - -Tue Apr 23 22:05:35 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * src/*.c, src/*.h: Update Copyright years to include 1996. - - * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro. - * configure.in: Use it. - * lib/Makefile.am (fu_SOURCES): Remove getopt.c and getopt1.c. - (EXTRA_DIST): Add getopt.c and getopt1.c - - * configure.in (AC_CHECK_FUNCS): Add lchown. - * chgrp.c [HAVE_LCHOWN]: Define chown to lchown. - * chown.c [HAVE_LCHOWN]: Likewise. - * cp.c [HAVE_LCHOWN]: Likewise. - * mv.c [HAVE_LCHOWN]: Likewise. - Suggested by François Pinard. - - * backupfile.c (find_backup_file_name, max_backup_version, - make_version_name, version_number, concat): Const-ify decls of - formal parameters. - * backupfile.h: Likewise. - - * du.c (usage): The long-named arg is --human-readable, not --human. - * df.c: Be consistent. Accept --human-readable, not just --human. - (usage): Reflect the change. - From Karl Berry. - -Sun Apr 21 08:04:51 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * df.c (usage): Reflect that now --no-sync is the default. - - * Makefile.am (LDADD): Put @INTLLIBS@ before package library. - -Sat Apr 20 22:48:59 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * ls.c: Include xstrtol.h. - (decode_switches): Use xstrtol, not atoi. - Detect and ignore invalid value for COLUMNS environment variable. - In error about invalid TABSIZE, don't reference optarg! - [!POSIXLY_CORRECT]: Don't consider TABSIZE environment variable. - - * install.c: Include xstrtol.h. - [HAVE_VALUES_H]: Include . - [!BITSPERBYTE]: Define. - [!UID_T_MAX]: Define. - [!GID_T_MAX]: Define. - (get_ids): Use xstrtol, not atoi. - (is_number): Remove now-unused function. - * configure.in (AC_CHECK_HEADERS): Add values.h. - -Fri Apr 19 00:06:02 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * Makefile.am (cvs-dist): New rule. Based on the one from - Tom Tromey's automake. - - * df.c: No longer call sync by default. - - * cp.c (copy_reg): Rearrange arithmetic in conditional to avoid - integer overflow with large files. - -Fri Apr 12 21:40:44 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * mkdir.c (main): Add new option: --verbose. - Remove long-deprecated and nowhere-documented --path, a synonym - for --parents. It was confusing to get an error about `--p' - being ambiguous. - -Thu Apr 4 21:28:03 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * configure.in (LINGUAS): Add de. - * po/de.po: New file. - - * src/Makefile.am (EXTRAdir): Set to $(bindir). - -Wed Apr 3 06:12:23 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * cp.c (copy_reg): Use `ST_NBLOCKS (sb) * 512', not `sb.st_blocks * - DEV_BSIZE.' From H.J. Lu (hjl@lucon.org). - - * mvdir.c: Protoize. - Include save-cwd.h. - (fullpath): Rewrite to use save_cwd, xgetcwd, and restore_cwd - rather than explicit chdir/getcwd calls. - - * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h - when srcdir != builddir. From Kaveh Ghazi. - -Mon Apr 1 23:50:29 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * cp.c: Include assert.h (disabled). - (path_concat): New function. - (do_copy): Use path_concat instead of open-coding part of its - functionality in two places. This has the additional benefit - of avoiding forming destination names like `D//file' when the - destination directory D includes a trailing slash -- as would - happen when cp is used like this: - mkdir D; touch file D/file; cp -i file D/ - Reported by François Pinard. - -Sun Mar 31 11:18:09 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * ls.c (quote_filename): Use ISGRAPH and ISPRINT in place of - ASCII-centric tests against literals. - (length_of_file_name_and_frills): Likewise. - -Thu Mar 21 16:43:13 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * src/*.c (main): Declare to be of type int, not void. - -Sat Mar 16 10:46:23 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * configure.in (PACKAGE_VERSION): New macro. - * acconfig.h (PACKAGE_VERSION): Add it. - * src/Makefile.am: Remove rules for generating version.c. - Remove references to version.o, version.h, and stamp-v. - * version.c: Remove file. - * version.h: Remove file. - * chgrp.c chmod.c chown.c cp.c dd.c df.c du.c install.c ln.c - ls.c mkdir.c mkfifo.c mknod.c mv.c mvdir.c rm.c rmdir.c sync.c - touch.c: Don't include version.h. - (main): Use PACKAGE_VERSION instead of version_string. - -Sun Mar 10 22:36:11 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * backupfile.c (max_backup_version): Declare file_name_length to - be of type size_t. This avoids a warning from gcc -Wall. - - * chmod.c chown.c cp.c dd.c df.c du.c install.c ln.c ls.c - mkdir.c mkfifo.c mknod.c mv.c mvdir.c rm.c rmdir.c sync.c - touch.c (main): Initialize for internationalized message support: - call setlocale, bindtextdomain, and textdomain. - * system.h: Add definitions and includes for NLS. - * Makefile.am (SUBDIRS): Add intl and po. - * src/Makefile.am (datadir): Define. - (localedir): Define. - (DEFS): Add LOCALEDIR definition. - (LDADD): Add @INTLLIBS@. - * aclocal.m4: Add NLS-related macro definitions from - gettext distribution. - * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES, - HAVE_STPCPY): New macros. - Add PACKAGE and VERSION. - * configure.in (PACKAGE): Define with AC_DEFINE_UNQUOTED. - (VERSION): Likewise. - (ALL_LINGUAS): Define. - (ud_GNU_GETTEXT): Use it. - Link an nls file. - (AC_OUTPUT): Reflect addition of two new directories, intl and po. - Create po/Makefile. - From François Pinard. - -Thu Mar 7 20:26:07 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * df.c (main): Tell read_filesystem_list that it should determine - file system type when the user specifies --print-type or -T. - From Michael Rendell . - -Tue Feb 27 23:13:46 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * src/Makefile.am: Adapt for automake-0.30. - (noinst_HEADERS): Rename from HEADERS. - (EXTRA_PROGRAMS): Set to `df mvdir'. - (PROGRAMS): Remove definition. - (bin_PROGRAMS): Remove hard-coded df. Use @DF_PROG@ instead. - (libexec_PROGRAMS): Remove hard-coded mvdir. Use @MVDIR_PROG@ instead. - * lib/Makefile.am: (noinst_HEADERS): Rename from HEADERS. - - * configure.in (DF_PROG, MVDIR_PROG): Use these instead of bundling - both into PROGS. - -Mon Feb 26 21:23:58 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * dd.c (copy): Remove bogus (now that we're using full_write) - increment of w_partial. - Change sense of the tests (though they're equivalent) that check - the value returned by full_write. making it clearer where errno - is valid. full_write always writes the full amount or fails. - -Thu Feb 15 23:08:41 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * cp.c (copy): Detect (and fail) when creating backup file would - destroy the source file. Before, running the commands - cd /tmp; rm -f a a~; : > a; echo A > a~; cp -b -V simple a~ a - would leave two zero-length files: a and a~. - Reported by Martin C. Martin . - -Mon Feb 12 23:23:25 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * configure.in (LIBOBJS): Split assignment into two statements to - accommodate automake-0.29 buglet. - - Update for automake-0.29. - * Makefile.am (CONFIG_HEADER): Don't define. Automake now does it. - * src/Makefile.am: Likewise. - * lib/Makefile.am: Likewise. - * doc/Makefile.am (info_TEXINFOS): Renamed from TEXINFOS. - * man/Makefile.am (man_MANS): Renamed from MANS. - -Wed Jan 31 21:50:41 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * dd.c (skip): Change type of parameter #5 from char* to - unsigned char* to match type of argument. - (copy): Cast first arg in memset call to char* to avoid warnings - from SunOS's acc. - (copy_simple): Likewise. - - * du.c: Remove comma after last item in enum. - - * df.c: Remove block of usage comments at beginning of file. - - * df.c (main): New options --human-readable (-h) and --megabytes (-m). - (human_readable_1k_blocks): New function. - (print_header): Honor new options. - (show_dev): Honor new options. - Add ifdef'd-out code to avoid printing lines for mount points that - match ^/auto/.* and ^/tmp_mnt.*. Rather than hard-coding those - two prefixes, the code should allow the user to specify a regular - expression. From Larry McVoy (lm@sgi.com). - - * du.c (human_readable): Fix off-by-one error that converted - 1024*1024 to 1024K rather than 1G. Describe the function. - * df.c (human_readable_1k_blocks): Likewise - (usage): Update usage message to reflect additions. - -Sat Jan 20 06:00:09 1996 Jim Meyering (meyering@na-net.ornl.gov) - - * cp-aux.c (usage): Fix description of --archive. From Andreas Schwab. - - * install.c (copy_files): Accept backup/suffix options just as cp, - ln, and mv do. From Marty Leisner . - - * src/Makefile.am (DISTCLEANFILES): Set to stamp-v version.c. - (version.c): Update with rules from textutils. - (transform): Add `s/ginstall/install/;' prefix. - - * lib/Makefile.am (BUILT_SOURCES): Set to posixtm.c getdate.c so - autodependencies work after `make maintainer-clean.' - - * du.c (main): New options --human-readable (-h) and --megabytes (-m). - (human_readable): New function. - From Larry McVoy (lm@sgi.com). - -Fri Dec 22 21:34:55 1995 Andreas Schwab - - * configure.in: Touch stamp-h only if config.h is remade. - -Sat Dec 23 11:33:19 1995 Jim Meyering (meyering@comco.com) - - * ls.c (decode_switches): Make -o a synonym for -lG for compatibility - with most other versions of ls. Reported by Karl Berry. - (usage): Update. - -Fri Dec 22 00:48:01 1995 Jim Meyering (meyering@comco.com) - - * dd.c (cleanup): New function -- broken out from quit. - (interrupt_handler): Rewrite to reset default signal handler, - call cleanup, then repost caught signal. - -Thu Dec 21 23:15:06 1995 Jim Meyering (meyering@comco.com) - - * argmatch.h: New file. - * lib/Makefile.am (HEADERS): Add argmatch.h. - * argmatch.c: (argmatch): Add const attribute to parameters. - (invalid_arg): Add const attribute to parameters. - - * cp.c: Include argmatch.h. - * ls.c: Likewise. - * touch.c: Likewise. - - * cp.c (main): Accept new option, --sparse={never,auto,always}, - to control creation of sparse files. - (copy_reg): Set local, make_holes, from global flag_sparse. - * cp-aux (usage): Describe new option. - -Mon Dec 18 22:29:49 1995 Jim Meyering (meyering@comco.com) - - * ln.c: [SYMBOLIC_SPACE_STRING]: New macro. - (do_link): Use SYMBOLIC_SPACE_STRING instead of open-coded #ifdef. - For --verbose, output `create [symbolic ]link DEST to SRC' instead - of ambiguous (or inconsistent with cp -v and mv -v) `SRC -> DEST.' - -Tue Dec 5 17:38:11 1995 Jim Meyering (meyering@comco.com) - - * rm.c (rm): Work around SunOS 4 bug whereby lstat doesn't fail - when given a zero-length file name argument. Reported by - Mark Calabretta . - -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 - . - -Fri Nov 10 23:31:46 1995 Jim Meyering (meyering@comco.com) - - * src/Makefile.in (.c._o, ._c._o): Remove temporary source files. - (.c._c): Don't redirect directly to $@. - - * src/Makefile.in (DISTFILES): Include ansi2knr.c and ansi2knr.1. - (clean): Remove temp files generated by ansi2knr rules. - (ansi2knr): New rule. - Add suffixes, dependencies, and rules to convert ANSI source to K&R - when required. - ($(OBJECTS)): Depend on $(ANSI2KNR) - - * configure.in: Add fp_C_PROTOTYPES. - - * Makefile.in (DISTFILES): Add aclocal.m4. - (configure): Depend on aclocal.m4. - (stamp.h.in): Depend on aclocal.m4 and acconfig.h. - * acconfig.h: Add PROTOTYPES. - - * cp.h: Remove declaration of error. Include error.h instead. - Protoize forward dcls of functions in cp-hash.c and cp-aux.c - * cp-aux.c: Protoize and add const attribute to parameters. - * cp-hash.c: Likewise. - -Thu Nov 9 23:27:05 1995 Jim Meyering (meyering@comco.com) - - * system.h [__P]: Define it. - - * src/*.c: Protoize. - - * ls.c (enum filetype): Move dcl to precede prototypes. - (struct fileinfo): Likewise. - Add const attribute to some parameters. - - * rm.c (struct pathstack): Move dcl to precede prototypes. - - * dd.c (translate_charset): Make parameter `const'. - - * ln.c (main): Move to the end. - Remove most fwd dcls. - * chmod.c: Likewise. - * chown.c: Likewise. - * chgrp.c: Likewise. - * mkdir.c: Likewise. - * mkfifo.c: Likewise. - * mknod.c: Likewise. - * mvdir.c: Likewise. - * touch.c: Likewise. - - * mv.c: Rearrange functions to obviate forward dcls. - Remove forward dcls. - - * cp.c: Protect prototyped forward dcls with __P. - * dd.c: Likewise. - * df.c: Likewise. - * du.c: Likewise. - * install.c: Likewise. - * ls.c: Likewise. - * rm.c: Likewise. - -Wed Nov 1 23:11:05 1995 Jim Meyering (meyering@comco.com) - - * cp.c (copy): Use euidaccess instead of euidaccess_stat. - * mv.c (do_move): Likewise. - * rm.c (remove_file, remove_dir): Likewise. - -Sun Oct 29 06:06:13 1995 Jim Meyering (meyering@comco.com) - - * aclocal.m4 (jm_WITH_AUTODEPS): New directive. - * configure.in: Use it. - - * lib/Makefile.in (INCLUDE, COMPILE): New variables. - (.c.o): Rewrite to be more like src/Makefile.in. - Add line that (--with-autodeps) will include mkdep-Makefile. - (distclean): Remove .deps. - * src/Makefile.in: Likewise. - - * src/Makefile.in (test.o): Remove special rule. - - * mkdep-Makefile: New file. - * Makefile.in (DISTFILES): Add mkdep-Makefile. - - * doc/Makefile.in (mostlyclean): Remove *.info. - - * touch.c: Change long option name `--file' to `--reference'. - Leave --file as an alias, for now. It will be removed later. - (usage): Reflect option name change. From Franc,ois Pinard. - -Wed Oct 18 23:09:55 1995 Jim Meyering (meyering@comco.com) - - * configure.in (AC_CHECK_HEADERS): Add sys/wait.h and sys/ioctl.h. - (AC_CHECK_FUNCS): Add endpwent. - - * fileblocks.c: Use _POSIX_VERSION, not _POSIX_SOURCE. - - * userspec.c [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE. - [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE. - - * chgrp.c [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE. - - * chown.c [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE. - [endgrent]: Remove unused definition. - - * df.c (main): Fail if the same file system type was both selected - and excluded. Reported by Paul Close pdc@lunch.engr.sgi.com. - - * rm.c (duplicate_entry): Always return 0 if !D_INO_IN_DIRENT, - rather than if _POSIX_SOURCE. - - * install.c: Use HAVE_SYS_WAIT_H, not _POSIX_VERSION in conditional - inclusion of sys/wait.h. - [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE. - [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE. - - * ls.c Use HAVE_SYS_IOCTL_H, rather than !_POSIX_SOURCE || _AIX. - -Thu Oct 5 21:49:34 1995 Jim Meyering (meyering@comco.com) - - * configure.in (HAVE_STRUCT_UTIMBUF): Add new test. Testing for - the existence of is insufficient on some Next systems. - * acconfig.h (HAVE_STRUCT_UTIMBUF): Add it. - * system.h [!HAVE_UTIME_H]: Don't declare struct utimbuf here. - [!HAVE_STRUCT_UTIMBUF]: Declare struct utimbuf here instead. - - * chgrp.c: Include limits.h. - [!INT_MAX]: Define it. - - * df.c (show_point): Cast -2 to dev_t before assignment. - * mountlist.c (read_filesystem_list): Cast -1 to dev_t before - assignment. - -Sun Oct 1 13:22:36 1995 Jim Meyering (meyering@comco.com) - - * configure.in (AC_REPLACE_FUNCS): Add strtoul. - * strtoul.c: New file. - * lib/Makefile.in (SOURCES): Add strtoul.c. - - * acconfig.h (STATFS_TRUNCATES_BLOCK_COUNTS): Add it. - * configure.in (STATFS_TRUNCATES_BLOCK_COUNTS): New check to enable - workaround for SunOS statfs brokenness. Block counts in struct - statfs for partitions 2GB and larger are truncated, but correct - values are stored in f_spare array member. - - * fsusage.c (get_fs_usage) [STATFS_TRUNCATES_BLOCK_COUNTS]: Copy - untruncated block counts from f_spare array into proper members - of struct statfs. From Eirik Fuller (eirik@netapp.com); - - * ls.c (dired_dump_obstack): Don't generate any output if the - obstack is empty. - (main): Always initialize and dump subdired_obstack, not just if -R. - `ls -lDR dir dir2' was using uninitialized subdired_obstack. - Reported by Samuli K{rkk{inen . - -Tue Sep 26 23:05:01 1995 Jim Meyering (meyering@comco.com) - - * man/Makefile.in (install-data, uninstall): Use sed not basename. - The GNU Coding Standard suggests that only a select set of - relatively standard utilities be used in Makefiles. basename is - not among them. Suggested by Ulrich Drepper. - -Mon Sep 25 23:12:37 1995 Jim Meyering - - * src/df.c (show_point): Ignore mtab entries with either - nonexistent mount points or with inconsistent device number. - From Eirik Fuller . - -Wed Aug 9 00:33:05 1995 Jim Meyering (meyering@comco.com) - - * mknod.c (my_strtol): Remove function. - (main): Use xstrtol instead. - -Mon Aug 7 23:27:54 1995 Jim Meyering (meyering@comco.com) - - * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB. - From Franc,ois. - -Fri Aug 4 22:11:06 1995 Jim Meyering (meyering@comco.com) - - * install.c (isnumber): Rename to is_number to avoid conflict with - FreeBSD 2.0.5 macro definition. Reported by David O'Brien - (obrien@sea.legent.com). - - * lib/save-cwd.c: New file. - * lib/save-cwd.h: New file. - * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Update for new files. - - * configure.in: (AC_REPLACE_FUNCS): Remove fnmatch. - Add check for working fnmatch functions so that - systems providing it don't incur the space overhead of linking - with the version in lib. Cross compiling builds always use the - version in lib. - - * ls.c (decode_switches): Set SORT_TYPE. Before, ls -c was sorting - by name, rather than change time. Reported by Ken Estes - (m-ke0082@sparky.cs.nyu.edu). - - * du.c: (save_cwd, restore_cwd, free_cwd): Remove functions. - New versions have been broken out into save-cwd.c. - (du_files): Adapt to handle status code returned by new versions - of save_cwd and restore_cwd. - (count_entry): Likewise. - - * all programs (main): Include program name in --version output. - - * src/Makefile.in (cp.o): Depend on ../lib/obstack.h. - - * xstrtol.c, xstrtol.h: New files. - * xstrtoul.c, xstrtoul.h: New files. - * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Update for new files. - - * chgrp.c (parse_group): Use xstrtoul instead of isnumber; the - latter would silently overflow, accepting a group id larger - than INT_MAX. - (isnumber): Remove now-unused static function. - (change_file_group) [MAXUID]: Give a more descriptive message - when numeric group id is larger than MAXUID. - -Sat May 27 00:35:47 1995 Jim Meyering (meyering@comco.com) - - * system.h [!STDC_HEADERS && HAVE_MEMORY_H]: Include memory.h. - Without this, SunOS doesn't get type for memchr. - Reported by Kaveh Ghazi. - -Sun May 21 07:20:55 1995 Jim Meyering (meyering@comco.com) - - * all source files (usage): Include one- or two-line synopsis - in --help output. From Karl Berry. - - * Makefile.in (.PHONY): TAGS is not a phony target. From Franc,ois. - - * All Makefile.in (install-exec, install-exec): New targets. - From Karl Berry. - - * all Makefile.in (maintainer-clean): Renamed from realclean - per GNU Standards. - - * euidaccess.c: No longer include safe-l?stat.h. - * fsusage.c: Likewise. - * isdir.c: Likewise. - * makepath.c: Likewise. - * mkdir.c: Likewise. - * rename.c : Likewise. - * rmdir.c: Likewise. - -Sat May 13 07:47:44 1995 Jim Meyering (meyering@comco.com) - - * lib/Makefile.in: Remove safe-l?stat.[ch]in and related rules. - (maintainer-clean): Rename from realclean. - (.PHONY): New dependencies. - [.c.o]: Remove -I. since safe-l?stat.h are no longer used. - - * argmatch.c (argmatch): Include sys/types.h and declare length - argument with type size_t. - - * backupfile.c: Remove unnecessary definitions for r?index. - Update definitions for ISDIGIT. - - * basename.c (basename): Make argument const. - - * euidaccess.c (eaccess_stat): Make statp and path arguments const. - (euidaccess): Make statp argument const. Use stat, not safe_stat. - - * fsusage.c (statfs): Use stat, not safe_stat. - * isdir.c (isdir): Likewise. - * mkdir.c (mkdir): Likewise. - * rename.c (rename): Likewise. - * rmdir.c (rmdir): Likewise. - - * userspec.c (parse_user_spec): Use strchr, not index. - [!HAVE_STRING_H]: Define strchr in terms of index, not the - other way around. - - * makepath.c: (make_path): Use stat, not SAFE_STAT. - Use strchr, not index. Adjust defines accordingly. - - * makepath.h: Undef __P before defining. - Guard definition with simpler `#if __STDC__'. - - * chgrp.c: Use stat (lstat), not safe_stat (safe_lstat). - * chmod.c: Likewise. - * chown.c: Likewise. - * cp-hash.c: Likewise. - * cp.c: Likewise. - * df.c: Likewise. - * du.c: Likewise. - * install.c: Likewise. - * ln.c: Likewise. - * ls.c: Likewise. - * mv.c: Likewise. - * mvdir.c: Likewise. - * rm.c: Likewise. - * touch.c: Likewise. - -Fri May 12 21:21:23 1995 Jim Meyering (meyering@comco.com) - - * mv.c (movefile): Remove a single trailing slash from destdir - before concatenating with `/' and filename for `ok to overwrite...' - message. Reported by Franc,ois Pinard. - -Mon May 1 23:03:30 1995 Jim Meyering (meyering@comco.com) - - * ls.c (quote_filename): Never return NULL when quoting filenames - as C-strings. --quote-name was quoting only strings containing - at least one C-quotable character. Reported by David J. MacKenzie. - -Mon Mar 20 21:44:40 1995 Jim Meyering (meyering@comco.com) - - * rename.c (rename): Compare src and dest inode numbers rather - than src inode and dest dev when determining whether they refer - to the same file. From marc@math.cornell.edu (Marc Parmet). - - * df.c (usage): Add ellipsis after `[OPTION]'. Use FILE, - not deprecated PATH in text of help message. From Karl Berry. - -Fri Mar 10 21:13:23 1995 Jim Meyering (meyering@comco.com) - - * src/*.c: Update Copyright dates. - - * src/Makefile.in (uninstall): Handle case in which LIBPROGS is empty. - Reported by Peter Smidt . - -Thu Feb 23 22:29:11 1995 Jim Meyering (meyering@comco.com) - - * du.c (save_cwd) [!HAVE_FCHDIR]: Always initialize cwd->desc. - (restore_cwd) [!HAVE_FCHDIR]: Remove unnecessary redefinition - of fchdir. Both from Bruno Haible. - -Mon Feb 20 22:54:39 1995 Jim Meyering (meyering@comco.com) - - * du.c (save_cwd, restore_cwd): New functions. - (main): Use them instead of open coded versions. - (count_entry): Use them here instead of relying on chdir ("..") -- - but only when necessary. Before, with --dereference (-L), - traversing a symlink caused failure because chdir ("..") didn't - work as expected. Reported by Bruno Haible. - -Sat Feb 11 07:52:01 1995 Jim Meyering (meyering@comco.com) - - * configure.in (AC_REPLACE_FUNCS): Add memcmp, memcpy, and memset. - (AC_CHECK_FUNCS): Add strchr and strrchr. - * lib/Makefile.in (SOURCES): Add memcmp.c, memcpy.c, and memset.c. - - * system.h: Remove index/rindex and bcmp/bcopy/bzero references. - Separate errno declaration from STDC_HEADERS. - - * dd.c (copy): Use memset, not bzero. - (copy_simple): Use memcpy, not bcopy. - - * fsusage.c (get_fs_usage, statfs): Use safe_read, and safe_stat - rather than bare read and stat. From Bruno Haible. - - * lib/Makefile.in (DISTFILES): Add error.h. - - * chgrp.c, chmod.c, chown.c, cp-hash.c, cp.c, df.c, du.c, install.c, - ln.c, ls.c, mv.c, mvdir.c, rm.c, touch.c: Rename SAFE_STAT and - SAFE_LSTAT to safe_stat and safe_lstat. - - * basename.c (basename): Use strrchr, not rindex. - [!STDC_HEADERS && !HAVE_STRING_H]: Define strrchr to rindex. - -Tue Dec 27 07:07:53 1994 Jim Meyering (meyering@comco.com) - - * src/*.c: Include "error.h" rather than simply declaring - `void error ();'. - * src/Makefile.in (OBJECTS): Depend on ../lib/error.h. - - * sync.c (main): Make error message accurate. - - * dd.c (skip): Use safe_read instead of read. - (copy): Use full_write instead of write. - From Bruno Haible. - -Sat Dec 10 00:02:09 1994 Jim Meyering (meyering@comco.com) - - * Makefile.in (install): Install `install' first as transformed - `ginstall,' then remove the target (transformed `install') - and move GNU install into its place. Before, the installation - process failed on systems (e.g. HPUX) that can't overwrite the - executable associated with a running process. - - * system.h [!HAVE_STRING_H]: Define strchr to index and strrchr to - rindex instead of the other way around. - * rmdir.c (remove_parents): Use strr?chr instead of r?index. - * mvdir.c (main): Likewise. - * dd.c (parse_conversion, scan_args): Likewise. - * cp.c (copy, make_path_private): Likewise. - - * system.h: Include and define IS* macros. - * touch.c: No longer include . - * chown.c: Likewise. - * install.c: Likewise. - [isascii, ISDIGIT]: Remove definitions. - * chgrp.c: Likewise. - * dd.c: Likewise. - -Sun Dec 4 14:53:12 1994 Jim Meyering (meyering@comco.com) - - * doc/Makefile.in (DISTFILES): Add getdate.texi. - -Fri Nov 11 11:15:20 1994 Jim Meyering (meyering@comco.com) - - * mknod.c (my_strtol): New function. - (main): Use it instead of atoi to convert argument strings to - major and minor device numbers. Now, mknod diagnoses invalid - device numbers and accepts octal and hexadecimal as well as - decimal string arguments. Ralf Lammers - suggested that mknod accept - hex device numbers for compatibility with HPUX's mknod program. - - * configure.in (AC_REPLACE_FUNCS): Add strtol. - * lib/Makefile.in (SOURCES): Add strtol.c. - -Sun Nov 06 00:18:56 1994 Jim Meyering (meyering@comco.com) - - * Version 3.12. - -Sat Nov 05 15:20:07 1994 Jim Meyering (meyering@comco.com) - - * group-member.c: Use up-to-date version. - * group-member.h: New file. - * lib/Makefile.in (DISTFILES): Add group-member.h. - (group-member.o): Depend on group-member.h. - - * Version 3.11. - - * src/Makefile.in (obstack.o): Depend on obstack.h. - * makepath.c (makepath) [__STDC__]: Add an ANSI-style prototype. - From Kaveh Ghazi. - -Fri Nov 04 17:27:55 1994 Jim Meyering (meyering@comco.com) - - * Version 3.10. - -Thu Nov 03 12:59:34 1994 Jim Meyering (meyering@comco.com) - - * makepath.h: New file. - * makepath.c: Include it. - Add an argument: PRESERVE_EXISTING. - Declare char* arguments const. - * install.c, mkdir.c: Update callers. Set it in mkdir.c so - that `mkdir -p' ignores existing directories as POSIX mandates. - Before, it would try to change owner and/or permissions of such - directories. Christopher S. Arthur reported - the mkdir -p failure. - * lib/Makefile.in (DISTFILES): Add it. - (makepath.o): Depend on makepath.h. - * src/Makefile.in (install.o, mkdir.o): Depend on makepath.h. - * cp.c (make_path_private): Rename function from make_path to - avoid confusion. - (do_copy): Update caller. - - * ls.c: Include before system.h because limits.h on - some systems undefines PATH_MAX, whereas system.h includes pathmax.h - which sets PATH_MAX. From Kaveh Ghazi. - - * euidaccess.c: Define S_IXUSR, S_IXGRP, and S_IXOTH in terms of - S_IEXEC if they're not already defined. Reported by Kaveh Ghazi - and Daniel Hagerty . - -Tue Nov 01 06:18:20 1994 Jim Meyering (meyering@comco.com) - - * eaccess.c (euidaccess): Rename from eaccess to avoid conflict - with like-named, different function in some C libraries. - * euidaccess.c: Renamed from eaccess.c - * lib/Makefile.in (SOURCES): Rename eaccess.c. - Update dependency, too. - * configure.in (AC_REPLACE_FUNCS): Check for euidaccess - -Mon Oct 31 08:02:31 1994 Jim Meyering (meyering@comco.com) - - * ls.c (dired_dump_obstack): Cast obstack_finish for non-ANSI - compilers. Kaveh Ghazi reported the problem. - -Sat Oct 29 00:42:18 1994 Jim Meyering (meyering@comco.com) - - * fsusage.c (get_fs_usage) [STAT_STATFS4]: Define CONVERT_BLOCKS - to adjust_blocks for _AIX. Was getting off-by-8x numbers. - - * df.c: Make --sync the default. - Add new option: --no-sync. - Remove short option alias for --sync. - (usage): Update. - - * ls.c [!STDC_HEADERS]: Declare free. - (dired_dump_obstack): Cast pos[i] (of type size_t) to int so it - matches %d in printf. - (quote_filename): Fix typo in stpcpy call. - -Thu Oct 27 00:02:45 1994 Jim Meyering (meyering@comco.com) - - * fsusage.c: Include before safe-stat.h. - - * cp.c (make_path): Don't change protections on existing directory. - Reported by Andreas Schwab. - - * df.c: New option: --sync. No longer perform sync by default. - Do it only when this option is used. Invoking sync can be very - expensive, and it's not clear that doing so yields more up to date - results. With encouragement/prodding from Paolo Zeppegno - (paolo@to.sem.it), Nick Holloway, and Kaveh Ghazi. - -Thu Oct 20 00:52:59 1994 Jim Meyering (meyering@comco.com) - - * system.h [!S_IEXEC]: Define as S_IXUSR. - - * cp.h [S_IEXEC]: Remove definition. cp.c doesn't use it. - - * ls.c [!INT_MAX]: Define to 2^31 - 1 so subsequent #if test works. - [S_IEXEC]: Remove definition. It's in system.h now. - (usage): Sort options, but without segregating upper and lower case. - - * ls.c: Support for new option: --dired (-D). - (dired, dired_pos, dired_obstack, subdired_obstack): Global variables. - [PUTCHAR, FPUTS, FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS]: New macros - (dired_dump_obstack, quote_filename): New functions. - (main): Initialize obstacks. - (decode_switches): Recognize -D. - (print_dir): Make arguments `const.' - Record directory name indices in obstack. - (print_dir, print_long_format, print_type_indicator): Use macros - FPUTS, FPUTS_LITERAL, PUTCHAR for output. - (print_long_format): Record file name indices in obstack. - (print_name_with_quoting): Just call quote_filename and output the - result. - -Mon Oct 17 23:56:36 1994 Jim Meyering (meyering@comco.com) - - * savedir.c: Indent CPP conditionals. Change some #ifdefs to #ifs. - From Franc,ois Pinard. - -Mon Oct 17 10:27:26 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu) - - * lib/dirname.c: Use strrchr, not rindex. - -Sun Oct 16 07:53:27 1994 Jim Meyering (meyering@comco.com) - - * system.h (S_IXUSR, S_IXGRP, S_IXOTH): Define these in terms of - S_IEXEC if they're not already defined. From Kaveh Ghazi. - - * eaccess.c (eaccess_stat): Don't use NULL in comparison. - Some systems don't define it except in stdio.h -- and including - (yes, just including) stdio.h has been known to significantly - increase object code size (though admittedly, that probably - happens only on old systems). Kaveh Ghazi reported the problem. - - * src/Makfile.in lib/Makfile.in (DEFS): Remove -Dlint. - It causes problems on broken pyramid system. - From Kaveh Ghazi. - -Sat Oct 08 10:39:32 1994 Jim Meyering (meyering@comco.com) - - * mountlist.c: Always include if it exists. - (fstype_to_string) [__NetBSD__]: Don't define this function. - (read_filesystem_list) [__NetBSD__]: Use fsp's f_fstypename field, - rather than fstype_to_string (f_type). With suggestions from - Greg Hudson (ghudson@mit.edu). - - * lib/Makefile.in (OBJECTS): Remove eaccess.o. - * configure.in (AC_REPLACE_FUNCS): Add `eaccess' here instead. - The Hurd and Linux will have it. - -Fri Oct 07 20:27:48 1994 Jim Meyering (meyering@comco.com) - - * (doc): New subdirectory with texinfo documentation. - * fileutils.texi: Thanks to Franc,ois Pinard and Karl Berry! - - * Makefile.in (All of them): Update from the ones in sh-utils. - From now on, rules and definitions that are comon to the fileutils, - textutils, and sh-utils will get ChangeLog entries only in the - sh-utils. - - * Makefile.in (install, uninstall): Prepend ginstall->install - mapping to standard $(transform) sed mapping. - - * chgrp.c, chmod.c, chown.c, install.c, mkdir.c, mkfifo.c, mknod.c, - rm.c, rmdir.c (main): Diagnose wrong number of argument -- usually - too few -- instead of just referring the user to the --help option. - * mknod.c (main): Give diagnostics explaining specific problems - instead of just the usage message. Reported by Karl Berry. - - * configure.in: Overhaul tests that determine how to get filesystem - usage statistics. Now, most use AC_TRY_RUN and test for the precise - feature that will be used. I know that that will make configuring a - little harder for the people who cross compile, but if one of them - is annoyed enough (or complains loudly enough :-) maybe someone will - find the time to add tests to be used solely when cross compiling. - * acconfig.h (STAT_READ): Rename to STAT_READ_FILSYS. - * fsusage.c: Reorganize accordingly. - -Tue Oct 04 20:38:12 1994 Jim Meyering (meyering@comco.com) - - * chmod.c (main): Remove trailing slashes from file name arguments. - Otherwise, `chmod 600 foo/; chmod 700 foo/' failed with the error - `chmod: foo/: Permission denied' under Linux 1.1.51. Reported by - Thomas Koenig (ig25@fg70.rz.uni-karlsruhe.de). - * chown.c (main): Likewise. - -Thu Oct 2 23:03:32 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Replace obsolete AC_DIR_HEADER with AC_HEADER_DIRENT - and AC_FUNC_CLOSEDIR_VOID. - - * configure.in: Remove AC_SIZEOF_TYPE(int). - ls.c: Instead of comparing SIZEOF_INT == 2, compare INT_MAX to 2^16. - Suggestion from Roland McGrath. - -Sat Oct 01 21:23:27 1994 Jim Meyering (meyering@comco.com) - - * src/*.c: Remove CONFIG_BROKETS conditional. - - * {*/,}Makefile.in: Revamp to look much like those in sh-utils. - * acconfig.h (HAVE_FTRUNCATE): Remove it. - (ino_t, D_INO_IN_DIRENT): Add these. - - * configure.in: Convert for autoconf-2.0. - * backupfile.c: Likewise. - * savedir.c: Likewise. - - * mkdir.c, rmdir.c: Split the two functions from old mkdir.c into - separate files. - - * chgrp.c [_POSIX_VERSION]: Test this instead of _POSIX_SOURCE. - - * ls.c: Don't use SIZEOF_INT because it would require configure - to run a program -- then cross compilers would lose. Instead, - compare INT_MAX to 64k-1 since all we need to know is whether - an int is 2 bytes or larger. - - * rm.c [D_INO]: Use D_INO_IN_DIRENT rather than _POSIX_SOURCE in the - test for how to define this macro. - - * system.h: Use HAVE_SYS_PARAM_H (not _POSIX_SOURCE) in test - for whether to include . - Likewise for . - Update for DIRENT->HAVE_DIRENT_H etc. autoconf-2.0 changes. - Ditto for VOID_CLOSEDIR->CLOSEDIR_VOID. - - * xgetcwd.c [!_POSIX_VERSION && !HAVE_GETCWD]: Remove - !defined (_POSIX_VERSION) conjunct. From Kaveh Ghazi. - -Mon Sep 26 17:47:17 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * lib/*.c: Remove CONFIG_BROKETS conditional. - * lib/Makefile.in src/Makefile.in: Don't define it. - -Sun Sep 25 12:20:52 1994 Jim Meyering (meyering@comco.com) - - * ln.c (do_link): Give a diagnostic when trying to make a hard - link to a nonexistent source file. Before, running the command - `ln -i no-such-file existing-file' and responding `yes' to the - prompt would both remove `existing-file' and fail to make a link. - Karl Berry reported the problem. - -Sat Sep 10 04:34:34 1994 Roland McGrath - - * src/rm.c (remove_dir): Pass pathname to eaccess_stat. - -Fri Sep 2 13:54:13 1994 Michael I Bushnell - - * lib/Makefile.in (safe-lstat.c, safe-lstat.h, safe-stat.c, - safe-stat.h): Use $(srcdir) to find source files. - (.c.o): Use -I. to get safe-lstat.h and safe-stat.h from the - build directory. - * src/Makefile.in (incl): Add -I../lib to get lib/safe-lstat.h and - lib/safe-stat.h from the build directory. - -Sat Aug 27 16:33:04 1994 Jim Meyering (meyering@comco.com) - - * ln.c (main): Accept new option --no-dereference (-n). - (do_link): If the destination command line argument is a symlink - to a directory and --no-dereference is given, use that as the - destination instead of the file in the directory. - * ln.1: Document this. - - * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's. - From Francois Pinard. - - * isdir.c, makepath.c, rename.c [STAT_MACRO_BROKEN]: Remove - spurious #ifdef's. - -Thu Aug 25 00:12:20 1994 Jim Meyering (meyering@comco.com) - - * dd.c (copy): Clean up and fix off-by-one error when freeing - the input buffer. - -Thu Aug 18 11:41:16 1994 Jim Meyering (meyering@comco.com) - - * du.c (du_files) [HAVE_FCHDIR]: Use open (".", ...) and fchdir - instead of xgetcwd and chdir. Otherwise, running du in a subdirectory - of an unreadable directory would fail because xgetcwd fails. - * configure.in (AC_HAVE_FUNCS): Add fchdir. AIX-2.3 (for one) - doesn't have it. - - * lib/Makefile.in (DISTFILES): Include getdate.c and posixtim.c - so one doesn't need $(YACC). - Add dependencies on safe-stat.h. - -Sat Jul 30 08:08:02 1994 Jim Meyering (meyering@comco.com) - - * du.c (main): Don't initialize automatic array CWD_ONLY in declaration. - Some compilers don't allow that. - - * backupfile.c [DIRENT]: Remove spurious `|| defined(_POSIX_VERSION)'. - * savedir.c: Ditto. - - * safe-xstat.c.in, safe-xstat.h.in: New files. - * lib/Makefile.in: Add rules and dependencies for building safe-stat.c, - safe-stat.h, safe-lstat.c, and safe-lstat.h from them. - - * eaccess.c (eaccess): Use SAFE_STAT instead of stat - (and/or SAFE_LSTAT instead of lstat) to avoid unnecessary failure - on systems for which stat (lstat) can return EINTR. - * fsusage.c (statfs): Ditto. - * isdir.c (isdir): Ditto. - * makepath.c (make_path): Ditto. - * rename.c (rename): Ditto. - * chgrp.c (change_file_group): Ditto. - * chmod.c (change_file_mode): Ditto. - * chown.c (change_file_owner): Ditto. - * cp-hash.c (remember_created): Ditto. - * cp.c (main, do_copy): Ditto. - * df.c (main, show_point): Ditto. - * du.c (main, du_files, count_entry): Ditto. - * install.c (copy_file): Ditto. - * ln.c (main, do_link): Ditto. - * ls.c (gobble_file): Ditto. - * mv.c (is_real_dir, do_move): Ditto. - * mvdir.c (main): Ditto. - * rm.c (rm): Ditto. - * touch.c (main, touch): Ditto. - - * Makefile.in (install): Tell GNU make that this target is .PHONY - so it doesn't unnecessarily build ./install from install.sh. - -Tue Jul 26 11:33:53 1994 Jim Meyering (meyering@comco.com) - - * system.h: Remove `|| defined(_POSIX_VERSION)' from test that - decides whether to include . From Francois Pinard. - -Sun Jul 03 08:44:00 1994 Jim Meyering (meyering@comco.com) - - * configure.in [AC_HAVE_HEADERS]: Add sys/param.h, for definition - of HAVE_SYS_PARAM_H, now tested in pathmax.h. - - * makepath.c (make_path): Avoid spurious failure for file names - that contain `/.' or `/..'. From Andreas Schwab - . - - * dd.c (main): Handle SIGPIPE like other interrupts. - From Scott L. Burson . - - * df.c (main, show_dev, usage): New option --print-type=fstype. - From Arne Henrik Juul. - * df.1: Update. - -Thu Jun 30 10:28:32 1994 Jim Meyering (meyering@comco.com) - - * ls.c (longdiff) [SIZEOF_INT == 2]: Choose which version of this - macro to use based on SIZEOF_INT rather than obsolete INT_16_BITS. - [INODE_DIGITS]: New macro. - (print_long_format): Use it. - (print_file_name_and_frills): Ditto. - (length_of_file_name_and_frills): Ditto. - (print_long_format): Add a couple casts to unsigned types. - - * ls.c: Change type name from `struct file' to `struct fileinfo'. - David J. Mackenzie reported a name conflict on HPUX with the former. - - * dd.c (copy): Allocate an extra byte so I/O buffer begins on an - even address. This because the ITOS 3000WS running SEIUX 3.1 - (a descendant of MIPS RISC/OS 4.x) has SCSI device drivers that - require the I/O buffer begin on an even address. From - Tilman Schmidt . - -Mon Jun 20 23:45:34 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Use AC_PROGRAM_PATH to get values for LN, MV, RM. - (AC_HAVE_FUNCS): Add getgroups. - (AC_OUTPUT): Remove touch command. - - * eaccess.c (in_group): Remove static function. Use group_member - instead. - (eaccess_stat, eaccess): Change calling sequence to take filename. - Save UID and GID and use access if they are the same as effective IDs. - (main) [TEST]: Test driver. - * cp.c (copy): Update callers. - * mv.c (do_move): Ditto. - * rm.c (remove_file): Ditto. - - * cp.c (copy): With --preserve (-p) for non-root users, don't even - try to preserve file ownership in chown call. Otherwise, on systems - with the mis-feature allowing non-root users to change file ownership, - the subsequent chmod would fail. - - * userspec.c (parse_user_spec): Rewrite. Be careful to free all - allocated memory upon error. - (main) [TEST]: Test driver. - - * src/Makefile.in (uninstall): Delete $(LIBPROGS) one at a time - instead of like `rm -f $(libdir)/$(LIBPROGS)'. The old way loses - when LIBPROGS is empty and $(libdir) is a non-directory, and would - lose if LIBPROGS could ever have more than one word. - * (RM, LN, MV, INSTALL): Use values determined by ./configure instead - of the newly built binaries so people can build with a cross - compiler and still run `make (un)install.' - - * chgrp.c (change_file_group): Give a better error message when - failing because the invoking user does not belong to the requested - group. This affects systems on which chown sets errno to EPERM - for both `inaccessible file' and `user not a member of the specified - group' errors. Before, `chgrp bin file-I-own' would give the - misleading and incorrect diagnostic `chgrp: file-I-own: Not owner'. - Now it reports `you are not a member of group `bin''. - Thomas A Peterson (tap@src.honeywell.com) reported this weakness. - - * long-options.c: Move from src/ to lib/. - * long-options.h: Ditto. - * src/Makefile.in: Remove references to long-options.[ch]. - * lib/Makefile.in (SOURCES, OBJECTS): Add long-options.[co]. - -Sat Jun 18 15:45:34 1994 Jim Meyering (meyering@comco.com) - - * du.c (count_entry): Print "/" instead of zero-length string. - From Kjetil Torgrim Homme. - -Sun May 29 13:43:50 1994 Jim Meyering (meyering@comco.com) - - * group-member.c: New file. - * lib/Makefile.in (SOURCES, OBJECTS): Add group-member.[co]. - - * sync.c: New file. - * Makefile.in (PROGS): Add sync. - (SOURCES): Add sync.c - * src/Makefile.in: Add rules and dependencies for sync. - - * configure.in: Use AC_SET_MAKE and AC_PROG_INSTALL. - If AC_FUNC_CHECK doesn't find getgroups, add -lbsd if possible. - This was reported by Tilman Schmidt - to be necessary on an ITOS 3000WS running SEIUX 3.1. - - * Makefile.in: Edit MAKE assignments into @SET_MAKE@. - (Makefile): Remove dependencies on */Makefile.in. - Change the rule so running config.status creates only Makefile. - (stamp-config): Have config.status generate only config.h. - - * {lib,man,src}/Makefile.in (Makefile): Add single dependency on - Makefile.in and rule to make config.status create only Makefile. - - * system.h: Move from lib to src. - * src/Makefile.in (DISTFILES): Add system.h. - * lib/Makefile.in (DISTFILES): Remove system.h. - -Mon Apr 18 19:54:24 1994 Jim Meyering (meyering@comco.com) - - * documentation: Change uses of `pathname' and `path' as per - GNU standards. - -Fri Apr 15 20:41:15 1994 Jim Meyering (meyering@comco.com) - - * mv.c (main): Give a reason for failure when given fewer than - two non-option arguments, rather than just the pointer to --help. - * ln.c (main): Ditto, but for no non-option arguments. - - * configure.in: Update for autoconf-1.8. - Use AC_CHECKING instead of echo. - Use AC_SIZEOF_TYPE instead of obsolete AC_INT_16_BITS. - -Wed Apr 13 11:18:19 1994 Jim Meyering (meyering@comco.com) - - * cp.c (copy_reg): Correct off-by-DEV_BSIZE error in test for - whether a file has holes. From Michael Bushnell . - -Wed Mar 30 08:53:21 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Use AC_SET_MAKE. - * Makefile.in: Edit MAKE assignments into @SET_MAKE@. - -Mon Mar 14 11:01:09 1994 Jim Meyering (meyering@comco.com) - - * fsusage.c (adjust_blocks): Return -1 when FROMSIZE is non-positive. - Suggestion from Andries.Brouwer@cwi.nl. He reported that df failed - with divide by zero when trying to process an entry for an nfs file - system mounted over a SLIP line after the SLIP connection had been - broken. - [convert_blocks]: Rename macro to CONVERT_BLOCKS. - -Sat Jan 29 13:24:07 1994 Jim Meyering (meyering@comco.com) - - * du.c (main): Call du_files (with ".") when there are no - non-option arguments rather than treating that as a special case. - (du_files): Ignore return value from count_entry. - (count_entry): Accumulate file sizes into new global sum used for - the -c option; the return value is unchanged and is still used - by recursive calls. Now, using -S and -c together works. - Add parentheses to clarify precedence. - -Fri Jan 28 11:02:21 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Don't set LDFLAGS since linking now uses both - LDFLAGS and CFLAGS. - -Thu Jan 13 17:27:38 1994 Jim Meyering (meyering@comco.com) - - * src/Makefile.in: Change all link commands to use both $(CFLAGS) - and $(LDFLAGS). - -Mon Jan 10 01:20:38 1994 Jim Meyering (meyering@comco.com) - - * man/Makefile.in (manprefix): Use binprefix as the default. - -Thu Dec 30 23:11:10 1993 Jim Meyering (meyering@comco.com) - - * The following changes are necessary to avoid spurious failures - when a read or write system call is interrupted (e.g. by SIGTSTP). - A POSIX implementation of those system calls may either return - -1 and set errno to EINTR or return a positive value indicating - that a partial read or write has completed successfully. On Linux - 0.99.14, interrupted read and write system calls return -1/EINTR. - Thanks to Bruno Haible - for pointing this out. - - * full-write.c, safe-read.c: New files. - - * cp.c (copy_reg): Use full_write instead of write. Handle - errno == EINTR (instead of failing) after read system call. - * dd.c (skip): Handle errno == EINTR (instead of failing) after - read system call. - (copy): Use safe_read instead of read. - * install.c (copy_file): Use safe_read and full_write instead of - read and write system calls. - * mv.c (copy_reg): Ditto. - * touch.c (utime_now): Ditto. - -Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com) - - * install.sh: New file. - Makefile.in [DISTFILES]: Add it. - -Sat Dec 18 01:12:24 1993 Jim Meyering (meyering@comco.com) - - * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg - so it goes in config.status. This eliminates unnecessary second run - of configure. - -Thu Nov 18 00:03:24 1993 Jim Meyering (meyering@comco.com) - - * configure.in [STAT_STATFS2_FSIZE]: Fix test (that had obsolete - and now-broken use of AC_HEADER_EGREP) so that this flag is set - for NetBSD 0.9. - -Mon Oct 25 20:27:00 1993 Jim Meyering (meyering@comco.com) - - * cp-aux.c, df.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c, - mknod.c, mv.c, touch.c: Use the preferred `--longopt=arg' - syntax in --help message rather than `--longopt arg'. - From Francois Pinard. - -Tue Oct 19 07:02:18 1993 Jim Meyering (meyering@comco.com) - - * Version 3.9. - -Mon Oct 18 00:13:40 1993 Jim Meyering (meyering@comco.com) - - * src/*.c (usage): Now the usage message is simply - "Try `%s --help' for more information. From Francois Pinard. - - * src/Makefile.in [LIBPROGS]: Depend on ../lib/libfu.a and - version.o. From Francois Pinard. - - * src/*.c (usage): Remove blank line before "Try `%s --help..." - in usage message. - -Sun Oct 17 00:19:58 1993 Jim Meyering (meyering@comco.com) - - * fileblocks.c [!NINDIR]: Define BSIZE only if it's not already - defined. - - * ls.c (print_long_format): Cast printf args major and minor - so they'll have types matching %u format even on systems - where those macros have signed type. - -Sat Oct 16 00:25:42 1993 Jim Meyering (meyering@comco.com) - - * chmod.c (change_file_mode): Reapply Oct 6 change for symlinks. - Somehow it got removed from working sources. - - * lib/Makefile.in [OBJECTS]: Change dependency to ../config.h so - it works when building in a subdirectory. From Rick Sladkey - (jrs@world.std.com). - -Wed Oct 13 19:43:47 1993 Jim Meyering (meyering@comco.com) - - * cp.c (copy), ls.c (get_link_name): Complete Aug 27 change so - that we use PATH_MAX + 1 rather than sizeof(char*) as size of - buffer in readlink call. This was causing spurious errors. - - * cp.c (copy), mv.c (do_move), rm.c (remove_file, remove_dir): - Cast to `unsigned int' stat->st_mode printf arguments corresponding - to %o formats to avoid warnings. - - * lib/Makefile.in [DEFS]: Remove -DMVDIR. Add -DCONFIG_BROKETS. - (rename.o): Add a specific rule. Use -DMVDIR=... here instead. - - * src/Makefile.in [DEFS]: Add -DCONFIG_BROKETS. - (distclean): Don't delete dir.c and vdir.c; they aren't - created anymore. - - * lib/Makefile.in: Make all .o files depend on $(srcdir)/../config.h. - * src/Makefile.in: Ditto. - -Sun Oct 10 13:38:54 1993 Jim Meyering (meyering@comco.com) - - * src/Makefile.in (dist): Depend on $(DISTFILES). - - * src/Makefile.in [libdir, LIBPROGS]: Define them. - From Francois Pinard. - - * posixtm.y: [HAVE_CONFIG_H, CONFIG_BROKETS]: Include - or "config.h". From Francois Pinard. - - * makepath.c: [HAVE_CONFIG_H, CONFIG_BROKETS]: Remove the duplicate - #ifdef block following the alloca #ifdefs. From Francois Pinard. - - * df.c: Remove unnecessary dcl of strstr. - -Sat Oct 9 13:30:28 1993 Jim Meyering (meyering@comco.com) - - * configure.in [STATFS_OSF1]: Change name to STAT_STATFS3_OSF1 - to be consistent with names of the other STAT_* macros. - * acconfig.h: Ditto. - * fsusage.c: Ditto. - - * acconfig.h: Add comments. - * Makefile.in: Remove comments about -D flags that could be added - to DEFS; now (using autoheader) those comments end up in config.h. - - * Makefile.in (configure, config.h.in): Warn that they may not be - up to date. Don't touch them. - - * ls.c (usage): Split long usage string between two fprintf - statements to avoid default limit of SGI's cc on string length. - - * Makefile.in, src/Makefile.in [PROGS]: Alphabetize. - - * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS. - -Thu Oct 07 12:57:10 1993 Jim Meyering (meyering@comco.com) - - * chgrp.c, chmod.c, chown.c, cp-aux.c, cp.c, dd.c, df.c, du.c, - install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c, mv.c, mvdir.c, - rm.c, rmdir.c, touch.c (usage): Using --help gets long well- - formatted help. Now --help writes to stdout and exits successfully. - From Francois Pinard . - - * lib/Makefile.in [libdir]: Make sure it's defined. - - * posixtm.y [!__GNUC__ && !HAVE_ALLOCA_H]: Declare alloca as void* - rather than char*. The latter conflicts with a dcl from bison.simple. - -Wed Oct 06 18:22:00 1993 Jim Meyering (meyering@comco.com) - - * chmod.c (change_file_mode): Add an argument to control how symbolic - links are treated. - (main, change_dir_mode): Reflect changed calling sequence. - Now symlinks listed on the command line are processed (they - were ignored before); the permissions of the dereferenced files are - changed. Symlinks encountered in recursive traversals are still - ignored. This makes GNU chmod act more like e.g. Sun's. - From Nick Holloway . - * chmod.1: Document it. - -Tue Oct 05 14:52:02 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Add AC_STAT_MACROS_BROKEN. - - * isdir.c, makepath.c, rename.c, system.h [STAT_MACROS_BROKEN]: - Test this. - - * install.c (install_file_in_dir): Use stpcpy instead of slow sprintf. - - * argmatch.c, backupfile.c, basename.c, dirname.c, eaccess.c, - fileblocks.c, fsusage.c, getversion.c, idcache.c, isdir.c, - makepath.c, mountlist.c, rename.c, savedir.c, stripslash.c, - userspec.c, xgetcwd.c, xstrdup.c, yesno.c, [HAVE_CONFIG_H, - CONFIG_BROKETS]: Include or "config.h". - - * lib/Makefile.in, src/Makefile.in [.c.o]: Put -I.. before - -I$(srcdir) so will get the right file. - - * chgrp.c, chmod.c, chown.c, cp-aux.c, cp-hash.c, cp.c, dd.c, - df.c, du.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c, - mv.c, mvdir.c, rm.c, rmdir.c, touch.c, version.c [HAVE_CONFIG_H, - CONFIG_BROKETS]: Include or "config.h". - - * configure.in [AC_CONFIG_HEADER]: Use it. - - * configure.in (rename.o) [MVDIR definition]: Remove it. - * lib/Makefile.in [DEFS]: Put it here instead. - - * config.h.in, acconfig.h: New files - * Makefile [DISTFILES]: Add them. - (config.h.in): Add a rule to warn if it may need to be rebuilt. - - * lib/Makefile [YACC]: Get definition from @YACC@. - - * system.h: Include . This is needed for the definition - of _POSIX_VERSION. - -Thu Sep 9 08:52:10 1993 Jim Meyering (meyering@comco.com) - - * src/*.c: Print version on standard output, not stderr. - -Fri Aug 27 23:53:50 1993 Jim Meyering (meyering@comco.com) - - * cp.c (copy), ls.c (get_link_name): Don't use PATH_MAX as array - length in declarations because on some systems it gets defined - to the function pathconf. Use dynamic allocation instead. - - * fsusage.c (adjust_blocks): Use `1' instead of `+1'. Many - compilers don't parse the latter. From Kaveh R. Ghazi. - -Thu Aug 26 22:26:09 1993 Jim Meyering (meyering@comco.com) - - * ls.c (print_long_format, print_file_name_and_frills): Cast inode - number to unsigned long and print it with %lu to avoid warnings from - gcc -Wformat because the size and type of ino_t are system dependent. - - * cp.c (do_copy): Plug a memory leak with --parents. - - * ln.c (main): Like mv and cp, convert `ln x y/' to ln x y/x - when a is not a directory. - [PATH_BASENAME_CONCAT]: New macro. - (do_link): Use it here, too. - - * ls.c (sort_files): Add `default: abort();' clause to switch stmts. - - * cp.c (do_copy): Don't remove trailing slashes from source. - -Wed Aug 25 21:40:00 1993 Jim Meyering (meyering@comco.com) - - * cp.c: Add --parents as synonym for --path. Change --path to - --parents in comments. --path is deprecated. - - * rm.c (clear_directory): Fix incorrect test for determining when - to reallocate buffer. Thanks to Ric Anderson . - -Fri Aug 13 17:19:52 1993 Jim Meyering (meyering@comco.com) - - * fsusage (adjust_blocks): Round away from zero -- this matters - when computing the negative free-block count for disks that are - more than 100% full. - - * mv.c (movefile): Use nested calls to stpcpy instead of sprintf. - (is_real_dir): New function. - (movefile): In addition to when dest is a directory, if dest has - a trailing `/' and source is not a directory, presume the target - is dest/`basename source`. This converts `mv x y/' to `mv x y/x' - when x is not a directory. This change means that the command - `mv any file/' will now fail rather than performing the move. - - * cp.c (do_copy): Similarly, convert `cp x y/' to cp x y/x when - x is not a directory. - -Wed Aug 4 17:43:18 1993 Jim Meyering (meyering@comco.com) - - * ls.c (get_link_name): Don't ever use the stat field st_size as a - buffer size. Too many systems don't set it properly for mount points. - Instead, use a fixed-length buffer. From Michael Joosten - . - * cp.c (copy): Ditto. - -Mon Jul 19 17:39:01 1993 Jim Meyering (meyering@comco.com) - - * backupfile.c (concat): Temporary STR1_LENGTH should have type `int' - instead of `char.' - -Fri Jul 16 22:00:16 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * dd.c (print_stats): Change message from "truncated blocks" - to "truncated records" for final POSIX.2 spec. - -Fri Jun 25 17:18:15 1993 Jim Meyering (meyering@comco.com) - - * mkdir.c, rmdir.c: Change --path long option to --parents to avoid - confusion with search-path semantics of --path as an option to other - programs. --path will still work, but is no longer documented. - -Tue Jun 8 00:46:26 1993 Jim Meyering (meyering@comco.com) - - * dd.c (parse_integer): Also accept `c' multiplier for consistency - with find's -size option. - -Thu May 27 00:03:51 1993 Jim Meyering (meyering@comco.com) - - * Version 3.8. - - * configure.in (STAT_OSF1): Reference the statfs f_fsize member - so that configure defines STAT_OSF1 only if there is such a member. - Without such a reference, a Pyramid MIServer running OSx 5.1 - improperly defined STAT_OSF1 instead of the one it needed: - STAT_STATFS2_BSIZE. - -Wed May 26 00:57:46 1993 Jim Meyering (meyering@comco.com) - - * ls.h, ls-ls.c ls-dir.c, ls-vdir.c: New files that define or - simply set the new global variable ls_mode. ls_mode defines whether - the executable built from ls.o should act like ls, dir, or vdir. - * ls.c (decode_switches): Use the variable instead of #ifdefs. - This is modelled after the approach used in GNU binutils 2.x for - ar and ranlib. Here we avoid two redundant compilations. - - * install.c (change_attributes, copy_file, install_file_in_file): - Don't call chown if we can efficiently determine that doing so is - unnecessary. On some systems, calls to chown (even with your own - uid and gid) fail unless made by root. On such systems install - got spurious failures. - -Sat May 22 02:13:12 1993 Jim Meyering (meyering@comco.com) - - * Version 3.6. - -Fri May 21 18:42:27 1993 Jim Meyering (meyering@comco.com) - - * rename.c (rename): Be careful not to unlink `from' if it happens - to be equal to `to' or (on filesystems that silently truncate - filenames after 14 characters) if `from' and `to' share the - significant characters. From Bruno Haible - . - - * mountlist.c, fsusage.c: Make these work under m88k DolphinOS. - From Kjetil Wiekhorst J|rgensen . - -Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com) - - * mkinstalldirs: New file. - * Makefile.in (installdirs): Use it. - -Sat May 15 01:20:26 1993 Jim Meyering (meyering@comco.com) - - * ln.c (do_link): Make `ln -s dir_pathname .' work when the - pathname has a trailing slash. - -Fri May 14 23:45:52 1993 Jim Meyering (meyering@comco.com) - - * all source: With --version, print version and exit immediately. - -Wed May 12 20:48:55 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Add check for the -ldgc library that is required - for getmntent on m88k DGUX-5.4 systems. - - * Makefile.in (installdirs): New rules for creating installation - directories. (install): Depend on it. - -Sat May 8 11:31:14 1993 Jim Meyering (meyering@comco.com) - - * lib/Makefile.in (dist): Use `cp -p' instead of just `cp' - if linking fails. - -Thu May 6 22:45:25 1993 Jim Meyering (meyering@comco.com) - - * makepath.c: Use explicit dcl of errno only if !STDC_HEADERS. - Some systems have but don't declare errno. - From Kaveh R. Ghazi . - - * getdate.y: Test TIME_WITH_SYS_TIME, not TIME_AND_SYS_TIME. - -Wed May 5 00:21:12 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Add AC_TIME_WITH_SYS_TIME. - * getdate.y: Use it (this is a version local to fileutils). - -Tue May 4 20:25:41 1993 Jim Meyering (meyering@comco.com) - - * du.c (count_entry): Give an error and exit if chdir ("..") fails. - From Bruce Evans . - - * eaccess (eaccess_stat): Cast NGROUPS_MAX to appropriate types. - From Bruce Evans . - -Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Add AC_GETGROUPS_T. - * eaccess.c: Don't define GETGROUPS_T. Now configure does it. - -Sun May 2 09:18:53 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Check for libypsec.a on Dolphin M88K machines. - This can result in significant speedup for programs that access - YP information. From Kjetil Wiekhorst J{\o}rgensen - . - -Fri Apr 30 02:21:48 1993 Jim Meyering (meyering@comco.com) - - * ls.c (main): Make `-f' work like on standard Unix ls, instead - of as a short equivalent of --full-time. - * ls.1: Document it. - -Thu Apr 29 00:46:46 1993 Jim Meyering (meyering@comco.com) - - * src/Makefile.in [dir.o, vdir.o]: Make ordering of CFLAGS etc - in compilation rules consistent with that in .c.o rule. - - * Makefile.in (dist): Depend on Makefile so that changes to - Makefile.in (like adding new files to DISTRIB) are reflected - in the new distribution. - -Tue Apr 27 21:35:11 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Remove unnecessary AC_PROG_INSTALL. - -Fri Apr 23 23:39:16 1993 Jim Meyering (meyering@comco.com) - - * {lib,src}/Makefile.in [.c.o]: Make CPPFLAGS and CFLAGS follow - other options so users can use them to override DEFS. - - * lib/mktime.c: Use new version from glibc instead of one from - libc-subst. `touch' built with the latter didn't set proper - time unless given a specific --date option. - -Thu Apr 22 00:22:25 1993 Jim Meyering (meyering@comco.com) - - * makepath.c: Decouple inclusion of errno.h from definition of - STDC_HEADERS; many systems have errno.h, yet shouldn't define - STDC_HEADERS. - * makepath.c (make_path): Add EPERM clause only if both AFS and - EPERM are defined. - * configure.in: Test for errno.h header file. - -Mon Apr 19 11:21:14 1993 Jim Meyering (meyering@comco.com) - - * Version 3.5. - - * ls.c, touch.c: Don't include time.h explicitly -- it's included - by system.h. From Franc,ois Pinard. - - * posixtm.y: Use TM_IN_SYS_TIME. - - * backupfile.c [index, rindex]: Don't redefine them. - - * system.h [alloca]: Don't redefine it. - - * configure.in: Check for sys/time.h; getdate.y needs it for - structs timeval and timezone on some systems. - -Sun Apr 18 22:40:19 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) - - * ls.c: Include fnmatch.h after system.h, so we get our - definitions of FNM_*, not those from unistd.h. - - * mountlist.c [MOUNTED_GETMNTINFO]: Add #ifdef around MOUNT_PC. - - * configure.in: Fix test for 4.4BSD statfs to not grep for a - macro in cpp output. - -Sun Apr 18 02:35:36 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Check for gettimeofday. - Check for `struct tm'. - Change MVDIR definition so it works with new AC_DEFINE. - - * system.h: Remove last vestiges of USG; instead, use specific - test for TM_IN_SYS_TIME to determine whether to include time.h - or sys/time.h. - - * src/Makefile.in (install): Rewrite the test for whether to install - mvdir so that it doesn't cause gratuitous failures with broken shells. - Split long rule so the pieces fit in 80-column lines. - -Thu Apr 15 23:44:01 1993 Jim Meyering (meyering@comco.com) - - * lib/Makefile.in (posixtm.c): Add dependency on getdate.c to enforce - sequential invocations of YACC. - * (posixtm.c, getdate.c): Remove use of `bison -o' and associated - conditional rename commands -- not needed since the parser generators - won't be run in parallel; now bison (when used) is always invoked - with -y. - -Tue Apr 13 09:18:18 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Find a parser generator. - * Makefile.in [MDEFINES]: Add YACC to the list of variables passed to - sub-makes. - * lib/Makefile.in (posixtm.c, getdate.c): Try first to build with - `bison -o' -- for parallel makes. If that fails, use $(YACC). - - * posixtm.y [HAVE_MEMCPY && !HAVE_BCOPY]: Define bcopy in terms - of memcpy for old versions of bison that generate parsers that - use bcopy. - - * configure.in: Add tests for memcpy and bcopy. - -Mon Apr 12 23:02:14 1993 Jim Meyering (meyering@comco.com) - - * configure.in (mounted, space): Add filesystem checks for DEC Alpha - running OSF/1 to complement new code in mountlist.c and fsusage.c. - - * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETFSSTAT]: Add code - to do it the OSF/1 way on a DEC alpha. - From Brian Fox (bfox@tinker.crseo.ucsb.edu). - - * lib/fsusage.c (get_fs_usage) [STATFS_OSF1]: Add code to call OSF/1's - variant of statfs. From Brian Fox (bfox@tinker.crseo.ucsb.edu). - -Sun Apr 11 20:29:31 1993 Jim Meyering (meyering@comco.com) - - * df.c (main, show_dev): Don't list dummy (automounter) filesystems - unless they're explicitly listed on the command line or if the -a - option is given. - -Fri Apr 9 11:40:48 1993 Jim Meyering (meyering@comco.com) - - * src/Makefile.in [.c.o]: Put CFLAGS after include directives. - -Wed Apr 7 23:54:48 1993 Jim Meyering (meyering@comco.com) - - * eaccess.c: Undefine NGROUPS_MAX before redefining it. - From ghazi@caip.rutgers.edu (Kaveh R. Ghazi). - -Mon Apr 5 20:14:17 1993 Jim Meyering (meyering@comco.com) - - * chgrp.c, chmod.c, chown.c, install.c, ls.c, mkfifo.c, mknod.c, - touch.c: Add `case 0: break;' for long-only options help and version. - -Sun Apr 4 09:38:00 1993 Jim Meyering (meyering@comco.com) - - * src/*.c (usage): Mention --help and --version. - (main): Handle flag_help and flag_version before checking for - invocation errors. - - * cp.c (copy): Declare to be static. - - * cp.c (copy, make_path, re_protect): Explicitly cast alloca return - value to (char *). - * ln.c (do_link): Ditto - * mv.c (do_move): Ditto - * makepath.c (make_path): Ditto - - * lib/eaccess.c (eaccess_stat): Cast to unsigned the value to - be right-shifted to avoid ANSI vs K&R semantic ambiguity. - - * src/Makefile.in (incl): New variable. - - * chown.c (main): Explicitly cast -1 to [ug]id_t to avoid compiler - warnings. - - * cp.h: Remove unneeded extern dcl of exit_status. - - * basename.c [rindex]: Don't redefine it. - * system.h [rindex, incl, bcopy, bzero]: Ditto. - * userspec.c [index]: Ditto. - - * Makefile.in [CFLAGS, LDFLAGS]: Don't hard-code these; get their - definitions from configure. - * configure.in [CFLAGS, LDFLAGS]: Assign reasonable defaults. - -Sat Apr 3 18:17:23 1993 Jim Meyering (meyering@comco.com) - - * Makefile.in [Makefile]: Add dependencies and a rule to remake it. - [targets that cd then run make in subdirectories]: Don't depend - on `cd ..'; use a subshell instead. - [info, install-info, dvi, check, installcheck]: New targets but no - rules; comply with standards. - - * src/Makefile.in [.c.o, dir.o, vdir.o]: Put CFLAGS after DEFS and - CPPFLAGS per standards.texi. - Use automatically generated dependencies. - - * mvdir.c (main): Remove dcl of unused variable. - -Thu Apr 1 18:05:48 1993 Jim Meyering (meyering@comco.com) - - * install.c, chgrp.c, dd.c [isascii]: Undefine before redefining. - - * ls.c: Move some dcls so they appear before first function. - - * all programs: Add --help and --version options. - * version.c: Remove `Version: ' and newlines from version string. - - * dd.c: Convert usage to take no arguments. - * lib/Makefile.in [DISTFILES]: Add version.h. - -Wed Mar 31 22:03:28 1993 Jim Meyering (meyering@comco.com) - - * configure.in [MVDIR]: Don't quote right hand side. - * backupfile.c, chgrp.c, install.c: Define isascii macro to be 1 - also if STDC_HEADERS. - -Tue Mar 30 17:42:11 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * ls.c: Add -G,--no-group option to inhibit display of group - information. - * ls.1: Document it. - -Mon Mar 29 22:22:40 1993 Jim Meyering (meyering@comco.com) - - * system.h [ST_NBLOCKS]: Check also for __hpux. From Henrik B}kman - . - -Sun Mar 28 21:22:30 1993 Jim Meyering (meyering@comco.com) - - * Makefile.in (dist): Use cp when hard link fails. - Use tar-1.11.2's -z option instead of -Z. - - * makepath.c [index]: Don't redefine. - -Fri Mar 26 00:32:39 1993 Jim Meyering (meyering@comco.com) - - * df.c (add_excluded_fs_type, excluded_fs_type): New functions adding - support for --exclude-type option. Derived from Kaveh R. Ghazi - . - - * ls.c (decode_switches, print_long_format): New option: --full-time. - From K. Richard Pixley (rich@rtl.cygnus.com) - -Thu Mar 25 21:02:36 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * dirname.c [rindex]: Don't redefine. - -Tue Mar 23 23:13:33 1993 Jim Meyering (meyering@comco.com) - - * ls.c (gobble_file): Don't stat symlinks unless we need to. - From Mike Rendell . - - * dd.c (copy, copy_with_block, copy_with_block): Decrement - pending_spaces only if it's > 0. The following command didn't - terminate: - perl -e 'print "a a\n";'| dd of=/dev/null ibs=1 cbs=3 conv=unblock - With suggestions from Chris Weber , - Marlys.A.Nelson@uwrf.edu, and Albert-Lunde@nwu.edu. - -Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com) - - * chmod.c: Add long-named options. - -Mon Feb 15 23:34:55 1993 Jim Meyering (meyering@comco.com) - - * rm.c (remove_file): Don't ask about overriding a mode if the - target is a symbolic link -- some systems (like SGI's Irix 4.0) - zero the permissions fields of symbolic links. - From Arne Henrik Juul (arnej@imf.unit.no). - -Fri Dec 11 16:46:50 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) - - * rm.c (main): If -f is given, don't complain if no file args - are given. - -Tue Dec 8 21:09:16 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) - - * posixtm.y: Include alloca.h if HAVE_ALLOCA_H, not if sparc. - -Mon Dec 7 20:09:59 1992 Jim Meyering (meyering@idefix.comco.com) - - * install.c (isnumber), chgrp.c (change_file_group): Define ISDIGIT - and use it instead of isdigit. - - * dd.c: Define ISLOWER and ISUPPER independent of STDC_HEADERS. - Define ISDIGIT and use it instead of isdigit. - -Wed Dec 2 12:28:10 1992 Jim Meyering (meyering@idefix.comco.com) - - * all files using getopt.h: Convert static declarations of - struct option to use new macros from getopt.h: no_argument, - required_argument, and optional_argument. - -Tue Nov 24 07:54:45 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * system.h: Use HAVE_FCNTL_H instead of USG. - - * xgetcwd.c: Use HAVE_GETCWD instead of USG. - - * backupfile.c, basename.c, dirname.c, idcache.c, makepath.c, - mountlist.c, stripslash.c, userspec.c, xstrdup.c, system.h: - Use HAVE_STRING_H instead of USG. - - * system.h: Use SYSDIR and NDIR instead of USG. - Define direct as dirent, not vice-versa. - * ls.c, rm.c, backupfile.c, savedir.c: Use `struct dirent', - not `struct direct'. - -Thu Nov 12 23:10:56 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * system.h: If dirent is #defined, don't define direct as dirent; - for Sinix. Derived from Heinfried Korn (korn@med-in.uni-sb.de). - -Mon Nov 9 14:13:57 1992 Jim Meyering (meyering@idefix.comco.com) - - * fsusage.c (adjust_blocks): Reverse Oct 31 change -- - the function is more readable than the macro. - - * All files in src: Make all functions and extern variables static. - Make all longopts arrays const as well as static. - Make a couple statically initialized aggregates `const.' - -Sat Oct 31 16:32:17 1992 Jim Meyering (meyering@idefix.comco.com) - - * fsusage.c (adjust_blocks): Convert to a macro. The static - function wasn't always used. - - * makepath.c, cp.c, ls.c: Add parentheses to expressions - like (c = *p++) as per suggestion from gcc -Wall. - - * dd.c (swab_buffer): Fix typo that incremented pointer instead - of counter. Add braces around static struct initializers. - -Fri Oct 30 11:40:58 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * ln.c, cp.c (main): Make -s on systems without symlinks an - error, not a warning. - -Thu Oct 29 14:57:21 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) - - * Version 3.4. - - * cp.c (copy, re_protect), mv.c (copy_reg): Do utime and chown - before chmod, so set[ug]id bits don't get nuked. - Don't use fchmod. - -Wed Oct 28 16:13:18 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) - - * cp.c, mv.c, ln.c: Rename some variables to use consistent - terminology: source and destination. - - * ln.c, mkdir.c, mkfifo.c, mknod.c: Don't strip trailing slashes. - * install.c: Don't strip slashes from dest. dirs. - -Mon Aug 24 12:49:14 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * xgetcwd.c: Make path_max unsigned, not long. From Bruce Evans. - -Sun Aug 23 03:06:04 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * idcache.c: Use a union for uid_t and gid_t. From - bde@runx.oz.au (Bruce Evans). - - * eaccess.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun. - -Sat Aug 22 02:36:49 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * makepath.c: Use uid_t and gid_t. - - * system.h, makepath.c: Use HAVE_ALLOCA_H, not sparc. - - * cp.c (make_path, re_protect): Allocate room for terminating NULs. - -Fri Aug 21 21:12:18 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * fsusage.c [STAT_STATVFS]: Use f_bsize if f_frsize is 0. - From Paul M Reilly . - - * xgetcwd.c [!errno]: Declare errno. From Karl Berry. - - * chown.c (main, change_file_owner, change_dir_owner): Use - uid_t and gid_t. From Rob McMahon - and glaze@cs.mu.oz.au (Glaze). - -Thu Jul 23 14:29:17 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * Version 3.3. - -Sat Jul 18 20:12:56 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * idcache.c: Use uid_t and gid_t. - (getuidbyname, getgidbyname): New functions, for cpio. - - * userspec.c: New file, from code in chown.c. - * chown.c: Use it. - -Fri Jul 17 00:43:38 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * system.h: Protect from getopt prototype in stdlib.h. - - * ls.c [_AIX]: Include sys/ioctl.h. - * fsusage.c: Include sys/vfs.h if AIX PS/2, but not if RS6000. - From tranle@intellicorp.com (Minh Tran-Le). - - * mvdir.c: Declare getcwd. From Francois Pinard. - - * chown.c, chgrp.c, install.c [_POSIX_SOURCE]: Define endpwent - and endgrent as empty. - - * makepath.c (make_path): Add cast to alloca call. - From Jim Meyering. - - * cp.c (copy, re_protect), mv.c (copy_reg): Notify root of - EPERM errors from chown. - * makepath.c, install.c [AFS]: Ignore EPERM from chown. - - * system.h (ST_NBLOCKS) [_AIX && _I386]: st_blocks is in 4K units. - * fsusage.c (statfs) [_AIX && _I386]: Supply this function. - From tranle@intellicorp.com (Minh Tran-Le). - -Thu Jul 16 23:08:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * df.c (print_header, show_dev): In inode format, print the - total number of inodes as well. - - * fsusage.[ch], df.c (show_dev): Count internally using - 512-byte blocks, not 1024-byte, to avoid rounding errors. - -Mon Jul 6 20:03:54 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * rename.c: Use S_ISDIR instead of S_IFDIR. - -Fri Jul 3 14:36:34 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * fileblocks.c, system.h, cp.c, dd.c, mv.c, touch.c: Change - FOO_MISSING to HAVE_FOO. - -Wed Jun 3 19:28:04 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * xgetcwd.c (xgetcwd): Accept errno==EINVAL as nonfatal. - -Wed May 20 00:05:52 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * system.h: If we include a header file specifically to get - major et al., assume we have them. - -Mon May 11 20:04:10 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * chgrp.c, chown.c: --show-changes -> --changes. - -Sat May 9 18:39:38 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * system.h: Define DEV_BSIZE if not defined. - -Thu Apr 30 13:55:37 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * du.c (count_entry): Remove the trailing "/" before printing. - -Wed Apr 29 11:34:38 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * rename.c (rename): If removing `from' fails, remove `to' to - clean up. From Matthew Farwell . - -Thu Apr 23 21:14:16 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * ls.c (gobble_file): Only read the link contents if -l or the - file was named on the command line. - -Wed Apr 22 02:16:38 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * fsusage.c (get_fs_usage) [STAT_STATFS4 and _SEQUENT_]: Has f_bavail. - From Donn Cave . - - * getversion.c (get_version): If given invalid arg, exit. - - * cp.c (copy): Fix mode with chmod if copying as a regular file. - - * system.h, dd.c: SIGTYPE -> RETSIGTYPE. - -Sat Apr 18 00:18:41 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * fsusage.[ch] (get_fs_usage): Take another arg, the device name. - * fsusage.c (get_fs_usage) [STAT_READ]: Fix number of inodes - calculation. Use the device name. From Brian Matthews. - * df.c (show_dev): Pass the device name. - -Fri Apr 17 11:25:28 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * fsusage.c: Special-case AIX. - - * mountlist.c [MOUNTED_VMOUNT]: New code for AIX, from - Garrett A. Wollman (wollman@uvm.edu). - - * ls.c (gobble_file): Use stat, not lstat, on symlinked-to - file, for Unix compat. From ian@airs.com (Ian Lance Taylor). - -Mon Apr 6 14:16:06 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * xgetcwd.c: Include stdio.h to get NULL. - -Thu Apr 2 14:41:18 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * df.c: Call sync only once, instead of once per filesystem. - -Wed Apr 1 16:00:08 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * Version 3.2. - -Tue Mar 31 13:39:06 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * df.c (main): stat all arg pathnames before getting - list of mounted filesystems. - (show_entry, show_point): Take a struct stat * as another arg, - to avoid repeatedly statting files. - -Mon Mar 30 12:21:28 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * install.c (main): Allow symbolic modes for -m. - (atoo): Function removed. - - * mkdir.c (main): Include invalid -m arg in error message. - - * fsusage.c (get_fs_usage) [STAT_STATFS4]: Go back to using - 512 instead of f_bsize. Empirically, it gives the right answer. - - * mvdir.c (main): Don't deref NULL pointer on last iteration - of loop. - - * fsusage.c (adjust_blocks): New function. - (get_fs_usage): Call it. - - * mvdir.c (main): Don't possibly try to use ".." entry of new dir - before creating it. - - * fsusage.c (get_fs_usage) [STAT_STATFS4]: Use f_bsize member - of struct statfs. - -Sat Mar 28 00:36:57 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * dd.c (copy_simple, copy_with_block, copy_with_unblock, - translate_buffer, swab_buffer): New functions, mostly made - from code taken from copy. Incorporate some optimizations due - to Stuart Kemp: For each type of conversion, only check - whether to do it once per buffer read, instead of once per character. - (copy): If conv=block and the input didn't end with a newline, - pad the final block with spaces. - -Wed Mar 25 14:35:17 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * system.h: Don't use BSIZE for calculating ST_BLKSIZE if it - isn't defined. - - * mountlist.c [MOUNTED_FREAD], fsusage.c [STAT_READ]: New code - for SVR2, from archive@ideahb.sublink.org (Lele Gaifax). - -Tue Mar 24 14:53:19 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * mvdir.c: Use getcwd, not getwd. - - * system.h, xgetcwd.c: Redo how PATH_MAX is figured out, to - work on SVR3. - - * fsusage.c, mountlist.c: New files split from fsinfo.c. - Revise conditionals to make the two files independent of each other. - * fsusage.h, mountlist.h: New files split from fsinfo.h. - * df.c: Use them. - -Mon Mar 23 13:01:07 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * fsinfo.c (read_filesystem_list): Take another arg, all_fs. - [FS_MNTENT]: Ignore type "auto" (from amd) as well as "ignore" - (from automounter), if not all_fs. - * df.c (main): Pass the new arg. - - * fsinfo.h: Add function decls. - - * chown.c, chgrp.c, chmod.c: Remove -L option. Didn't handle - changing symlinks correctly and wasn't very useful. - -Sat Mar 14 17:38:38 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * dirname.c (dirname): Don't use strdup. - -Fri Mar 13 14:56:15 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * rm.c (remove_file, remove_dir, clear_directory): If -f was - given, don't complain about ENOENT when removing. - -Mon Mar 9 00:09:48 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * install.c (main): Allow making multiple dirs with -d. - (usage): Document it. - * makepath.c (make_path): Clear umask while working and - restore it when done. chmod dirs that should have - set[ug]id or sticky bits set, if we're chowning them. - Make chown failure nonfatal. Do chmod after chown, not before. - - * du.c (count_entry): Set exit_status on nonfatal error. - (main): Use it. - -Sun Mar 8 22:07:50 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * du.c (du_files): New function, from code in main. - Use xgetcwd instead of getcwd or getwd. - * system.h: Don't declare getcwd or getwd. - - * xgetcwd.c: New file. - - * ls.c (main): Exit with `exit_status' instead of 0. - (print_dir, gobble_file, get_link_name): Set exit_status on error. - - * ls.c (print_long_format): Allow a slop factor for deciding - what is in the future. - - * All programs: Change usage messages and documentation for - long options to use -- instead of +. - - * df.c (main, usage): Add -v option for SysV compat. - -Tue Feb 4 12:45:09 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * fileblocks.c [!NINDIR]: Try to fake indirect block info for - systems that don't define it. - -Thu Jan 16 01:04:16 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * df.c (print_header): Capitalize some header words for - POSIX.2a draft 8. - -Sat Jan 4 01:19:25 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * posixtm.y: Capitalize token name. - -Tue Dec 24 01:05:44 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * system.h, makepath.c, idcache.c, eaccess.c, backupfile.c, - install.c, dd.c, chown.c, chgrp.c: Change POSIX ifdefs to - HAVE_UNISTD_H. - -Wed Dec 18 16:42:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * system.h: To get major, minor and makedev, don't check for - _POSIX_SOURCE and USG; use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS. - -Mon Dec 16 18:16:42 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu) - - * dd.c (skip): Fix typos in arg name. - (output_char): Fix off by one error in check. - -Sun Dec 8 19:55:06 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * system.h: Only define major et al. if not already defined. - -Fri Dec 6 18:26:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * dd.c (main) [POSIX]: Use sigaction instead of signal, which - POSIX doesn't have. - - * df.c, du.c, ls.c: POSIX_ME_HARDER -> POSIXLY_CORRECT. - -Wed Dec 4 14:30:16 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * dd.c: Cleanups, mostly from Stuart Kemp: - (output_char): New macro, from code in copy. - (write_output): New function, used by output_char, from code - in copy. - (skip): New function, from code in copy. - (copy): Use output_char and skip. - Simplify test for quitting before main loop. - Zero buffer using bzero for speed. - -Sun Nov 17 19:39:04 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * fsinfo.c (get_fs_usage) [FS_MNTENT]: Take blocksize into account. - (read_filesystem_list) [FS_MNTENT]: Ignore filesystems of type - "ignore" (automounter dummy entries). - - * install.c (change_attributes): Do chmod even if chown fails. - -Thu Oct 24 23:50:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * chown.c (change_file_owner), chgrp.c (change_file_group): - don't skip symlinks, since the chown system call works on them. - -Fri 18 Oct 1991 23:29:24 Jim Meyering (meyering at wombat) - - * configure: fixed test to detect sequent's strange interpretation - of utime(file, NULL). - -Fri Oct 18 00:30:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * eaccess.c: GID_T -> GETGROUPS_T, for clarity. - -Sat Oct 12 12:25:55 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * configure: Define uid_t and gid_t as int if they're not - defined in sys/types.h. That's probably right for old Unixes - and avoids trying to find the C preprocessor. - - * df.c: Don't declare sync, to avoid conflict with Minix (and - maybe others) unistd.h. - (show_point): Cast -1 to dev_t before comparing, in case dev_t - is unsigned. From Rainer Orth. - - * chown.c [!POSIX]: Declare getgrgid. - -Fri Sep 13 14:55:41 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * eaccess.c [POSIX]: Always use sysconf to get NGROUPS_MAX. - -Thu Sep 5 23:40:39 1991 David J. MacKenzie (djm at apple-gunkies) - - * system.h: Instead of defining getwd in terms of getcwd with - PATH_MAX as an arg (which might be -1 on POSIX), define getcwd - in terms of getwd. - * du.c (main): Call getcwd with path_max as an arg. - - * install.c (change_attributes): Do chown before chmod, so - chown doesn't remove set[ug]id bits. - -Wed Aug 28 20:53:50 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 3.1. - -Mon Aug 26 15:44:16 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu) - - * du.c (main): If pathconf fails, use 1024 for PATH_MAX. This - happens if "/" is NFS-mounted. - -Sun Aug 25 00:56:11 1991 David J. MacKenzie (djm at apple-gunkies) - - * df.c, fsinfo.c, fsinfo.h: New program. - * configure: Check for various ways of getting info on mounted - filesystems. - -Thu Aug 22 10:53:23 1991 David J. MacKenzie (djm at apple-gunkies) - - * src/Makefile.in: Workaround #10006 for C compilers that are - too dumb to allow -c and -o together. Copy the source files. - * system.h: Moved from src to lib to avoid having to add yet - more -I options to CFLAGS. - - * du.c, ls.c: If POSIX_ME_HARDER is set in environment, use - 512-byte blocks by default. - -Wed Aug 21 13:03:14 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 3.0. - - * du.c, ls.c: Make 1K blocks the default size, and -k a no-op. - Down with dumb standards! - - * system.h, backupfile.c, savedir.c [VOID_CLOSEDIR]: Fake a - return value for closedir, which returns void on some systems, - like Sequents. - * configure: Check sys/dir.h for 'void closedir'. - -Tue Aug 20 22:22:47 1991 Jim Meyering (meyering at nutrimat) - - * mvdir.c (main): Clean up loop to stat component - directories -- as in makepath and pathchk. - -Tue Aug 20 22:10:47 1991 Jim Meyering (meyering at nutrimat) - - * dirname.c (dirname): Allocate exact amount of space - needed for result. - -Tue Aug 20 02:13:40 1991 David J. MacKenzie (djm at apple-gunkies) - - * savedir.c (savedir): Try to open directory before allocating - buffer. From Jim Meyering. - -Mon Aug 19 01:14:13 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Many files: indent '#pragma alloca' so non-ANSI compilers - don't choke on it. - - * backupfile.c (max_backup_version): Check closedir return - value (though it might not do any good). - -Tue Aug 6 20:50:56 1991 David J. MacKenzie (djm at wheat-chex) - - * configure, Makefile.in's: Support +srcdir option, using VPATH. - Don't check for bison, just try it and if it fails use yacc. - Create config.status. Fix up clean targets. - - * posixtm.y (posixtm): New function. - - Most of the following is from Paul Eggert: - * savedir.c (savedir), ls.c (print_dir), rm.c - (clear_directory): Check closedir return for errors. - * dd.c (main): Check for stdin or stdout being closed. - * dd.c (quit), install.c (copy_file): Check for close errors. - * mv.c (copy): Was missing a close. - -Sat Aug 3 02:05:51 1991 David J. MacKenzie (djm at apple-gunkies) - - * ln.c: Declare link() unconditionally (SCO UNIX needs it). - -Tue Jul 30 00:23:19 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * configure: NEED_TZSET has become FTIME_MISSING. - - * configure: Define uid_t and gid_t if sys/types.h doesn't. - -Sat Jul 27 00:55:16 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * configure: Only compile fileblocks.c if st_blocks is missing. - - * cp.c (copy): Make directories with initial mode of source - permissions minus umask, plus 0700. For POSIX and John Gilmore. - - * system.h: Include errno.h and, if STDC_HEADERS, stdlib.h. - * All programs: Remove includes of those files. - - * ftruncate.c: New file. - * configure: Use it if needed. - -Wed Jul 24 02:09:45 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * ls.c (get_name_link), cp.c (copy) [_AIX]: Allocate extra - space for the buffer, since st_size is wrong. - - * system.h: Don't declare alloca for AIX. - * makepath.c, posixtm.y, cp.c, du.c, ln.c, ls.c, mv.c: - Declare alloca first (AIX needs it). - - * cp.c, dd.c, touch.c: Use SEEK_ instead of L_. - * system.h: Define SEEK_ if not defined. - -Tue Jul 23 15:02:20 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * eaccess.c: GID_T is int if ultrix as well as if sun. - -Mon Jul 22 11:39:31 1991 David J. MacKenzie (djm at bleen) - - * install.c: Use uid_t and gid_t. - - * eaccess.c: Support POSIX method of getting multiple groups. - -Sat Jul 20 14:24:40 1991 David J. MacKenzie (djm at bleen) - - * Move cat cmp cut expand head paste split tac tail unexpand - to textutils. - - * system.h [MKFIFO_MISSING]: Define mkfifo macro. - * cp.c, mkfifo.c: Don't define it. - - * mknod.c, gmknod.1: New files. - -Fri Jul 19 13:43:01 1991 David J. MacKenzie (djm at apple-gunkies) - - * version.c: New file. - * All C programs: Link with it, to get version number in the - binary where at least `strings -' and GNU grep can find it. - -Mon Jul 15 13:46:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * configure: Also look in sys/signal.h for signal decl. - -Sun Jul 14 22:43:57 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Rename touchtm.y back to posixtm.y, as the date command will - use it too. - -Mon Jul 8 22:56:36 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Replace lib/Makefile with lib/Makefile.in. - * configure: For some library functions that might be missing, - conditionally add the .o files to lib/Makefile instead of - defining func_MISSING. - * lib/mkdir.c: Renamed from lib/mkrmdir.c. - -Sat Jul 6 02:19:09 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * xstrdup.c [STDC_HEADERS]: Include string.h. - - * stripslash.h: Include string header file. - - * configure: Add to DEFS if Minix. - - * system.h [_POSIX_SOURCE]: Make ST_BLKSIZE 1024 instead of - 512, for better performance. - - * system.h, configure: If sys/mkdev.h exists, use it instead - of sys/sysmacros.h. - - * configure: echo messages to stdout, not stderr. - Use test programs to see if alloca needs -lPW and if chars are - unsigned. - -Tue Jul 2 03:16:32 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * chown.c, chgrp.c [!POSIX]: Declare pwd.h and grp.h functions. - -Sat Jun 29 16:46:12 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * cp.h: Don't declare `open', to avoid conflict with varargs - prototypes. - - * chown.c, chgrp.c: Include sys/types.h before, not after, - pwd.h and grp.h, to get uid_t and gid_t if necessary. - -Fri Jun 28 01:12:45 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * ls.c: Use time_t instead of long, where appropriate. - -Thu Jun 27 16:31:45 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * touchtm.y: Renamed from posixtime.y for SysV systems with Bison. - - * configure: No longer need to pass bison the -y option. - Now lib/Makefile should allow a parallel make with bison. - - * cp.c (copy_reg), cat.c (main), - touch.c (touch, utime_now), mv.c (copy): Check close return - value for delayed error report due to NFS. - -Thu Jun 20 01:33:06 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * configure: Include $DEFS when compiling test programs. - - * configure: Use test programs instead of grep to check for - USG, POSIX, and ANSI C headers, in case symbols are defined in - header files included by the standard ones. Check for BSD - memory functions (bcopy et al.) as well as string functions. - Add notice to top of generated Makefile saying that it's - automatically generated. - -Thu Jun 13 00:50:18 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * Version 2.1. - - * configure: If rename is missing, define MVDIR. - Use , instead of / as sed substitution separator so variables' - values can contain slashes. - - * du.c (main): Use alloca to allocate `wd' instead of making - it an auto array, since PATH_MAX might be a call to pathconf. - -Wed Jun 12 19:56:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * cp-aux.c (usage), install.c (usage), ln.c (usage), mv.c - (usage): Combine the option lists for the multiple usage forms. - -Tue Jun 11 00:12:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * idcache.c: pwd.h and grp.h might need sys/types.h. - - * configure: Create Makefile from Makefile.in instead of - makefile from makefile.skel, to more closely follow the new - GNU coding standards. - - * ls.c (file_interesting): Use POSIX.2 fnmatch instead of glob_match. - - * configure: If $RANDOM is implemented (ksh, bash or zsh), use - the `type' builtin to determine if gcc, bison, ranlib are - available. ksh writes "fubar: command not found" to stderr, - foiling the test -n "`command 2>&1`" method. - Remove makefile on signal. - - * system.h: Include sys/param.h if not _POSIX_SOURCE instead - of if not POSIX, to get DEV_BSIZE. - - * makepath.c, posixtime.y, system.h: Add _AIX case to alloca decl. - -Sun Jun 9 01:26:27 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * Version 2.0. - - * basename.c, dirname.c: Use str[r]chr and string.h if - STDC_HEADERS as well as if USG. - - * touch.c (utime_now): Created from code in touch (). - -Sat Jun 8 11:02:32 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * backupfile.c: Use POSIX instead of _POSIX_SOURCE to - determine whether to check whether readdir returned a valid - entry. - -Fri Jun 7 21:44:51 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * fileblocks.c (st_blocks), system.h (ST_NBLOCKS): Always - return number of 512 byte blocks, not DEV_BSIZE blocks. - (convert_blocks): Always expect 512-byte blocks. - -Thu Jun 6 12:54:26 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * system.h [POSIX]: If PATH_MAX not defined, use pathconf. - Remove NAME_MAX stuff; not used. - - * system.h: Make #include depend on not (USG or - STDC_HEADERS) instead of not (USG or POSIX). - - * configure: New shell script to aid compilation. - -Mon Jun 3 16:42:41 1991 David J. MacKenzie (djm at wheat-chex) - - * cp.h: Remove some decls of functions returning int that - conflict with prototypes on HPUX. - - * cp.c (make_path, re_protect): New functions from Jim - Meyering. Changes to other functions as well, to add +path, - +link, +symbolic-link options. - -Sun Jun 2 15:45:24 1991 David J. MacKenzie (djm at wheat-chex) - - * most files: use GPL version 2. - -Sat Jun 1 20:17:35 1991 David J. MacKenzie (djm at wheat-chex) - - * rm.c, backupfile.c: If _POSIX_SOURCE, don't refer to d_ino. - -Sun May 19 18:42:09 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * touch.c: Renamed getdate to get_date to avoid SVR4 conflict. - -Thu May 16 23:12:01 1991 David J. MacKenzie (djm at albert.gnu.ai.mit.edu) - - * cp.c, mv.c, ln.c: Use alloca and strcpy directly instead of - in a macro for generating backup filename. The latter - sometimes coredumps for some reason. - -Sat Apr 20 00:03:09 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * dd.c: Add conv=notrunc and truncate output file by default, - for POSIX. - - * rm.c (rm): Refuse to remove path/. and path/.., as well as `.' - and `..', for POSIX. - - * chown.c: Allow `:' as well as `.' to separate group from - user, for POSIX.2 draft 11. - - * Many programs: Don't bother to get the long-option index - value from getopt_long, since we ignore it. - - * Many programs: Separate long-option option names from their - args with `=' instead of ` ' in usage messages. - - * touch.c (touch): Don't refuse to touch non-regular files. - -Wed Apr 10 12:19:30 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * cp.c, cp-aux.c: Add -a +archive option, an easier to - remember synonym for -dpR. - -Fri Mar 15 16:16:54 1991 David J. MacKenzie (djm at geech.ai.mit.edu) - - * mv.c (copy): Try to preserve file ownership in - cross-filesystem copies. - - * backupfile.c, rm.c: Go back to using d_ino instead of - d_fileno. POSIX.1 specifies neither, and d_ino is more - common, perhaps ubiquitous. - - * chown.c (describe_change): Don't print the group name if it - didn't change (thus is a null pointer). - (main): Initialize group name to null. - -Mon Feb 25 11:44:14 1991 David J. MacKenzie (djm at geech.ai.mit.edu) - - * dd.c (copy): Only seek if not seeking to start of file, so - "dd >> foo" works with Minix shell that doesn't open foo in - append mode. - -Thu Feb 21 11:59:39 1991 David J. MacKenzie (djm at geech.ai.mit.edu) - - * ln.c (do_link), mv.c (do_move), cp.c (copy): Store backup - filename using alloca so we don't have to free it every place - we return. From Jim Meyering. - -Thu Feb 14 00:41:43 1991 David J. MacKenzie (djm at geech.ai.mit.edu) - - * cp.c (copy_reg): Only make holes when copying a regular file - onto a regular file. - -Fri Jan 18 06:31:59 1991 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ls.c: Move defn. of S_IEXEC to after header files are included. - * cp.h: Always declare stat and lstat. - -Thu Jan 10 02:16:55 1991 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.h: Only declare some system calls if not POSIX. - - * eaccess.c, idcache.c, dd.c, install.c, ln.c, system.h: - Change _POSIX_SOURCE to POSIX. - - * fileblocks.c, system.h: Change STBLOCKS_MISSING to - ST_BLOCKS_MISSING (was already that way in cp.c). - -Fri Dec 28 18:40:34 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * chmod.c, chown.c, chgrp.c, du.c: Rename -d option to -L for - similarity to ls and cpio. - -Thu Dec 27 00:06:45 1990 David J. MacKenzie (djm at egypt) - - * rm.c (clear_directory): Keep looking for files to remove - until we don't find any, so that any .nfs* files created by - removing other files are also removed, eventually. - - * install.c (main): Strip trailing slashes on all args. - - * mv.c (copy): Open target file with mode 0600, not 0777. - [FCHMOD_MISSING]: Perform chmod after closing files, not - before, for MS-DOS. - - * cp.c (do_copy): Don't append `..' to target dir name. - - * du.c (main, count_entry, usage): Add -D +dereference-args - and -d +dereference options. - -Wed Dec 26 03:39:18 1990 David J. MacKenzie (djm at egypt) - - * dirname.c, xstrdup.c: Get decls from standard files, if available. - -Thu Dec 20 23:10:22 1990 David J. MacKenzie (djm at egypt) - - * makepath.c: New file, adapted from code in mkdir.c, - install.c, and cpio util.c by Jim Meyering. - * mkdir.c, install.c: Use make_path. - -Sun Dec 16 00:56:54 1990 David J. MacKenzie (djm at egypt) - - * chown.c, chgrp.c: New files. - -Sat Dec 15 20:42:32 1990 David J. MacKenzie (djm at egypt) - - * cp.h: Declare POSIX functions always -- _POSIX_SOURCE - doesn't imply STDC declarations. - - * system.h: Define S_ISTYPE macros not defined by sys/stat.h. - - * Many files: Use S_ISTYPE macros. - - * backupfile.c, rm.c: Use name d_fileno for member of struct - dirent instead of d_ino, for POSIX. - -Wed Dec 12 23:38:22 1990 David J. MacKenzie (djm at egypt) - - * ls.c: Declare time() as time_t instead of long, to prevent - conflict with standard header files. - - * cp.c (copy_reg): Instead of using NO_SPARSE_FILES, use - st_blocks to determine whether the original file contains any - sparse blocks, and only create them if so. On systems without - st_blocks, to be safe, never create sparse blocks. - -Thu Nov 8 12:16:27 1990 David J. MacKenzie (djm at apple-gunkies) - - * idcache.c: If _POSIX_SOURCE not defined, declare getpw and - getgr functions (not an optimal solution, but I hate to add - yet another configuration macro). - - * Makefile: Define AR and RANLIB and pass to child makes. - lib/Makefile: Use them. - -Tue Nov 6 23:18:06 1990 David J. MacKenzie (djm at mole.ai.mit.edu) - - * idcache.c: New file from code in ls.c. - -Fri Nov 2 14:34:40 1990 David J. MacKenzie (djm at apple-gunkies) - - * Move files into src and lib directories, split out library - functions into separate files in lib, and rewrite Makefiles. - -Mon Oct 29 01:20:46 1990 David J. MacKenzie (djm at apple-gunkies) - - * mv.c (do_move), rm.c (remove_file, remove_dir): If stdin is - a tty and file is unwritable, prompt before overwriting. - - * cp.c (copy_reg): Only make sparse files if - NO_SPARSE_FILES is undefined, to accommodate dumb kernels. - - * du.c (count_entry): Remove misinformed HPUX kludge that - doesn't really fix the problem. - - * rm.c (rm): Check for textual equality with '.' and '..', not - dev/inode equality. - -Sat Oct 27 23:38:55 1990 David J. MacKenzie (djm at apple-gunkies) - - * rm.c (check_stack): If not interactive, don't prompt when - corruption is found, just quit. - (remove_file, remove_dir): Delete leading spaces in verbose - output. - - * cp.c (copy), rm.c (remove_dir): If we think the dest. file - is unwritable, warn the user in the interactive prompt instead - of automatically skipping the file. Because of race - conditions and other protection mechanisms we might not know - about, and POSIX. - -Mon Oct 8 18:51:25 1990 David J. MacKenzie (djm at apple-gunkies) - - * du.c (main, usage, count_entry): Add +separate-dirs -S option. - - * dd.c (main): Don't trap SIGINT if it was being ignored. - -Tue Sep 25 16:40:43 1990 David J. MacKenzie (djm at apple-gunkies) - - * install.c (copy_file, install_file_in_file): Change - attributes after stripping, to guard against strip programs - that clear setuid bits, etc. - -Fri Sep 21 22:31:43 1990 David J. MacKenzie (djm at apple-gunkies) - - * cp.c (copy_reg): Put back ftruncate way of making holes - because the other way can't make a hole at the end of a file. - -Tue Sep 18 03:47:45 1990 David J. MacKenzie (djm at apple-gunkies) - - * install.c (change_attributes): Don't ignore EPERM for chown, - since the default uid is now the current uid. - -Sun Sep 9 16:54:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Version 1.4. - - * cp.h: Declare free returning void, not int, so it - doesn't bomb on Xenix. - -Fri Sep 7 04:35:35 1990 David J. MacKenzie (djm at apple-gunkies) - - * system.h, backupfile.c, savedir.c [DIRENT]: if direct is - defined (as on Ultrix 4.0), undefine it before redefining it. - -Tue Sep 4 03:10:24 1990 David J. MacKenzie (djm at apple-gunkies) - - * dd.c (apply_translations, translate_charset): Code moved - from parse_conversion. - (apply_translations): Convert from EBCDIC to ASCII before - converting case. - - * mvdir.c (fullpath): Return a value. - - * dd.c (copy): Increment count of truncated records once - per record, not once per character that overflows. - -Mon Sep 3 22:23:57 1990 David J. MacKenzie (djm at coke) - - * dd.c (swab_array): Function removed. - (copy): Rewrite conv=swab to work when odd number of bytes - are read. - (scanargs): Die if invalid numeric value is given. - (parse_integer): Return -1 if invalid arg. - (bit_count): Faster version from Jim Meyering. - - * cp.c, mkfifo.c [MKFIFO_MISSING]: Define mkfifo. - -Thu Aug 30 00:17:02 1990 David J. MacKenzie (djm at apple-gunkies) - - * mvdir.c (main): Make sure `from' is not a parent of any part - of `to', not just the explicitly given part. - (fullpath): New function. - -Wed Aug 29 19:50:05 1990 David J. MacKenzie (djm at apple-gunkies) - - * mvdir.c: Renamed from mv_dir.c, for consistency with mkdir and rmdir. - * dirlib.c: Caller changed. - -Tue Aug 28 18:05:24 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * touch.c (main): Don't interpret first non-option arg as a - time if `--' is given (POSIX-required kludge). - - * touch.c: Add long-named options. - - * Many files: Include instead of "getopt.h" since - getopt.h will be in the GNU /usr/include. - - * install.c: Declare some functions. - - * touch.c, getdate.y, posixtime.y, mktime.c: New files, from bin-src. - - * posixtime.y: Move year from before time to after it (but - before the seconds), for 1003.2 draft 10. - -Mon Aug 27 03:25:36 1990 David J. MacKenzie (djm at apple-gunkies) - - * touch.c (main): If no time is given and first arg is a valid - timespec, use it as one. - -Sat Aug 25 01:36:16 1990 David J. MacKenzie (djm at apple-gunkies) - - * posixtime.y: Enclose YYABORT in braces in case some yacc's - need it. - - * touch.c: Remove -i option. Change some error messages. - (readname): Function removed. - -Thu Aug 23 12:56:33 1990 David J. MacKenzie (djm at apple-gunkies) - - * cp.c (copy): Only restore dir mode if it was changed. - -Wed Aug 22 01:45:54 1990 David J. MacKenzie (djm at apple-gunkies) - - * cp.c (copy): Don't only backup files when -f is given. - - * ls.c: Add -X +sort=extension option. Rename - +kilobyte-file-size to +kilobytes. - - * du.c: Rename -f option to -x, for POSIX. Rename - +kilobyte-file-size to +kilobytes. Add -b, +bytes option for - POSIX. - - * cp-aux.c (usage): Change -o to -x. - (stpcpy): Renamed from str_cpy. Change callers in cp.c. - - * cp.c: New variable, `flag_copy_as_regular'. - (main): For -R, unset `flag_copy_as_regular'. - Rename -o to -x for consistency with du. - (copy): Only unlink destination files when -f is given. - Only prompt when -i given and copying as a regular file. - Move check for previous link after other checks, reducing - duplicate code. - Create directories with mode 0700 initially, for POSIX. - -Mon Aug 20 03:29:08 1990 David J. MacKenzie (djm at apple-gunkies) - - * dd.c (copy): Swap input bytes instead of output bytes. - (swab_array): New function. - - * dd.c (copy): If sync and noerror, zero the buffer before the - read instead of after so that any data read before an error - occurred are preserved. - On read error, print stats and seek past the bad block if noerror. - noerror doesn't affect write errors, for POSIX. - (scanargs): Use two buffers if no buffer sizes given. - Do not block or unblock if cbs not given. - (print_stats): New function. - (quit): Call it. - -Mon Aug 13 23:30:03 1990 David J. MacKenzie (djm at apple-gunkies) - - * cp.c (copy): If dest. exists and is unwritable, skip the file. - - * rm.c, mv.c, cp.c, ln.c (main): Respect the last -f or -i given, - for POSIX. - - * rm.c (remove_file): Only prompt if -i is given. - (main, usage): Remove -o +override-mode option, obsolete if - POSIX accepts our objection about prompting. - - * mv.c (do_move): Only prompt if -i is given. - - * ln.c (do_link): If dest. file exists and -i and -f not - given, skip the file. - -Tue Aug 7 12:51:18 1990 David J. MacKenzie (djm at apple-gunkies) - - * dd.c (main): If seek= given, don't truncate output file. - (copy): Use `read' to skip output blocks if not regular file. - Sync with NUL instead of SPC. - -Mon Aug 6 14:43:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * rm.c: Rename `ignore_errors' to `ignore_missing_files', and - have it only suppress messages about nonexisting files. - (main): Get dev and ino of `.' and `..'. - (rm): If file is the same as `.' or `..', return with error. - (remove_file): Remove the file rather than skipping it if - unwritable, no -i, and stdin not tty. - (remove_dir): Return an error if directory is nonwritable, - rather than nonreadable or nonsearchable, for POSIX.2 draft 10. - - * chmod.c (main): Use fixed error checking to make sure that - options aren't mixed together in the same args as mode specifiers. - -Sun Aug 5 11:51:12 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * chmod.c (main): Use umask for '-' op. - -Sat Aug 4 10:11:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * mkfifo.c: Remove -p +path option, no longer specified by POSIX. - -Fri Aug 3 13:38:28 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * mkdir.c, mkfifo.c, create.c (main): Don't tell mode_compile to - respect the umask for certain operations, since the umask is 0 anyway. - - * install.c (get_ids): Use getuid and getgid to get defaults, - instead of -1. - -Fri Jul 27 14:32:40 1990 David J. MacKenzie (djm at apple-gunkies) - - * backupfile.c (dirname): Always replace frontmost slash with a null. - -Thu Jul 26 00:20:35 1990 David J. MacKenzie (djm at apple-gunkies) - - * cp.h: Declare umask as unsigned short. - - * eaccess.c: Make uid and gid unsigned short, and group array unsigned. - -Wed Jul 25 18:38:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * rm.c (remove_file, remove_dir): Print verbose message right - before actually trying to remove the file, after the prompting. - - * ls.c (getuser, getgroup): Make uid and gid unsigned short, not int. - -Tue Jul 24 03:39:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy), ln.c (do_link), mv.c (do_move): For +verbose, - print the file names just before actually attempting the - copy/link/move, to produce a list of the files that they - actually try to copy/link/move, omitting skipped files. - Remove leading spaces from +verbose output. - -Mon Jul 23 16:57:44 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy): Make +update operate silently, like +one-file-system. - - * ln.c: Add -F as synonym for -d, for SunOS compatibility. - -Sun Jul 15 23:23:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy): Go back to using xstat on dest. - -Wed Jul 11 12:10:33 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy): Make directories with desired mode plus u+wx so - if the copy is interrupted, the dir is closer to the desired mode. - Don't backup directories. - -Sun Jul 8 00:39:31 1990 David J. MacKenzie (djm at apple-gunkies) - - * rm.c (main, usage): Add new option -d, +directory. - (rm): If -d given, use remove_file instead of remove_dir for - directories. - (remove_file): If directory, print "remove directory `foo'?" - for interactive instead of "remove `foo'?". - - * ln.c (main): If -s given, print warning message if symlinks - are not available. - * mkfifo.c (main): If fifo's are not available, print message - and exit. - -Fri Jul 6 02:02:49 1990 David J. MacKenzie (djm at apple-gunkies) - - * install.c (main): Use the current user and group ID for the - default owner and group. - - * mv.c (main): New option -u, +update. - (do_move): Don't move nondirectories if -u and there is an existing - destination that has the same or newer mtime. - (usage): Document -u, +update. - - * cp.c (main): New option -u, +update. - (copy): Don't copy nondirectories if -u and there is an existing - destination that has the same or newer mtime. - * cp-aux.c (usage): Document -u ,+update. - -Thu Jul 5 10:04:12 1990 David J. MacKenzie (djm at apple-gunkies) - - * ln.c (do_link): Don't check whether OLD exists before trying - to make link. - -Tue Jul 3 01:51:55 1990 David J. MacKenzie (djm at apple-gunkies) - - * ls.c: Allow "+time=atime" and "+time=ctime" for C hackers. - - * chmod.c (main): Don't check whether multiple mode arguments - are given, because optind has a different value depending on - whether or not the option is the last character in the - ARGV-element. - -Sat Jun 30 12:32:51 1990 David J. MacKenzie (djm at apple-gunkies) - - * cp.c (copy): Use lstat on dest. file, not *xstat. - -Mon Jun 25 18:07:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ls.c (print_long_format): Truncate user and group names to 8 - chars to preserve column alignment. - (length_of_file_name_and_frills): Don't assume type indicator - will be printed for unknown file types that some os's have. - - * install.c: Declare getgrnam for systems where grp.h doesn't. - -Sat Jun 23 00:06:35 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Version 1.3. - - * du.c (count_entry) [HPUX_NFS_BUG]: If the size of the file - according to the number of blocks reported is twice or more than - the size of the file according to the number of bytes - reported, halve the number of blocks. - -Fri Jun 22 00:38:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy_dir): Initialize 'ret' to 0. - - * cp.c (main), ln.c (main), mv.c (main), rm.c (main): - Make -i override -f and -o, to be conservative about - removing peoples' files. - - * mkdir.c (make_path), mkfifo.c (make_path): Don't try to stat - "" or "/". - - * rm.c, rmdir.c, mkdir.c, mkfifo.c: Move code to remove - slashes at the end of an arg from main to - strip_trailing_slashes. - - * install.c (strip): Print error message if the `strip' - program can't be run. - - * system.h (convert_blocks): Macro moved from du.c and ls.c. - Take a second parameter indicating whether to convert to - kilobytes or 512 byte blocks. - * ls.c, du.c: Pass second parameter to convert_blocks. - -Thu Jun 21 01:19:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ls.c (print_long_format): Use mode_string instead of filemodestring. - - * ls.c (print_long_format): Compare times as longs, not ints. - (longdiff): Macro to compare two longs efficiently if sizeof - int == sizeof long and less efficiently but correctly if they - are different sizes. - (compare_ctime, etc.): Use longdiff. - - * ls.c (decode_switches): Make -k not imply -s, to allow the - summary directory size printed by -l to be in 1k blocks - without having the size of each file printed as well. - (convert_blocks): Provide for systems with a blocksize that is - other than 512 or 1024 bytes. - - * du.c (main): Exit with status 0 normally. - (convert_blocks): Provide for systems with a blocksize that is - other than 512 or 1024 bytes. - -Wed Jun 20 01:46:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c (do_link): Take out code to give an error if source and - dest are the same file. The dubious usefulness of the special - case to prevent 'ln x x' from removing 'x' (ln -i can be used - instead) is not worth preventing 'ln x y' from failing the - second time in a row, and appears to contradict POSIX anyway. - -Mon Jun 18 02:48:17 1990 David J. MacKenzie (djm at apple-gunkies) - - * ls.c (print_file_name_and_frills): - (length_of_file_name_and_frills, print_long_format): - Allow 6 digits for i-number, not 5. - -Sun Jun 17 00:09:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * install.c (install_dir): Don't check whether "" or the root - directory exists (the former fails on some systems). - - * system.h: Make inclusion of sys/file.h conditional on USG - and _POSIX_SOURCE, not DIRENT. - - * chmod.c (change_dir_mode): Use xrealloc instead of free and - xmalloc in case malloc already left extra room. - (xrealloc): New function. - - * rm.c (clear_directory): Prevent buffer overruns. - More efficient string handling. Don't skip rest of directory - if continuing after finding circular inode. - (xrealloc): New function. - -Sat Jun 16 01:45:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * argmatch.c (invalid_arg): Change order in which the items - are printed. - - * ls.c: Add +tabsize (-T) option. - -Fri Jun 15 23:40:55 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * dd.c (scanargs): For ibs and obs, set C_HARDWAY. - (copy): Use different buffers only if C_HARDWAY, not if - blocksizes are the same, to ensure constant output block sizes. - -Wed Jun 13 23:56:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * savedir.c: New file from code in chmod.c, modified to - prevent buffer overruns. - * chmod.c (change_dir_mode), cp.c (copy_dir), du.c - (count_entry): Use savedir. - -Thu Jun 7 03:52:02 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * system.h (ST_BLKSIZE) [!STBLOCKS_MISSING]: If st_blksize is - 0 (as on pipe reads on some systems), use BSIZE instead. - Define BSIZE as DEV_BSIZE if necessary. - - * Makefile, system.h, fileblocks.c: Use STBLOCKS_MISSING to - control whether st_blksize and st_blocks are used. - * Makefile, system.h, backupfile.c: Use DIRENT to control - whether is used. - -Thu May 31 00:55:36 1990 David J. MacKenzie (djm at apple-gunkies) - - * fileblocks.c: New file. - * du.c (blocks_to_kb): Replace with convert_blocks macro. - (main): Recognize new -k option. - (usage): Document it. - * ls.c (nblocks): Replace with convert_blocks macro. - * system.h (ST_BLKSIZE) [USG]: Use BSIZE from sys/param.h instead of - having the user define BLKSIZE. - (ST_NBLOCKS) [USG]: Use st_blocks from fileblocks.c. - -Wed May 23 00:40:39 1990 David J. MacKenzie (djm at apple-gunkies) - - * argmatch.c: New file, taken from ls.c. - * getversion.c (get_version): Use argmatch, to allow - abbreviations. Default backup type is existing_numbered. - * mv.c (main), ln.c (main), cp.c (main): Only make backups if - -b (+backup) is given. If envar SIMPLE_BACKUP_SUFFIX is set, - use it as a default instead of `~'. - * mv.c (usage), ln.c (usage), cp-aux.c (usage): Update messages. - -Tue May 22 00:56:51 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * install.c: New file (from ../bin-src). - - * dd.c (copy): Don't count completely failed writes as partial - writes. Make buffers unsigned. If blocking or unblocking, - pad final partial buffer if necessary. - - * getversion.c: New file. - * mv.c (main), cp.c (main), ln.c (main): Control backup types - with getenv ("VERSION_CONTROL") and +version-control or -V. - - * cp.c (yesno), mv.c (yesno), ln.c (yesno): Stop reading if - EOF reached as well as at newline. - - * backupfile.[ch]: Rename var `version_control' to `backup_type'. - -Sat May 19 23:38:46 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * touch.c: Change some error messages. Include "getopt.h". - -Sat May 19 00:16:50 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * mv.c (main), ln.c (main), cp.c (main): Revise - backup-creation options. - * mv.c (usage), ln.c (usage), cp-aux.c (usage): Revise messages. - - * chmod.c (describe_change): Use mode_string instead of - filemodestring. - - * cp.c (main): Recognize new options for making backups. - * cp.c (copy): Make backups if requested. Fix typo. - * cp-aux.c (usage): Update message. - - * mv.c, cp.c: Remove code to conditionally use utimes instead - of utime, since the extra resolution of utimes was not being - used, the emulation overhead is probably insignificant, - and utime is a standard function. - - * cp-hash.c: Fix up comments. - -Fri May 18 23:06:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * mv.c (do_move): Only make backup if dest file exists. - Don't continue moving file if dest can't be backed up. - * ln.c (do_link): Don't try to unlink dest if it was backed up. - Don't continue moving file if dest can't be backed up. - - * system.h: Make SIGTYPE default to void if not defined. - - * modechange.[ch]: Rename struct and external functions to start - with 'mode_'. - * modechange.c (oatoi): Make static. - (mode_compile): Take an additional arg indicating which - symbolic operators should be affected by the umask. - * modechange.h: Add defines for mode_compile arg mask. - If __STDC__, use prototypes. - * chmod.c, mkdir.c, mkfifo.c, create.c: Account for above changes. - -Tue May 15 16:17:34 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * dd.c (copy): Quit with nonzero status if final write fails. - -Mon May 14 14:34:10 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * dd.c: Make translation tables unsigned. - (main): Give `input_file' and `output_file' nonzero values for - stdin and stdout. - (parse_conversion): Set new global vars 'space_character' and - 'newline_character' to correct values when translating to EBCDIC - (either flavor). - (copy): Use 'space_character' and 'newline_character' instead - of hardcoded ASCII values. Ignore attempts to seek on output pipe, - socket, or fifo. If possible, seek instead of reading to skip - initial input records. Sync with `space_character' instead of - nulls, for POSIX. - - * cp.c (copy_reg): Compare lseek values as longs, not ints. - -Sat May 12 01:16:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp-hash (remember_created): Return error status instead of - fatal error. - * cp.c (copy): Change caller. - (do_copy, copy_reg): Return error status instead of fatal error. - - * Move rename emulation from mv.c to dirlib.c so other - programs can use it. - * mv.c, ln.c (main): Recognize new options for making backups. - * mv.c (do_move), ln.c (do_link): Make backups if requested. - * mv.c, ln.c (usage): Update message. - * backupfile.c, backupfile.h: New files. - - * cp.h: Ifdef out decl of umask because of SunOS 4.1 (POSIX) conflict. - - * Define all `main' functions as returning void. - -Fri May 11 02:11:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c, mv.c, rm.c, rmdir.c, create.c, chmod.c: Change some - error messages. - - * du.c, cp-aux.c (error): Function removed. - Change callers to use error.c version. - * cp.c (copy, do_copy, copy_dir): Return an error status. - * ls.c (error, fatal, perror_with_name): Functions removed. - Change callers to use error.c. - -Sat May 5 23:46:48 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c (do_link): Don't allow trying to link a file to itself, - because the source file would be removed if they are the same - directory entry, and also for consistency with mv and cp. - -Fri May 4 13:42:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy_reg): Only write a null to the end of the file if - the end of the file was sparse. - - * ls.c (print_name_with_quoting): Make the char to print - unsigned to prevent sign extension problems with -b. - -Fri Apr 20 13:52:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Version 1.2 released. - -Wed Apr 18 14:36:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Makefile: Use chsize for ftruncate on Xenix. - - * cp.c (copy): Remove broken code that attempted to - substitute for ftruncate on systems missing it. - -Mon Apr 16 13:58:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp-aux.c (usage): Fix mistake in message. - - * Version 1.1 released. - -Sat Apr 14 17:23:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ls.c (main): Don't remove leading path from program_name. - (basename): Function removed. - (length_of_file_name_and_frills): Don't add 1 for type indicator - for block and character special files. - -Thu Apr 12 19:50:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Makefile: Suggest using -DBLKSIZE=512 instead of 1024 for USG. - - * dd.c (copy): Print copying statistics when exiting because - of a read or seek error. - (interrupt_handler): New function. - (main): Trap SIGINT to run interrupt_handler, for POSIX. - -Tue Apr 10 01:09:38 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * chmod.c (change_file_mode): Don't change the mode of - symbolic links. - -Mon Apr 9 13:30:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * modechange.c (compile_mode): Return an error if an octal - number argument is too large. - -Sun Apr 8 20:33:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * dd.c: Use `error' instead of `fatal' and `pfatal_with_name', - for greater control of the message format. - * head.c, tail.c: Use `error' instead of `fatal_perror' and - `nonfatal_perror'. Remove some unnecessary info from messages. - * chmod.c, create.c, ln.c, mkdir.c, mkfifo.c, mv.c, mv_dir.c, - rm.c, rmdir.c: Remove definition of `error'. - * error.c: New file created from code in mv.c. - * Makefile: Link the above programs with error.o. - - * ln.c (do_link): Use eaccess_stat to determine writability. - * mv.c (do_move): Ditto. - * rm.c (remove_file): Ditto. - (remove_dir): Use eaccess_stat to determine readability and - searchability. Move initial interactive query here from - clear_directory. - * Makefile: Link ln, mv, and rm with eaccess.o. - -Sat Apr 7 11:47:52 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Makefile: Link cp with eaccess.o. - * eaccess.c: New file adapted from code in cp.c and cp-aux.c. - * cp.c (copy): Use eaccess_stat to determine writability. - Consider a file unwritable by root if it has no permissions. - (main): Remove groups initialization code. - * cp-aux.c (member): Function deleted. - - * cp.c (copy): Temporarily change the mode of directories if - necessary to overwrite them when running recursively. - Consider a directory to be non-overwritable if it lacks write - permission as well as if it lacks execute permission. - - * rm.c, mv.c, mv_dir.c, chmod.c, create.c, ln.c: Remove some - irrelevant or redundant information from error messages. - -Fri Apr 6 15:20:45 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy): Only change mode of regular files and directories; - others are already correct. - -Thu Apr 5 04:31:56 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * dd.c: Remove the vars that are set by command line options - from a useless struct and give them more meaningful names. - -Mon Apr 2 02:58:34 1990 David J. MacKenzie (djm at spike.ai.mit.edu) - - * cp.c (main): Use NGROUPS from sys/param.h to determine - whether BSD multiple groups are supported and how large to - make the array. - * Makefile: Remove references to GETGROUPS_MISSING. - -Sun Apr 1 18:53:57 1990 David J. MacKenzie (djm at spike.ai.mit.edu) - - * cp.c (main): Always initialize group info. - -Sat Mar 31 22:29:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * mv.c [RENAME_MISSING] (rename): To rename directories, run - setuid root mv_dir program. - -Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * touch.c: Remove POSIX_COMPAT ifdef since there is no reason - to disable the GNU extensions. - (main): Set new global var `program_name'. - (error): Replace with more versatile version. - Global: Change calls to fprintf and error to use the new error. - (main): Initialize global variables. Don't bother making - temporary copy of arg to -d. Don't ignore any files named on - the command line if -i is given. - (usage): Don't take an arg. Use `program_name' instead of - hardcoded name. - (touch): In utime emulation for BSD, ftruncate the file to its - original size so empty files stay empty after being touched. - -Sun Mar 18 01:02:39 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c (strip_trailing_slashes): New function. - (main, do_link): Call it. - - * cp-aux.c (strip_trailing_slashes): New function. - * cp.c (do_copy): Call it. - * cp.h: Declare it. - - * mv.c (strip_trailing_slashes): New function. - (main, movefile): Call it. - -Sat Mar 17 21:45:35 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp-aux.c, cp.h: Rename user_confirm_overwriting to yesno and - don't have it print a prompt, so it can be used in several - places. - - * cp.c (do_copy): Change an error message to resemble mv's. - Remove all trailing slashes from all non-option args. - (main): Set new global var `stdin_not_tty'. - (copy): Use POSIX method of handling file overwriting and - prompting. - - * dirlib.c (mkdir): Use chmod to set the directory mode after - successful creation, so set[ug]id and sticky bits are set - correctly. - -Thu Mar 15 12:33:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Makefile: Add commented out definitions for SCO Xenix. - - * ls.c (print_type_indicator): Don't print a '*' next to - executable block or character special files. - - * chmod.c (error): New function, replacing nonfatal_perror, - memory_out, and invalid_mode. - Global: Call error instead of the above functions. - (change_dir_mode): Make the new size of the path twice the - size of the name that was too long, rather than twice its old - size. - - * rm.c: Move interactive query about whether to remove a - directory from remove_dir to clear_directory; only query for - directories that are not empty. - -Wed Mar 14 10:48:40 1990 David J. MacKenzie (djm at rice-chex) - - * system.h [USG]: Define X_OK. - - * rm.c (main): Set new global var `stdin_not_tty'. - (rm): Most of code moved to two new functions, remove_file and - remove_dir. - (remove_file): Use POSIX method of determining whether to remove - non-directories. - (remove_dir): Use POSIX method of determining whether to - remove directories, almost. - (perror_with_name): Function removed. - (error): Simple version replaced with more powerful version. - Global: Change calls to fprintf, perror_with_name, and old - error to calls to new error. - - * ln.c (main): Set new global var `stdin_not_tty'. - If force, turn off interactive. - (do_link): By default, don't allow hard links to symbolic links to - directories. Use POSIX method of determining whether to - overwrite destination. - (yesno): Function renamed from confirm, and arg removed. - (lisdir): Function removed. - - * mv.c (main): Set new global var `stdin_not_tty'. - (yesno): Function renamed from yes. - (do_move): Use POSIX method of determining whether to - overwrite destination. - - * Makefile: Make executables depend on .o files, not .c files, - to allow for parallel compilation. - -Tue Mar 13 00:50:14 1990 David J. MacKenzie (djm at rice-chex) - - * rm.c (main): Disallow removal of paths that have '..' as the - final element. - (basename): New function. - - * ls.c (print_type_indicator): Mark FIFOs with '|' and sockets - with '='. - (print_long_format): Print numbers as unsigned and add extra - space for POSIX flag. - - * dd.c: Make the record counts unsigned. - (quit): Print them as unsigned. - - * modechange.c (compile_mode): Only get umask value when needed. - If users are not given or are `a', affect set?id and sticky bits. - If memory is exhausted while allocating a new list element, - free the old elements before returning. - - * Makefile (CC): Add comment noting that either fixincludes or - -traditional needs to be used for gcc to compile ioctl calls - correctly. - -Mon Mar 12 16:25:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) - - * touch.c [UTIME_OF_NULL_MISSING]: Call lseek() before write(). - - * posixtime.y [__GNUC__]: Use __builtin_alloca. - -Fri Mar 9 10:25:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * chmod.c (main): Recognize "a,+-=" as valid options. - - * mv.c: Move the code to copy files across filesystems from - do_move to a new function, copy, which will eventually be - replaced with modules from cp and rm (POSIX requires mv to - move directories recursively across filesystems). - (do_move): Don't query about overriding a mode that prohibits - writing if interactive. Remove unneeded variable. - (copy): Unlink target if copy fails partway through. - -Thu Mar 8 10:56:16 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy): Don't remove a destination file of a different - type unless +force is given. - - * ls.c (decode_switches, usage): Add -U (for "unsorted") as an - equivalent to +sort=none. - -Mon Mar 5 16:31:14 1990 Torbj|rn Granlund (tege at echnaton) - - * cp.c (copy): Test for temporarily modified permission mode - after the other test, so that `-p' work for files whose mode - needed a temporary mode change. - * cp.c (copy): Don't waste time calling unlink if we already - know that the destination doesn't exists. - * cp.c (comment before do_copy): Correct. - * cp.c (comment before copy): Describe all params. - * cp.c (copy): Only change permission mode for regular files - and directories. - * cp.c (copy): Unlink the destination file if its type is - different from the source. If the destination is a - directory, error. - -Mon Mar 5 00:34:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * chmod.c (nonfatal_perror): Don't check for force_silent. - (change_file_mode, change_dir_mode): If force_silent, don't - print error messages. - - * mv.c (main): If force, turn off interactive. - (do_move): Simplify check for query. Rename `stb' to - `to_stats' and `stbf' to `from_stats'. - Return error condition if original file could not be renamed or - unlinked. - - * rm.c: Rename global `force_flag' to `ignore_errors' and change its - meaning so that it does not overlap with `override_mode'. - (main): Have -f +force set override_mode. If override_mode is - set, turn off interactive. - (rm): Simplify checks for whether to query the user, based on - the new relationship between override_mode and interactive. - -Sun Mar 4 23:39:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c (main): Reword an error message to be more like mv's. - - * rmdir.c: Move global `errors' into main instead of having - error set it. - - * mkdir.c: Move global `errors' into main and have make_path - return an error status instead of having error set it. - - * chmod.c: Move global `errors' into main and have - change_file_mode and change_dir_mode return an error status - instead of setting it in nonfatal_perror. - -Sat Mar 3 13:59:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c (main): Don't strip leading dirs from argv[0]. - - * ln.c (confirm), mv.c (yes, do_move), - cp-aux.c (user_confirm_overwriting), rm.c (rm, yesno, check_stack): - Print query messages to stderr instead of stdout, for POSIX. - Include program name in messages. - -Sat Mar 3 11:27:27 1990 Torbj|rn Granlund (tege at echnaton) - - * cp.c (copy): Don't unlink directories with flag_force - (`-f'). Also avoid using force when not necessary. - Always copy fifo's and symbolic links as themselves. - - * cp.c (copy_reg): Make int scan first, char scan then, to - find first non-zero byte. This to avoid false hole - creation. - -Sat Mar 3 10:22:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * mv.c: Rename `pgm' to `program_name'. Move global `errors' - into main. Have do_move and movefile return an error status - instead having error set it. Remove global vars `args' - and `args_left'. - (main): Rename `ac' and `av' to `argc' and `argv' and use them - and `optind' instead of `args' and `args_left'. - - * cp.c (copy): Don't ignore errors other than EPERM from chown. - -Fri Mar 2 16:20:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * rm.c (main, usage): Allow -R as a synonym for -r, for POSIX. - - * cp.c (copy): If flag_preserve, preserve the owner and group - if possible, as well as mode. - (main): Allow -R as a synonym for -r option, for POSIX. - * cp-aux.c (usage): Mention -R. - -Tue Feb 27 11:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * cp.c (copy): If not recursive, copy special files and - symlinks like regular files and omit fifos. - -Mon Feb 26 19:55:24 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) - - * ls.c (print_long_format): If time is in the future, print the year. - Make the cutoff for old files 6 months not 300 days. - -Mon Feb 26 13:31:07 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) - - * touch.c, Makefile: Use getdate.y instead of unctime.y. - - * touch.c: Remove posixtime. - (main): Check for error from posixtime. - posixtime.y: New file. - - * touch.c: Change a few cryptic error messages. - Include not . - (just_set_amtime): New variable. - (touch): Add if (just_set_amtime) code. - -Mon Feb 26 15:03:29 1990 Torbj|rn Granlund (tege at echnaton) - - * cp.c (copy): Test for recursive copy in DIR alternative in - the switch statement, so all file types are copied correctly - even in a non-recursive copy. - * cp.c (copy): Return after having created a symlink, since - chmod and utimes dereference, and would affect the symlink - target. Remove test for symlinks after switch. - -Sun Feb 25 18:31:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Makefile: Compile ls after vdir so systems with a cc that - can't do -c -o don't have to compile ls.c twice for ls. - - * dd.c (usage): Add braces around alternatives. - - * ls.c (print_long_format): Always print the group, for POSIX. - (decode_switches): Make -g option a no-op for BSD users. - (usage): Remove +group option. - -Wed Feb 21 11:13:26 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c (error): New function. - (main, do_link): Call error instead of fprintf and exit. - (main): Recognize new -d +directory option to allow superuser to - make hard links to dirs, like the BSD ln -f option. - (do_link): Don't allow hard links to dirs (they are hard to - get rid of -- rmdir and unlink don't do it), unless -d was given. - (usage): Mention -d +directory option. - - * rmdir.c (main): Remove trailing slashes from args (added by - shell file completion but the rmdir syscall can't handle them). - * mkdir.c (main): Remove trailing slashes from args, for - uniformity with rmdir (you can't do file completion on dirs - that haven't been made yet . . .). - - * mv.c: Rename global var `nargs' to `args_left' to avoid - conflict with undocumented BSD libc function (the new name is - clearer, anyway). - -Tue Feb 20 17:09:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * dd.c: Use new global var `program_name' in error messages - instead of hardcoded "dd". - (main): Set program_name from argv[0]. - - * chmod.c, head.c, tail.c (main): Don't strip leading dirs - from argv[0]. - (basename): Function removed. - - * rm.c (main): Don't strip leading dirs from argv[0]. - -Mon Feb 19 14:34:18 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * rm.c (main): Strip trailing slashes from each arg. - -Thu Feb 15 13:23:52 1990 David J. MacKenzie (djm at rice-chex) - - * Makefile [HPUX CFLAGS]: Add -DUTIMES_MISSING. - -Wed Feb 14 15:01:18 1990 David J. MacKenzie (djm at rice-chex) - - * Makefile (dist): Don't make a non-compressed tar file. - - * mv.c (do_move): Refuse to copy non-regular files across filesystems. - -Tue Feb 13 15:06:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) - - * touch.c (getname): New function. - (main): Use it. - -Mon Feb 12 11:30:45 1990 David J. MacKenzie (djm at rice-chex) - - * ln.c (do_link): Check error return from unlink. - Include errno.h. - - * du.c (main): Check error return from stat. - (str_copyc, str_concatc): Don't return a value, since it is - ignored. - - * cp.c (copy): Check error return from unlink and chmod. Fix - typo in call to error. - - * mv.c (do_move): Check error return of fchmod/chmod and utime[s]. - (rename): Check error return of unlink. - - * Makefile Definitions of preprocessor macros moved from - cp.c and mv.c. HAVE_FTRUNCATE changed to FTRUNCATE_MISSING. - * Makefile, dirlib.c: NEED_MKDIR changed to MKDIR_MISSING. - * mv.c, cp.c: Change USG ifdefs to UTIMES_MISSING. - -Sun Feb 11 17:50:29 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * chmod.c (usage): Add yet another ellipsis. - -Sun Feb 11 16:41:30 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) - - * cp.c (copy_reg): Use HAVE_FTRUNCATE to decide whether to - use ftruncate(). - (main): Use GETGROUPS_MISSING to decide whether to use getgroups(). - [hpux || !USG]: Define HAVE_FTRUNCATE. - [USG && !hpux]: Define GETGROUPS_MISSING. - mv.c (rename): Put in #ifdef RENAME_MISSING not #ifdef USG. - (do_move): Use FCHMOD_MISSING to decide whether to use fchmod(). - [USG && !hpux]: Define FCHMOD_MISSING and RENAME_MISSING. - -Fri Feb 9 10:25:03 1990 David J. MacKenzie (djm at rice-chex) - - * mv.c (movefile): Remove trailing slashes from FROM (some - filename completion systems add them for dirs, and they cause - the rename syscall to fail). - -Thu Feb 8 22:50:12 1990 Torbj|rn Granlund (tege at sics.se) - - * cp.c (copy_reg): Change error handling after lseek, since - this is a fatal error. Also change error message to - something more generally understood. - * Handle files that end in a zero block on USG systems. - - * cp-aux.c (error): Use FATAL to recog fatal errs. - -Thu Feb 8 21:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * ln.c: Remove incorrect comment. - - * cp.c, cp-aux.c (usage): Change +dereference option to - +no-dereference, since dereferencing is done by default and - the option turns it off. - -Mon Feb 5 17:29:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * Version 1.0 released. - - - ----- - - Copyright (C) 1990-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/old/fileutils/NEWS b/old/fileutils/NEWS deleted file mode 100644 index bc7a1f3ee..000000000 --- a/old/fileutils/NEWS +++ /dev/null @@ -1,759 +0,0 @@ -[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 through 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 timestamps like - `2001-05-14 23:45:56.477817180 -0700'. - - The 'iso' time style gives ISO-style timestamps like '2001-05-14 ' - and '05-14 23:45'. - - The 'locale' time style gives locale-dependent timestamps like - 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale). - - The 'posix-iso' time style gives traditional POSIX-locale - timestamps 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 timestamp 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 timestamp 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 timestamps with subsecond resolution when - available (e.g., on systems with recent Linux kernels and on Solaris 2.6). -* install once again does the -m-specified chmod *after* running strip - (this fixes another bug introduced in 3.16o) -[3.16s] -* df accept a new option --local (-l) -* touch works around a system-specific bug so it now affects existing, - zero-length files on certain systems -* chown now works even on certain SVR3 systems where it used to fail -[3.16r] -* include gettext's m4 macros -* minor cp bug fixed -* non-portable cp tests removed -* --without-included-regex now means don't compile regex.c -* rx support removed -[3.16q] -* `df', `du', and `ls' now accept a new option --block-size=SIZE, - where SIZE can be a positive integer block size, followed by an - optional SI prefix (e.g. `k' for kilo, `M' for Mega), followed by an - optional `B' (for ``byte'', indicating powers of 1024, which is the - default) or `D' (for ``decimal byte'', indicating powers of 1000). - SIZE can also be `human-readable' (for -h or --human-readable - behavior) or `si' (for -H or --si behavior). -* These suffixes can also be used by `dd'; e.g. `dd bs=1MB' is equivalent - to `dd bs=1048576'. -* The default block size for the `df' command is now obtained from the - DF_BLOCK_SIZE environment variable or, if that is not set, from BLOCK_SIZE. - Similarly for `du' and `ls'. -* The output columns of `df' have been adjusted slightly to accommodate - larger filesystems. -* fix gettext-related link failures seen when configuring certain ways -[3.16p] -* fix install bug introduced in 3.16o -* build/test changes only -[3.16o] -* chown accepts new option, --dereference. --no-dereference is now the default. -* install now shares core copying code with mv and cp -* mv (between distinct filesystems) now uses more of the core copying code -* fixed a bug or two in mv -* df once again displays negative numbers when that's what's returned - by get_fs_usage -[3.16n] -* `mv dir dir' once again does *not* remove dir/ -* ls accepts new options: - --indicator-style=none (no indicators, the default) - --indicator-style=classify (all indicators) - (equivalent to -F or --classify) - --indicator-style=file-type (file type indicators) - (equivalent to -p or --file-type) - - --quoting-style=literal (do not quote output) - --quoting-style=shell (minimally quote output for the shell) - --quoting-style=shell-always (always quote output with '' for the shell) - --quoting-style=c (quote output as for a C-language string) - (equivalent to -Q or --quote-name) - --quoting-style=escape (like c but omit enclosing "") - (equivalent to -b or --escape) - - --show-control-chars is the opposite of --hide-control-chars - This option can be useful if output is to a terminal, - to override the default beahvior of hiding control characters. - -* The QUOTING_STYLE environment variable can now be used to specify the - default value for ls's --quoting-style option. If not specified, - the default quoting style is 'literal', but this default may change to - 'shell' in a future version of this package. -* ls's quoting style now affects operands in diagnostics, too. -* ls's --dired option now outputs the quoting style - using the format of the new --quoting-style option. -* ls's -e or --quote-shell option (introduced in 3.16j) has been removed; - use --quoting-style=shell to get its functionality. -[3.16m] -* mv can move (and doesn't read) special files -* remove maintainer mode -[3.16l] -* mv can finally move non-regular files between partitions -[3.16k] -* install accepts new option, -D -[3.16j] -* du accepts new options, --exclude=PAT and --exclude-from=FILE (-X FILE) -* ls now quotes file names for the shell by default, if they contain - characters that need quoting. Use -N to get the old default behavior. - The new behavior is also enabled by the new option -e or --quote-shell. -* ln --backup is now consistent with cp and mv in that --force is no longer - required when the destination is an existing non-directory. -* install accepts new option, --verbose (-v) -* mkdir -p is a lot faster when creating very deep directories on some systems -* rm -i no longer exits with status indicating failure solely because the - user declines to remove a file -* rm -r is a lot faster on some systems when removing deep hierarchies -* chgrp, chmod, and chown no longer give contradictory output when --verbose - is used and an operation fails -* ls's multicolumn option now uses variable width columns to conserve - vertical space -* install accepts new option, --preserve-timestamps -* du --megabytes --total now shows total in megabytes -* ls accepts new option, -h or --human-readable -* df, du, and ls now accept new option, -H or --si, for powers of 1000 not 1024 -* df, du, and ls now consistently round to nearest, with ties going to even -* df, du, and ls now use `k' instead of `K' for `kilo', - and support larger abbreviations T(era), P(eta), E(xa), Z(etta), Y(otta) -* touch -d DATE now works on Unicos -* du accepts new option --max-depth=N -* rmdir accepts new options: --ignore-fail-on-non-empty and --verbose -* on most hosts df, du, and ls now overflow at 2**64 bytes, not 2**31 bytes -* all programs now work on large files on LFS systems like Solaris 2.6 and - Linux with the pre-2.1 development version of GNU libc. -* df now works with OpenBSD 2.1 beta -* cp -d FILE SYMLINK-TO-FILE doesn't erase FILE. Now it gives an error. - -Changes in release 3.16: -* du --megabytes (-m) works -* ls -l works even on systems with non-POSIX strftime in their C library - -Changes in release 3.15: -* touch --date=DATE bug (due to broken getdate.y) has been fixed -* ls -l no longer misformats the date when run in a locale for which the - locale's abbreviated week-day name (strftime's %a format) is shorter or - longer than the `normal' three bytes (with LANG=de it's a two-byte string). -* Using --program-prefix no longer applies the prefix twice -* ls --color properly restores color attributes upon completion when the - normal (`no') color attribute is not the default color. -* with ls -s --color, the `total' and size of the first file are printed -* ls --color stats symlinks and distinguishes between regular symlinks - and orphan ones. -* cp --preserve preserves owner and group of symlinks on Linux when run - with EUID == 0 -* dircolors no longer accepts --print-data-base (alternate spelling of - --print-database) - -Changes in release 3.14: -* ls --color highlights based on suffix rules only for regular files -* touch --date=DATE accepts dates like those in an RCS log listing, e.g., - `1992/11/01 05:44:34'. -* install SRC DST no longer rejects non-regular, non-directory SRC -* df accepts -F as a synonym for -t for compatibility with Solaris -* cp -i /dev/null existing-file now prompts before overwriting the target -* ls --color highlights orphaned symlinks text on terminals that support it -* ls -l honors current locale with respect to abbreviated month names (and, - with --full-time day names) on systems with a locale-supporting strftime - function, e.g., ones based on recent versions of the GNU C library -* ls -l recognizes Cray's migrated dmf files. -* chgrp no longer aborts when given a group number larger than INT_MAX -* chgrp now fails when run by root with an unrecognized group name -* when possible, cp -p preserves owner/group even on symlinks in case - they're in a directory that has the sticky-bit set. -* cp --recursive --parents SRC DEST works when SRC is an absolute file name. - -Changes in release 3.13: -* ls properly determines window size on SunOS and Solaris systems -* ls accepts new option --color[=WHEN] where WHEN is `always', `never', - or `auto'. --color=never is the default. --color is equivalent - to --color=always. -* new program: dircolors -* ls allows 0 as argument to --tabsize (-T) option. Using --tabsize=0 - inhibits the use of TAB characters for separating columns. -* you can create a backup of FILE with cp --force --backup FILE FILE. Before, - that command failed saying that ``FILE' and `FILE' are the same file'. -* uses automake-generated Makefile templates -* chown and chgrp accept new option --no-dereference (-h) -* ln -f FILE FILE fails with a diagnostic rather than silently removing FILE -* when building on systems that have getopt_long (most GNU-oriented ones), - the system-provided function will be used -- so executables may be a - little smaller -* cp -p, and mv modify owner and/or group of symlinks on systems - (like Solaris) that provide the lchown system call. -* df no longer invokes the sync system call by default. You can use the - --sync option to make df invoke sync before getting file system sizes. -* internationalized diagnostic messages -* mkdir accepts new option: --verbose -* `cp file D/' uses the full file name `D/file' instead of `D//file'. -* cp --backup a~ a fails instead of silently destroying the source file -* df and du have new options --human-readable (-h) and --megabytes (-m). -* install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and - --version-control=WORD (-V WORD) options just as cp, ln, and mv do. -* ln --verbose output is less prone to misinterpretation -* ls -o works like -lG; for compatibility with other versions of ls -* cp has a new option to control creation of sparse files: - --sparse={auto,always,never}. --sparse=auto is the default. -* rm -rf '' behaves properly on SunOS 4 systems -* touch: rename long option name, --file, to --reference. - `touch --file' will continue to work a little longer. -* df fails if the same file system type is both selected and excluded. -* df works around SunOS statfs brokenness wrt filesystems larger than 2GB -* df better handles inconsistent mtab entries -* `ls -lDR dir dir2' works -* `ls -c' does what it's supposed to -* all programs include program name in --version output -* `ls --quote-name' works -* mv properly determines whether src and dest are the same file - Before, it could (though with very low probability) fail to do the move, - reporting that distinct source and destination are the same file. -* du --dereference (-L) works with directory symlinks -* du works on SunOS 4 systems even when accounting is enabled -* many programs that convert strings to integers now use strtol or strtoul - and detect overflow - -User-visible changes in release 3.12: -* None. -User-visible changes in release 3.11: -* None. -User-visible changes in release 3.10: -* mkdir -p now ignores arguments that are existing directories. Before, - (contrary to POSIX spec) it would attempt to change ownership and/or - protections of existing directories listed on the command line. And - it would fail when such a directory was owned by another user. -* Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir' - incorrectly change the permissions on directory, dir. -* df accepts a new option, --no-sync, that inhibits the default invocation - of the sync system call. -* ls accepts a new option, --dired, that makes emacs' dired mode more efficient -* skeletal texinfo documentation (mainly just the `invoking' nodes) -* ln accepts a new option: --no-dereference (-n). With this option, - if the destination command line argument is a symlink to a directory, - use that as the destination instead of the file in the directory. -* `ln -i no-such-file existing-file' gives a diagnostic and fails. - Before, if you responded `yes' to the prompt it would both remove - `existing-file' and fail to make a link. -* du no longer requires read access to all of the directory components - of the current working directory on systems with fchdir. -* touch -d 'date' is no longer off by one hour. -* New program: sync. -* Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly - create `r' as a symlink instead of as a regular file. -* du's -S and -c options now work when used together. - Before, the grand total was always reported to be zero. - -Major changes in release 3.9: -* --help gives a one-line description of each option and shows the - correspondence between short and long-named options. -* work around systems with BROKEN_STAT_MACROS -* work around problem where $(srcdir)/config.h was used instead of - ../config.h -- this happened only when building in a subdirectory - and when config.h remained in $(srcdir) from a previous ./configure. -* GNU chmod treats symlinks the same way other vendor's versions do. - Now symlinks listed on the command line are processed (they were - ignored before); the permissions of the dereferenced files are - changed. Symlinks encountered in recursive traversals are still - ignored. This makes GNU chmod act more like e.g. Sun's. -* configure uses config.h, so DEFS won't exceed preprocessor limits of - some compilers on the number of symbols defined via -D. -* ls and cp can handle mount points on more systems -* cp, mkdir, and rmdir long option --path renamed to --parents; --path - will still work for a while -* cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory. - This change affects only the two-argument form of the commands. It makes - such commands fail when the target has a trailing slash but is not a - directory or symlink to a directory and the source is not a directory. - They used to succeed, ignoring the implicitly contradictory trailing slash. - -Major changes in release 3.8: -* install isn't as likely to produce spurious errors -* avoid redundant compilations for `dir' and `vdir'; -* configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer - running OSx 5.1 - -Major changes in release 3.7: -* none -Major changes in release 3.6: -* `ln -s dir_pathname .' works when the pathname has a trailing slash -* with the --version option programs print the version and exit immediately -* GNU ls -f works like Unix ls -f -* mktime replacement works - -Major changes in release 3.5: -* adds support for DEC Alpha under OSF/1 -* configuring with gcc uses CFLAGS='-g -O' by default -* all programs accept --help and --version options -* long-named options must be introduced with `--'; `+' is no longer - accepted since it is incompatible with the POSIX.2 standard -* chmod accepts long-named options -* dd conv=unblock doesn't hang -* new df option --exclude=fstype -* new ls option --full-time - -Major changes in release 3.4: -* cp -p and mv preserve setuid and setgid bits -* chown works on systems where sizeof(uid_t) != sizeof(int) - or sizeof(uid) != sizeof(gid) -* catch errors from spurious slashes at ends of arguments - -Major changes in release 3.3: -* df sped up by not calling sync for every filesystem -* df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed -* df -i now also prints the total number of inodes per filesystem -* ls sped up by not reading symlink contents unnecessarily -* du doesn't die on POSIX systems when the root filesystem is NFS mounted -* cp and mv report chown Permission denied errors when run by root - -======================================================================== - -Copyright (C) 1992-2017 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the ``GNU Free -Documentation License'' file as part of this distribution. diff --git a/old/sh-utils/ChangeLog b/old/sh-utils/ChangeLog deleted file mode 100644 index 0b6c11c8a..000000000 --- a/old/sh-utils/ChangeLog +++ /dev/null @@ -1,4865 +0,0 @@ -2006-08-17 Paul Eggert - - * ChangeLog: Add copyright notice. - * ChangeLog.0: Likewise. - * NEWS: Likewise. - -2002-08-08 Jim Meyering - - * Version 2.0.15. - -2002-08-05 Paul Eggert - - 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 - - * configure.ac: Change $am_cv_sys_posix_termios to - $ac_cv_sys_posix_termios. From Andreas Schwab. - -2002-08-04 Jim Meyering - - * Version 2.0.14. - -2002-07-30 Paul Eggert - - * 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 - - * 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 - - * configure.ac: Require automake-1.6b. - -2002-07-27 Jim Meyering - - * 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 - - * 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 - - * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt false. - -2002-07-20 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * src/uptime.c: Include sys/sysctl.h. - (print_uptime): Add support for determining the boot time on FreeBSD. - -2002-07-15 Jim Meyering - - * 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 - - * 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 - - * configure.ac: Invoke AC_GNU_SOURCE very early. - -2002-05-24 Jim Meyering - - * 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 - * 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 - - * 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 - - * 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 - - * src/who.c: Don't include xalloc.h. - It's already included via system.h. - -2002-04-28 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * src/who.c: Include xalloc.h. - Use xmalloc everywhere, not malloc. - -2002-04-12 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am (EXTRA_DIST): Remove config/config.rpath, - now that automake knows about it. - -2002-03-05 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add config/config.rpath. - -2002-03-02 Jim Meyering - - * 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 - - * 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 - - * src/nice.c: Include posixver.h. - * src/date.c: Likewise. - -2002-02-17 Jim Meyering - - * 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 - - 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 - - * src/nice.c (main): Output warnings only if OBSOLETE_OPTION_WARNINGS. - -2002-02-11 Jim Meyering - - * 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 - - 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 - - * printf.c (print_esc): Call print_unicode_char with exit_on_error = - false. - -2002-01-28 Jim Meyering - - * 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 - - * po/POTFILES.in: Add lib/xmemcoll.c and src/sys2.h. - -2002-01-21 Jim Meyering - - * 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 - - * 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 - - * 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 - - * configure.ac (ALL_LINGUAS): Add Catalan (ca). - -2001-12-17 Jim Meyering - - * 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 - - * 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 - - * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's - no longer available at that location. - -2001-11-25 Jim Meyering - - * 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 - - * 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 - - * src/Makefile.am (printf_LDADD): Reflect spelling change: - s/POW_LIBM/POW_LIB/. - (sleep_LDADD): Likewise. - -2001-11-10 Jim Meyering - - * src/date.c (usage): Document %u. Reported by Albert Hopkins. - -2001-11-09 Jim Meyering - - * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no - arguments. - -2001-09-28 Jim Meyering - - * configure.ac: Tell automake to use the file name `config.hin' - rather than the two-`.' config.h.in. - -2001-09-26 Jim Meyering - - * man/Makefile.am (common_dep): Define it, so we depend on configure.ac. - - * configure.ac: Renamed from configure.in. - -2001-09-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/test.c (binary_operator): Correct typo in diagnostic. - From Jochen Hein. - -2001-09-03 Paul Eggert - - * 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 - - * src/tee.c (full_write): Remove decl; not needed. - -2001-06-19 Paul Eggert - - * 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 - - * 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 - - * 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 - - * src/Makefile.am (bin_PROGRAMS): Add kill. - * src/kill.c: New program. Written by Marcus Brinkmann. - -2001-08-19 Jim Meyering - - * po/POTFILES.in: Add src/kill.c - -2001-06-21 Paul Eggert - - * src/expr.c (nextarg): Advance ARGS by one if the next token matches. - All callers changed. - -2001-06-21 Paul Eggert - - * 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 - - * tests/expr/basic (00): New test for the above. - -2001-06-21 Paul Eggert - - * 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 - - * 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 - - * 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 - - * src/expr.c (main): Handle a leading "--" option as POSIX requires. - -2001-08-18 Jim Meyering - - * tests/expr/basic: Add a test for the above. - -2001-06-20 Paul Eggert - - * src/expr.c (toarith): Don't accept plain "-" as a valid integer. - -2001-06-20 Paul Eggert - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/printf.c (cfcc_msg): Remove now-inaccurate part of comment. - From Bruno Haible. - -2001-07-04 Jim Meyering - - * Makefile.cfg: New file with package-specific definitions. - * Makefile.am (EXTRA_DIST): Add Makefile.cfg. - -2001-06-09 Jim Meyering - - (PIDSTR_DECL_AND_INIT): Define. - -2001-06-05 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Turkish (tr). - -2001-05-27 Jim Meyering - - * src/dirname.c (main): Add `const' to declaration of local, `result'. - -2001-04-01 Jim Meyering - - 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/sh-utils.texi: Fix typo: '-d=1may' -> '-d 1may'. - Fix and clarify time zone usage in 'date' examples. - -2001-02-04 Jim Meyering - - * src/factor.c (usage): Tweak --help output: it prints the _prime_ - factors, not just any factors. - -2001-02-03 Jim Meyering - - 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 - - * src/test.c (eaccess) [__MSDOS__]: Just use access. - -2001-01-26 Jim Meyering - - * src/dirname.c (main): Declare local result as non-const, now - that it's freed. - -2001-01-20 Jim Meyering - - * configure.in: Remove jm_CHECK_ALL_TYPES. - Now it's invoked by jm_MACROS. - -2001-01-04 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/sh-utils.texi: Clean up indentation and punctuation. - Fix a couple typos. From Brian Youmans. - -2000-10-30 Jim Meyering - - * configure, config.h.in, Makefile.in, etc.: Regenerate using the - very latest version (in CVS) of autoconf. - -2000-10-29 Jim Meyering - - * Version 2.0.11. - -2000-10-27 Jim Meyering - - * 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 - - * src/dirname.c: Include dirname.h. - (main): Use dir_name_r rather than open-coding it. - -2000-10-23 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add .prev-version. - -2000-10-18 Paul Eggert - - * 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 - - * doc/sh-utils.texi (Examples of date): Fix a typo. - -2000-10-11 Jim Meyering - - * doc/sh-utils.texi (Time directives) [%S]: Range is 0..60, not 0..61. - -2000-10-06 Paul Eggert - - 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 - - * src/yes.c (usage): Add a separate usage line, just for `OPTION'. - Suggestion from M. P. Suzuki. - -2000-09-09 Jim Meyering - - * 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 - - * src/tee.c (main): Remove incorrect `FIXME' comment. - -2000-08-07 Paul Eggert - - * src/su.c (xputenv): Invoke xalloc_die instead of printing - our own message. - -2000-07-30 Jim Meyering - - * 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 - - * src/help-version (su_args): Punt, so we don't try to start a shell. - - * src/su.c: Include 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 - - * src/date.c (batch_convert): Free `initial_TZ' only if it was set. - Reported by Michael Hohn. - -2000-07-17 Jim Meyering - - * src/stty.c (visible): Don't mark `' for translation. - The standard requires that exact string. - -2000-07-09 Jim Meyering - - * 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 - - * 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 - - * tests/nice: Avoid syntax error in "test" when `nice` generates - no output. - -2000-07-04 Jim Meyering - - * 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 - - * 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 - - * configure.in: Add pinky, users, who to OPTIONAL_BIN_PROGS if either - or exists. Add uptime only if either or - exists. - * src/Makefile.am (bin_PROGRAMS): Remove pinky, users, who from here... - (EXTRA_PROGRAMS): ... and add them here. - -2000-06-26 Jim Meyering - - `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 - - * configure.in (ALL_LINGUAS): Add Danish (da). - -2000-06-21 Jim Meyering - - * 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 - - * tests/date/Test.pm: Add tests for getdate.y fix. - -2000-06-14 Jim Meyering - - * src/help-version: Punt on nohup; give it --version. - -2000-06-10 Jim Meyering - - * doc/sh-utils.texi: Typo-fixes and some clean-up from Brian Youmans. - -2000-05-29 Jim Meyering - - * 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 - - * tests/nice: Disable test on djgpp. - -2000-05-15 Jim Meyering - - * 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 - - * src/groups.sh: Detect and report write failure of --help/--version. - * src/nohup.sh: Likewise. - -2000-05-11 Jim Meyering - - * 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 - - * 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 - - * Version 2.0i. - -2000-05-07 Jim Meyering - - * 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 - - * 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 - - 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 - - * Makefile.maint (my-distcheck): Remove spurious blank line. - Remove $(DEPDIR) *after* making distclean, not before. - -2000-04-30 Jim Meyering - - * src/yes.c: Detect and terminate upon write failure. - -2000-04-14 Jim Meyering - - * src/seq.c: Shorten `#ifdef HAVE_...' to `#if HAVE_...' and - remove unnecessary uses of `defined' (aesthetics). - -2000-04-12 Jim Meyering - - 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 - - * configure.in (ALL_LINGUAS): Add Estonian (et). - -2000-04-01 Jochen Hein - - * 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 - - * 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 - - * src/date.c: Include 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 - - * 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 - - * src/uptime.c (print_uptime): Use `buf' only if fgets succeeds. - -2000-03-12 Jim Meyering - - 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 - - * 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 - - * 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 - - 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 - - * 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 - - * Makefile.am (EXTRA_DIST): Include GNUmakefile. - - * src/seq.c (get_width_format): Fix portability problem with - `-0' vs. `0'. - -2000-02-22 Jim Meyering - - * tests/date/Test.pm (datevtime-1): New test. - From John Kendall. - -2000-02-15 Jim Meyering - - * man/Makefile.maint ($(man_MANS)): Remove $@-t1. - -2000-02-13 Jim Meyering - - * tests/Fetish.pm (run_tests): Discard stderr. - Reverse diff args, so `expected' is last, as in mk-script. - -2000-02-12 Jim Meyering - - * tests/mk-script: Invoke `diff' when differences are found. - * tests/Fetish.pm (run_tests): Likewise. - -2000-02-09 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * configure.in (ALL_LINGUAS): Add Galician (gl). - -2000-01-16 Jim Meyering - - * 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 - - * 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 - - * configure.in: Remove the tests that are now in jm_PREREQ_CANON_HOST. - -2000-01-11 Jim Meyering - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * lib/nanosleep.c: Include both time.h and sys/time.h only - #if TIME_WITH_SYS_TIME. - -2000-01-03 Paul Eggert - - 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 (): 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 - - * Version 2.0b. - - * lib/Makefile.in: Regenerate. - - * Version 2.0a. - -1999-12-26 Jim Meyering - - * lib/nanosleep.c (nanosleep): New file. - -1999-12-23 Jim Meyering - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c. - -1999-11-09 Jim Meyering - - * 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 - - * 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 - - * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). - -1999-10-07 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Japanese (ja). - -1999-10-04 Jim Meyering - - * depcomp: New file, for automake's new dependency support. - * missing: New version, from automake's user-dep-gen-branch. - -1999-09-28 Jim Meyering - - * src/system.h: Update from the system.h from fileutils. - Now they're finally almost identical... - -1999-09-09 Jim Meyering - - * 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 - - * tests/nice: Instead of failing, exit with 77 if running niced. - -1999-09-08 Jim Meyering - - * src/su.c: Remove declaration of xstrdup. - -1999-09-02 Jim Meyering - - * src/expr.c: Remove xstrdup declaration. - * src/date.c: Likewise. - * src/pathchk.c: Likewise. - * src/su.c: Likewise. - -1999-08-29 Jim Meyering - - * 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 - - * man/Makefile.summ (seq-summary): Define. - * man/Makefile.am (man_MANS): Add seq.1. - Reported by Dirk-Jan Faber. - -1999-08-23 Jim Meyering - - * 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 - - * 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 - - * src/hostid.c (usage): Remove the ` [-v]' from the Usage: line. - Reported by Daniel Bergstrom. - -1999-08-17 Jim Meyering - - * 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 - - * 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 - - * 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 - - 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 - - * src/date.c (usage): Correct description of %S; (00..60, not 00..61). - From Ken Pizzini. - -1999-08-01 Paul Eggert - - * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. - -1999-07-31 Jim Meyering - - * 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 - - * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR). - -1999-07-26 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/false.sh: Always exit unsuccessfully, even with - --help and --version. Suggested by Felix Lee. - -1999-07-12 Jim Meyering - - * src/sys2.h (mempcpy): Define only if not already defined. - Reported by Collin Rogowski. - -1999-05-27 Volker Borchert - - * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. - -1999-05-25 Jim Meyering - - * 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 - - * Version 1.16k. - * configuration fixes: see m4/ChangeLog. - -1999-05-16 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 : Don't include it here. - * lib/human.h : Include it here instead. - : Include it here too. - Reported by Andreas Jaeger. - - * src/nice.c [NDEBUG]: Remove definition. - Reported by Andreas Jaeger. - -1999-04-24 Jim Meyering - - * 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 - - Update factor to use `uintmax_t'. - * src/factor.c : Include this, not xstrtoul.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 - - * 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 - - * 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 - - * 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 - - 1999-03-25 James R. Van Zandt - * 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 - - * 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 - - * 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 - - * src/test.c (PROGRAM_NAME): Rename from COMMAND_NAME. - -1999-03-28 Paul Eggert - - * 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 - - * 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 - - * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c. - (noinst_HEADERS): Add version-etc.h. - -1999-03-20 Jim Meyering - - * 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 - - * configure.in: Use new macro, jm_WINSIZE_IN_PTEM, instead of - open-coding it. - -1999-03-17 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Italian (it) and Slovak (sk). - -1999-03-13 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * lib/readutmp.c (read_utmp) [HAVE_UTMPNAME]: Rewrite. - -1999-02-15 Jim Meyering - - * 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 - - * configure.in (ALL_LINGUAS): Add Czech (cs). - -1999-02-07 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add chinese (zh). - -1998-12-13 Jim Meyering - - * 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 - - * src/date.c (main): Arrange to exit unsuccessfully when stime fails. - -1998-12-07 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Russian (ru). - -1998-10-31 Jim Meyering - - * 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 - - * 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 - - * src/seq.c (main): Decrement optind when we find an `option' that - looks like -N. Reported by Clark Morgan. - -1998-09-26 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/uptime.c (usage): Correct description. Reported by John Murphy. - -1998-07-16 Jim Meyering - - * 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 - - * src/seq.c (check_format): Add `5' to the list of digits. - Reported by Donni Erpel. - -1998-07-12 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers. - -1998-06-06 Jim Meyering - - * 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 - - * src/test.c (two_arguments): Don't test argv[pos][2] if it's - past end of string. - -1998-05-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/seq.c (check_format): Use ISDIGIT, not isdigit. - -1998-04-26 Jim Meyering - - * configure.in: Use jm_ASSERT. - * acconfig.h: Add NDEBUG. - -1998-04-13 Jim Meyering - - * lib/Makefile.am (noinst_HEADERS): Add safe-read.h. - -1998-04-09 Jim Meyering - - * 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 - - * 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 ] - * 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 - - * 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 - - * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h. - -1998-03-26 Jim Meyering - - * src/date.c (batch_convert): Remove spurious space in error message. - Reported by Karl Berry. - -1998-03-13 Jim Meyering - - * lib/getugroups.c (getugroups): Don't add a group number if it - would be a duplicate. From Ulrich Drepper. - -1998-02-22 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (AC_LFS): Use it. - -1998-01-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * configure.in: AC_DEFINE _GNU_SOURCE. - * acconfig.h: Add _GNU_SOURCE. - -1997-12-21 Jim Meyering - - * 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 - - * 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 - - * lib/mktime.c, lib/strftime.c (_REENTRANT): #define, - as some hosts need this to declare localtime_r properly. - -1997-11-15 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * acconfig.h: Add malloc and realloc. - -1997-10-25 Jim Meyering - - * 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 - - * 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 - - * m4/decl.m4: New file. - * m4/check-decl.m4: New file. New macro, jm_CHECK_DECLS. - -1997-10-07 Jim Meyering - - * src/*.c: Update bug-reporting address. - * src/*.sh: Update bug-reporting address. - -1997-10-02 Jim Meyering - - * tests/date/Test.pm (test_vector): Remove _%Z from test `9'. - The timezone string was too system dependent. - -1997-09-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/date.c (show_date): Don't hang if strftime produces an empty - string. - -1997-07-16 Jim Meyering - - * 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 - - * lib/getloadavg.c: Merge in changes from FSF. - -1997-07-13 Jim Meyering - - * doc/Makefile.am (EXTRA_DIST): Remove explicit mention of texinfo.texi. - Now, automake includes it automatically. - -1997-07-12 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - (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 - - * 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 - - * tests/date/Test.pm (test_vector): Remove bogus TZ=GMT environment - setting. - -Wed Jul 2 11:05:09 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * src/expr.c (eval6): Accept new unary operator, quote. - From Karl Heuer. - -Wed Jun 11 15:13:56 1997 Jim Meyering - - * 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 - - * lib/getdate.y (OtherTable): Interpret `next' as 1 (not 2) units. - Patch from Richard Sharman . - * tests/date/Test.pm: Add tests using `next'. - -Tue May 27 06:08:06 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add polish (pl). - -Sat Mar 22 00:03:02 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * src/factor.c (factor): Rewrite inner loop to be more efficient. - Patch from Torbjorn Granlund. - -Tue Feb 18 21:18:04 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/chroot.c (usage): Remove one space in message to make - colons line up. - -Sun Jan 26 12:51:05 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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. - (, ): 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 - - * getdate.y: Rewrite to use mktime. - - : 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 - - * 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 - - * 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 - - * Version 1.15. - - * lib/getopt.c (_getopt_internal): Use `_', rather than the - (sometimes-)expansion `gettext'. - -Tue Jan 7 22:10:51 1997 Jim Meyering - - * 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 - - * acconfig.h (getgroups): Add #undef. - From Marcus Daniels. - -Fri Dec 27 17:25:18 1996 Jim Meyering - - * 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 - - * configure.in: Increment version to 1.14a. - - * m4/Makefile.am (EXTRA_DIST): Add README. - -Fri Dec 20 19:28:37 1996 Jim Meyering - - * 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 - - * configure.in (AC_CHECK_HEADERS): Add paths.h. - * src/su.c [HAVE_PATHS_H]: Include . - [_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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 1.13. - -Tue Dec 10 06:36:57 1996 Jim Meyering - - * 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 - - * 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 - - =========== 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 - - * src/stty.c (get_win_size): Rename formal parameter from fileno to FD. - -Sat Dec 7 12:52:00 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * lib/strftime.c: Update from GNU libc. - -Fri Nov 29 22:16:40 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/id.c (main): Ignore -a, for compatibility with SVR4. - Suggestion from Noah Friedman. - -Mon Nov 4 20:24:31 1996 Jim Meyering - - * 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 - - * 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. - : 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/tee.c (main): Ignore SIGPIPE. - -Wed Oct 23 23:42:43 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (LIBS): Add -lypsec on m88k/svr3 DolphinOS systems - using YP. From Arne Juul. - -Sun Oct 13 07:34:15 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (AC_CHECK_HEADERS): Alphabetize. - Update for automake-1.1e. - -Thu Sep 19 07:47:18 1996 Jim Meyering - - * lib/regex.c: Merge with FSF version. - * lib/getloadavg.c: Replace with FSF version. - -Mon Sep 16 23:13:04 1996 Jim Meyering - - * lib/strftime.c (strftime): New version, from GNU libc. - -Sun Sep 15 23:08:48 1996 Jim Meyering - - * Makefile.am (EXTRA_DIST): Remove acinclude.m4. - -Mon Sep 9 22:10:45 1996 Jim Meyering - - * 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 - - * 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 - - * lib/strftime.c: New version from glibc. - -Wed Sep 4 23:39:51 1996 Jim Meyering - - * configure.in (ALL_LINGUAS): Add dutch (nl). - -Mon Sep 2 10:52:55 1996 Jim Meyering - - * src/*.c (usage): Tell where to report bugs. - -Sun Sep 1 07:56:07 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 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 - - * 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 - - * 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 - - * 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 . - -Sat Jul 20 17:01:56 1996 Jim Meyering - - * configure.in (PACKAGE_VERSION): Use space instead of hyphen to - separate PACKAGE and VERSION. - -Wed Jul 17 23:13:19 1996 Jim Meyering - - * src/chroot.c: Include before system.h. - * src/seq.c: Likewise. - * src/yes.c: Likewise. - From Arne Juul. - -Tue Jul 16 00:06:33 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/expr.c (docolon): Remove space before newline in usage message. - -Sat Jun 29 18:58:20 1996 Jim Meyering - - * 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 - - * aclocal.m4: Update from gettext-0.10.20. - * ABOUT-NLS: Likewise. - * intl/*: Likewise. - -Sun Jun 16 13:44:36 1996 Jim Meyering - - * doc/Makefile.am (EXTRA_DIST): Add texinfo.tex. - -Thu Jun 6 21:57:08 1996 Jim Meyering - - * 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 - - * 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 - - * 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 . - - * 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 . - - * 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 - 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 - . - - * 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 - - * 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 . - -Wed Feb 28 21:48:07 1996 Paul Eggert - - * 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 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 - - * 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 - - * 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 - . - -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 . - - * 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 . - -Sun Dec 4 14:53:12 1994 Jim Meyering (meyering@comco.com) - - * dirname.c (main): Use strchr and strrchr instead of index and rindex. - * echo.c (main): Likewise. - * env.c (main): Likewise. - * pathchk.c (validate_path): Likewise. - * printf.c (print_formatted, print_esc): Likewise. - * test.c [member]: Likewise. - * who.c (extract_trimmed_name): Likewise. - * system.h [!HAVE_STRING_H]: Define strchr to index and strrchr to - rindex instead of the other way around. - - * doc/Makefile.in (DISTFILES): Add getdate.texi. - -Sat Dec 3 07:59:55 1994 Jim Meyering (meyering@comco.com) - - * configure.in (AC_CHECK_FUNCS): Add strchr and strrchr. - (AC_CHECK_HEADERS): Add stdlib.h. - (LIBS): If the strtod replacement is required, check for pow in -lm. - * src/Makefile.in (printf): Remove hard-coded -lm. Not every - system has it. - -Thu Nov 17 23:47:26 1994 Jim Meyering (meyering@comco.com) - - * who.c (list_entries): Delete. Split in two actually... - (list_entries_users, list_entries_who, userid_compare): New functions. - (list_entries_users): Sort the user names. Reported by - Michael I Bushnell. - Topologically sort the functions and remove fwd declarations. - - - ----- - - Copyright (C) 1994-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/old/sh-utils/ChangeLog.0 b/old/sh-utils/ChangeLog.0 deleted file mode 100644 index 567b1143f..000000000 --- a/old/sh-utils/ChangeLog.0 +++ /dev/null @@ -1,1719 +0,0 @@ -Sat Nov 05 08:35:25 1994 Jim Meyering (meyering@comco.com) - - * Version 1.12. - -Fri Nov 04 06:01:00 1994 Jim Meyering (meyering@comco.com) - - * Version 1.11. - -Wed Nov 02 18:52:20 1994 Jim Meyering (meyering@comco.com) - - * doc/Makefile.in (install): Remove test for existence of info - file. Simply change to $(srcdir) instead. - -Wed Oct 26 23:40:07 1994 Jim Meyering (meyering@comco.com) - - * safe-xstat.hin [EINTR]: Always define safe_l?stat. - Define it __static -- which is `static' for most includers, - but `/* empty */' for safe-xstat.cin. - * safe-xstat.cin: Define __static to nothing so we get public - safe_l?stat functions in the library. - - * Makefile.in (All actions invoking $(MAKE) from within compound - (e.g. `for') sh statements): Exit non-zero if the sub-make fails. - Otherwise, the top-level make may exit successfully when it should - fail. From Jim Kingdon (kingdon@cygnus.com). - -Sun Oct 23 23:36:26 1994 Jim Meyering (meyering@comco.com) - - * safe-xstat.hin: Don't use a statement expression here. - Use an inline function instead. - * safe-xstat.cin: Don't duplicate the definition of safe_l?stat here. - Get the definition from safe-xstat.hin. - -Fri Oct 21 00:57:23 1994 Jim Meyering (meyering@comco.com) - - * man/Makefile.in: Fix typo that had su.1 being installed as - `man/man1/.1'. From Kjetil Torgrim Homme. - - * basename.c, dirname.c, expr.c, pathchk.c, sleep.c (main): Diagnose - wrong number of argument -- usually too few -- instead of just - referring the user to the --help option. Reported by Karl Berry. - -Mon Oct 17 23:55:41 1994 Jim Meyering (meyering@comco.com) - - * doc/Makefile.in (install): Install the info files from either - the source directory or the object directory. - From Ian Lance Taylor (ian@cygnus.com). - -Sun Oct 16 12:14:02 1994 Jim Meyering (meyering@comco.com) - - * lib/Makefile.in (distclean): Don't delete getdate.c and posixtm.c - here since they are not distributed. - (realclean): Delete them here instead. - From Francois Pinard. - -Mon Oct 10 21:44:42 1994 Jim Meyering (meyering@comco.com) - - * id.c (print_group_list, print_full_info): Use more precise - feature tests. Rather than assuming that a definition for - NGROUPS_MAX implies the existence of the getgroups function, - test for HAVE_GETGROUPS explicitly. - * su.c (log_su): Likewise. Similarly, check HAVE_INITGROUPS. - Both from Kaveh Ghazi. He reported that a Pyramid 9820 OSx 5.0d - (Dual universe SVR3/BSD4.2) system had NGROUPS_MAX and syslog.h - but not getgroups, initgroups or the syslog functions. - -Fri Oct 07 19:42:35 1994 Jim Meyering (meyering@comco.com) - - * doc/Makefile.in (sh-utils.dvi): Depend on version.texi. - * version.texi: Use RELEASEDATE, not RELEASE_DATE. - * sh-utils.texi: Likewise. - - * configure.in: Test for crypt in -lcrypt for NetBSD. - Reported by Greg Hudson (ghudson@mit.edu). - - * system.h: Don't define lstat. safe-l?stat.h does that now. - -Thu Oct 06 21:14:07 1994 Jim Meyering (meyering@comco.com) - - * src/Makefile.in (link_command): Remove $(CFLAGS). Because - the default value usually includes -g, Linux users were getting - statically linked executables. With this removal they'll get - much smaller, dynamically linked ones by default. - - * lib/Makefile.in (safe-lstat.o): Depend on safe-stat.h, too. - -Sun Oct 02 16:15:32 1994 Jim Meyering (meyering@comco.com) - - * src/Makefile.in: Don't use binprefix. Use autoconf-2's - @program_transform_name@ instead. - * man/Makefile.in: Likewise for manprefix. - - * safe-xstat.hin [!S_ISLNK]: Include safe-stat.h and define - SAFE_LSTAT and safe_lstat to their symlink-ignorant counterparts. - * lib/Makefile.in (extract_lstat, extract_stat): Add sed rules to - extract the new cpp directives into safe-lstat.h, but not into - safe-stat.h. - -Sat Oct 01 00:14:10 1994 Jim Meyering (meyering@comco.com) - - * system.h: Remove conditional definition of mode_t. - configure takes care of this now. - - * configure.in: Add -l$lib (not $lib) to LIBS when checking - for syslog. From Kaveh Ghazi. - - * date.c (batch_convert): Use K&R style function definition. - From Kaveh Ghazi. - - * date.c (main): When reading dates from a file with a +FORMAT-style - user-specified format, don't print the leading `+'. Franc,ois Pinard - noticed this problem. - Make an error message clearer. From Franc,ois. - - * lib/Makefile.in (DISTFILES): Add getline.h. - (SOURCES, OBJECTS): Add getline.c, getline.o. - - * safe-xstat.hin: Don't include or . - Otherwise, we'd lose when the includer has already included - on systems that aren't protected against multiple - inclusion. Add a note that those headers must be included before - this one. Don't include either. - * safe-xstat.cin: Include and here instead. - Include here, too. - Kaveh Ghazi reported this problem. - -Fri Sep 30 22:40:21 1994 Jim Meyering (meyering@comco.com) - - * date.c (main): Accept new option: (-f) --file=datefile. - (batch_convert): New function. Suggested by Karl Berry. - - * date.c (main): Diagnose use of conflicting options. - Revamp non-option argument processing. - Detect write errors. - - * lib/*.c, src/*.c: Remove CONFIG_BROKETS conditional. - * lib/Makefile.in src/Makefile.in: Don't define it. - - configure.in (AC_CHECK_FUNCS): Add getcwd. From Kaveh Ghazi. - - * safe-xstat.c.in, safe-xstat.h.in: Rename to safe-xstat.cin and - safe-xstat.hin so the names don't exceed the 14-character limit. - Reported by Kaveh Ghazi. - -Mon Sep 26 19:49:40 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Don't use $su_cv_sys_tiocgwinsz_in_termios_h - uninitialized. From R. Bernstein and Kaveh Ghazi. - (NICE_PRIORITY): Fix typo that caused omission from PROGS of nice - and nohup on systems with nice but not setpriority. - From Andreas Schwab. - -Sat Sep 24 10:13:00 1994 Jim Meyering (meyering@comco.com) - - * Makefile.in (stamp-h.in): Create using echo, not date. - Using the latter could easily lead to rcs/cvs merge conflicts. - * configure.in (stamp-h): Ditto, though this is less important - because stamp-h isn't distributed. - - * nice.c (main): Revamp option processing to detect options - like `--7' manually and pass the rest off to getopt_long. - (isinteger): Use ISDIGIT. - Use parse_long_options. - - * system.h: Include and add IS* macros. - * expr.c: Don't include or define IS* macros since - system.h now does that. - * printf.c: Ditto. - - * date.c (usage): Add description of numeric modifiers. - - * printf.c (print_formatted): Declare DIREC_LENGTH size_t, not int. - (print_esc_string): Ditto for LENGTH. - * dirname.c (main): Cast string literal to (char*). - * stty.c (wrapf): Declare first argument const char *. - * tee.c (main, tee): More const dcls and casting. - * who.c (read_utmp): New variable: size to avoid type warnings. - All of these eliminate compilation warnings reported by - Franc,ois Pinard. - - * doc/Makefile.in (DISTFILES): Add version.texi because generating - that file now depends on having a version of date that can handle - formats like `+%Y %B'. - (version.texi): Generate RELEASE_DATE, too. - * sh-utils.texi: Use RELEASE_DATE instead of hard-coded date. - - * long-options.h: Prepend underscores to arg names in prototype - to avoid warnings about shadowing. - - * src/Makefile.in: Add dependencies on long-options.h. - - * configure.in: Make having autoconf-1.120 a prerequisite. - - * sh-utils.texi [INFO-DIR-ENTRY]: Add an entry for each `invoking' - node. Regularize punctuation, indexing, and xrefs. - From Franc,ois Pinard. - - * date.c (usage): Tweak the usage message a little. - Add `const' to more dcls. - - * stty.c: Add `const' to more dcls. - * su.c: Ditto. - * who.c: Ditto. - - * tee.c (main): Use _POSIX_SOURCE, not _POSIX_VERSION. - -Sat Sep 17 15:48:10 1994 Jim Meyering (meyering@comco.com) - - * (doc): New subdirectory with texinfo documentation. - Thanks to Franc,ois Pinard and Karl Berry! - Note however that it contains mainly the information from the - `man' pages, so it is not good documentation. But this way, - at least we don't have to maintain the troff man pages anymore. - - * su.c: Test !HAVE_ENDGRENT and !HAVE_ENDPWENT rather than - _POSIX_SOURCE to determine whether endgrent and endpwent should - be defined away. - * configure.in (AC_CHECK_FUNCS): Add endgrent and endpwent. - - * who.c: Test HAVE_SYS_PARAM_H rather than _POSIX_SOURCE - to determine whether should be included. - - * date.c (main): Rewrite command-line argument handling code - to give diagnostics for inconsistent options. - - * Makefile.in: Restructure dependencies using local-* - and recursive-* targets to avoid evil double-colon rules. - Although the actions assiciated with double-colon rules are - run sequentially using GNU make-3.71, POSIX doesn't guarantee - that behavior. The next release may run them in parallel. - Running the old rules in parallel would sometimes delete - config.status before it was used in a subdirectory make. - With several suggestions from Franc,ois Pinard. - -Thu Sep 15 19:10:51 1994 Jim Meyering (meyering@comco.com) - - * stty.c [VWERSE && !VWERASE]: Define VWERASE for AIX-3.2.5. - -Sat Sep 03 00:41:53 1994 Jim Meyering (meyering@comco.com) - - * lib/Makefile.in (safe-lstat.c, safe-lstat.h, safe-stat.c, - safe-stat.h): Use $(srcdir) to find source files. - (.c.o): Use -I. to get safe-lstat.h and safe-stat.h from the - build directory. - * src/Makefile.in (incl): Add -I../lib to get lib/safe-lstat.h and - lib/safe-stat.h from the build directory. From Michael I Bushnell - . - - * Makefile.in: Remove rules to create installation directories. - * {src,man}/Makefile.in: Put them here instead. - - * configure.in: Update to take advantage of autoconf 2.0 features. - -Sat Aug 27 16:57:20 1994 Jim Meyering (meyering@comco.com) - - * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's. - From Francois Pinard. - -Thu Aug 18 11:44:48 1994 Jim Meyering (meyering@comco.com) - - * su.1: Explain why GNU doesn't support the `wheel group'. - -Mon Aug 01 21:58:14 1994 Jim Meyering (meyering@comco.com) - - * date.c: Add --utc option. It will supercede --uct. - Change references to `universal coordinated time' to - correct `coordinated universal time'. From Harris Boldt Edelman - . - * date.1: Correct the documentation, too. - - * date.c (main, show_date): For -u, use gmtime instead of relying on - localtime's ability to interpret the TZ environment variable. - `date -u' failed (by reporting local time) on romp-ibm-bsd and PCs - (DOS and OS/2) running emx 0.8h. From R. Bernstein - . - -Sat Jul 30 07:52:27 1994 Jim Meyering (meyering@comco.com) - - * nohup.sh: Separate `nice -5' from COMMAND with `--' to ensure - that COMMAND isn't interpreted as an option to nice. - * groups.sh: Similarly, separate each name from `id -Gn' with `--'. - Karl Berry pointed out that `groups --help user' gave confusing - diagnostics. - -Tue Jul 26 11:33:53 1994 Jim Meyering (meyering@comco.com) - - * su.c (main): Make copies of the password information we'll use - so that log_su (through getlogin) doesn't clobber the static data. - With suggestions from Francois Pinard. - - * system.h: Remove `|| defined(_POSIX_VERSION)' from test that - decides whether to include . From Francois Pinard. - -Mon Jul 25 23:54:36 1994 Jim Meyering (meyering@comco.com) - - * pathchk.c (dir_ok): Use SAFE_STAT. - * test.c (test_stat, binary_operator, unary_operator): Use SAFE_STAT - and SAFE_LSTAT. - * who.c (print_entry): Use SAFE_STAT. - - * test.c (group_member): Remove function. Use the one broken out - into group-member.c instead. - -Fri Jul 15 00:23:17 1994 Jim Meyering (meyering@comco.com) - - system.h: Remove unneeded decls of atof and atol. - -Fri Jul 08 01:09:23 1994 Jim Meyering (meyering@comco.com) - - stty.c (main): Initialize max_col (used by wrapf) before calling - display_speed. Otherwise, `stty speed' output a spurious newline. - From Andreas Schwab . - -Sun Jul 03 08:44:00 1994 Jim Meyering (meyering@comco.com) - - * configure.in [AC_HAVE_HEADERS]: Add sys/param.h, for - definition of HAVE_SYS_PARAM_H, now tested in pathmax.h. - - * configure.in [AC_WORDS_BIGENDIAN]: Add it. This macro is - required by memcmp.c on big-endian systems. Its absence was - diagnosed by Lars Duening (duening@ibr.cs.tu-bs.de). - -Sun Jun 19 00:18:06 1994 Jim Meyering (meyering@comco.com) - - * nice.c (main): Accept options like `--5' (equivalent to `-n -5') - instead of letting getopt give an `unrecognized option' error. - - * long-options.c: Require another argument: version_string. - Don't include "version.h" or "system.h". - * basename.c, dirname.c, echo.c, expr.c, hostname.c, printf.c, - pwd.c, stty.c, test.c, yes.c: Adjust callers of parse_long_options - accordingly. - -Thu Jun 02 14:11:31 1994 Jim Meyering (meyering@comco.com) - - * stty.c (main): Set max_col and current_col before running - display_window_size. Otherwise, `stty size' output a spurious - newline. From Bauke Jan Douma (bjdouma@xs4all.hacktic.nl). - -Mon May 30 09:33:53 1994 Jim Meyering (meyering@comco.com) - - * test.c (test_syntax_error, beyond): Add __attribute__ ((noreturn)) - so gcc will know enough not to give warnings. - -Sun May 29 17:40:21 1994 Jim Meyering (meyering@comco.com) - - * long-options.c: Move from src/ to lib/. - * long-options.h: Ditto. - * src/Makefile.in: Remove references to long-options.[ch]. - * lib/Makefile.in (SOURCES, OBJECTS): Add long-options.[co]. - -Fri May 27 18:20:18 1994 Jim Meyering (meyering@comco.com) - - * stty.c [VFLUSH && !VFLUSHO]: Define VFLUSH0. - Ultrix's termios.h defines VFLUSH, but not VFLUSHO. - From Kjetil Torgrim Homme . - -Thu May 26 08:46:32 1994 Jim Meyering (meyering@comco.com) - - * configure.in [INSTALL]: Revert change of March 8. autoconf - has fixed this. - -Thu May 19 01:10:20 1994 Jim Meyering (meyering@comco.com) - - * Version 1.10. - - * lib/Makefile.in (DISTFILES): Add getdate.c and posixtm.c. - - * src/Makefile.in (users.c): Use cp if hard link fails. - From Ian Lance Taylor. - - * Makefile.in (dist): Change package name from shellutils to sh-utils. - That allows a hyphen and 5-character version number without exceeding - the 14-character limit on file name length. shellutils-1.10 would - have been too long. - * version.c: Update package name. - - * hostname.c: Include before "system.h". - From Kaveh Ghazi and Karl Berry. - - * hostname.c (sethostname) [!HAVE_SETHOSTNAME && HAVE_SYSINFO && - HAVE_SYS_SYSTEMINFO_H && HAVE_LIMITS_H]: New function. SVR4 systems - prefer sysinfo over sethostname. - * configure.in (AC_HAVE_FUNCS): Add sysinfo. - (AC_HAVE_HEADERS): Add sys/systeminfo.h. - From Kaveh Ghazi. - -Fri May 13 09:45:23 1994 Jim Meyering (meyering@comco.com) - - * lib/xgethostname.c (xgethostname): Call xmalloc outside the loop. - Correct loop termination condition. - - * pwd.c: Include before "system.h". - From Kaveh Ghazi. - - * {lib,man,src}/Makefile.in (Makefile): Use ../config.status - instead of $(srcdir)/../config.status. The latter didn't work - for builddir != srcdir. From Kaveh Ghazi. - - * Makefile.in (Makefile): Remove dependencies on */Makefile.in. - Change the rule so running config.status creates only Makefile. - (stamp-config): Have config.status generate only config.h. - - * {lib,man,src}/Makefile.in (Makefile): Add single dependency on - Makefile.in and rule to make config.status create only Makefile. - - * hostname.c: New program. - * hostname.1: New file. - * Makefile.in (PROGS): Add hostname. - (SOURCES): Add hostname.c - * src/Makefile.in: Add rules and dependencies for hostname. - * configure.in (AC_HAVE_FUNCS): Add sethostname. - - * pathchk.c (validate_path) [lint]: Initialize a variable to - suppress `used before initialized' warning. - - * who.c: Correct gethostname prototype to indicate the function - returns int, not char. - -Sun May 01 08:38:18 1994 Jim Meyering (meyering@comco.com) - - * who.c: Add #ifdefs to build the `users' executable. - * src/Makefile.in: Add corresponding rules. - * Makefile.in (PROGS): Add users. - From Kaveh R. Ghazi . - * users.1: Document it. - -Thu Apr 28 00:45:02 1994 Jim Meyering (meyering@comco.com) - - * pwd.c: New program. - * pwd.1: New file. - * Makefile.in (PROGS): Add pwd. - * lib/Makefile.in: (DISTFILES): Add pathmax.h. - (SOURCES, OBJECTS): Add xgetcwd.c and xgetcwd.o respectively. - * src/Makefile.in: Add rules and dependencies for pwd. - - * yes.c: Don't include version.h. - -Mon Apr 18 19:54:24 1994 Jim Meyering (meyering@comco.com) - - * documentation: Change uses of `pathname' and `path' as per - GNU standards. - - * long-options.c (parse-long-options): Take a new argument, - command_name, for use in --version output. - * basename.c, dirname.c, echo.c, expr.c, printf.c, stty.c, test.c, - yes.c (main): Update callers. - -Wed Mar 30 08:53:21 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Use AC_SET_MAKE. - * Makefile.in: Edit MAKE assignments into @SET_MAKE@. - -Fri Mar 25 01:13:42 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Use AC_VERBOSE, AC_CHECKING, and AC_WARN instead - of explicit echo commands. - When checking for shadow password routines, make sure the function - getspnam is available before defining HAVE_SHADOW_H. - reported that shadow.h exists on some - linux system that did not have the function. - -Tue Mar 8 10:29:13 1994 Jim Meyering (meyering@comco.com) - - * configure.in [INSTALL]: When AC_PROG_INSTALL resorts to setting - this to `./install.sh', make it `../install.sh' instead since that - script will be invoked only from subdirectories. - [WINSIZE_IN_PTEM]: Check for this unconditionally, rather than - only when TIOCGWINSZ is not defined through termios.h. The old - method loses on SCO ODT 3.0 systems. - -Sat Feb 19 14:23:14 1994 Jim Meyering (meyering@comco.com) - - * Version 1.9.4. - - * stty.c (main): Use getopt_long_only with "ag" instead of - getopt_long with "". The latter incremented optind so the - -a and -g options weren't recognized. - - * Version 1.9.3. - -Tue Feb 15 18:28:28 1994 Jim Meyering (meyering@comco.com) - - * stty.c (main): Use getopt only to recognize long options. - Hand code the loop to detect -a, -g, -ag and -ga. Using getopt - to detect the short options loses (because we have to ignore - unrecognized options and we are allowing GNU getopt to permute) - because e.g. `-tabs' is interpreted as a group of options, one of - which is `-a'. Before, running `stty -tabs echo' gave this error: - stty: when specifying an output style, modes may not be set - Reported by Arne H. Juul. - -Sun Feb 13 13:34:25 1994 Jim Meyering (meyering@comco.com) - - * basename.1, dirname.1, stty.1: Reflect usage changes. - * basename.c, dirname.c, stty.c (usage): Ditto. - - * long-options.h (parse_long_options): Invoke usage function - argument with explicit dereference as per GNU coding standards. - - * basename.c dirname.c: Use parse_long_options instead of the - conventional getopt_long paradigm. Before, the commands - `basename file-dist -dist' and `basename -- file.c .c' produced - incorrect results. Now, even `basename -file-dist -dist' works - and the command `basename -- file.c .c' fails for the right - reason: the `--' is not a special (to getopt) token for these - commands. It is interpreted as the filename, so there are too - many arguments to basename. Rick Sladkey - reported the problem with basename. - - * stty.c (set_window_size): When stty fails to get the window size - (as happens on telnet sessions to Solaris systems), initialize all - fields of the winsize struct. Before, it was using the uninitialized - pixel fields of the struct in the ioctl to set window size parameters. - From Rick Sladkey. - - * stty.c (main): Use parse_long_options to handle --help and --version. - (main): In the remaining getopt_long loop, don't jump out of the - loop from the `default' branch of the switch statement. Doing that - left optind in an inconsistent when there were non-option arguments - preceding `reversed' arguments (e.g. stty echo -echoe) and the - preceding non-option arguments were ignored. Rick Sladkey reported - that stty was ignoring arguments. - - * stty.c (main): Fail with a diagnostic when both -g and -a are given. - (main): Fail with a diagnostic when either -g or -a is used with - arguments for setting modes. - -Fri Feb 11 19:39:37 1994 Jim Meyering (meyering@comco.com) - - * stty.c (get_win_size): Don't use an ANSI-style function - definition. From Kaveh R. Ghazi . - -Thu Feb 10 01:22:37 1994 Jim Meyering (meyering@comco.com) - - * stty.c [CSWTCH] (__sparc__ && __svr4__): Define `swtch' to - _POSIX_VDISABLE by default. Otherwise, the default settings on - SunOS 5.3 (from /usr/include/sys/termios.h) have both `swtch' - and `susp' set to ^Z. Those default settings are not unusual. - What is unusual is that with such settings on SunOS 5.3, the tty - driver doesn't generate a signal for control-Z. Reported by - Brent Wiese . - - * stty.c (main) [CIBAUD]: Don't report an error on SunOS 4.1.x - systems if the only difference is in this nybble of c_cflag. - See the comments for the gory details. Thanks to - Erez "HWank1" Zadok for reporting this - and helping me reproduce it. - -Tue Feb 01 00:59:56 1994 Jim Meyering (meyering@comco.com) - - * stty.c (main): Call tcsetattr only if we've updated tty modes, - not e.g. if we've changed the window size. - - * Update Copyright dates in src/*. - -Fri Jan 28 11:02:21 1994 Jim Meyering (meyering@comco.com) - - * configure.in: Don't set LDFLAGS since linking now uses both - LDFLAGS and CFLAGS. - -Wed Jan 26 10:54:02 1994 Jim Meyering (meyering@comco.com) - - * stty.c (get_win_size): New function. Try getting size first - for the device on stdout. Try stdin only if that fails. Suggested - by Andreas Schwab . - (set_win_size): Call get_win_size instead of calling ioctl directly. - (display_window_size): Ditto. - (screen_columns): Ditto. - -Mon Jan 24 22:57:18 1994 Jim Meyering (meyering@comco.com) - - * stty.c (set_window_size): Work around SunOS 4.x kernel bug that - makes `stty rows 34 cols 80;stty rows 0;stty cols 0' incorrectly - set rows to 80 and columns to 0. Sun's stty has this problem, too. - The kernel bug is fixed in Solaris 2. Mostly from Alexander Dupuy - . - - * src/Makefile.in: Use both LDFLAGS and CFLAGS when linking. - * man/Makefile.in: Use binprefix as the default manprefix. - - * nohup.sh: Redirect usage message to stderr. - From Andreas Schwab . - -Thu Jan 13 17:27:38 1994 Jim Meyering (meyering@comco.com) - - * src/Makefile.in: Change all link commands to use both $(CFLAGS) - and $(LDFLAGS). - -Mon Jan 10 01:20:38 1994 Jim Meyering (meyering@comco.com) - - * man/Makefile.in (manprefix): Use binprefix as the default. - -Thu Jan 06 18:19:06 1994 Jim Meyering (meyering@comco.com) - - * who.c (print_entry): Prepend `/dev/' only if ut_line is not - already an absolute filename. Just to be safe. - -Fri Dec 31 00:22:59 1993 Jim Meyering (meyering@comco.com) - - * date.c (usage): Reorder listing of % formats in `sort -f' order. - -Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com) - - * install.sh: New file. - Makefile.in [DISTFILES]: Add it. - - * who.c (read_utmp): Use stdio functions instead of open/read/close - to avoid having to handle POSIX read's -1/errno=EINTR failure case. - - * tee.c (tee): A POSIX implementation of the read system call - may return -1 and set errno to EINTR when it is interrupted. - Retry instead of failing with an error. - (tee): Don't use xwrite. Use full_write instead and include the - losing file name in the message reporting a write failure. - Don't treat standard output as a special case, so a failed write - to stdout doesn't exit immediately. - - * date.c (usage): Note that for %w, 0 corresponds to Sunday. - -Sat Dec 25 23:15:58 1993 Jim Meyering (meyering@comco.com) - - * who.c (main): Don't chdir ("/dev") for the stat in print_entry. - (print_entry): Instead of stat'ing the /dev-relative path, ut_line, - stat the absolute path with "/dev/" prefix. From David MacKenzie. - -Wed Dec 22 00:53:51 1993 Jim Meyering (meyering@comco.com) - - * expr.c (toarith): Interpret the empty string as just that - rather than as the integer zero. - Before, `expr "" == 0' output 1. Now it prints 0. - - * configure.in (AC_HAVE_HEADERS): Check for float.h for strtod.c. - - * configure.in (check for TIOCGWINSZ): Don't look in sys/ioctl.h - or sys/ptem.h if we've already found it in termios.h. This - eliminates redefinition warnings from including both termios.h - and sys/ioctl.h on sytems running SunOS. From Matthew Seaman - (matthew@dyson.ox.ac.uk). - - * date.1: Document new %s format and old `-' and `_' numeric field - modifiers. - - * memcmp.c: Use the latest version from GNU C library. - -Mon Dec 20 23:29:30 1993 Jim Meyering (meyering@comco.com) - - * configure.in [test for 8-bit clean memcmp]: Add a test to detect - losing memcmp from SunOS4.1.x. From Robert H. de Vries - . - -Sat Dec 18 01:12:24 1993 Jim Meyering (meyering@comco.com) - - * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg - so it goes in config.status. This eliminates unnecessary second run - of configure. - -Fri Dec 10 01:06:28 1993 Jim Meyering (meyering@comco.com) - - * stty.c (screen_columns): Instead of dying just because Solaris' - `ioctl (0, TIOCGWINSZ' fails (strangely only for telnet sessions, - not rlogin sessions), ignore its errno == EINVAL and try to get - the number of columns another way. - - * stty.c (set_window_size): If ioctl to get window size fails, - (as on telnet sessions to Solaris 2.[12] systems) try to set the - requested fields anyway, setting to zero any unspecified fields. - This is what Sun's /bin/stty appears to do. - * (display_window_size): Don't display anything for the number - of rows and columns if the ioctl call intended to get them fails. - -Tue Nov 30 23:58:54 1993 Jim Meyering (meyering@comco.com) - - * Version 1.9.2. - -Mon Nov 29 00:28:35 1993 Jim Meyering (meyering@comco.com) - - * stty.c, configure.in, acconfig.h: Revert change of Nov 26. - I am no longer able to reproduce the behavior that prompted - that patch -- but I had tested only using an old version of gcc. - When building with a more recent version of gcc or with /bin/cc - there is no problem. - -Sat Nov 27 15:11:21 1993 Jim Meyering (meyering@comco.com) - - * nice.c (main): If an adjustment is specified, but no command is - given, give a diagnostic in addition to the usage message. - (isinteger): Accept a leading `+'. - -Fri Nov 26 18:49:42 1993 Jim Meyering (meyering@comco.com) - - * stty.c [GWINSZ_BROKEN]: Define TIOCGWINSZ to TCGETS for Solaris-2.2. - On that system, ioctl (0, TIOCGWINSZ, &win) always fails, but using - TCGETS works. Reported by Francois Pinard. - - * configure.in [GWINSZ_BROKEN]: New test to detect Solaris' inability - to get window size from ioctl using TIOCGWINSZ. - * acconfig.h [GWINSZ_BROKEN]: Add an #undef. - -Mon Nov 22 23:40:21 1993 Jim Meyering (meyering@comco.com) - - * who.c [defined (UTMPX_FILE)]: (undef and) define UTMP_FILE to - this value even if UTMP_FILE is already defined. Because some - systems define both symbols. From Arne H. Juul. - * [MESG_BIT]: Rename to S_IWGRP (from sys/stat.h>) and define only - if not already defined. - -Fri Nov 19 23:08:03 1993 Jim Meyering (meyering@comco.com) - - * who.c (print_entry): Produce reasonably formatted output even when - sizeof (this->ut_name,ut_line) are much larger than 8. For Solaris - and other SysVr4. With help from Arne H. Juul. - * configure.in (HAVE_UTMPX_H): New test; combined with test for the - ut_host field. From Arne H. Juul. - - * memcmp.c: New file. - * lib/Makefile.in [SOURCES]: Add memcmp.c. - * configure.in (AC_REPLACE_FUNCS): Add memcmp. - Add test for 8-bit clean memcmp. - - * configure.in (AC_HAVE_FUNCS): Add isascii. - * expr.c [!defined (isascii) || defined (STDC_HEADERS)]: This failed - on AIX PS/2 1.3 systems because isascii is a function and it is used - in definitions (with the necessary side effect of assigning to a - global variable) of the is* macros. Also test HAVE_ISASCII and - redefine ISASCII(c) instead of isascii. - Reported by Minh Tran-Le (tranle@intellicorp.com). - * printf.c: Ditto. - - * configure.in (AC_HAVE_HEADERS): Add sys/timeb.h; getdate.y tests - HAVE_SYS_TIMEB_H. - - * stty.c (main): Detect the case in which POSIX-conformant tcsetattr - fails and still returns zero. - -Wed Nov 17 21:05:10 1993 Jim Meyering (meyering@comco.com) - - * yes.c (main): Complete my half-finished Nov 2 change. - yes with arguments did not print newlines. From Andreas Schwab - (ls5.informatik.uni-dortmund.de). - - * stty.c (wrapf): Fix off-by-one error that could make `stty -a' - output lines one character too long. From Andreas Schwab. - -Sat Nov 13 00:11:19 1993 Jim Meyering (meyering@comco.com) - - * Version 1.9.1. - - * configure.in [LIBS]: Add -lbsd if that is necessary to get the - syslog function. With help from Kaveh Ghazi. - - * configure.in [LIBS]: Reorganize/unify the code that adds libraries - solely to resolve syslog. Add a library only if it is required to - resolve the syslog reference. - - * configure.in [AC_HAVE_HEADERS]: Check for sys/timeb.h. - getdate.y needs to know. - [LIBS]: Check for initgroups in -los. This is required by SCO-ODT-3.0 - when linking su. - [LIBS]: Check -lufc for crypt. - Reported by Steven W Orr (steveo@world.std.com). - -Thu Nov 11 23:55:48 1993 Jim Meyering (meyering@comco.com) - - * id.c [NGROUPS_MAX]: Undefine before redefining. - From Kaveh R. Ghazi (ghazi@noc.rutgers.edu). - - * who.c (list_entries): Trim any trailing blanks from ut_name - and make sure the string is NUL-terminated before printing it. - Before, `who -q' displayed 8-character names with a tty - (e.g. `q1') suffix. - - * stty.c [CFLUSHO]: Move this definition so it follows the - one for VFLUSHO. - -Mon Nov 08 23:16:36 1993 Jim Meyering (meyering@comco.com) - - * Version 1.9. - - * su.c (correct_password): Report an error and fail if getpass - returns NULL. - -Tue Nov 02 01:14:21 1993 Jim Meyering (meyering@comco.com) - - * acconfig.h: Add comments. - - * printenv.c (main): Exit with status == 2 for file error. - - * yes.c (main): Restore argv/optind handling -- now that - parse_long_options doesn't change optind. - -Mon Oct 25 19:22:58 1993 Jim Meyering (meyering@comco.com) - - * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, id.c, - logname.c, nice.c, pathchk.c, printenv.c, printf.c, sleep.c, - stty.c, su.c, tee.c, test.c, tty.c, uname.c, who.c, whoami.c, - yes.c: Use the preferred `--longopt=arg' syntax in --help message - rather than `--longopt arg'. From Francois Pinard. - - * stty.c (main, integer_arg): Don't just call error(1,... about - improper usage. Call `error (0,...' then usage (1). - -Sun Oct 24 14:10:23 1993 Jim Meyering (meyering@comco.com) - - * test.c [member]: Don't try to cast index return value to an int. - That can lose on systems with 64-bit pointers. - - * long-options.c: Save and restore optind, too. - * long-options.h: New file. - * long-options.c, echo.c, expr.c, printf.c, test.c, yes.c: - Include it instead of duplicating dcls. - * src/Makefile.in: Add dependencies for it. - -Tue Oct 19 00:26:27 1993 Jim Meyering (meyering@comco.com) - - * expr.c [!__STDC__]: Don't define away `const'. configure alone - decides whether to do that. From Francois Pinard. - -Sat Oct 16 22:32:54 1993 Jim Meyering (meyering@comco.com) - - * whoami.c (main): Cast printf arg UID so it matches the type - expected by %u format no matter how uid_t is defined. - - * stty.c: Accept `status' option and VDISCARD as an alias for - VFLUSHO. From Arne H. Juul (arnej@imf.unit.no). - - * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, - false.sh, groups.sh, id.c, logname.c, long-options.c, nice.c, - nohup.sh, pathchk.c, printenv.c, printf.c, sleep.c, stty.c, - su.c, tee.c, test.c, true.sh, tty.c, uname.c, who.c, whoami.c, - yes.c: Using --help gets long well- formatted help. Now --help - writes to stdout and exits successfully. From Francois Pinard - . - -Wed Oct 13 13:10:27 1993 Jim Meyering (meyering@comco.com) - - * long-options.c: Include sys/types before system.h. - From Franc,ois Pinard (pinard@iro.umontreal.ca). - -Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com) - - * stime.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include - or "config.h". - - * src/Makefile.in [clean]: Also delete '['. - -Sun Oct 10 14:05:23 1993 Jim Meyering meyering@comco.com - - * false.sh, groups.sh, nohup.sh, true.sh: Add --help and --version. - * src/Makefile.in (false, groups, nohup, true): Substitute the string - from version.c for @VERSION@ in *.sh. - -Sat Oct 9 23:12:53 1993 Jim Meyering meyering@comco.com - - * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS. - -Tue Oct 5 22:18:05 1993 Jim Meyering meyering@comco.com - - * tty.c (main): Detect write error. Use isatty (rather than - testing whether ttyname() is NULL) to determine exit status - because ttyname may return NULL when stdin is a terminal device. - - * expr.c (eval7): Rewrite if-else-if-else... sequence to avoid a - spurious `function returns without a value' warning. - - * printenv.c (main), tty.c (main): Detect and report write errors. - - * echo.c, patchchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c, - tee.c, test.c, tty.c, uname.c, yes.c: Accept --help and --version - options. - - * long-options.c: New file. To let echo, expr, printf, test, and - yes accept --help and --version as unobtrusively as possible. - * src/Makefile.in [SORUCES]: Add it. - - * configure.in: Add AC_TIME_WITH_SYS_TIME and AC_STAT_MACROS_BROKEN. - - * nice.c (main) [NICE_PRIORITY]: When given an argument, don't - try to get current priority. nice() requires only the delta; - we don't need to compute the absolute priority as for setpriority. - -Mon Oct 04 22:15:07 1993 Jim Meyering (meyering@comco.com) - - * who.c (print_entry, print_heading, who_am_i): - Cast printf field width arguments to int to avoid warnings. - (idle_string): Cast idle seconds and minutes to int. - Declare functions read_utmp and idle_string to be static. - Don't declare ttyname as static. - - * echo.c (just_echo): Use putchar instead of printf. - - * expr.c (parse_long_options): New function. - (main): Use it to handle --version and --help properly. - - * tee.c (main): Put entire #ifdef inside if-braces to make structure - clearer. - (main, tee): Compare close() != 0 rather than close () == -1. - - * pathchk.c (portable_chars_only, dir_ok): Make a couple variables - const. - -Wed Sep 08 00:07:36 1993 Jim Meyering (meyering@comco.com) - - * test.c [advance, unary_advance]: Rewrite using do{...}while(0) - paradigm instead of comma expressions that make Alpha OSFv1.3 - C compiler segfault. - - * basename.c, date.c, dirname.c, env.c, id.c, logname.c, nice.c: - Add --help and --version options. - -Sat Jul 24 08:52:18 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Check for -lshadow. Linux needs it when using shadow - passwords. Reported by Mattias Olofsson . - -Thu May 27 20:05:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in (c_line test): Add missing `fi'. - -Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com) - - * mkinstalldirs: New file. - * Makefile.in (installdirs): Use it. - -Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com) - - * Makefile.in (installdirs): New rules for creating installation - directories. (install): depend on it. - -Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Add AC_GETGROUPS_T. - * id.c, test.c: Don't define GETGROUPS_T. Now configure does it. - -Sun May 2 00:21:05 1993 Jim Meyering (meyering@comco.com) - - * expr.c (eval6): Terminate result with a zero byte. - The command `expr substr xx 1 2' would fail on systems with - tight malloc. From Steve James . - - * expr.c (null): Recognize the string `0' as zero. - (divide, mod): Upon request to divide by zero, give an error - message instead of dumping core. - From J.T. Conklin . - - * configure.in: Check for sys/time.h; getdate.y needs it for - structs timeval and timezone on some systems. - * Check for gettimeofday and for `struct tm'. - * Add existence tests for memcpy and bcopy. - - * configure.in: Find a parser generator. - - * putenv.c: Include stdlib.h only if __GNU_LIBRARY__ is defined. - Many vendor-supplied have a declaration of putenv that - conflicts with ours. - -Tue Apr 20 02:33:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) - - * stty.c: Use GWINSZ_IN_SYS_IOCTL, not _AIX, to determine - whether sys/ioctl.h is needed to support `stty size'. - -Thu Apr 1 18:03:47 1993 Jim Meyering (meyering@comco.com) - - * printf.c, expr.c [isascii]: Undefine before redefining. - -Sun Mar 28 00:07:45 1993 Jim Meyering (meyering@comco.com) - - * stty.c: Accept `flush' option. From Arne H. Juul arnej@lise.unit.no - * system.h: Don't define r?index, bcopy... if they're already defined. - -Thu Mar 25 22:41:01 1993 Jim Meyering (meyering@comco.com) - - * configure.in: Add AC_IRIX_SUN to get -lsun because - Irix-4.0.5's libc.a doesn't have yp/NIS entrypoints. - From Kjetil Wiekhorst J|rgensen . - -Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com) - - * date.c: Add long-named options. - -Sun Dec 6 23:17:09 1992 Jim Meyering (meyering@comco.com) - - * date.c: Remove unused definition of isdigit. - * expr.c (toarith): Change single use of isdigit to ISDIGIT. - * printf.c (print_formatted, print_esc): Define ISDIGIT and - ISXDIGIT and use them instead of isdigit and isxdigit. - -Wed Dec 2 12:49:11 1992 Jim Meyering (meyering@comco.com) - - * env.c, id.c, nice.c, pathchk.c, stty.c, su.c, tee.c, tty.c, - uname.c, who.c: Convert static declarations of struct option - to use new macros from getopt.h: no_argument, required_argument, - and optional_argument. - -Tue Nov 24 09:46:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * echo.c: Use V9_DEFAULT instead of USG. Define it always. - - * system.h: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG. - -Wed Nov 11 18:19:10 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu) - - * All files in src: Make all functions and extern variables static. - Make all longopts arrays const as well as static. - Make a couple statically initialized aggregates `const.' - - * pathchk.c (portable_chars_only): Cast char used as array index. - - * echo.c (main), su.c (restricted_shell): Add parentheses to - assignment statements used in boolean context. - - * stty.c (set_mode): Parenthesize expressions with bit operations - to correctly set/reset modes bits. - -Wed Oct 28 14:16:48 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) - - * Version 1.8. - - * stty.c: Accept Irix VRPRNT for VREPRINT. - From Jim Meyering. - - * stty.c: Fix some type mismatches. From Bruce Evans, bde@runx.oz.au. - - * who.c (read_utmp): Close file on error. - From Bruce Evans. - - * su.c, test.c: Add some decls. From Bruce Evans. - - * sleep.c (main): Arg to sleep is unsigned, not long. - From Bruce Evans. - -Fri Sep 11 00:25:52 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * echo.c, echo.1: New files. - -Thu Sep 10 18:42:44 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * pathchk.c (main): Don't strip trailing slashes from args; - they might make a path invalid. - (portable_chars_only, dir_ok): New functions. - (validate_path): Renamed from validate_new_path. - Call them. Don't complain if a leading - dir doesn't exist. Don't replace `parent' with a dir that - doesn't exist. Don't print a message when falling back - from pathconf to constant values. - - * who.c [!UTMP_FILE]: If _PATH_UTMP is defined, use it instead - of /etc/utmp. From Marc Boucher . - -Tue Aug 25 17:02:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * Version 1.7. - - * groups.sh, nohup.sh: Add $(bindir) to front of path. - -Mon Aug 24 16:39:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * stty.c: make sane value for "min" 1, not 0. - From haible@ma2s2.mathematik.uni-karlsruhe.de (Bruno Haible). - -Sun Aug 23 03:02:07 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * id.c, test.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun. - -Sat Aug 22 03:16:41 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * test.c: Rename STANDALONE to TEST_STANDALONE to avoid IBM RT - ACIS sys/param.h conflict. - - * su.c (correct_password) [HAVE_SHADOW_H]: Try to get the - encrypted correct password from the shadow password file. - -Fri Jul 17 15:25:01 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * su.c, getusershell.c: New files. - -Fri Jul 3 15:08:43 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) - - * stty.c, who.c: Change FOO_MISSING to HAVE_FOO. - -Fri Jun 5 01:49:29 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * strcspn.c: New file. - - * expr.c: Misc. cleanups. - - * expr.c (eval7): Renamed from eval6. - Give syntax error if no more args. Don't coerce all values to numbers. - (eval6): New function. - (eval5): Accept == as a synonym for =. - (eval2): Coerce values to numbers for comparisons. - Above all from Dana Jacobsen (jacobsd@prism.cs.orst.edu). - -Thu Jun 4 19:32:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * printf.c (print_formatted): Move main loop into new function. - (main): Add an outer loop to use the format multiple times. - (verify): Don't reject a completely empty string. - Check errno (for overflow). - - * false.sh, true.sh: New programs. Oh, boy. - -Thu May 14 01:17:22 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * stty.c (set_mode): Support crt and dec modes partially if - necessary, so they work on, for example, Ultrix . . . . - -Wed May 13 14:47:45 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * stty.c (set_mode): Swap nl and -nl. Have them also affect - output as well as input. - -Tue May 12 00:07:28 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * date.c (show_date): Use strftime for the whole conversion. - -Tue May 5 15:20:24 1992 David J. MacKenzie (djm@hal) - - * stty.c (wrapf): Print the formatted buffer; don't redo the - formatting using vprintf. - -Thu Apr 30 01:17:08 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) - - * printf.c (xstrtol, xstrtoul, xstrtod, verify): New functions. - (main, print_direc): Use them. Make error messages more specific. - - * tee.c (tee): Only malloc and free the table of file descriptors - if >0 files are given. - -Fri Apr 17 11:56:48 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * pathchk.c (validate_new_path): Print the name of the component that - failed the length test, not the whole path. - From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de). - -Mon Apr 6 15:11:36 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) - - * who.c (read_utmp): Check close return for error. - (print_heading): Align columns based on sizes of utmp members. - (who_am_i): Skip past /dev/ instead of skipping leading path. - -Mon Mar 16 23:47:03 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu) - - * date.c (show_date): Don't call strftime if FORMAT is the - empty string. - - * date.c (main): Reorganize to reduce duplicated code. - Add -d option. - (usage): Document -d. - (set_date): Function removed. - -Tue Feb 11 16:12:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * printf.c (print_esc): When a numeric escape is given, - don't call print_esc_char, and return 1 less. - From Thorston Ohl. - -Mon Jan 20 02:17:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 1.6. - - * test.c: HAVE_MULTIPLE_GROUPS -> HAVE_GETGROUPS, for bash 1.11. - -Fri Jan 17 15:46:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * expr.c (docolon): Use re_nsub to find the number of - subexpressions . . . From Karl Berry, who knows. - -Wed Dec 25 23:27:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * expr.c (docolon): Use the new way (re_regs.num_regs > 0) to find - out if there were any subexpressions, instead of the old way - (re_regs.start[1] >= 0), which can cause random memory - accesses with regex 0.1. From Brian Matthews. - -Tue Dec 24 02:12:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * system.h, id.c, pathchk.c, tee.c: Change POSIX ifdefs to - HAVE_UNISTD_H and _POSIX_VERSION. - -Wed Dec 11 13:15:09 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 1.5. - - * expr.c (main): Set obscure_syntax to tell re_match to - allocate memory for the group registers. - -Mon Dec 9 16:03:14 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu) - - * who.c (list_entries): Check type == USER_PROCESS if defined, for SysV. - -Sat Dec 7 00:32:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 1.4. - - * env, id, nice, pathchk, stty, tee, tty, uname: Change usage - messages and documentation to list long-named options starting - with `--' rather than `+'. - - * env.c (main), nice.c (main): Simplify test for which exit - status to use if exec fails. - -Fri Dec 6 23:49:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * tee.c (main) [POSIX]: Use sigaction instead of signal, which - POSIX doesn't have. - -Fri Oct 18 00:31:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * test.c (two_arguments): Fix from Chet. - - * expr.c: Include regex.h after sys/types.h, not before, so - size_t gets defined. - - * test.c: New version, adapted from bash 1.10. - - * id.c: GID_T -> GETGROUPS_T, for clarity. - -Sat Oct 12 14:38:34 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * configure: Define uid_t and gid_t as int if they're not - defined in sys/types.h. That's probably right for old Unixes - and avoids trying to find the C preprocessor. - -Sat Sep 28 13:01:23 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * stty.c (set_mode): Make `raw' and `cooked' not change parity - and character size, which would probably make them useless on - 7-bit lines. - Make `raw' set the `time' character to 0, not 1. - From Bruce Evans. - - * nohup.sh: If creating nohup.out, give it mode 0600, for POSIX. - -Fri Sep 13 14:59:51 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * id.c [POSIX]: Always use sysconf to get NGROUPS_MAX. - -Thu Aug 29 14:43:07 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * test.c: Don't include sys/file.h if POSIX. - Use gid_t for getgroups. - - * stty.c (set_mode): Use CEOF and CEOL instead of hardcoding them. - (display_speed): Fix a printf string type mismatch. - From Bruce Evans. - -Mon Aug 26 16:52:51 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu) - - * configure, src/Makefile.in, lib/Makefile.in: Only put $< in - Makefiles if VPATH is being used, because older makes don't - understand it. - -Mon Aug 19 01:57:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 1.3. - -Sat Aug 17 22:48:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * src/Makefile.in (install): Install a link to test called '['. - -Wed Aug 14 12:22:57 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * test.c (unary_operator): Check first char of string, not its address. - -Sun Aug 11 18:10:30 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 1.2. - - * system.h: Define S_IFMT if needed, for test.c. - - * test.c: New file, from bash. - - * nice.c: Change +priority to +adjustment (more accurate). - -Sat Aug 10 13:09:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * stty.c [WINSIZE_IN_PTEM]: sys/ptem.h requires sys/stream.h. - - * nice.c, configure: Use nice if available and setpriority is missing. - -Thu Aug 8 01:34:05 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * date.c: USG needs TZ=GMT0 for UCT timezone, also. - - * stty.c: Add pass8 and litout modes. - -Sun Aug 4 22:45:51 1991 David J. MacKenzie (djm at wheat-chex) - - * Version 1.1. - -Fri Aug 2 13:22:31 1991 David J. MacKenzie (djm at apple-gunkies) - - * configure: Implement +srcdir. Don't check for bison. - - * stty.c: Don't change ixon in "sane" mode. - - * configure: Use 1 instead of 255 for checking tzname, - because of signedness. - -Thu Aug 1 13:40:58 1991 David J. MacKenzie (djm at apple-gunkies) - - * printenv.c (main): Don't print the variable names when given - args, as people seem to use printenv in scripts after all . . . . - - * stty.c: Don't change parity or character size settings in - "sane" mode. The right values for those depend on the hardware. - -Wed Jul 31 01:19:01 1991 David J. MacKenzie (djm at hal) - - * stty.c [_AIX]: Include sys/ioctl.h -- needed on - AIX to get window size. - -Tue Jul 30 00:06:54 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * getdate.y: New file. - * date.c: Add -s option to set date in English. - * configure: Check for ftime. - - * date.c: Remove COMPUTE_TM_ZONE code, which didn't work. - * configure: Instead of checking whether tzname is declared, - check whether it exists. - - * logname.c (main): Go back to just printing an error message - if getlogin fails, as required by POSIX. - - * stty.c (screen_columns, wrapf): New functions to implement - output wrapping. - Globally: use them. - - * configure: Define uid_t and gid_t if sys/types.h doesn't. - * system.h: Define F_OK et al. if nothing else does. - -Mon Jul 29 21:11:16 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu) - - * pathchk.c (validate_new_path): Rearrange tests so that - pathconf is only called on existing directories. Use access - instead of stat to determine directory searchability. - From Jim Meyering. - - * stty.c, configure: Add WINSIZE_IN_PTEM and GWINSZ_BROKEN for SCO. - -Wed Jul 24 02:13:31 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * stty.c (sane_mode): Always set control chars to sane values. - Set min and time if they're different from eof and eol. - - * whoami.c: Print UID as unsigned. - * logname.c: Do "whoami" if getlogin fails. - - * logname.c (main): fprintf was missing an arg. - -Tue Jul 23 02:20:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * id.c: GID_T is int if ultrix as well as if sun. - - * stty.c: Implement raw and cooked modes. - -Mon Jul 22 15:21:21 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * tee.c (main): close stdin and stdout to check for errors. - - * stty.c: Use tcflag_t for termios bitmasks. - Use speed_t for speeds. Use unsigned long for baud rates to - accommodate large values, and support 57600 and 115200 if available. - - * date.c, configure: Instead of SIZE_T_MISSING, - define size_t if it's missing. - - * id.c, whoami.c: Use uid_t and gid_t. - - * id.c: If POSIX and not sun (bogus!), pass getgroups and - getugroups an array of gid_t instead of int. - - * system.h: New file. - * Most programs: include it. - -Fri Jul 19 12:04:58 1991 David J. MacKenzie (djm at apple-gunkies) - - * env.c [!STDC_HEADERS]: Declare errno. - * printf.c, pathchk.c: Don't include errno.h; not needed. - - * version.c: New file. - * All C programs: Link with it, to get version number in the - binary where at least `strings -' and grep can find it. - - * pathchk.c (strip_trailing_slashes): Function removed; use - version in lib. - -Mon Jul 15 11:34:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * Version 1.0. - - * pathchk.c: Always check whether _POSIX_PATH_MAX and - _POSIX_NAME_MAX need to be defined. - [POSIX]: If no PATH_MAX or NAME_MAX and pathconf for the path - returns -1 (some systems do this if the path does not exist), - use pathconf for "/". - -Sun Jul 14 21:17:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * date.c (date_seconds): Function removed, replaced with - posixtm.y in lib. - (set_date): Change caller. - * configure: Check for bison. - - * stty.c [!C_LINE_MISSING]: Add support for setting and - printing the line discipline. - * configure: Check for C_LINE_MISSING. - - * configure: Check for Minix. - -Sat Jul 13 01:33:59 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * Add `man' directory and manual pages. - * configure: Set INSTALLDATA and MAN. - - * id.c: Add #ifdefs for POSIX ways of getting max groups list size. - (print_group_list, print_full_info): Allocate list of groups - with malloc since its size might not be constant. - - * nice.c (main): Don't adjust priority if printing it. - Default adjustment of 10, not 0. - - * printf.c: Add \c escape and %b conversion. - Implement '*' for field width and precision. - Make all errors fatal. - (print_esc_string, print_esc): New functions. - - * configure, date.c: Change SYS_TIME_H to TM_IN_SYS_TIME. - * configure: Always check where to find struct tm. - - * yes.c: Rewrite to accept multiple arguments. - - * Add groups.sh. - -Fri Jul 12 10:57:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) - - * dirname.c: Move code from dirname function into main, - simplifying things quite a bit. From Jim Meyering. - * Omit strdup from lib; no longer used. - * configure: Don't check for strdup. - - * printenv.c (main): If args given, print the values in the order - given on the command line rather than the order given in the - environment. - - * tee.c, tty.c (struct longopts): Revise to make short-option - equivalents clear. - -Thu Jul 11 12:46:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * nice.c: Add long options. - - * Add date command and libraries it needs. - * configure: Updated. - - * env.c: Add long options. Use GNU putenv instead of custom - setenv function. - - * id.c: Add long options. - - * pathchk.c [POSIX]: Use pathconf if necessary to get NAME_MAX - and PATH_MAX. - - * nice.c: Use exit status required for nohup by POSIX.2 - (nohup execs nice). - - * sleep.c: Don't bother with hex and octal. - - * env.c: Fix exit status for POSIX.2 draft 11.1. - - * Many files: Remove private copies of xmalloc, error, xstrdup, - etc. to use shared versions. - Fix #includes for USG, STDC_HEADERS, POSIX. - -Mon Jul 8 18:56:24 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) - - * date.c (main): For -u, set TZ to "" instead of "GMT0", - unless on HP-UX or Ultrix. - - * Rename some feature-test macros. - * stime.c: Created from code in date.c. - * date.c (compute_tm_zone): New function. - (date_seconds, show_date): Use it. - (xmalloc, xrealloc): Functions removed; use xmalloc.c instead. - -Tue Jul 2 02:28:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) - - * tee.c (tee): Report errors in closing files. - -Mon Mar 18 10:13:59 1991 Jeffrey A. Law (law at geech.ai.mit.edu) - - * date.c (date_seconds, show_date): #if COMPUTE_TMZONE then - compute the proper value to place in tm->tm_zone from - information returned by localtime and gettimeofday. - -Fri Apr 26 11:38:09 1991 David J. MacKenzie (djm at mole.gnu.ai.mit.edu) - - * stty.c: Define default values for control chars if necessary. - Complain about invalid options if no other options follow. - Use POSIX functions instead of ioctl, for manipulating termios. - - * expr.c (main): Exit status was backwards. - -Thu Dec 20 00:36:01 1990 David J. MacKenzie (djm at apple-gunkies) - - * id.c: Reorganization and many changes to fix bugs and POSIX - compliance problems. - -Mon Dec 10 03:09:13 1990 David J. MacKenzie (djm at apple-gunkies) - - * stty.c: Don't declare printf and some other functions that - might have variable numbers of args in system header file decls. - -Tue Nov 14 23:37:22 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * id.c (print_groups): Put spaces after commas. - (print_group): New fn, to print a group id. Uses numeric fmt - unless -n, in which case it uses group names. - (print_groups): Call it. Find the rgid and egid, and print them as - well as the supplementary groups. Make sure we print each group only - once. - -Sun Sep 16 01:49:14 1990 David J. MacKenzie (djm at apple-gunkies) - - * id.c (main): Add -G option for POSIX.2 draft 10. - Allow a username to be given. - (print_groups): New function from code in main. - (getugroups): New function. - -Sun Aug 12 00:32:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * env.c (main): Instead of setting _POSIX_OPTION_ORDER, - tell getopt to not permute, with `+'. - -Sat Aug 11 01:32:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * expr.c: Use regex.c library instead of private regex routines. - - * nice.c (main): Add -n option for POSIX.2a. - (usage): New function. - -Fri Aug 10 23:58:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * who.c: Add -m, -i, -w options for POSIX.2a. - -Tue Aug 7 00:01:02 1990 David J. MacKenzie (djm at apple-gunkies) - - * expr.c: Use exit directly instead of longjmp on error. - Use argv[0] instead of hardcoded "expr" in messages. - Make some functions void. - -Sat Aug 4 21:19:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * env.c: Change exit statuses for POSIX draft 10. - -Wed Jul 4 04:32:51 1990 David J. MacKenzie (djm at apple-gunkies) - - * tee.c: Use error instead of perror_with_name and - out_of_memory. - -Wed Jun 20 02:39:49 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * date.c: Change -DSETTOD to -DSTIME_MISSING, -DSIZE_T to - -DSIZE_T_IN_TYPES, and -DSTDC_HDRS to -DSTDC_HEADERS. - Declare some more functions. Replace fatal, memory_out, and - nonfatal_perror with error. - -Mon Jun 18 00:16:52 1990 David J. MacKenzie (djm at apple-gunkies) - - * stty.c: Add some Unix compatibility modes. - -Sat Jun 16 21:05:59 1990 David J. MacKenzie (djm at apple-gunkies) - - * stty.c (display_changed, display_all): Print values of min - and time. - -Thu Jun 14 17:49:31 1990 David J. MacKenzie (djm at apple-gunkies) - - * stty.c: Implement tab, backspace, etc. delay args. - -Thu May 31 12:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * nohup.sh: Don't ignore SIGTERM. - If ./nohup.out is unwritable, try $HOME/nohup.out. - -Thu May 3 22:33:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * who.c: Use error instead of fatal and fatal_perror. - (print_headings): Print headings in all caps, like SYSV does. - (list_entries): New function for -q to make it like SYSV -q. - (valid_entries): Function removed. - -Mon Apr 2 01:27:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * id.c (main): Don't strip off leading path from program name. - Revise a couple of error messages. - - * whoami.c (main): Use geteuid, not getuid, for Unix compatibility. - -Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) - - * tee.c (main): Pass list of files and its size as args to tee - rather than as global vars. Exit with return value of tee - instead of always 0. - (tee): Use unbuffered I/O instead of stdio, for POSIX. - Return an error status. - (xwrite): New function. - -Tue Mar 13 00:38:13 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * who.c (who_am_i): Print heading before checking to see - whether there is an entry for the tty on stdin, for - consistency with the who function. - (main): Use argv[optind], not argv[1], as alternate file. - -Fri Mar 9 15:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * who.c: Rename UTMP to UTMP_FILE for compatibility with SysV - utmp.h. Include some additional header files. - (main): Recognize some options from SysVr3 who. Call usage. - Set new global var `program_name' from argv[0]. - (usage): New function. - (who): If -q given, only print count of users logged on. - (print_entry): New function to format an entry on the output; - make format more like that of the Unix who programs. - (print_heading): New function to print a line describing each - output field. - (who, who_am_i): Call print_entry and print_heading. - (valid_entries): New function to return count of nonempty - entries in utmp. - (search_entries): Compare with utmp tty field instead of - username field. Don't assume null termination in utmp field. - (who_am_i): Print the entry for the tty on stdin rather than - the first entry found for the uid. If hostname is not - available, use a null one instead of "". - Don't hardcode max hostname length. - (idle_string): New function to format idle time field. - (fatal, fatal_perror): Use program_name instead of hardcoded "who" - in error messages. - -Tue Mar 6 00:59:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) - - * printenv.c (main): Allow multiple variables to be specified. - (barf): Function removed. - -Sat Jan 20 18:41:48 1990 Jim Kingdon (kingdon at geech) - - * expr.c (nextarg): Do not pass *args to strcmp if NULL. - -Mon Dec 18 09:57:20 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) - - * printenv.c (main): Simplify error messages. - -Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) - - * expr.c: Indent to regularize spacing. - (cmpv, arithf): Change '#define foo (args)' to '#define foo(args)' - so they compile. - (docolon): Remove unused vars. - (multiply): Rename from times to avoid libc conflict. - (error): Include program name in message. - (xmalloc): Rename from Malloc. - (re_compiled): Rename from re_comp to avoid libc conflict. - - * basename.c: Fix some weird indentation. - (main): Print a clearer usage message. - Use a simpler method for removing suffix, if given. - (fatal): Function no longer used; removed. - - * sleep.c: (main): Rename `time' to `seconds'. Print usage - message if given no args. - Exit with status 0 instead of falling off end. - (error): Print to stderr, not stdout. - - * tee.c: (main): Use getopt_long instead of custom parser, - and adjust usage message. - Use list of filenames in argv rather than making a copy. - (tee): New function created from the second half of main. - Fix bug where it tried to fclose a loop index instead of a stream. - (xmalloc): Ok to return 0 if 0 bytes requested. - (xrealloc): Unused function removed. - - * whoami.c: Canonicalize usage message and fix error message. - - * who.c: Declare some functions. - (fatal_perror): New function for printing errors after system - calls. - Global: Use it when appropriate. - (xmalloc): Return char *, not int. - (read_utmp): Ok if utmp file is empty. - Include filename in error messages. - (scan_entries): Adjust columns to line up better, particularly - when there are users with 8 character long usernames logged in. - -Sat Oct 28 13:20:43 1989 David J. MacKenzie (djm at spiff) - - * uname.c: Added long options. - global: changed the word `part' to the word `element' - (more precise). - (program_name, long_options): New variables. - (main): Support long options. - (usage): Add long options summary to message. - - - ----- - - Copyright (C) 1989-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. - -Local Variables: -mode: indented-text -left-margin: 8 -version-control: never -End: diff --git a/old/sh-utils/NEWS b/old/sh-utils/NEWS deleted file mode 100644 index 83d0482f5..000000000 --- a/old/sh-utils/NEWS +++ /dev/null @@ -1,283 +0,0 @@ - [2.0.15] -* date no longer accepts e.g., September 31 in the MMDDhhmm syntax -* fix a bug in this package's .m4 files and in configure.ac - [2.0.14] -* nohup's behavior is changed as follows, to conform to POSIX 1003.1-2001: - - nohup no longer adjusts scheduling priority; use "nice" for that. - - nohup now redirects stderr to stdout, if stderr is not a terminal. - - nohup exit status is now 126 if command was found but not invoked, - 127 if nohup failed or if command was not found. - [2.0.13] -* uname and uptime work better on *BSD systems -* pathchk now exits nonzero for a path with a directory component - that specifies a non-directory - [2.0.12] -* kill: new program -* who accepts new options: --all (-a), --boot (-b), --dead (-d), --login, - --process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u). - The -u option now produces POSIX-specified results and is the same as - the long option `--users'. --idle is no longer the same as -u. -* The following changes apply on systems conforming to POSIX 1003.1-2001, - and are required by the new POSIX standard: - - `date -I' is no longer supported. Instead, use `date --iso-8601'. - - `nice -NUM' is no longer supported. Instead, use `nice -n NUM'. -* New 'uname' options -i or --hardware-platform, and -o or --operating-system. - 'uname -a' now outputs -i and -o information at the end. - New uname option --kernel-version is an alias for -v. - Uname option --release has been renamed to --kernel-release, - and --sysname has been renamed to --kernel-name; - the old options will work for a while, but are no longer documented. -* 'expr' now uses the LC_COLLATE locale for string comparison, as per POSIX. -* 'expr' now requires '+' rather than 'quote' to quote tokens; - this removes an incompatibility with POSIX. -* date -d 'last friday' would print a date/time that was one hour off - (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday) - when run such that the current time and the target date/time fall on - opposite sides of a daylight savings time transition. - This problem arose only with relative date strings like `last monday'. - It was not a problem with strings that include absolute dates. -* factor is twice as fast, for large numbers - [2.0.11] -* setting the date now works properly, even when using -u -* `date -f - < /dev/null' no longer dumps core -* some DOS/Windows portability changes - [2.0j] -* `date -d DATE' now parses certain relative DATEs correctly - [2.0i] -* fixed a bug introduced in 2.0h that made many programs fail with a - `write error' when invoked with the --version option - [2.0h] -* all programs fail when printing --help or --version output to a full device -* printf exits nonzero upon write failure -* yes now detects and terminates upon write failure -* date --rfc-822 now always emits day and month names from the `C' locale -* portability tweaks for Solaris8, Ultrix, and DOS - [2.0g] -* date now handles two-digit years with leading zeros correctly. -* printf interprets unicode, \uNNNN \UNNNNNNNN, on systems with the - required support; from Bruno Haible. -* stty's rprnt attribute now works on HPUX 10.20 -* seq's --equal-width option works more portably - [2.0f] -* fix build problems with ut_name vs. ut_user - [2.0e] -* stty: fix long-standing bug that caused test failures on at least HPUX - systems when COLUMNS was set to zero -* still more portability fixes -* unified lib/: now that directory and most of the configuration framework - is common between fileutils, textutils, and sh-utils - [2.0d] -* fix portability problem with sleep vs lib/strtod.c's requirement for -lm - [2.0c] -* fix portability problems with nanosleep.c and with the new code in sleep.c - [2.0b] -* Regenerate lib/Makefile.in so that nanosleep.c is distributed. - [2.0a] -* sleep accepts floating point arguments on command line -* sleep's clock continues counting down when sleep is suspended -* when a suspended sleep process is resumed, it continues sleeping if - there is any time remaining -* who once again prints whatever host information it has, even without --lookup -Changes in release 2.0 -* disable stty tests (otherwise they fail) when `make check' is run via rsh - [1.16m] -* false and true now ignore --help and --version when POSIXLY_CORRECT is set - [1.16l] -* false and true are now C programs rather than shell scripts - [1.16k] -* fix typos in my version of AC_SEARCH_LIBS. -* fix dates on config files so builders don't need autoconf/automake - [1.16j] -* work around problems with my use of AC_SEARCH_LIBS -* fix a bug in id - [1.16i] -* portability tweaks for lib/readutmp.[ch] and src/date.c - [1.16h] -* seq with no arguments now elicits a useful diagnostic rather than a segfault -* portability tweaks to work around utmpname differences -* who works on Solaris - [1.16g] -* factor now uses uintmax_t, so the largest number it can factor is now 2^64 - 1 - on systems with type `long long'. -* nohup no longer modifies the shell's search path -* `basename /' now prints `/', per the single unix spec -* `who --lookup' no longer erroneously reports `localhost' for IP addresses - for which it could not do a reverse lookup. -* `id user' wouldn't report a group id in some situations. Now it always does. - [1.16f] -* chroot now calls chdir ("/") after chroot. -* `date -s' now exits with nonzero status upon failure -* new autoconf tests detect bugs in vendor mktime from Irix-6.4 and SunOS4.1.4 - Your executables will be a little larger on such systems because you'll use - GNU's mktime function, but date will work more reliably. -* hostid: new program -* `yes --help' and `yes --version' print those strings when the POSIXLY_CORRECT - environment variable is set -* who no longer does DNS lookups by default -- the new option, --lookup (-l), - enables lookups - [1.16e] -* pinky: new lightweight finger-style program - [1.16d] -* the groups script now exits non-zero and doesn't print anything more - when `id' fails - [1.16c] -* date -u -d DATE now prints the correct date -* don't remove already-installed su unless it is possible to install the - new one setuid root. - [1.16b] - [1.16a] -* expr accepts new unary operator, quote. -* expr now returns 0 for failed matches where pattern contained e.g., `\\(' -* date -d DATE now works on Unicos systems -* add tests for factor and more for date. -* factor runs a lot faster for large 64-bit inputs -* date works with relative offsets involving the `next' keyword - -Changes in release 1.16 -* stty -tabs works properly -* add tests for date -* date --date "02/29/1996 - 1 year" now works properly - -Changes in release 1.15 -* nice works with very recently-changed GNU libc getopt -* fix several bugs in m4 macros used to create `configure' script -* id works on systems with disfunctional getgroups function -* uptime configure test detects /proc/uptime on Linux - -Changes in release 1.14 -* fix bug in getdate.y that broke date's --date=DATE option on systems - like SunOS4. -* expr treats unadorned ? and + as literals. To make expr treat them as - operators you have to use \? and \+. - -Changes in release 1.13 -* two patches for ISC -* Regenerate all Makefile.in using a patched version of automake-1.1l. - [1.12s] -* lots of little bug fixes -- see ChangeLog - [1.12r] -* uname --processor (-p) works on systems that have sysinfo and define - SI_ARCHITECTURE. -* stty works better on systems like i386-pc-isc3.0 -* date --date=DATE accepts dates like those in an RCS log listing, e.g., - `1992/11/01 05:44:34'. -* printf now warns if excess arguments are ignored. -* tee no longer fails immediately upon receipt of SIGPIPE - [1.12q] -* running `make check' runs tests of nice -* lots of configuration-related improvements -* nice allows `+' in options like -+8 and -+13. -* when matching, expr warns about non-portability when the first character - of the basic regular expression is `^' -* `id user' no longer prints bogus group list -* uses automake-generated Makefile templates -* date accepts new %V format -* date's %U and %W formats work properly -* nice option handling works with 2-digit old-style-option adjustments. - Now, `nice -18 -- nice' prints `18'. Before it printed `8'. -* internationalized diagnostic messages -* `date -d "01/01/1998 3 years" +%Y' now works properly. It prints 2001. -* New programs: chroot, factor, seq, uptime. -* date accepts new option: --rfc-822 (-R) -* date accepts new format, %z, for RFC-822 style numeric timezone (-0500) -* date: fix bugs in the handling of date -u +'%s %Z'. -* date accepts new option --reference=FILE (-r FILE) analogous to the - like-named touch option. -* date can now format dates up to and including ones in the year 2037 -User visible changes in release 1.12 -* None. -User visible changes in release 1.11 -* date accepts new option: (-f) --file=DATEFILE -* skeletal texinfo documentation (mainly just the `invoking' nodes) -* `stty werase ^W' works. Before, werase wasn't enabled for AIX-3.2.5. -* su with no arguments works properly -* nice accepts options like `--5' (this is interpreted like `-n -5') -* nice now interprets `-1 -1' like `-1' not like `-11' -* `stty speed' and `stty size' no longer output a spurious newline -User visible changes in release 1.10 -* change package name from shellutils to sh-utils -* add hostname, pwd, and users commands -* --version outputs the name of the utility as well as the package name - and version number. -* Configure properly determines options for stty on SCO ODT 3.0 systems. -* `date -d' works better. Before, `date -d '4apr94'' produced - `Sun Apr 3 23:00:00 CDT 1994'. -User visible changes in release 1.9.4 -* Repair stty option handling. -User visible changes in release 1.9.3 -* `stty -a -g' gets a diagnostic -* `stty {-a|-g} any-other-argument' gets a diagnostic -* stty no longer ignores some of its arguments -* basename and dirname no longer treat `--' specially -* `basename -- file.c .c' generates a usage error. Before, it output `file'. -* `basename file-dist -dist' outputs `file'. Before it output `file-dist'. -* stty defaults `swtch' to undefined for Solaris so `susp' (^Z) will work. - Before, with the default settings ^Z did nothing. -* stty no longer gives an error message when it finds a spurious difference - (due to buggy tcgetattr/tcsetattr) between requested and current tty - modes under SunOS 4.1.x. -* stty no longer fails if the ioctl to determine the display width fails - when displaying settings. -* stty works around SunOS 4.x kernel bug that made `stty rows 0 cols 0' fail. -* who and tee no longer fail gratuitously when continued after an - interrupted read or write system call. -* date accepts new format: %s time in seconds since 1970-01-01 00:00:00 UCT -* date -d can parse dates like `11-JUL-1991' -* expr '' == 0 works (before, it printed 1) -* stty no longer fails on telnet sessions to Solaris systems -* `cd /etc; who utmp' now works. Before, any filename argument had to be - absolute or relative to /dev. - -User visible changes in release 1.9.2: -* who output is better formatted on Solaris and other SysVr4 systems -* fix a minor problem in formatting the output from `stty -a' -* yes with arguments outputs newlines again -* partial stty failures are reported - -Major changes in release 1.9.1: -* stty can be built on Suns again -* minor fix for who -q - -Major changes in release 1.9: -* su fails gracefully when getpass is unable to open /dev/tty. -* printenv and tty detect and report write errors -* fix bug in stty -* stty accepts the new options status and flush on systems that provide them -* `expr 1 / 0' gives an error message rather than trying to divide by zero -* expr's `substr' doesn't overrun malloc'd buffer -* expr recognizes the string `0' as zero -* better support for Linux, Dec Alpha, and SGI Irix -* all programs (even true and false) accept --version and --help options -* uname's --version option is no longer equivalent to its -v option -* configure uses config.h, so DEFS won't exceed preprocessor limits of - some compilers on the number of symbols defined via -D. -* work around problem where $(srcdir)/config.h was used instead of - ../config.h -- this happened only when building in a subdirectory - and when config.h remained in $(srcdir) from a previous ./configure. -* make may be run from the subdirectories - -Major changes in release 1.8: -* add echo command -* fix some incorrect warnings in pathchk -* look at the right utmp file on 386BSD -* date doesn't dump core on some systems now - -Major changes in release 1.7: -* add su, who, true, false commands -* add more tests to expr -* fix printf program handling of \ escapes -* printf can re-use format string for multiple groups of arguments -* printf catches numeric conversion errors with an ANSI C library -* stty nl and -nl were backwards -* date can format an arbitrary date without setting it - -======================================================================== - -Copyright (C) 1992-2017 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the ``GNU Free -Documentation License'' file as part of this distribution. diff --git a/old/textutils/ChangeLog b/old/textutils/ChangeLog deleted file mode 100644 index 96db71fb8..000000000 --- a/old/textutils/ChangeLog +++ /dev/null @@ -1,8752 +0,0 @@ -2006-08-17 Paul Eggert - - * ChangeLog: Add copyright notice. - * NEWS: Likewise. - -2002-07-29 Jim Meyering - - * 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 - - * configure.ac: Require automake-1.6b. - -2002-07-20 Jim Meyering - - * 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 - - * 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 - - * configure.ac: Invoke AC_GNU_SOURCE very early. - -2002-06-15 Jim Meyering - - * src/cksum.c: Include before system.h. - -2002-05-22 Jim Meyering - - * 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 - - `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 - - 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 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 - - * 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 - - * 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 - - Avoid new warnings from gcc. - * src/pr.c [struct COLUMN] : Declare member to be const. - (init_fps): Declare local variable `firstname' to be const. - -2002-04-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.am (EXTRA_DIST): Remove config/config.rpath, - now that automake knows about it. - -2002-03-05 Jim Meyering - - * Makefile.am (EXTRA_DIST): Add config/config.rpath. - -2002-02-23 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * src/split.c (DEFAULT_SUFFIX_LENGTH): Define constant. - (suffix_length): Use it here. - (usage): Use it here. - -2002-02-05 Paul Eggert - - 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 - - * 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 - - * 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 - - * 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 - - 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 - - * src/tail.c (start_lines): Handle the case in which bytes_read is zero. - -2002-01-28 Jim Meyering - - * 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 - - 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 - - * Version 2.0.20. - -2002-01-22 Paul Eggert - - * 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 - - * po/POTFILES.in: Add lib/xmemcoll.c. - -2002-01-22 Paul Eggert - - * 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 - - * src/ptx.c (swallow_file_in_memory): Work even if `open' returns 0. - Check for `close' error. - -2002-01-22 Paul Eggert - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - 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 - - * 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 - - * src/sort.c (mergefps): Fix bug when eliminating empty files. - Bug reported by James Hutt. - -2002-01-13 Jim Meyering - - * tests/help-version: Tweak to work with the programs in diffutils. - -2002-01-09 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Turkish (tr). - -2001-12-18 Paul Eggert - - * 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 - - * 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 - Paul Eggert - - * src/wc.c (wc): Use ISSPACE and iswspace in addition to hard-coding - the ASCII space character. - -2001-12-08 Jim Meyering - - * 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 - - * 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 - - * Makefile.maint (emit-upload-commands): Fix typo: s/distdir/PACKAGE/. - -2001-12-01 Jim Meyering - - * 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 - - * src/system.h (SET_MODE) [O_BINARY]: Call setmode, not set_mode. - From Matthew Smith. - -2001-11-26 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * src/tail.c (xlseek): New function. - Call it instead of lseek, in most cases, so any failure is reported. - -2001-11-18 Jim Meyering - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-11-17 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no - arguments. - -2001-11-05 Jim Meyering - - * 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 - - * 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 - - * tests/sum/sysv: New test for the fix below. - * tests/sum/Makefile.am (TESTS): Add sysv. - -2001-10-27 Paul Eggert - - * 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 - - 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 - - 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 - - * Version 2.0.16. - - tail -F would segfault - * src/tail.c (parse_options): Add missing `break;' from last change. - -2001-09-28 Jim Meyering - - * configure.ac: Tell automake to use the file name `config.hin' - rather than the two-`.' config.h.in. - -2001-09-26 Jim Meyering - - * man/Makefile.am (common_dep): Define it, so we depend on configure.ac. - - * configure.ac: Renamed from configure.in. - -2001-09-25 Jim Meyering - - * src/Makefile.am (sort_DEPENDENCIES): Remove definition altogether. - It adds nothing to the existing: $(PROGRAMS): ../lib/libfetish.a. - -2001-09-24 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * Makefile.maint: Undo last change. Instead, simply remove `N_(', - since the `Copyright ...' line should not be translated. - -2001-08-26 Jim Meyering - - * Makefile.maint (copyright-check): Update to reflect fact that - the copyright year is now defined separately. - -2001-08-08 Charles Randall - - * 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 - - * tests/uniq/Test.pm: Re-enable some commented-out tests. - -2001-08-25 Paul Eggert - - * 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 - - * src/uniq.c (main): Don't report an error when given the - valid options `+3 -d'. - -2001-08-24 Paul Eggert - - * 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 - - * tests/uniq/Test.pm: Add tests for -s 0 and -w 0. - -2001-08-24 Paul Eggert - - 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 - - * tests/uniq/Test.pm: Add new test, #54, for the just-fixed bug. - -2001-08-24 Paul Eggert - - * 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 - - * 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 - - * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include - the new, generated file, unlocked-io.h. - -2001-08-13 Jim Meyering - - * 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 - - * 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 - - * Makefile.am (EXTRA_DIST): Add Makefile.cfg. - - * man/Makefile.am (EXTRA_DIST): Remove duplicate definition. - -2001-07-08 Jim Meyering - - * src/tail.c (usage): Reformat so help2man generates a properly - indented man page. Patch by Herbert Xu. - -2001-07-04 Jim Meyering - - * Makefile.cfg: New file with package-specific definitions. - * Makefile.am (EXTRA_DIST): Add Makefile.cfg. - -2001-07-01 Jim Meyering - - * src/sort.c (usage): Suggest setting LC_COLLATE=C, rather - than LC_ALL=C. - -2001-06-10 Jim Meyering - - * tests/sort/Test.pm: Add a test based on a report from Herbert Xu. - -2001-05-20 Jim Meyering - - * 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 - - * src/tail.c (parse_obsolescent_option): Accept a b suffix. - -2001-05-19 Jim Meyering - - 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 - - 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 - - * src/tail.c (parse_obsolescent_option): Use t_count_lines, not - count_lines, in error message. - -2001-05-05 Jim Meyering - - * src/comm.c (usage): Correct description of -3. - Reported by Soeren Sonnenburg. - -2001-04-22 Jim Meyering - - * 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 - - * 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 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 - - * src/sort.c (default_sort_size): Leave a 1/16 margin for RSS. - Suggestion from Solar Designer. - -2001-04-14 Jim Meyering - - * src/wc.c (usage): Tweak --help output: s/line,/newline,/ - -2001-04-13 Jim Meyering - - * 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 - - * 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 - - * 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 . - (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 - - * 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 - - * 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 - - * 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 - - * src/sort.c (die): New message arg, to describe failures - better. All callers changed. - -2001-03-11 Paul Eggert - - * 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 - - * 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 - - * src/sort.c (merge): Move declarations of local variables into - the inner scope where they're used. - (sort): Likewise. - -2001-03-06 Paul Eggert - - 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 - - `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 - - * src/tac.c (save_stdin): Use mkstemp to create temporary file. - -2001-03-09 Jim Meyering - - * 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 - - * tests/sha1sum/sample-vec: Insert the `--text' argument for each test. - Reported by Matthew Smith. - -2001-03-04 Jim Meyering - - * 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 - - * 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 - - * src/sort.c (xfclose): Add FILE arg, and report the file name - on error. All callers changed. - -2001-03-01 Paul Eggert - - * 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 - - * 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 - - * 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 - - * src/sort.c (parse_field_count): Comment fix. - -2001-02-25 Paul Eggert - - * 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 - - * src/sort.c (eolchar, trim_trailing_blanks): Now static. - -2001-02-25 Paul Eggert - - '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 - - * src/sort.c (keycompare): Move declarations of locals, lena and lenb, - into the inner scope where they are used. - -2001-02-19 Jim Meyering - - * 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 - - 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 - - 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: - (): 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 - - 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 - - * configure.in: Remove jm_CHECK_ALL_TYPES. - Now it's invoked by jm_MACROS. - -2001-01-17 Jim Meyering - - * 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 - - * src/tail.c (usage): Split a string that was longer than 2048 bytes. - -2001-01-03 Jim Meyering - - * src/sort.c (main): Remove embedded \n from diagnostic. - -2001-01-02 Jim Meyering - - * 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 - - * src/sys2.h [HAVE_INTTYPES_H]: Include . - -2000-12-19 Jim Meyering - - * Version 2.0.11. - -2000-12-18 Paul Eggert - - * 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 - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2000-12-11 Jim Meyering - - * Version 2.0.10. - -2000-12-07 Jim Meyering - - * src/od.c (address_base): Declare to be static. - -2000-12-06 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * src/sort.c: s/SIZE_T_MAX/SIZE_MAX/. - -2000-11-30 Paul Eggert - - * src/sys2.h: Include if HAVE_STDINT_H. - (SIZE_MAX): Renamed from SIZE_T_MAX, as C99 uses SIZE_MAX. - All uses changed. - -2000-11-30 Jim Meyering - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * GNUmakefile (.NOTPARALLEL): New target. Prevent unwanted parallelism. - Suggestion from Ulrich Drepper. - -2000-11-16 John David Anglin - - * tsort.c: Include sys/types.h before system.h. - -2000-11-16 Jim Meyering - - * 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 - - * 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 - - * doc/textutils.texi: More minor rewording and grammar correction. - From Brian Youmans. - -2000-11-06 Paul Eggert - - * src/od.c (skip): st_size is not defined for directories. - -2000-11-03 Jim Meyering - - * 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 - - * 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 - - * Makefile.maint: Clean up version-related variables. - - * Version 2.0.8. - - * Makefile.am (EXTRA_DIST): Add .prev-version. - -2000-10-22 Jim Meyering - - * 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 - - 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 - - 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 - - * 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 - - * 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 - - * src/md5sum.c: Include unconditionally, to be consistent - with all the other programs in this directory. - * src/tsort.c: Likewise. - -2000-08-19 Jim Meyering - - * src/comm.c (writeline): Correct comments. From Bruno Haible. - -2000-08-11 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/sort.c (usage): Warn more succinctly about the effects of - the locale on sort order. - -2000-08-06 Jim Meyering - - * Version 2.0g. - - * src/tail.c (pipe_lines): Declare local `cp' to be const. - -2000-08-04 Greg McGary - - * 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 - - 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 - - * 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 - - * tests/Makefile.am.in ($(srcdir)/$x-tests): Use -I$(srcdir), not `-I.'. - (Makefile.am): Likewise. Reported by Greg McGary. - -2000-08-01 Jim Meyering - - * doc/textutils.texi (tr invocation): Note that ranges are not portable. - Update examples not to use ranges. - -2000-07-31 Jim Meyering - - * src/cut.c (cut_fields): Use `virtual memory exhausted', - not `Memory exhausted'. - -2000-07-30 Jim Meyering - - * 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 - - 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 - - * 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 - - * config.guess: Update from FSF. - * config.sub: Likewise. - -2000-07-02 Jim Meyering - - * Version 2.0f. - -2000-07-01 Jim Meyering - - * src/cut.c: Change type of global, field_1_bufsize, from int to size_t. - -2000-06-29 Jim Meyering - - * 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 - - * configure.in (ALL_LINGUAS): Add Danish (da). - -2000-06-24 Jim Meyering - - * 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 - - * 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 - - * src/cat.c (main): Correct a comment. - -2000-06-21 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/head.c (head_file): Use STDIN_FILENO in place of `0'. - (main): Likewise. - -2000-05-20 Jim Meyering - - * 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 - - * src/help-version: Run each program successfully at least once. - -2000-05-12 Jim Meyering - - * 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 - - * tests/unexpand/basic-1: New tests. - -2000-04-17 Bruno Haible - - * src/system.h [__BEOS__]: Ignore O_BINARY and O_TEXT. - -2000-04-16 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add Slovenian (sl). - -2000-03-12 Jim Meyering - - Merge from fileutils. - * src/system.h "pathmax.h": Include. - : Include if appropriate. - : Likewise. - : Likewise. - : Likewise. - : 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 - - * 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 - - * Version 2.0e. - -2000-03-04 Jim Meyering - - 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 - - * src/sort.c (fillbuf): Move declaration of local, cc, into scope of - `while' loop where it's used. - -2000-03-02 Paul Eggert - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (AM_FUNC_STRTOD): Move to m4/. - (AC_SUBST(POW_LIBM)): Likewise. - -2000-01-22 Jim Meyering - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 2.0a. - - * lib/Makefile.am (lstat.c): Adapt rule to handle new parts of xstat.in. - -1999-12-12 Jim Meyering - - 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 - - * configure.in (ALL_LINGUAS): Add Galician (gl). - -1999-12-06 Jim Meyering - - * tests/tail-2/fflush: New test for latest change. - * tests/tail-2/Makefile.am (TESTS): Add fflush. - -1999-10-26 Marc Boucher - - * 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 - - * lib/Makefile.am (DISTCLEANFILES): Put $(BUILT_SOURCES) here rather - than in $(MAINTAINERCLEANFILES). - - * src/tail.c (recheck): Handle a race condition (including - 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). - -1999-10-20 Jim Meyering - - * src/tail.c (recheck): Don't refuse to tail a non-regular, non-pipe. - (tail_file): Likewise. - -1999-10-07 Jim Meyering - - * configure.in (ALL_LINGUAS): Add Japanese (ja). - -1999-10-04 Jim Meyering - - * depcomp: New file, for automake's new dependency support. - * missing: New version, from automake's user-dep-gen-branch. - -1999-09-28 Jim Meyering - - * 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 - - * src/cut.c: Remove xstrdup declaration. - * src/sort.c: Likewise. - * src/tsort.c: Likewise. - -1999-08-22 Jim Meyering - - * 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 - - * src/tail.c (ENOSYS): Define to a bogus value if not already defined. - -1999-08-13 Eli Zaretskii - - * 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 - - * 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 - - * doc/textutils.texi: Document how to ignore newline during sort. - -1999-08-07 Jim Meyering - - * po/POTFILES.in: Add lots of lib/*.c files. Remove src/system.h. - -1999-08-06 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 1.22p. - - * configure.in (AM_C_PROTOTYPES): Move test to precede a few - header tests -- merely on principle. - -1999-08-01 Paul Eggert - - * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. - -1999-07-16 Paul Eggert - - * lib/quotearg.c (quotearg_buffer): - Don't quote spaces if C quoting style. - -1999-07-31 Jim Meyering - - * 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 - - * 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 - - * lib/linebuffer.c: Include now that linebuffer.h uses - size_t. This is required on at least SunOS4. From Kaveh Ghazi. - -1999-07-26 Jim Meyering - - * src/sys2.h (PID_T_MAX): Define. - - * src/tail.c (struct File_spec) [n_stat_calls]: Remove unused member. - -1999-07-25 Jim Meyering - - * src/pr.c (usage): Remove `NEWS'-style paragraph (sorry to have - let that in, translators). - - * Version 1.22n. - -1999-06-01 Volker Borchert - - * 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 - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add Slovak (sk). - -1999-07-11 Jim Meyering - - * src/tail.c (recheck): Use assert instead of unnecessary close_fd. - Remove a couple of unnecessary FIXME comments. - -1999-07-10 Jim Meyering - - * 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 - - * configure.in (ALL_LINGUAS): Add Greek (el). - -1999-07-04 Jim Meyering - - * tests/join/Test.pm: New test case for Paul's 1999-06-03 fix. - -1999-07-03 Eli Zaretskii - - * 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 - - * doc/textutils.texi: Use lower case characters in sc{} context. - Reported by Eli Zaretskii. - -1999-06-03 Paul Eggert - - * src/join.c (xfields): Only s separate fields, not s. - -1999-06-01 Paul Eggert - - * lib/linebuffer.c (readline): Leave room for an extra byte - after the newline; comm needs this for memcoll. - -1999-06-01 Paul Eggert - - 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 - - * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. - -1999-05-25 Paul Eggert - - 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 - - * 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 - - * src/tac.c (memrchr): Ifdef out this unused function. - -1999-05-25 Jim Meyering - - * doc/textutils.texi (Squeezing): Remove misleading square brackets - from SET1 in the one-word-per-line example. - -1999-05-22 Jim Meyering - - * lib/Makefile.am (libtu_a_SOURCES): Remove memchr.c. - From Ulrich Drepper. - - * Version 1.22m. - -1999-05-22 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * tests/sort/Test.pm: Add test case from Paul Eggert. - -1999-05-20 Paul Eggert - - * 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 - - * 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 - - * 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 - - * Version 1.22l. - -1999-05-11 Paul Eggert - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/sort.c (numcompare): Handle comparison of two negative - numbers correctly in the ENABLE_NLS case. - -1999-05-04 Jim Meyering - - * 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 - - * src/ptx.c : 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 - - * src/sort.c (usage): Document the differences between the - obsolescent, +POS1[-POS2] form, and the POSIX -k option. - -1999-04-24 Jim Meyering - - * 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 - - * Makefile.maint (b_host): Remove /pub suffix. - -1999-04-18 Jim Meyering - - * 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 - - * src/tail.c (file_lines): Fix serious bug introduced with last changes. - From Andreas Schwab. - -1999-04-15 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/tail.c (xwrite): Use STDOUT_FILENO instead of literal `1'. - -1999-04-04 Jim Meyering - - * 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 - - * 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 - - * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c. - (noinst_HEADERS): Add version-etc.h. - -1999-03-25 Jim Meyering - - * 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 - - * tests/Makefile.am (SUBDIRS): Temporarily remove pr. - -1999-03-13 Jim Meyering - - * 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 - - * 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 - - * 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 - * 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 - - * tests/md5sum/Makefile.am (TESTS_ENVIRONMENT): Run md5sum with the - --text option (for MSDOS). - -1999-03-06 Jim Meyering - - * 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 - - * src/sys2.h [__DJGPP__]: Include and . - - * 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 - - * 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 - - * 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 - - * doc/textutils.texi: Wrap the @top node in @ifnottex instead of - @ifinfo so `makeinfo --html ...' works. From Karl Berry. - -1999-01-30 Jim Meyering - - * 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 - - * 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 - - * doc/textutils.texi: Harmonization of @samp use for options. - -1999-01-17 Jim Meyering - - * 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 - - * GNUmakefile: Add SHELL = /bin/sh. - * man/GNUmakefile: Likewise. - -1999-01-16 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/md5sum.c (usage): Remove third program_name argument -- there - were only two `%s' in the format string. - -1999-01-02 Jim Meyering - - * 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 - - * 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 - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add chinese (zh). - -1998-12-17 Jim Meyering - - 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 - - * 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 - - * acconfig.h (stat): New #undef. - -1998-10-22 Jim Meyering - - * src/fold.c (usage): Add mention of --version and --help. - Reported by Matej Vela . - -1998-10-04 Jim Meyering - - * 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 - - * 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 - - * src/ptx.c (program_name): Declare *not* to be const. - -1998-08-29 Jim Meyering - - * src/cut.c: Don't assume ASCII. - * src/pr.c: Likewise. - * src/tail.c: Likewise. - -1998-08-15 Jim Meyering - - * 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 - - * 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 - - * 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 - - * lib/linebuffer.c (readline): Return zero upon error as well as upon - end of file. From James Youngman. - Ansideclify. - -1998-08-01 Jim Meyering - - * src/sort.c (my_setlocale): Guard definition within #ifdef ENABLE_NLS. - From Manfred Hollstein. - -1998-07-30 Jim Meyering - - * 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 - - * 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 . All uses changed. - -1998-07-26 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 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 - - * 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 - - * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers. - -1998-06-27 Jim Meyering - - * 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 - - * tests/Makefile.am.in (check): Depend on $(maint_gen) so - `make maintainer-clean; ./configure; make check' works. - -1998-05-25 Jim Meyering - - * 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 - - * 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 - - * src/tac.c (tac_seekable): Rename from tac_stream. - Change `FILE *in' parameter to `int input_fd'. Adjust callers. - -1998-05-03 Jim Meyering - - * 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 - - * 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 - - * src/fmt.c (check_punctuation): Used unsigned char* pointers to avoid - new warning. - * src/join.c (xfields): Likewise. - -1998-04-12 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * lib/xstrtol.c: Merge with the version from fileutils. - -1998-03-27 Jim Meyering - - * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h. - -1998-03-23 Jim Meyering - - * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4 - automatically handles it. - -1998-03-19 Jim Meyering - - * 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 - - * src/tail.c (tail_file): Merge largely-duplicated blocks of code. - -1998-03-03 Paul Eggert - - * 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 - - * 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 - - * configure.in: Don't use AM_MAINTAINER_MODE or - AC_PATH_PROG(PERL, perl). - (jm_PERL): Use this. - -1998-02-04 Jim Meyering - - * 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 - - * configure.in (AC_LFS): Put before anything that can affect or use - CPPFLAGS, LDFLAGS, or LIBS. - -1998-01-25 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in: AC_DEFINE _GNU_SOURCE. - * acconfig.h: Add _GNU_SOURCE. - -1997-12-21 Jim Meyering - - * 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 - - * src/sys2.h: s/HAVE_DECLARATION_/HAVE_DECL_/g. - -1997-12-13 Jim Meyering - - * 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 - - * 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 - - * lib/strftime.c: Update from FSF. - * m4/strftime.m4: Check for POSIX.2's %f format spec. - -1997-11-12 Jim Meyering - - * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define. - * configure.in (AC_CHECK_FUNCS): Add mempcpy. - -1997-11-09 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * m4/decl.m4: New file. - * m4/check-decl.m4: New file. New macro, jm_CHECK_DECLS. - -1997-10-16 Paul Eggert - - * src/od.c (LONG_MAX): Define if not defined. - -1997-10-16 Jim Meyering - - * 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 - - * 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 - - * 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 - - * tests/sort-test/Test.pm: Add a test. - From William Lewis. - -1997-10-07 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * tests/sort-test/Test.pm: Add tests 19a and 19b. - -1997-07-21 Jim Meyering - - * src/tail.c (parse_obsolescent_option): #ifdef-out portability warning. - -1997-07-19 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * missing: New file -- from the automake-1.1m distribution. - -Fri Mar 21 23:56:41 1997 Jim Meyering - - * 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 - - * 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 - - * src/uniq.c (usage): Fix typo in --help output. From Andreas Schwab. - -Tue Feb 25 20:34:51 1997 Jim Meyering - - * lib/Makefile.am (noinst_HEADERS): Add obstack.h. - (libtu_a_SOURCES): Add obstack.c. - -Sun Feb 16 08:30:29 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 1.22. - - * src/tail.c (parse_options): Add quotes to make messages identical. - -Sat Jan 25 00:12:29 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 1.21. - - * lib/getopt.c (_getopt_internal): Use `_', rather than the - (sometimes-)expansion `gettext'. - -Tue Jan 7 22:50:13 1997 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 accommodate 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * tests/Makefile.am (pkgdata_DATA): Remove unnecessary assignment. - From Eric Backus. - (AUTOMAKE_OPTIONS): Likewise. - -Sat Dec 14 14:51:50 1996 Jim Meyering - - * 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 - - * 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 - - * src/sort.c (usage): Clarify description of -u option. - From Karl Berry. - -Wed Dec 11 19:32:18 1996 Jim Meyering - - * Version 1.20. - -Tue Dec 10 00:15:50 1996 Jim Meyering - - 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 - - =========== 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 - - * 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 - - * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT - for gettext-0.10.25. - -Tue Nov 26 23:05:14 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11 - has this built-in. - -Sat Nov 2 08:50:01 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * lib/md5.c: Update from GNU libc. - * lib/md5.h: Update from GNU libc. - -Mon Oct 21 16:48:12 1996 Jim Meyering - - * src/tr.c (validate): Remove TAB from diagnostic, for consistency. - -Sun Oct 20 13:44:07 1996 Jim Meyering - - * 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 - - * lib/md5.c: Update from GNU libc. - * lib/md5.h: Update from GNU libc. - -Fri Oct 18 00:08:04 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * configure.in (AC_REPLACE_FUNCS): Add strpbrk and strtol. - - * lib/Makefile.am (EXTRA_DIST): Remove. - -Thu Oct 10 23:41:36 1996 Jim Meyering - - * lib/md5.c (md5_stream): Apply fix from Ralph Loader - via Ulrich Drepper. - -Wed Oct 9 07:26:40 1996 Jim Meyering - - * lib/Makefile.am (tu_DEPENDENCIES): Depend on $(tu_LIBADD). - -Tue Oct 8 21:32:17 1996 Jim Meyering - - * lib/error.c: Include error.h to align with libit -- - under protest, François :-). - -Sun Oct 6 08:02:28 1996 Jim Meyering - - * 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 - - * lib/memcpy.c [HAVE_CONFIG_H]: Include config.h. - From Karl Berry. - -Fri Oct 4 07:20:37 1996 Jim Meyering - - * 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 accommodate new --version output requirement. - * lib/long-options.h: Update prototype. - -Thu Oct 3 23:27:31 1996 Jim Meyering - - * src/md5sum.c (main): Remove dead code that used to print --version - output. - -Tue Oct 1 06:54:22 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * configure.in (ALL_LINGUAS): Add spanish (es). - -Thu Sep 26 21:02:54 1996 Jim Meyering - - * 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 accommodate 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 - - * 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 - - * tests/md5sum-test/Makefile.am (EXTRA_DIST): Distribute $(TESTS). - -Sun Sep 22 09:24:22 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * Makefile.am (EXTRA_DIST): Remove acinclude.m4. - -Thu Sep 12 17:05:23 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * src/*.c (usage): Tell where to report bugs. - -Sun Aug 25 22:50:47 1996 Jim Meyering - - * 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 - - * src/cat.c (cat): Cast first arg to stpcpy to char* to avoid warnings. - -Wed Aug 21 22:28:26 1996 Jim Meyering - - * configure.in (ALL_LINGUAS): Add polish (pl). - -Sun Aug 18 09:34:42 1996 Jim Meyering - - * 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 - - * Makefile.am (EXTRA_DIST): Add acinclude.m4. - -Tue Aug 13 21:47:23 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 . - -Sun Jul 21 11:58:48 1996 Jim Meyering - - * 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 - - * 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 - - * install-sh: Get version with MIT copyright. - -Tue Jul 16 00:09:37 1996 Jim Meyering - - * 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 - - * Many files: Update FSF address. - -Sun Jul 14 16:53:50 1996 Jim Meyering - - * 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 - . - - * 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 - - * Version 1.19. - - * configure.in (VERSION): Bump to 1.19. - -Wed Jul 10 22:57:29 1996 Jim Meyering - - * 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 - - * 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 . - -Fri Jul 5 21:55:58 1996 Jim Meyering - - * 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 - - * 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 - - * src/md5sum.c (split_3): Correct test for 35-byte line to accommodate - fact that leading blanks may be stripped. - -Tue Jul 2 21:51:40 1996 Jim Meyering - - * configure.in (ALL_LINGUAS): Add dutch (nl). - -Mon Jul 1 23:50:19 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 - - * Version 1.18a. - -Tue Jun 18 20:43:20 1996 Jim Meyering - - * aclocal.m4: Update from gettext-0.10.20. - * ABOUT-NLS: Likewise. - * intl/*: Likewise. - -Thu Jun 13 22:31:39 1996 Jim Meyering - - * 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 - - * 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 - - * Makefile.am (cvs-dist): Use -c option in cvs tag command. - -Fri Jun 7 22:06:46 1996 Jim Meyering - - * 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 . - -Thu Jun 6 21:57:08 1996 Jim Meyering - - * 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 - - * 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 - - * 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 - - * 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 . - [!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 . - -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 . - * 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 - . - -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 . - -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 . - -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 - . - -Fri Dec 22 21:34:55 1995 Andreas Schwab - - * 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 - . - - * 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 - . - -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 . - - * 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 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 . - - * 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 . - -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 . - 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 . - -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 - - * 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 . - -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 . - -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 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 . 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 . - (keycompare): Don't ignore characters at the end of words when - otherwise they would compare equal. From Rik Faith. - - * tail.c (): 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 . - - * 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 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 . - (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 . 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 . - -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 . 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 . - -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 . - - * wc.c (wc): Optimize for the case when only bytes are being counted - and the input is not a regular file. From Jeff Moore . - -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 . - - * 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 . - -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 - . - -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 . 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 - 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 - 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 . - -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 . - -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 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 . - - * 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 . - - * 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'' 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 compatible - 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 unnecessary variable `c1'. If -l was given, increase - `char_number' by the number of bytes read, after producing output, - rather than by the offset of the first differing bytes, before - producing output. - Replace if-else-if constructions with case statements for clarity. - (bcmp2): Rename `n' to `nread'. - -Wed Dec 20 01:32:06 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) - - * nl.c (proc_text): Use re_search instead of re_match. - -Tue Dec 19 01:26:34 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) - - * nl.c: Indent. Un-nest statements. Use GNU regexp functions - instead of System V ones. Move function declarations together. - (quit): Remove useless function. - (program_name): New variable for error messages. - (main): Use perror in error message. - (xmalloc): New function to replace myalloc. - (myalloc): Function removed. - Global: use program_name and xmalloc. - -Sun Dec 17 00:36:36 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) - - * uniq.c: Declare some functions. - (main): Initialize infile and outfile. Call usage if given - invalid args. Normally exit with 0 status instead of garbage. - (usage): New function to print usage message and exit. - (check_file): Remove unused variable. - (readline): Compare against EOF, not < 0. - (xmalloc, xrealloc): Return char *, not int. - Ok to return 0 if 0 bytes requested. - (lb1, lb2): Remove unused global vars. - (concat): Remove unused function. - -Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) - - * comm.c: Remove unused global variables lb1, lb2. - (main): Remove unneeded variable. - (compare_files): Remove unused arg. - (readline): un-nest assignment. Test against EOF instead of < 0. - (error): Print to stderr, not stdout. - (xmalloc, xrealloc): Return char * instead of int. - Returning 0 is ok if 0 bytes requested (ANSI C). - - - ----- - - Copyright (C) 1998-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. diff --git a/old/textutils/NEWS b/old/textutils/NEWS deleted file mode 100644 index 8474c0cfe..000000000 --- a/old/textutils/NEWS +++ /dev/null @@ -1,471 +0,0 @@ -Changes in release 2.1 -[2.0.22] -* `od -t f8' works once again [bug introduced in textutils-2.0.8] -* various portability fixes, and general clean-up -* various minor, corner-case bug fixes -[2.0.21] -* split accepts new option -a or --suffix-length. -* split no longer generates longer suffixes than requested; instead, it reports - an error when suffixes are exhausted. POSIX requires this behavior. -* The _POSIX2_VERSION environment variable lets you select which version - of POSIX the utilities should conform to. Its default value is system - dependent. Set _POSIX2_VERSION=199209 to cause the utilities to support - obsolete usage like "sort +1". -* The following obsolete usages are no longer supported when conforming - to POSIX 1003.1-2001, which (at the time this change was made) was thought - to say that implementations must reject most digit-string options: - expand -N (instead, use expand -t N) - head -N (instead, use head -c N or head -n N) - fold -N (instead, use fold -w N) - split -N (instead, use split -l N) - tail -N (instead, use tail -c N or tail -n N) - unexpand -N (instead, use unexpand --first-only -t N) - uniq -N (instead, use uniq -f N) - The following obsolete usages (options without arguments) are no - longer supported when conforming to POSIX 1003.1-2001, which (at the - time this change was made) was thought to say that implementations must - reject options with optional arguments: - od -s (instead, use od --strings) - od -w (instead, use od --width) - pr -S (instead, use pr --sep-string) -[2.0.20] -* tr no longer gets failed a assertion for [==] or [::] -* The following obsolete usages are no longer supported when conforming - to POSIX 1003.1-2001, which says that arguments with leading "+" - are file names in these contexts: - sort +POS1 (instead, use sort -k) - tail +N (instead, use tail -c +N or tail -n +N) - uniq +N (instead, use uniq -s N) -* Warnings are issued for obsolete usages on older hosts, - unless POSIXLY_CORRECT is set in the environment. -* sort -m no longer segfaults when given an empty file -* sort -S now accepts 'K' as a synonym for 'k'. -* wc recognizes all locale-defined white-space characters, not just those - in the "C" locale. -[2.0.19] -* portability tweak to make lib/regex.c compile -* split translatable strings only in the middle of sentences -[2.0.18] -* sort could segfault on systems without a working mkstemp function and - with a gettimeofday function that clobbers the static buffer that - localtime uses for it's return value -- introduced in 2.0.17 -[2.0.17] -* csplit no longer gets a failed assertion for this: - printf 'a\n\n'|csplit - '/^$/' 2 -* sort detects physical memory attributes more portably -* tail no longer gets a segfault on Linux's /proc/ksyms -* sum -s produces the proper 16-bit checksum for large files - (this fixes a bug that was introduced in 2.0f) -* uniq is now about 3 times faster than the version from 2.0 on Linux systems; - the code uses lock-avoiding variants of common I/O functions -[2.0.16] -* tail -F no longer segfaults -[2.0.15] -* `head -c N' and `od -N N' now read no more than N bytes of input -* tail accepts new option: -F, equivalent to `--follow=name --retry', - for compatibility with the FreeBSD and NetBSD versions of tail. -* fmt no longer segfaults when using a maximum line width larger than 32767 -* uniq's --all-repeated option has new modes to delimit groups - of duplicate lines: --all-repeated={precede,separate,none(default)} -[2.0.14] -* sort now accepts long options like "--reverse" and "--". -* sort now checks option syntax as POSIX requires, except that (as usual - for GNU) options can follow file names unless POSIXLY_CORRECT is set. - For example, invalid positional combinations like "sort +1 -r -2" are - now rejected as per POSIX. -* The next POSIX standard will require that obsolescent 'sort' - positional options like +1 be treated as file names, not options. - Please use 'sort -k' instead. -[2.0.13] -* pr accepts new -D or --date option, to specify date format. -* The following changes are required by POSIX: - - If POSIXLY_CORRECT is set, dates in pr headers now look something like - 'Dec 4 23:59 2001', with the exact appearance affected by LC_TIME. - - pr -h now affects only the center header string, not the entire header. - - pr no longer truncates headers. -* Spacing in pr headers has been adjusted slightly. -* `fmt --prefix=S' now works when S contains a byte with the high bit set -[2.0.12] -* sort has improved performance when using very little main memory -* sort has improved memory management -* sort is no longer susceptible to certain denial of service attacks -* sort no longer suffers from a race condition whereby an interrupt received - during cleanup could cause it to fail to remove temporary files. - This problem could arise only on hosts without sigaction. -[2.0.11] -* sort accepts new -S SIZE option, to specify main-memory usage. -[2.0.10] -* od is faster and more portable than it was in 2.0.9 -* tail avoids an uninitialized memory reference -[2.0.9] -* od now prints valid addresses for offsets of 2^32 and larger, and allows - the byte offset (-j) and byte count (-N) arguments to be 2^32 and larger. -* tail now works with line and byte counts of 2^32 and larger, on systems - with large file support -* join now works with an 8-bit delimiter -* fix a compilation failure on some Solaris systems with wc.c -[2.0.8] -* od now supports 8-byte integers, assuming they're printable with e.g., %lld -* new program: sha1sum -* wc accepts new -m option: count (potentially multi-byte) characters -* wc's `--chars' option is now equivalent to -m, not --bytes as it used to be -* `cat -n' works properly when processing 2^31 or more lines -[2.0g] -* sort's --help output now warns that it is locale-aware -* tail: fix a buffer underrun error that occurred on an empty pipe, - also thanks to bounded pointers -* pr: fix a bounds violation found by Greg McGary's bounded-pointers-enabled gcc - It could have caused (with low probability) the columns on the last page of - output *not* to be `balanced' when they should have been. -* sort: if the -T tmpdir option is given multiple times, all the given - directories are used; this can improve performance for huge sort/merges. -[2.0f] -* all programs fail when printing --help or --version output to a full device -* cut no longer gets a segfault under some circumstances -* unexpand accepts new option: --first-only -[2.0e] -* `tail -f directory' no longer gets a failed assertion -* sort: big performance improvement when sorting many small files; - from Charles Randall -* configure and portability changes in m4/ and lib/ -[2.0d] -* preliminary sort performance improvements -* tsort now works more like the traditional UNIX tsort. Before it would - exit when it found a loop. Now it continues and outputs all items. -* unexpand no longer infloops on certain sequences of white space -* unified lib/: now that directory and most of the configuration framework - is common between fileutils, textutils, and sh-utils -[2.0c] -* include lib/nanosleep.h. -[2.0b] -* portability tweaks for error.c vs. systems with deficient strerror_r -[2.0a] -* `tail --follow=name' no longer gets a failed assertion for a - dev,inode-reusing race condition -* sort and comm no longer consider newlines to be part of the line, - as this requirement will likely be removed from POSIX.2. - This undoes some changes made for textutils 1.22m and 1.22n. -* tail's (short only) -f option no longer accepts an optional argument, - so e.g., `tail -fn 2 file' works again. -* tail no longer refuses to operate on certain types of files -* fixed bug in tsort's handling of cycles - -Changes in release 2.0 -[1.22q] -* HPUX portability fix: md5sum would dump core due to use of libc's getline -[1.22p] -* portability fixes from Paul Eggert based largely on tar-1.13 reports -* `tail --pid=PID' now works even when PID belongs to some other user -[1.22o] -* tail accepts new option: --pid=PID -[1.22n] -* tail accepts the following new options (some of which were added in 1.22g): - --retry - --follow[={name|descriptor}] - --max-unchanged-stats=N - --max-consecutive-size-changes=N - --sleep-interval=S -* wc uses the POSIX-mandated output format when POSIXLY_CORRECT is set -* To maintain compatibility with sort, comm and join now obey the LC_COLLATE - locale, and comm now considers newlines to be part of the lines. -* use lib/memchr.c only if it's not provided by the system -- this means - that on systems with a fast library memchr function you may notice an - improvement. If you use a system with a buggy or signifcantly slower - memchr, please report it. -[1.22m] -* sort now considers newlines to be part of the line, as required by POSIX.2. - E.g. a line starting with a tab now sorts before an empty line, - since tab precedes newline in the ASCII collating sequence. -* sort handles NUL bytes correctly when configured/compiled with --enable-nls -* fix typos in my version of AC_SEARCH_LIBS. -* fix dates on config files so builders don't need autoconf/automake -[1.22l] -* sort no longer autodetects the locale of numbers and months, - as that conflicts with POSIX.2 -* `join -tC' now works when input contains trailing spaces -* portability tweaks for Irix's cc -[1.22k] -* `sort -n' works with negative numbers when configured/compiled - with --enable-nls -* head accepts byte and line counts of type uintmax_t (so up to 2^64 - 1) -[1.22j] -* tail: fix bug introduced in 1.22i -[1.22i] -* tail now terminates in `yes > k & sleep 1; tail -2c k' -* `tail -f' now ensures that stdout is unbuffered -* fix a bug in cut to allow use of 8-bit delimiters -* pr accepts POSIX compliant options -s and -w, - the new capital letter options -J, -S and _W turn off the - unexpected interferences of the small letter options -s and -w - if used together with the column options. -* pr output has been adapted to other UNIXes in some cases. -[1.22h] -* portability tweaks -* Window/NT/DOS support -[1.22g] -* uniq accepts new option: --all-repeated (-D). -* Windows/DOS portability fixes -* new program: tsort -* tail has several new options -* md5sum can handle file names with embedded backslash characters -* pr accepts long option names (see `pr --help') -* new program: ptx (moved to this package from being its own distribution) -[1.22f] -* cut accepts new --output-delimiter=STR option -* `sort -o no-such-file no-such-file' now fails, as it should -* fix pr bug: pr -td didn't double space -* fix tac bug when using -b, -r, and -s SEPARATOR -* fix sort bug whereby using key-local `d' option would cause following - key specs to be ignored when any two keys (in the `d'-modified test) - compared equal. -[1.22e] -* remove maintainer mode -[1.22d] -* wc accepts new option: --max-line-length (-L) -* sort can sort according to your locale if your C library supports that -[1.22c] -[1.22b] -* od supports a new trailing `z' character in a type specification: - $ od -tx1z . - 0000000 be ef c6 0f fd f9 d7 e0 ec cb f3 c6 00 db e8 00 >................< - 0000020 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< - 0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< - * - 0000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 cc >..............5.< - 0000620 05 63 76 74 2e 6f 00 00 29 ac 08 70 72 6f 6a 65 >.cvt.o..)..proje< - 0000640 63 74 73 00 00 00 18 9a 05 63 76 74 2e 63 00 00 >cts......cvt.c..< - 0000660 18 d9 03 52 43 53 00 00 18 c0 05 78 2e 64 61 74 >...RCS.....x.dat< - -[1.22a] -* sort -c reports both the number and the contents of the first out-of-order - line, in addition to the file name. -* `head -c 4096m' is no longer treated just like `head -c 0' - now it gets a diagnostic about 4096m being too large. -* pr: For compatibility (also more POSIX compliant): Include default - separator `TAB' when merging lines of full length. -* When POSIXLY_CORRECT is not set, tail -N now accepts more than one file - argument, to be consistent with the way head -N works. If POSIXLY_CORRECT - is set, using two or more file arguments with the obsolescent form (-N) - evokes an error. To avoid the warning or failure, use the POSIX -n N option - or the GNU --lines=N option. - -Changes in release 1.22 -[1.21a] -* Fix a bug in tail when invoked with an argument like `+NUMBERc' -* Add test suite for tail - -Changes in release 1.21 -* Using --program-prefix no longer applies the prefix twice - -Changes in release 1.20 -* fix pr: -l now uses total number of lines per page also with -f -* fix pr: use left-hand-side truncation of header string to avoid line - overflow -* fix pr: it now accepts `form feeds set in input files', also with -m - and multiple form feeds at different pages in each file -* pr now accepts: -h "", print a blank line header -* pr: when skipping pages (+FIRST_PAGE option) line counting (-n option) - starts with 1st line of input file (not of 1st page printed) by default -* pr accepts new option: -N, start printing with an optional line number -* pr -t retains `form feeds set in input files' (`don't destroy page layout') -* pr accepts new option: -T, equivalent to -t, but eliminate also form feeds - (`clear file') -* pr accepts the extension: +FIRST_PAGE[:LAST_PAGE] -* pr -w and -s option disentangled (`use a separator' no longer destroys - column alignment) -* pr accepts new option: -j, merge lines of full length -* pr accepts the extension: -s[STRING], use separator string instead of - character only -* pr -b is no longer an independent option, balancing is always used - with -COLUMN (a requirement of unrestricted use of form feeds) -* pr accepts new option: --test, to run the pr tests with a constant - header string -* join passes all of its tests on Alpha OSF 4.0. -* sort no longer improperly ignores blanks in determining starting and ending - positions for keys with explicit character offsets -* fix bug in csplit with regexp and negative offset that led to infinite loop - Changes in test release 1.19q -* fix bug in sort -c that sometimes resulted in a segfault - Changes in test release 1.19p -* md5sum's --string option is being deprecated and is no longer documented. - It is still accepted, but will be removed altogether in 1.22. -* tr '[:lower:]' '[:upper:]' no longer fails when LC_CTYPE is set to - iso_8859_1 on Solaris -- or any other character set with differing - numbers of uppercase and lowercase characters -* split and tail diagnose unrecognized multiplier suffixes, in e.g., - `split --bytes=1M' (should be `-b 1m' or `--bytes=1m') -* fix bug in md5sum's handling of partial reads -* fix bug in treatment by sort -f of bytes with high-bit set -* update configuration system to use automake's aclocal program -* configure performs sanity check on CC and CFLAGS to avoid a misleading - failure that suggested cross-compiling was the cause -* distribute test suites for cut, join, sort, and tr -* unexpand no longer gets in endless loop -* when verifying checksums, md5sum uses the binary mode flag from the - input stream rather than the one from the command line - -Changes in release 1.19 -* md5sum can verify digests of files with names containing newline characters -* update from gettext-0.10.20. - -Changes in release 1.18 -* when building sort, link with -lm on systems that use the replacement strtod -* update from gettext-0.10.17. - -Changes in release 1.17 -* include texinfo.tex in the distribution - -Changes in release 1.16 -* sort is compatible with Unix sort when a key-end spec refers to the N'th - character in a field that has fewer than N characters -* tail with old-style options like -20k and +31m operates on units of bytes, - as the --help usage message says. Before, it used units of lines. - -Changes in release 1.15 -* od gives better diagnostics for invalid format specs -* uses automake-generated Makefile templates -* configure takes a new option: --enable-maintainer-mode -* fix a bug in fmt when prefix has trailing white space -* internationalized diagnostic messages -* fix a couple bugs in tr involving use of -c and/or -d flags -- see ChangeLog -* diagnose some improper or questionable invocations of csplit -* properly handle `echo |csplit - 1 1', rather than aborting -* fix join: without -t it now ignores leading blanks -* sort accepts new option: -z for NUL terminated records -* join accepts new option: --ignore-case, -i -* uniq accepts new option: --ignore-case, -i - -User-visible changes in release 1.14 -* sort -i and sort -d properly order strings containing ignored characters -* nl: rename misleading --first-page=N option to --starting-line-number=N. -* sort diagnoses invalid arguments to -k, then fails -* sort -n properly orders invalid integers with respect to valid integers -* sorting works with character offsets larger than corresponding field width -* sort's -b option and `b' modifier work -* sort -k2,2 works. -* csplit detects integer overflow when converting command line arguments -* sort accepts new option/flag, -g, for sorting numbers in scientific notation -* join accepts POSIX `-o 0' field specifier. -* tr 'a[b*512]' '[a*]' < /dev/null terminates -* tr '[:*3][:digit:]' 'a-m' and tr 'a[=*2][=c=]' 'xyyz' no longer fail -* special characters in tr's string1 and string2 may be escaped with backslash - -User-visible changes in release 1.13 -* md5sum: with --check, distinguish between open/read failure and bad checksum -* md5sum: remove -h, -s, -v short options -* md5sum: rename --verbose to --warn, --quiet to --status -* md5sum --check fails if it finds no properly formatted checksum lines -* sort -c prints `disorder on...' message on standard error, not stdout -* sort -k works as described in the texinfo documentation -* tail works on NetBSD -* md5sum reads and writes (de facto) standard Plumb/Lankester format -* sort accepts -.1 +.2 options for compatibility -* od works properly when dump limit is specified and is a multiple of - bytes_per_block (set by --width, 16 by default). - -User-visible changes in release 1.12 -* sort no longer reports spurious errors on Ultrix systems -* new program: md5sum -* all --help messages have been improved -* join's -a1 and -a2 options work -* tr '[:upper:]' '[:lower:]' no longer reads uninitialized memory -* sort properly handles command line arguments like `+7.2n' -* fmt properly formats paragraphs not terminated by a newline -* tail -f flushes stdout before sleeping so that it will output partial - lines sooner -* sort properly orders fields where one field is a proper prefix of the other -* sort properly interprets field offsets specified via the -k option -* dd, od, and tail work on systems for which off_t is long long (e.g. BSD4.4) -* wc is faster when not counting words -* wc now works even when file pointer isn't at beginning of file -* expand no longer seg faults with very long tab lists - -User-visible changes in release 1.11 -* fmt is built - -User-visible changes in release 1.10 -* skeletal texinfo documentation (mainly just the `invoking' nodes) -* new program: fmt -* tail -f on multiple files reports file truncation -* tail -q has been fixed so it never prints headers -* wc -c is much faster when operating on non-regular files -* unexpand gives a diagnostic (rather than a segfault) when given a name of - a nonexistent file. -* cat, csplit, head, split, sum, tac, tail, tr, and wc no longer fail - gratuitously when continued after a suspended read or write system call. -* cut interprets -d '' to mean `use the NUL byte as the delimiter' rather - than reporting that no delimiter was specified and failing. -* `echo a:b:c: | cut -d: -f3,4' prints `c:'. Before it printed just `c'. -* cut has been rewritten, is markedly faster for large inputs, and passes a - fairly large test suite. -* sort properly handles the argument to the -T option. - -Major changes in release 1.9.1: -* cut no longer ignores the last line of input when that line lacks a - trailing newline character - -Major changes in release 1.9: -* `echo a:b:c: | cut -d: -f3-' prints `c:' and - `echo a:b | cut -d: -f1' prints `a'. -* the command `printf '\t\n' |fold -w n' now terminates. - Before, it wouldn't stop for n less than 8. -* sort accepts and ignores -y[string] options for compatibilty with Solaris. -* cat -v /dev/null works on more systems -* od's --compatible (-C) flag renamed to --traditional (no short option) -* --help and --version exit successfully -* --help gives a one-line description of each option and shows the - correspondence between short and long-named options. -* fix bug in cut. Now `echo 'a:b:c:' | cut -d: -f3-' works. - Before it printed `c' instead of `c:' -* csplit allows repeat counts to be specified via `{*}'. -* csplit accepts a new option, --suffix=format that supercedes the - --digits option. The --digits option will continue to work. -* csplit accepts a new option, --elide-empty-files. -* configure uses config.h, so DEFS won't exceed preprocessor limits of - some compilers on the number of symbols defined via -D. -* work around problem where $(srcdir)/config.h was used instead of - ../config.h -- this happened only when building in a subdirectory - and when config.h remained in $(srcdir) from a previous ./configure. - -Major changes in release 1.8: -* added non-ANSIfied version of memchr.c from GNU libc. - -Major changes in release 1.7: -* none -Major changes in release 1.6: -* with the --version option programs print the version and exit immediately -* pr -2a really terminates -* pr -n produces multi-column output - -Major changes in release 1.5: -* sort is 8-bit clean -* sort's -n and -M options no longer imply -b -* several bugs in sort have been fixed -* all programs accept --help and --version options -* od --compatible accepts pre-POSIX arguments -* pr -2a terminates - -Major changes in release 1.4: -* add od and cksum programs -* move cmp to GNU diff distribution -* tail -f works for multiple files -* pr prints the file name in error messages -* fix some off by 1 errors in pr and fold -* optimize wc -c on regular files -* sort handles `-' argument correctly -* sort supports -T option -* tr ranges like a-a work -* tr x '' fails gracefully -* default sum output format is BSD compatible -* paste -d '' works - -======================================================================== - -Copyright (C) 1992-2017 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the ``GNU Free -Documentation License'' file as part of this distribution. diff --git a/po/ChangeLog-2007 b/po/ChangeLog-2007 deleted file mode 100644 index 68efa6e03..000000000 --- a/po/ChangeLog-2007 +++ /dev/null @@ -1,253 +0,0 @@ -2007-08-19 Eric Blake - - * POTFILES.in: Add lib/closein.c. - -2007-08-08 Jim Meyering - - Adapt to gnulib's latest xstrtol change. - * POTFILES.in: Use lib/xstrtol-error.c, not lib/xstrtol.h. - -2007-08-04 Jim Meyering - - * POTFILES.in: Remove lib/human.c. - -2007-05-19 Jim Meyering - - * POTFILES.in: Add src/mktemp.c. - -2007-02-02 Jim Meyering - - * POTFILES.in: Add src/runcon.c. - -2007-01-13 Jim Meyering - - * POTFILES.in: Add src/chcon.c. - -2006-10-19 Jim Meyering - - * POTFILES.in: Also include lib/regcomp.c, since it too uses gettext. - -2006-10-19 Paul Eggert - - * POTFILES.in: Add lib/xstrtol.h. - -2006-08-22 Paul Eggert - - * .cvsignore: More ../bootstrap-related fixes, plus remove old - cruft. Add *.po, LINGUAS, Makevars. Remove *.cat, *.msg, - cat-id-dbl.c, messages.mo, stamp-cat-id. - -2006-08-22 Jim Meyering - - * .cvsignore: Add files that are now generated by ../bootstrap. - -2006-08-20 Paul Eggert - - * LINGUAS, Makefile.in.in, Makevars, Rules-quot, af.po, be.po: - * bg.po, boldquot.sed, ca.po, cs.po, da.po, de.po, el.po: - * en@boldquot.header, en@quot.header, es.po, et.po, eu.po: - * fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, insert-header.sin: - * it.po, ja.po, ko.po, lg.po, ms.po, nb.po, nl.po, no.po, pl.po: - * pt.po, pt_BR.po, quot.sed, remove-potcdate.sin, ro.po, ru.po: - * rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, uk.po, vi.po, wa.po: - * zh_CN.po, zh_TW.po: - Remove from CVS, since ../bootstrap generates them automatically. - -2006-08-17 Paul Eggert - - * po/ChangeLog: Add copyright notice. - * po/Makevars: Likewise. - -2006-08-10 Paul Eggert - - * Makevars (XGETTEXT_OPTIONS): Add pass-c-format flags for - _ and N_, so that we get format checking even when --enable-nls. - Add c-format flags for error, error_at_line, asprintf, vasprintf, - asnprintf, vasnprintf, wrapf. - (USE_MSGCTXT): New macro. - * Rules-quot (en@quot.po-create, en@boldquot.po-create): New rules. - -2006-08-09 Paul Eggert - - * Makefile.in.in: Sync from gettext 0.15. - - * LINGUAS: Add ro, sr, uk, wa. - * ro.po, sr.po, uk,po, wa.po: New files, - gotten from the following files relative to - : - ro/fileutils-4.1.11.ro.po, sr/sh-utils-2.0.15.sr.po, - uk/fileutils-4.1.11.uk.po, wa/fileutils-4.1.11.wa.po. - -2006-08-09 Jim Meyering - - * POTFILES.in: Add lib/randread.c, lib/xmemxfrm.c, and src/shuf.c. - -2006-02-27 Jim Meyering - - * POTFILES.in: Add src/base64.c. - -2005-12-17 Jim Meyering - - * POTFILES.in: Add lib/acl.c. - -2005-12-13 Jim Meyering - - * LINGUAS: Add Kinyarwanda (rw). - Add Croatian (hr). - -2005-11-22 Jim Meyering - - * POTFILES.in: Add lib/euidaccess-stat.c. - -2005-10-24 Jim Meyering - - * Makefile.in.in: Update from gettext cvs (0.15). - (Makefile): Remove stray po-directories argument. - -2005-10-07 Jim Meyering - - * POTFILES.in: Remove the lib/euidaccess-stat.c line, - until I'm ready to add the corresponding file. - -2005-10-02 Jim Meyering - - * POTFILES.in: Add lib/euidaccess-stat.c. - -2005-09-24 Jim Meyering - - * POTFILES.in: Add lib/gai_strerror.c. - -2005-06-14 Jim Meyering - - * POTFILES.in: Change openat.c to openat-die.c. - -2005-06-02 Jim Meyering - - * POTFILES.in: Change makepath.c to mkdir-p.c here, too. - -2005-05-10 Jim Meyering - - * LINGUAS: Add Vietnamese (vi). - -2005-04-06 Jim Meyering - - * LINGUAS: Remove rw. - * rw.po: Remove file -- many invalid message strings. - -2005-04-05 Jim Meyering - - * LINGUAS: Add Kinyarwanda (rw). - -2004-12-14 Jim Meyering - - * LINGUAS: Add Bulgarian (bg). - -2004-11-28 Jim Meyering - - * POTFILES.in: Add lib/openat.c. - -2004-10-11 Jim Meyering - - * fr.po: Fix two typos reported in http://bugs.debian.org/275924 - -2004-09-22 Jim Meyering - - * POTFILES.in: Remove lib/xmalloc.c. - Add lib/xalloc-die.c. - -2004-06-26 Jim Meyering - - * LINGUAS: Add Basque (eu). - -2004-04-16 Jim Meyering - - * fr.po: Correct typo in the french rendition of date's --help output: - s/%r/%R/. Patch by Nicolas Boulenguez. - -2004-03-02 Jim Meyering - - * LINGUAS: Add Afrikaans (af) - -2004-01-13 Jim Meyering - - * POTFILES.in: Replace src/sys2.h with src/system.h. - -2004-01-12 Jim Meyering - - * Makefile.in.in: Update from gettext-0.13.1. - -2003-11-09 Jim Meyering - - * POTFILES.in: Add lib/root-dev-ino.h. - -2003-10-17 Jim Meyering - - * POTFILES.in: Add lib/xfts.c. - -2003-09-22 Jim Meyering - - * Makevars (XGETTEXT_OPTIONS): Add --from-code=UTF-8 to accommodate the - non-ASCII comment to translators in ptx.c regarding the author's name. - -2003-08-27 Jim Meyering - - * Makefile.in.in: Update from gettext-0.12.2. - -2003-08-19 Jim Meyering - - * Makevars (MSGID_BUGS_ADDRESS): Define. - -2003-08-12 Jim Meyering - - * LINGUAS: Add Irish (ga). - -2003-07-11 Jim Meyering - - * POTFILES.in: Add src/nohup.c and src/setuidgid.c. - -2003-03-18 Jim Meyering - - * POTFILES.in: Remove lib/c-stack.c. - -2003-02-16 Jim Meyering - - * LINGUAS: Add Finnish (fi). - -2003-01-11 Jim Meyering - - * POTFILES.in: Add src/readlink.c. - -2002-11-21 Jim Meyering - - * LINGUAS: Add ms (Malay). - -2002-11-14 Jim Meyering - - * POTFILES.in: Remove lib/long-options.c and lib/same.c. - Although each defines `_', neither actually used it. - -2002-11-09 Jim Meyering - - * Makevars (EXTRA_LOCALE_CATEGORIES): Add LC_TIME. - Patch by Tim Waugh for Red Hat bug #73669. - -2002-09-25 gettextize - - * Makefile.in.in: Upgrade to gettext-0.11.5. - -2002-09-16 Jim Meyering - - * LINGUAS: Add be (Belarusian). - -2002-09-02 Jim Meyering - - * LINGUAS: Add lg (Luganda). - - - ----- - - Copyright (C) 2002-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. -- cgit v1.2.3-54-g00ecf