Rename stdbool.h.in to stdbool_.h, for DOS and VMS's sake.
[gnulib.git] / lib / ChangeLog
index da02a2c..92a994d 100644 (file)
@@ -1,7 +1,639 @@
+2003-06-06  Jim Meyering  <jim@meyering.net>
+
+       * stdbool_.h: Renamed from stdbool.h.in.
+
+2003-06-06  Jim Meyering  <jim@meyering.net>
+
+       Merge from coreutils.
+       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.
+
+       * modechange.c: Remove trailing blanks.
+
+       Merge from coreutils.
+       * fsusage.c: Remove declaration of statfs.
+       It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
+
+       * posixtm.c: Include <stdbool.h> unconditionally.
+
+2003-06-05  Paul Eggert  <eggert@twinsun.com>
+
+       * 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  <eggert@twinsun.com>
+
+       * mktime.c: Fix Debian bug 177940
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
+       (localtime_offset): Now long int, not time_t, because we want it
+       to be guaranteed to be signed.  All uses changed.
+       (__mktime_internal): If overflow would occur when adding offset,
+       don't add it.
+
+       Merge 'human' changes from coreutils.  Rewrite to support
+       locale-specific notations like thousands separators.
+       * human.c: Simplify authorship notice.
+       Include human.h immediately after config.h.
+       <sys/types.h>, <stdio.h>: Do not include; no longer needed.
+       <limits.h>: Do not include, since human.h does.
+       (SIZE_MAX, UINTMAX_MAX): New macros.
+       <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
+       <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
+       (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
+       (power_letter): Renamed from suffixes.
+       (generate_suffix_backwards): Remove.
+       (adjust_value): Now takes int style (because of human.h changes)
+       and long double value (for greater precision on some platforms).
+       (group_number): New function.
+       (human_readable): Use it.  Use integer options, not enum.
+       Put the options before the sizes in the arg list.
+       Support all the new options.
+       The old human_readable function has been removed;
+       use inttostr.h instead.
+       (human_readable, default_block_size, humblock):
+       Use uintmax_t, not int, for block sizes.
+       (human_readable_inexact, block_size_types): Remove.
+       (block_size_opts): New constant.
+       (human_options): Renamed from human_block_size, with new signature
+       that allows block sizes up to UINTMAX_MAX.  All callers changed.
+       * human.h: Add copyright and authorship notice.
+       Include <limits.h> and <stdbool.h> unconditionally.
+       (PARAMS): Remove.  All uses removed.
+       (LONGEST_HUMAN_READABLE): Add support for thousands separator.
+       (enum human_inexact_style): Remove tag; now a nameless enum.
+       (human_floor, human_ceiling, human_round_to_even): Now have
+       values 2, 0, 1 rather than -1, 1, 0.
+       (human_group_digits, human_suppress_point_zero, human_autoscale,
+       human_base_1024, human_SI, human_B): New constants.
+       (human_readable_inexact, human_block_size): Remove.
+       (human_readable): Size args are now uintmax_t, not int.
+       (human_options): New decl.
+
+       * exclude.c: (new_exclude, add_exclude): Remove casts that are
+       unnecessary now that we assume C89 or better.  This change
+       imported from coreutils.
+
+       * mktime.c (__mktime_internal): Do not reject negative timestamps
+       arbitrarily.  This is the same patch as 2003-05-28, but it got lost
+       in the 2003-05-30 sync from glibc.
+
+       .h files should stand alone, but we shouldn't include <sys/types.h>
+       if we can get away with just <stddef.h>.
+
+       * __fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
+       malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
+       rather than <sys/types.h>, as we merely need size_t.
+       * dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
+       to get size_t.
+       * hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
+       Include <stdio.h>, to get FILE.
+       * memcasecmp.c: Don't include <sys/types.h>, as we can assume
+       memcasecmp.h has included <stddef.h> and all we need is size_t.
+       * memcoll.c: Include "memcoll.h", which gets us size_t and checks
+       our interface, instead of including <sys/types.h>
+
+2003-06-02  Paul Eggert  <eggert@twinsun.com>
+
+       [from coreutils]
+       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.
+
+       * posixtm.h (posixtime): Return bool instead of time_t, so
+       that we can return (time_t) -1 successfully.
+       * posixtm.c: Likewise.
+       [HAVE_STDBOOL_H]: Include <stdbool.h>.
+       (bool, false, true) [!HAVE_STDBOOL_H]: New type.
+       (t): Remove static var.
+       (year, posix_time_parse): Now takes struct tm * arg to modify, instead
+       of static var.  All uses changed.
+       (year): Do not reject years before 1900; they can occur with
+       64-bit time_t.
+       (posix_time_parse): Do not check for out-of-range components;
+       that is now the caller's responsibility, since our checks were
+       only approximations.
+       (posixtime): Use mktime to check for out-of-range components,
+       since it knows them exactly.
+       If mktime returns (time_t) -1, check whether an error actually occurred
+       by invoking localtime on -1.
+       (main) [TEST_POSIXTIME]: Check for input data errors, and report
+       posixtime failures better.
+       Improve the test data (in comments only).
+
+2003-05-30    <karl@gnu.org>
+
+       * mktime.c: update from libc.
+
+2003-05-30  Bruno Haible  <bruno@clisp.org>
+
+       * config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
+       * localcharset.h: Likewise.
+       * localcharset.c: Likewise.
+
+2003-05-28  Paul Eggert  <eggert@twinsun.com>
+
+       Assume the headers required for C89 freestanding compilers.
+       * addext.c, backupfile.c, fsusage.c, human.c, pathmax.h,
+       rpmatch.c, userspec.c, xreadlink.c, xstrtol.c: Include <limits.h>
+       without checking for HAVE_LIMITS_H.
+       * backupfile.c, fsusage.c, hash.c, human.c, safe-read.c, userspec.c,
+       xstrtol.c (CHAR_BIT) : Don't define, since <limits.h> is guaranteed
+       to do that.
+       * fatal.c: Include <stdarg.h> without checking for __STDC__.
+       * exclude.c: Include <stdbool.h> unconditionally.
+       * tempname.c: Include <stddef.h> unconditionally.
+       * hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
+       * modechange.c, rpmatch.c (NULL): Don't define, since
+       <stddef.h> does that.
+       * quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
+       * safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
+       * safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer needed.
+       * xstrtol.c: Likewise.
+       * safe-read.c: Remove TYPE_SIGNED; no longer needed.
+       * savedir.c: Include <stddef.h> instead of defining NULL.
+
+       * addext.c (addext): Use assignment rather than cast, to avoid
+       warnings on some platforms.
+
+       * mktime.c (__mktime_internal): Do not reject negative timestamps
+       arbitrarily.
+
+2003-05-10  Bruno Haible  <bruno@clisp.org>
+
+       * linebreak.c (iconv_string_length): Don't return -1 just because the
+       string is longer than 4 KB.
+
+2003-05-12  Jim Meyering  <jim@meyering.net>
+
+       * strftime.c (my_strftime): Let the `-' (no-pad) flag affect
+       the space-padded-by-default conversion specifiers, %e, %k, %l.
+
+2003-05-03  Bruno Haible  <bruno@clisp.org>
+
+       Upgrade to Unicode-4.0.
+       * linebreak.c (nonspacing_table_data): Change width of U+00AD,
+       U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
+       U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
+       U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
+       from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
+       (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
+       of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
+       Change width of U+E0100..U+E01EF from 1 to 0.
+
+2003-04-25  Bruno Haible  <bruno@clisp.org>
+
+       * copy-file.c: Include <stddef.h>, for size_t.
+
+2003-04-25  Jim Meyering  <jim@meyering.net>
+
+       * copy-file.c (copy_file_preserving): Declare buf_size to be
+       of type size_t, not int.
+
+2003-04-11  Jim Meyering  <jim@meyering.net>
+
+       Merge changes from Coreutils.
+
+       2003-03-22  Jim Meyering  <jim@meyering.net>
+
+       * strftime.c (widen): Cast alloca return value to proper type.
+
+       2003-01-19  Ulrich Drepper  <drepper@redhat.com>
+
+       From GNU libc.
+       * strftime.c (my_strftime): Handle very large width
+       specifications for numeric values correctly.  Improve checks for
+       overflow.
+
+       2003-01-19  Jim Meyering  <jim@meyering.net>
+
+       * strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical definitions.
+       (nl_get_alt_digit) [! defined my_strftime]: Define.
+       (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
+       _nl_get_alt_digit and _nl_get_walt_digit.
+
+       * strftime.c (my_strftime): Merge in locale-related changes from libc.
+       These changes have no effect outside of _LIBC.
+
+2003-04-10  Bruno Haible  <bruno@clisp.org>
+
+       * findprog.h: New file, from GNU gettext.
+       * findprog.c: New file, from GNU gettext.
+
+2003-04-05  Jim Meyering  <jim@meyering.net>
+
+       Merge changes from Coreutils.
+
+       * exclude.h (PARAMS): Remove definition and uses.
+       * exclude.c: Remove uses of `PARAMS'.
+
+       * dirname.c [TEST_DIRNAME]: Update build instructions for test.
+       Add test-cases for DOS filenames. Declare program_name.
+       (main): Set up program_name.  Patch by Rich Dawe.
+
+       * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
+       error from mntctl.
+       Use mntctl's return value to drive the entry-processing loop, since
+       we can't rely on the value of the vmt_length member in the last
+       entry.  On some systems doing so could result in exhausting
+       virtual memory.  Based in part on a patch from Mike Jetzer.
+
+2003-04-04  Bruno Haible  <bruno@clisp.org>
+
+       * linebreak.h: New file, from GNU gettext.
+       * linebreak.c: New file, from GNU gettext with slight modifications.
+       * lbrkprop.h: New file, from GNU gettext.
+
+2003-04-03  Bruno Haible  <bruno@clisp.org>
+
+       * utf8-ucs4.h: New file, from GNU gettext.
+       * utf16-ucs4.h: New file, from GNU gettext.
+       * ucs4-utf8.h: New file, from GNU gettext.
+       * ucs4-utf16.h: New file, from GNU gettext.
+
+2003-04-02  Bruno Haible  <bruno@clisp.org>
+
+       * binary-io.h: New file, from GNU gettext.
+
+2003-04-01  Bruno Haible  <bruno@clisp.org>
+
+       * pathname.h: New file, from GNU gettext.
+       * concatpath.c: New file, from GNU gettext.
+
+2003-03-30  Bruno Haible  <bruno@clisp.org>
+
+       * copy-file.c (copy_file_preserving): Don't set owner if the function
+       chown() doesn't exist.
+
+2003-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * copy-file.h: New file, from GNU gettext.
+       * copy-file.c: New file, from GNU gettext.
+
+2003-03-18  Jim Meyering  <jim@meyering.net>
+
+       * quote.c (quote_n): Fix typo in comment.
+
+2003-03-14  Jim Meyering  <jim@meyering.net>
+
+       Merge changes from Coreutils.
+       * obstack.h (obstack_object_size): Declare temporary, __o,
+       to be const, in order to avoid warnings.
+       (obstack_room): Likewise.
+       (obstack_empty_p): Likewise.
+
+2003-03-13  Paul Eggert  <eggert@twinsun.com>
+
+       Merge changes from Bison.
+       * obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
+       (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
+       when compiling Bison 1.875's `bitset bset = obstack_alloc
+       (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
+       * hash.c: Include <stdbool.h> unconditionally.
+
+2003-03-09  Paul Eggert  <eggert@twinsun.com>
+
+       * argmatch.c (EXIT_FAILURE): Define if the system doesn't.
+       Reported by Bruce Becker; see:
+       http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
+
+2003-03-03  Paul Eggert  <eggert@twinsun.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
+       Reported by John Hughes, see
+       http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
+
+2003-02-19  Paolo Bonzino  <bonzini@gnu.org>
+
+       * poll_.h: New file.
+       * poll.c: New file.
+
+2003-02-18  Paolo Bonzino  <bonzini@gnu.org>
+
+       * mathl.h: New file.
+       * acosl.c: New file.
+       * asinl.c: New file.
+       * atanl.c: New file.
+       * ceill.c: New file.
+       * cosl.c: New file.
+       * expl.c: New file.
+       * floorl.c: New file.
+       * frexpl.c: New file.
+       * ldexpl.c: New file.
+       * logl.c: New file.
+       * sincosl.c: New file.
+       * sinl.c: New file.
+       * sqrtl.c: New file.
+       * tanl.c: New file.
+       * trigl.c: New file.
+       * trigl.h: New file.
+
+2003-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * mkdtemp.h: New file, from GNU gettext.
+       * mkdtemp.c: New file, from GNU gettext.
+
+2003-01-31  Bruno Haible  <bruno@clisp.org>
+
+       * rename.c: #undef rename before defining rpl_rename.
+       * strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
+
+2003-01-30  Bruno Haible  <bruno@clisp.org>
+
+       * printf-args.h: New file, from GNU gettext.
+       * printf-args.c: New file, from GNU gettext.
+       * printf-parse.h: New file, from GNU gettext.
+       * printf-parse.c: New file, from GNU gettext.
+       * vasnprintf.h: New file, from GNU gettext.
+       * vasnprintf.c: New file, from GNU gettext.
+       * asnprintf.c: New file, from GNU gettext.
+       * vasprintf.h: New file, from GNU gettext with modifications.
+       * vasprintf.c: New file, from GNU gettext.
+       * asprintf.c: New file, from GNU gettext.
+
+2003-01-29  Bruno Haible  <bruno@clisp.org>
+
+       * stpncpy.h: New file, from GNU gettext with modifications.
+       * stpncpy.c: New file, from GNU gettext with modifications.
+
+2003-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * c-ctype.h: New file, from GNU gettext, with changes suggested by
+       Paul Eggert.
+       * c-ctype.c: New file, from GNU gettext, with changes suggested by
+       Paul Eggert.
+
+2003-01-27  Bruno Haible  <bruno@clisp.org>
+
+       * xsetenv.h: New file, from GNU gettext.
+       * xsetenv.c: New file, from GNU gettext.
+
+2003-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * minmax.h: New file, from GNU gettext, with comments from Paul Eggert.
+
+2003-01-22  Bruno Haible  <bruno@clisp.org>
+
+       * exit.h: New file, from GNU gettext.
+
+2003-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * stpcpy.h (stpcpy): Use ANSI C function declarations.
+       * strcase.h (strcasecmp, strncasecmp): Likewise.
+
+2003-01-14  Jim Meyering  <jim@meyering.net>
+
+       * same.c (same_name): Tweak a comment.
+
+2003-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * same.c (same_name): Reorder tests so as to avoid calling stat()
+       when a string comparison is sufficient.
+
+2003-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * readtokens.c (readtoken): Cast character to 'unsigned char', not
+       'unsigned int'.
+
+2003-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * hash-pjw.c: Add comment about low quality of this function.
+
+2003-01-12  Paul Eggert  <eggert@twinsun.com>
+
+       Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
+       to avoid collisions with libcurses and libreadline.
+
+       * Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
+       * getstr.h, getstr.c: Remove.
+       * getline.c: Include "getline.h", to check interface.
+       Move body of old getstr.c here: this defines MIN_CHUNK and
+       declares getdelim2, which is renamed from getstr.
+       (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
+
+       * linebuffer.c (readlinebuffer): Renamed from readline.
+       All uses changed.
+       * linebuffer.h: Likewise.
+       (readline): Remove backward-compatibility macro.
+
+2003-01-12  Jim Meyering  <jim@meyering.net>
+
+       * makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
+
+2003-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * alloca_.h: New file.
+       * getdate.y: Unconditionally include alloca.h.
+       * makepath.c: Likewise.
+       * setenv.c: Likewise.
+       * userspec.c: Likewise.
+
+2003-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * stdbool.h.in: New file.
+
+2003-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * safe-read.c: Include specification header first, to ensure its
+       selfcontainedness.
+       * full-write.c: Likewise.
+
+2003-01-08  Jim Meyering  <jim@meyering.net>
+
+       * full-write.c: Undefine and define-away `const' after inclusion
+       of errno.h, not before.  Suggestion from Bruno Haible.
+
+2003-01-07  Jim Meyering  <jim@meyering.net>
+
+       * full-write.c: Rework so that it may serve to define full_read, too.
+       * full-read.c: Simply #define FULL_READ and include full-write.c.
+
+2003-01-06  Jim Meyering  <jim@meyering.net>
+
+       * version-etc.c: Update year in translatable copyright string.
+
+2002-12-25  Bruno Haible  <bruno@clisp.org>
+
+       * strtoimax.c: Include <stdint.h> as an alternative to <inttypes.h>.
+       * xstrtol.h: Likewise.
+       * xstrtoimax.c: Likewise.
+       * xstrtoumax.c: Likewise.
+       * human.h: Likewise.
+
+       * tempname.c: Include <inttypes.h> too. Avoids a compilation error
+       on systems that have <inttypes.h> but not <stdint.h>.
+
+2002-12-31  Paul Eggert  <eggert@twinsun.com>
+
+       * memcoll.c (memcoll): Fall back on a simple algorithm using
+       memcmp if strcoll doesn't work.
+
+2002-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.h: New file.
+       * localcharset.c: Include it.
+       * unicodeio.c: Likewise.
+
+2002-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * utime.c (utime_null): No need to call ftruncate if the file was
+       nonempty.
+
+2002-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * memcoll.c (STRCOLL): New macro.
+       (memcoll): Use it.
+
+2002-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * getstr.h (getstr): Define, to avoid clash with libcurses.
+       * linebuffer.h (readline): Define, to avoid clash with libreadline.
+
+2002-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
+
+2002-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * getline.h: Include <stddef.h>, for size_t.
+
+       * unicodeio.h: Include <stddef.h>, for size_t.
+       * unicodeio.c: Don't include <stddef.h>.
+
+2002-12-17  Bruno Haible  <bruno@clisp.org>
+
+       * canon-host.c (strdup): Remove unused declaration.
+
+       * fsusage.c: Include full_read.h.
+       (get_fs_usage): Use full_read instead of safe_read.
+
+       * utime.c (utime_null): Use SAFE_READ_ERROR.
+
+2002-12-11  Bruno Haible  <bruno@clisp.org>
+
+       * setenv.h: Rewritten to cope with systems that have setenv() but not
+       unsetenv().
+       * setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
+       modifications:
+
+       2002-12-11  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c (alloca): Fall back to malloc.
+               (freea): New macro.
+               (setenv): Use freea() to free memory allocated with alloca().
+
+       2002-11-13  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
+               function declarations.
+               * unsetenv.c (unsetenv): Likewise.
+
+       2002-03-04  Bruno Haible  <bruno@clisp.org>
+
+               Portability to AIX 4.3.3.
+               * unsetenv.c: New file, extracted from setenv.c.
+               * setenv.c: Move the unsetenv() function to unsetenv.c.
+
+       2001-12-20  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
+               use malloc instead. For SunOS4.
+
+       2001-12-11  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c: Declare alloca.
+               (compar_fn_t): New typedef.
+               (KNOWN_VALUE, STORE_VALUE): Use it.
+
+       * Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
+       setenv.h.
+
+2002-12-10  Paul Eggert  <eggert@twinsun.com>
+
+       Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
+       * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
+       Choose values that are less likely to collide with system fnmatch
+       options.
+       * exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
+       defined (e.g., a pure POSIX system).
+       (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
+       instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
+
+2002-12-06  Jim Meyering  <jim@meyering.net>
+
+       * error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
+
+       Merge in changes from libc's misc/error.c, in preparation
+       for the merge of gnulib's changes back into libc.
+
+       * error.c (_): Define only if not already defined.
+       Move definition to follow all #include directives.
+       Include unlocked-io.h only if !_LIBC.
+       [_LIBC]: Include <libio/libioP.h>.
+       [USE_IN_LIBIO]: Include <libio/iolibio.h>
+       (fflush): Tweak definition to use INTUSE.
+       (putc): Define.
+
+2002-12-05  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca.c [defined emacs]: Include "lisp.h".
+       (xalloc_die) [defined emacs]: New macro.
+       (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
+       [! defined emacs]: Include <xalloc.h>.
+       (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
+       (pointer): Typedef to POINTER_TYPE *.
+       (malloc): Remove decl; we now always use xmalloc.
+       (alloca): Use old-style definition, since Emacs needs this.
+       Check for arithmetic overflow when computing combined size.
+
+2002-12-04  Paul Eggert  <eggert@twinsun.com>
+
+       Do not generate unlocked-io.h automatically, since it's easier to
+       maintain it by hand.
+
+       * unlocked-io.h: New file, from GNU diffutils,
+       but with proper copyright notice and attribution.
+       * gen-uio: Remove.
+       * Makefile.am: Add copyright notice.
+       (libfetish_a_SOURCES): Add unlocked-io.h.
+       (BUILT_SOURCES, all-local): Remove unlocked-io.h.
+       (DISTCLEANFILES, io_functions): Remove macros.
+       (EXTRA_DIST): Remove gen_uio.
+       (unlocked-io.h): Remove rule.
+
+2002-12-04  Jim Meyering  <jim@meyering.net>
+
+       Reflect the fact that stat.c and lstat.c are no longer generated.
+       * Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
+       (DISTCLEANFILES): Likewise.
+       (EXTRA_DIST): Likewise.
+       (all_local): Don't depend on stat.c or lstat.c.
+       (stat.c, lstat.c): Remove rules.
+       (EXTRA_DIST): Remove xstat.in.
+
+       * xstat.in: Remove file.  Contents moved into stat.c.
+       * stat.c: New file.  Contents mostly from xstat.in.
+       * stat.c: Rework so that it may serve to define rpl_lstat, too.
+       * lstat.c: New file. Simply #define LSTAT and include stat.c.
+
+       * safe-read.c: Rework so that it may serve to define safe_write, too.
+       * safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
+
 2002-12-03  Jim Meyering  <jim@meyering.net>
 
        * safe-read.c, safe-write.c: Change variable names and comments, but
        not semantics, to minimize the differences between these two files.
+       (safe_read): Change comment to mention SAFE_READ_ERROR.
 
        * safe-read.c (IS_EINTR): Define.
        (safe_read): Use IS_EINTR in place of in-function cpp directives.
 
        * argmatch.c: Include "quote.h".
        (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
-       quote function.  Reported by Göran Uddeborg.
+       quote function.  Reported by Göran Uddeborg.
 
 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
 
 
 2000-01-17  Jim Meyering  <meyering@lucent.com>
 
-       * interlock: Remove unused file.  Reported by François Pinard.
+       * interlock: Remove unused file.  Reported by François Pinard.
 
 2000-01-16  Paul Eggert  <eggert@twinsun.com>