[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

coreutils-5.0.1 released

From: Jim Meyering
Subject: coreutils-5.0.1 released
Date: Wed, 16 Jul 2003 00:03:57 +0200

The changes in this test release are mainly bug fixes,
along with a handful of new features.

Here are the compressed sources:
  ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.0.1.tar.gz   (5.9MB)
  ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.0.1.tar.bz2  (3.9MB)
  http://fetish.sf.net/coreutils-5.0.1.tar.gz                (5.9MB)
  http://fetish.sf.net/coreutils-5.0.1.tar.bz2               (3.9MB)

And here are xdelta-style diffs:
  ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.0-5.0.1.xdelta   (672KB)
  http://fetish.sf.net/coreutils-5.0-5.0.1.xdelta                (672KB)

Here are GPG detached signatures:

Here are the MD5 and SHA1 signatures:

40cef1e995a149c78990ba763c3aee83  coreutils-5.0.1.tar.gz
ef53ca495658c7e81f50967ae00b578e  coreutils-5.0.1.tar.bz2
bc35213c9e7fb0d0521a7e82b8f37223  coreutils-5.0-5.0.1.xdelta
989af10dab7e4a7f68713cb97531f653e0ac9a3a  coreutils-5.0.1.tar.gz
ab4428230cd7a154caeb0e8c31d79aca2cd7dbd3  coreutils-5.0.1.tar.bz2
3bfc60696d7916eab46381ae1fff615bce522a9e  coreutils-5.0-5.0.1.xdelta

* Major changes in release 5.0.1:

** New programs
- new program: `[' (much like `test')

** New features
- head now accepts --lines=-N (--bytes=-N) to print all but the
  N lines (bytes) at the end of the file
- md5sum --check now accepts the output of the BSD md5sum program, e.g.,
  MD5 (f) = d41d8cd98f00b204e9800998ecf8427e
- date -d DATE can now parse a DATE string like May-23-2003
- chown: `.' is no longer recognized as a separator in the OWNER:GROUP
  specifier on POSIX 1003.1-2001 systems.  If chown *was not* compiled
  on such a system, then it still accepts `.', by default.  If chown
  was compiled on a POSIX 1003.1-2001 system, then you may enable the
  old behavior by setting _POSIX2_VERSION=199209 in your environment.
- chown no longer tries to preserve set-user-ID and set-group-ID bits;
  on some systems, the chown syscall resets those bits, and previous
  versions of the chown command would call chmod to restore the original,
  pre-chown(2) settings, but that behavior is problematic.
  1) There was a window whereby a malicious user, M, could subvert a
  chown command run by some other user and operating on files in a
  directory where M has write access.
  2) Before (and even now, on systems with chown(2) that doesn't reset
  those bits), an unwary admin. could use chown unwittingly to create e.g.,
  a set-user-ID root copy of /bin/sh.

** Bug fixes
- chown --dereference no longer leaks a file descriptor per symlink processed
- `du /' once again prints the `/' on the last line
- split's --verbose option works once again [broken in 4.5.10 and 5.0]
- tail -f is no longer subject to a race condition that could make it
  delay displaying the last part of a file that had stopped growing.  That
  bug could also make tail -f give an unwarranted `file truncated' warning.
- du no longer runs out of file descriptors unnecessarily
- df and `readlink --canonicalize' no longer corrupt the heap on
  non-glibc, non-solaris systems
- `env -u UNSET_VARIABLE' no longer dumps core on non-glibc systems
- readlink's --canonicalize option now works on systems like Solaris that
  lack the canonicalize_file_name function but do have resolvepath.
- mv now removes `a' in this example on all systems: touch a; ln a b; mv a b
  This behavior is contrary to POSIX (which requires that the mv command do
  nothing and exit successfully), but I suspect POSIX will change.
- date's %r format directive now honors locale settings
- date's `-' (no-pad) format flag now affects the space-padded-by-default
  conversion specifiers, %e, %k, %l
- fmt now diagnoses invalid obsolescent width specifications like `-72x'
- fmt now exits nonzero when unable to open an input file
- tsort now fails when given an odd number of input tokens,
  as required by POSIX.  Before, it would act as if the final token
  appeared one additional time.

** Fewer arbitrary limitations
- tail's byte and line counts are no longer limited to OFF_T_MAX.
  Now the limit is UINTMAX_MAX (usually 2^64).
- split can now handle --bytes=N and --lines=N with N=2^31 or more.

** Portability
- `kill -t' now prints signal descriptions (rather than `?') on systems
  like Tru64 with __sys_siglist but no strsignal function.
- stat.c now compiles on Ultrix systems
- sleep now works on AIX systems that lack support for clock_gettime
- rm now works around Darwin6.5's broken readdir function
  Before `rm -rf DIR' would fail to remove all files in DIR
  if there were more than 338.

ChangeLog entries:

2003-07-15  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * Makefile.maint (%.asc): Renamed from %.sig.
        Generate and use ascii-armored signatures.
        Use gpg's -o option.

2003-07-13  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * 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

        * 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 <alloca.h> 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * man/help2man: Update to version 1.29.

        * man/help2man: Add END handler to close STDOUT and check for errors.

2003-06-30  Paul Eggert  <address@hidden>

        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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        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
        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  <address@hidden>

        * 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  <address@hidden>

        * src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]:
        Fix author preservation code.

2003-06-19  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * src/readlink.c: Include <sys/types.h> before system.h (because
        the latter includes <sys/stat.h>).  Required on Ultrix 4.3.

2003-06-17  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        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  <address@hidden>

        * src/touch.c (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Remove
        * 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  <address@hidden>

        * 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  <address@hidden>

        * tests/date/Test.pm: Add a test for the new format, e.g., May-23-2003.

2003-06-07  Jim Meyering  <address@hidden>

        * Makefile.maint (syntax-check): Add commented-out (over-aggressive)

2003-06-06  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * src/system.h: Include <stdbool.h> unconditionally.

2003-06-04  Jim Meyering  <address@hidden>

        * 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 <address@hidden>

        * man/kill.x: New file.
        * man/Makefile.am (dist_man_MANS): Add kill.1.
        (kill.1): New rule.

2003-06-04  Jim Meyering  <address@hidden>

        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  <address@hidden>

        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  <address@hidden>

        * src/system.h: Always include <string.h>, since we assume C89.
        Include <limits.h> 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  <address@hidden>

        Avoid a race condition in `tail -f' described by Ken Raeburn in
        * 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  <address@hidden>

        * 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  <address@hidden>

        * src/stat.c: Fix portability problem on FreeBSD5.0: don't include
        <sys/statvfs.h> 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        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  <address@hidden>

        * 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  <address@hidden>

        * 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 <assert.h>.

2003-05-12  Jim Meyering  <address@hidden>

        * src/head.c: Include <assert.h>.
        (AUTHORS): Add my name.
        (elide_tail_lines_pipe): New function.

2003-05-10  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        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  <address@hidden>

        * src/sys2.h (CHAR_BIT): Remove duplicate definition.

2003-05-04  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * src/remove.c (HAVE_WORKING_READDIR): Define to 0 if not defined.
        (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  <address@hidden>

        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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * src/tail.c (start_lines): Rewrite to use memchr.  Clean up.

2003-04-28  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * 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 address@hidden

        * tests/tsort/basic-1: Test for the above fix.

2003-04-21  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        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  <address@hidden>

        * src/stty.c: Remove uses of PROTOTYPE macro.

2003-04-15  Jim Meyering  <address@hidden>

        * Makefile.maint: Remove (or replace-with-TAB(s) to retain alignment)
        each sequence of spaces before a TAB character.

2003-04-13  Jim Meyering  <address@hidden>

        * src/remove.c (is_empty_dir): Don't closedir (NULL).

2003-04-12  Jim Meyering  <address@hidden>

        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  <address@hidden>

        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 <stdlib.h> 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * src/stat.c: Add #include directives for Ultrix 4.4.
        Based on a suggested change from Bert Deknuydt.

2003-04-06  Jim Meyering  <address@hidden>

        * Makefile.maint (makefile-check): New rule.
        (local-check): Add it.

2003-04-05  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * 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.

        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-07-14  Jim Meyering  <address@hidden>

        * save-cwd.h: Add copyright.

2003-07-13  Jim Meyering  <address@hidden>

        * xgethostname.c: Include <stdlib.h> for declaration of free.
        (xgethostname): Return NULL, rather than exiting, upon any
        non-malloc/realloc error.

2003-07-12  Jim Meyering  <address@hidden>

        * Makefile.am (BUILT_SOURCES): Use `BUILT_SOURCES += $(STDBOOL_H)'
        rather than `all-local: $(STDBOOL_H)'.  The latter didn't force
        creation of stdbool.h before most other targets.
        Likewise for $(ALLOCA_H).

        Don't emit diagnostics.  Let callers do that.
        * save-cwd.c: Don't include "error.h".
        (save_cwd): Don't call error.  Ensure that errno is valid
        when returning nonzero.

        * obstack.h: Update from gnulib.

        * makepath.c (make_path): Enclose diagnostic in _(...).

2003-07-10  Jim Meyering  <address@hidden>

        * userspec.c: Include "posixver.h".
        (parse_user_spec): Accept `.' as a separator only
        in pre-POSIX-200112 mode.

        * Makefile.am (libfetish_a_SOURCES): Add these:
        printf-args.h, printf-parse.h, vasprintf.h, vasnprintf.h.

        Now that a program (`who') uses asprintf, we need all of these:
        * asnprintf.c, asprintf.c, printf-args.c, printf-args.h, printf-parse.c:
        * printf-parse.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h:
        New files, from gnulib.

        * alloca_.h, getpass.c, memrchr.c, obstack.h, posixver.c,
        strftime.c, strnlen.c, strverscmp.c: Switch from LGPL to GPL.

2003-07-09  Jim Meyering  <address@hidden>

        * mktime.c: Update from gnulib.
        FIXME: but still need to adjust m4/mktime.c so that this fixed
        version is used when needed.

        Fix the bug that would make `du /' omit the `/' on the last line.
        E.g., `du --exclude '[^/]*' -x /' would print only "4\t\n" for me.
        * ftw.c (ftw_dir): Don't clobber the leading `/'.
        Reported by Chris Lesniewski as http://bugs.debian.org/200542.

2003-07-04  Jim Meyering  <address@hidden>

        Update from gnulib.
        * xreadlink.c: Include <sys/types.h> unconditionally, instead of
        having it depend on HAVE_SYS_TYPES_H.

2003-06-18  Jim Meyering  <address@hidden>

        * inttostr.h (PARAMS): Remove.  All uses removed.

        Merge in change from gnulib.
        * makepath.c: Remove block of alloca-related code in favor
        of an unconditional `#include <alloca.h>'.

        * xalloc.h: Include <stddef.h>.
        Remove unnecessary parentheses.
        Use `1990-2000' notation in Copyright line until Emacs'
        copyright-update function learns how to handle a comma-separated
        list of years that spans a line boundary.

        * Makefile.am (libfetish_a_SOURCES): Add getdelim2.c and getdelim2.h.

        * getline.c (getdelim2): Move this function into its own file.
        * getdelim2.c: Extracted from getline.c.

        * linebuffer.c, linebuffer.h: Update from gnulib.

        * getdelim2.c, getdelim2.h: New files.
        * getstr.c, getstr.h: Remove files.

        * same.h: Update from gnulib.
        * xstrtol.h: Update from gnulib.

2003-06-17  Paul Eggert  <address@hidden>

        Assume C89, so PARAMS isn't needed.
        * backupfile.h (PARAMS): Remove.  All uses removed.
        * closeout.h, dirname.h, filemode.h, fsusage.h, getdate.h, getline.h,
        group-member.h, hard-locale.h, hash.h, linebuffer.h, long-options.h,
        makepath.h, memcasecmp.h, memcoll.h, modechange.h, mountlist.h,
        path-concat.h, physmem.h, posixtm.h, quote.h, readutmp.h, same.h,
        save-cwd.h, savedir.h, stdio-safer.h, strtoimax.c, strverscmp.h,
        unistd-safer.h, version-etc.h, xalloc.h, xreadlink.h, xstrtod.h,
        xstrtol.h: Likewise.
        * filemode.h, hard-locale.h, memcoll.h, modechange.h, physmem.h, same.h,
        * strverscmp.h: Do not include config.h; no longer needed.
        Anyway, config.h should always be included before any other file.

2003-06-17  Jim Meyering  <address@hidden>

        * getline.c: Update from gnulib.

        Merge in changes from gnulib.
        * hash.c: Include <stdbool.h> unconditionally.
        Include <limits.h>.
        (CHAR_BIT): Don't define.

2003-06-09  John David Anglin  <address@hidden>

        * acl.c: Include <sys/types.h> before <sys/stat.h>.
        Required on Ultrix 4.3.

2003-05-20  Derek Price  <address@hidden>

        * stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is necessary.

2003-06-10  Jim Meyering  <address@hidden>

        * getdate.y: Also accept dates of the form May-23-2003.
        Suggestion from Karl Berry.

2003-06-09  Jim Meyering  <address@hidden>

        * gettimeofday.c: Also undefine gmtime.
        (rpl_gmtime): New function.  Suggestion from Paul Eggert.

2003-06-08  Jim Meyering  <address@hidden>

        * getline.h: Update from gnulib.

        Clean up, as part of merge with emacs version of strftime.c.
        * strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
        Remove function, now that we can rely on a working tzset function.
        [!_LIBC]: Ensure that the required autoconf test has been run.
        * gettimeofday.c: Also undef tzset.
        (rpl_tzset): New function, for use by new macro, gl_FUNC_TZSET_CLOBBER.

2003-06-07  Jim Meyering  <address@hidden>

        * readtokens.h: Add copyright notice.
        Include <stdio.h>.
        Remove definition and uses of __P.

        * readtokens.c: Put `Free Software Foundation, Inc.' in place of
        my name in the copyright comment.
        (init_tokenbuffer): Remove unnecessary parentheses around malloc.

        Update from gnulib.
        * getdate.y: Include alloca.h unconditionally.
        * xmemcoll.h: Include <stddef.h>.

        * Makefile.am (MOSTLYCLEANFILES): Add alloca.h and alloca.ht.
        (MOSTLYCLEANFILES): Add stdbool.ht.

        * human.c: Include <stdio.h>, once again, for declaration of sprintf.

        Update from gnulib.
        * tempname.c: Include <stddef.h> unconditionally.
        Include <inttypes.h> as an alternative to <stdint.h>.
        * strtoimax.c: Include <stdint.h> as an alternative to <inttypes.h>.
        * xstrtol.h: Likewise.
        * xstrtoimax.c: Likewise.
        * xstrtoumax.c: Likewise.

        Update from gnulib.
        * strcasecmp.c: Include <stddef.h>, not <sys/types.h>.
        * savedir.c: Include <stddef.h>.
        (NULL): Don't define, since <stddef.h> does that.

2003-06-06  Jim Meyering  <address@hidden>

        Update from gnulib.
        * rpmatch.c: Include <limits.h> without checking for HAVE_LIMITS_H.
        Include <stddefs.h> unconditionally.
        (NULL): Don't define, since <stddef.h> does that.
        * rename.c: #undef rename before defining rpl_rename.
        [HAVE_CONFIG_H]: Guard inclusion of config.h.
        * putenv.c: Include <stddef.h> rather than <sys/types.h>,
        as we merely need size_t.
        * realloc.c: Likewise.
        * quote.c: Don't include <stddef.h> or <sys/types.h>; not needed.
        * modechange.c: Include <stddef.h>.
        (NULL): Don't define, since <stddef.h> does that.
        * memcoll.h: Include <stddef.h>, to get size_t.
        * memcoll.c: Include "memcoll.h", which gets us size_t and checks
        our interface, instead of including <sys/types.h>
        (memcoll): Fall back on a simple algorithm using
        memcmp if strcoll doesn't work.
        * memcasecmp.h: Include <stddef.h>.
        * memcasecmp.c: Don't include <sys/types.h>.

        From gnulib.
        * alloca_.h: New file.
        * Makefile.am (EXTRA_DIST): Add alloca_.h.
        (all-local $(lib_OBJECTS)): Depend on $(ALLOCA_H).
        (alloca.h): New rule.

        * addext.c: Update from gnulib.
        * backupfile.c: Likewise.
        * config.charset: Likewise.
        * dirname.h: Likewise.
        * fsusage.c: Likewise.
        * userspec.c: Likewise.
        * xreadlink.c: Likewise.
        * xstrtol.c: Likewise.
        * __fpending.h: Likewise.

        * md5.c: Include <string.h> and <stdlib.h> unconditionally.
        (memcpy): Remove definition.

        * posixtm.c: Include <stdbool.h> unconditionally.

2003-06-05  Jim Meyering  <address@hidden>

        From gnulib.
        * mktime.c: Assume freestanding C89 or better.
        (HAVE_LIMITS_H): Remove.  Assume it's 1.
        (__P): Remove; not used.
        (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
        (mktime, not_equal_tm, print_tm, check_result,
        main): Use prototypes.  Use const * where appropriate.
        (main): Fix typo in testing code that uncovered by above changes.
        (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.

2003-06-04  Paul Eggert  <address@hidden>

        Merge human.c etc. from gnulib.
        * exclude.c, human.c, human.h: Merge from gnulib.
        * cycle-check.c, cycle-check.h, src/system.h:
        Include <stdbool.h> unconditionally.

2003-06-02  Jim Meyering  <address@hidden>

        * stdbool.hin: New file.  From gnulib.
        * Makefile.am (MOSTLYCLEANFILES): Initialize.
        (stdbool.h): New rule.
        (all-local $(lib_OBJECTS)): Depend on $(STDBOOL_H)
        (MOSTLYCLEANFILES): Add stdbool.h.
        (EXTRA_DIST): Add stdbool.h.

2003-05-30  Jim Meyering  <address@hidden>

        * addext.c: Update from gnulib.
        * mktime.c: Likewise.

2003-05-29  Jim Meyering  <address@hidden>

        Make the %r format directive honor any locale setting.
        * strftime.c: (my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]:
        Use underlying_strftime for %r.

2003-05-15  Jim Meyering  <address@hidden>

        * getopt.h: Remove a space before a TAB.

2003-05-13  Jim Meyering  <address@hidden>

        * setenv.c (setenv): Don't apply cast to argument of free.
        * putenv.c (rpl_putenv): Likewise.
        * alloca.c (alloca): Likewise.

2003-05-12  Jim Meyering  <address@hidden>

        * ftw.c (ftw_startup): Always call free_cwd after restore_cwd.
        Reported by Matti Aarnio as
        Forwarded by Tim Waugh.

        * strftime.c (my_strftime): Let the `-' (no-pad) flag affect
        the space-padded-by-default conversion specifiers, %e, %k, %l.

2003-05-07  Paul Eggert  <address@hidden>

        * xnanosleep.c (timespec_subtract): Don't modify the 2nd arg.
        Work even if X-Y overflows when subtracting.  Make explicit the
        assumption that tv_nsec must be in range.
        (clock_get_realtime): Remove.  All callers changed to invoke gettime,
        for simplicity.
        (xnanosleep): Check for gettime failure every time.

2003-05-06  Jim Meyering  <address@hidden>

        * xnanosleep.c (clock_get_realtime): Use gettime.c's gettime function,
        rather than an inferior, open-coded version that would fail on
        AIX systems due to clock_gettime failing with errno == ENOSYS.
        Reported by Jérôme Zago.

2003-05-05  Jim Meyering  <address@hidden>

        Avoid array overrun.
        * ftw.c (nftw_arr): Update to reflect complete list of members.
        (ftw_arr): Likewise
        Reported by Olatunji Oluwabukunmi Ruwase.

        Make it less likely that the above can happen again.
        * ftw.c (struct dummy): Ensure that at least the number of
        initializers matches the number of members in the corresponding enum.
        * ftw_.h (enum Ftw_option): Name this previously-anonymous enum.
        (enum Ftw_option) [FTW_N_MEMBERS]: New member.

2003-05-04  Jim Meyering  <address@hidden>

        * setenv.c (__set_errno, LOCK, UNLOCK): Define.
        (unsetenv): Update from GNU libc.
        Ifdef-out this function, since the only caller
        is putenv.c and that file now has its own copy.

        This avoids a core dump on systems without GNU putenv,
        when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
        * putenv.c (__set_errno, LOCK, UNLOCK): Define.
        (unsetenv): New static function, from GNU libc.
        (rpl_putenv): Use it.

2003-05-02  Jim Meyering  <address@hidden>

        * canonicalize.c (canonicalize_file_name) [!HAVE_RESOLVEPATH]:
        A memory-allocation error could result in heap corruption.  Fix it
        by also updating `dest' when rpath may be changed by xrealloc.

2003-04-15  Jim Meyering  <address@hidden>

        * getloadavg.c: Remove (or replace-with-TAB(s) to retain alignment)
        each sequence of spaces before a TAB character.
        * md5.c, getopt.c, getopt.h, obstack.h, strftime.c: Likewise.

2003-04-11  Jim Meyering  <address@hidden>

        * readutmp.c: Include <string.h> and <stdlib.h> unconditionally.

        * canonicalize.c, exclude.c, getgroups.c, getusershell.c:
        * group-member.c, idcache.c, mountlist.c, readtokens.c, readutmp.c:
        * bumpalloc.h: Remove anachronistic casts of xmalloc, xrealloc,
        and xcalloc return values.

        * xalloc.h (PARAMS): Remove definitions and uses.
        (XMALLOC, XCALLOC, XREALLOC): Remove unnecessary casts.

        * xmalloc.c: Remove use of PARAMS.

2003-04-10  Jim Meyering  <address@hidden>

        * canonicalize.c (canonicalize_file_name) [HAVE_RESOLVEPATH]: Remove
        stray semicolon that caused `readlink --canonical RELATIVE_NAME' to
        fail on e.g., Solaris systems.  Reported by Bruce Korb.
        (canonicalize_file_name): Return NULL immediately if resolvepath fails.
        Otherwise, `readlink --canonical /no-such-file' would exhaust
        virtual memory on some systems (e.g. Solaris).
        (canonicalize_file_name): Always free `extra_buf' before returning.
        (canonicalize_file_name): NUL-terminate the result.

2003-04-05  Jim Meyering  <address@hidden>

        * Makefile.am (DEFS): Use += notation rather than `DEFS = ... @DEFS@'.
        Use $(VAR) rather than @VAR@, now that we can rely on automake to
        emit a definition for each substituted variable.

2003-03-26  Richard Dawe  <address@hidden>

        * dirname.c [TEST_DIRNAME]: Update build instructions for test.
        Add test-cases for DOS filenames. Declare program_name.
        (main): Set up program_name.

2003-07-14  Jim Meyering  <address@hidden>

        * Makefile.am.in: Correct comment on first line.

2003-07-12  Jim Meyering  <address@hidden>

        * jm-macros.m4 (OPTIONAL_BIN_ZCRIPTS): Remove unused variable.

2003-07-10  Jim Meyering  <address@hidden>

        * jm-macros.m4 (jm_MACROS): Require gl_FUNC_VASPRINTF and

        * longdouble.m4, signed.m4, vasnprintf.m4, vasprintf.m4, wchar_t.m4:
        * wint_t.m4: New files, in support of new asprintf use.  From gnulib.

        * stdint_h.m4: New file.
        * inttypes_h.m4: New file.
        * uintmax_t.m4: New file.
        * intmax_t.m4: New file.
        * inttypes.m4: Remove file.  Use intmax_t.m4 and uintmax_t.m4
        from gnulib, instead.

2003-06-09  Jim Meyering  <address@hidden>

        * tzset.m4 (gl_FUNC_TZSET_CLOBBER): Also define gmtime.
        * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
        Suggestion from Paul Eggert.

2003-06-08  Jim Meyering  <address@hidden>

        * tzset.m4 (gl_FUNC_TZSET_CLOBBER): New file/macro.
        Used by strftime.m4.
        * strftime.m4 (_jm_STRFTIME_PREREQS): Require gl_FUNC_TZSET_CLOBBER.

2003-06-07  Jim Meyering  <address@hidden>

        * strftime.m4: Update from gnulib.
        * tm_gmtoff.m4: New file, used by strftime.m4.
        * mktime.m4: New file.  From gnulib.

2003-06-06  Jim Meyering  <address@hidden>

        * jm-macros.m4: Require gl_FUNC_ALLOCA.
        * alloca.m4: New file, from gnulib.

        * stdbool.m4: Update from gnulib.

2003-06-04  Paul Eggert  <address@hidden>

        Merge human.c etc. from gnulib.
        * human.m4: New file, from gnulib.
        * prereq.m4 (jm_PREREQ): Use gl_HUMAN, not jm_PREREQ_HUMAN.
        (jm_prereq_HUMAN): Remove.

2003-06-02  Jim Meyering  <address@hidden>

        * jm-macros.m4 (jm_MACROS): Require AM_STDBOOL_H.

2003-05-26  Jim Meyering  <address@hidden>

        * dirfd.m4 (UTILS_FUNC_DIRFD): Merge in change from gnulib,
        fixing an M4 quoting bug.

        * lib-ld.m4 (AC_LIB_PROG_LD_GNU): Use TAB-SP, not SP-TAB
        when setting IFS.
        * progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.

2003-05-06  Jim Meyering  <address@hidden>

        * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Check for the
        declaration of getcwd *before* checking for the getcwd kernel bug.
        Otherwise, configure-time `checking ...' messages would be intermixed.

2003-05-02  Jim Meyering  <address@hidden>

        * readdir.m4 (GL_FUNC_READDIR): Revive dead file.  Change name to
        have GL_ (not jm_) prefix.  Adjust cache variables similarly.
        Create 500 rather than just 300 files, to exercise bug on
        Darwin6.5, too.
        * jm-macros.m4 (jm_MACROS): Require GL_FUNC_READDIR.

2003-04-25  Jim Meyering  <address@hidden>

        * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): If PATH_MAX
        is not defined, don't run the test, and don't use the wrapper.
        Otherwise, on the Hurd, it would take a long time to create
        and remove a hierarchy about 4000 levels deep.
        Based on a patch from Robert Millan.

2003-04-22  Jim Meyering  <address@hidden>

        * gettext.m4: Change an occurrence of [ \t] to [\t ].

2003-04-07  Jim Meyering  <address@hidden>

        * prereq.m4 (jm_PREREQ_STAT): Add prerequisites and #includes
        for Ultrix 4.4.

2003-04-21  Jim Meyering  <address@hidden>

        * depcomp: New version, now that this file is on the list
        in ../Makefile.cfg.

2003-07-14  Paul Eggert  <address@hidden>

        * doc/coreutils.texi (uname invocation): Explain the POSIX
        terminology behind uname -m and uname -s.

2003-07-13  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * coreutils.texi (head invocation): Document --bytes=-N and --lines=-N.

2003-05-13  Paul Eggert  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        * 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  <address@hidden>

        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.

2003-04-10  Jim Meyering  <address@hidden>

        * 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  <address@hidden>

        * Makefile.am (constants.texi): Rename target (thus enabling it),
        now that fileutils, textutils, and sh-utils have been merged.

2003-07-11  Jim Meyering  <address@hidden>

        * POTFILES.in: Add src/nohup.c and src/setuidgid.c.

Attachment: pgpAIqhvUTUq8.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]