[lib/ChangeLog]
[gnulib.git] / lib / ChangeLog
index ee82a46..4393e2b 100644 (file)
+2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * __fpending.h: Don't include <stdio_ext.h> unless
+       HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
+       it causes <stdio_ext.h> to cause a compile-time error.
+       Problem reported by Nelson H. F. Beebe.
+       * getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
+       of HAVE_DECL___PENDING.
+
+2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * savewd.c: Include <signal.h>, for 'raise'.
+
+2006-09-26  Eric Blake  <ebb9@byu.net>
+
+       * verror.c: Include <config.h> unconditionally.
+
+2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+       * gl_anylinked_list2.h [lint] (gl_linked_iterator)
+       (gl_linked_iterator_from_to): Initialize struct completely.
+       * gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
+       (gl_tree_iterator_from_to): Likewise
+       * gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
+       * gl_array_list.c [lint] (gl_array_iterator)
+       (gl_array_iterator_from_to): Likewise.
+       * gl_array_oset.c [lint] (gl_array_iterator): Likewise.
+       * gl_carray_list.c [lint] (gl_carray_iterator)
+       (gl_carray_iterator_from_to): Likewise.
+
+       * gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
+       * md4.c (md4_process_block): Remove unused variable.
+       * rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
+       parentheses for clarity.
+
+2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Import this patch from libc:
+
+       2006-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * regex_internal.c (re_string_reconstruct): Handle
+       offset < pstr->valid_raw_len && pstr->offsets_needed case.
+       Ensure no bytes read before raw_mbs array.  Pass a saved copy of
+       pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
+       re_string_context_at.
+
+2006-09-20  Bruno Haible  <bruno@clisp.org>
+
+       * mkdtemp.c: Import from libc.
+       2006-04-07  Ulrich Drepper  <drepper@redhat.com>
+               * sysdeps/posix/tempname.c (__gen_tempname): Change
+               attempts_min into a macro.  Use preprocessor to decide how to
+               initialize attempts [Coverity CID 67].
+       2001-11-27  Paul Eggert  <eggert@twinsun.com>
+               * sysdeps/posix/tempname.c (__gen_tempname): Try at least
+               ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
+
+2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mkstemp.h: New file, since some standard headers
+       #define mkstemp.
+       * mkstemp.c: Revamp to put the !_LIBC code together.
+       Include "mkstemp.h".
+       Make the _LIBC code resemble glibc original more,
+       e.g., use K&R style.
+       * mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
+       (mkstemp): Remove, since mkstemp.h does this for us.
+       * stdlib--.h: Include mkstemp.h.
+
+       Import this patch from libc:
+
+       2006-04-07  Ulrich Drepper  <drepper@redhat.com>
+
+       * tempname.c (__gen_tempname): Change attempts_min
+       into a macro.  Use preprocessor to decide how to initialize
+       attempts [Coverity CID 67].
+
+2006-09-18  Bruno Haible  <bruno@clisp.org>
+
+       * javaversion.c: Include configmake.h.
+
+2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
+       that prevented coreutils 6.1 from building.  Problem reported
+       by Petter Reinholdtsen.
+
+2006-09-18  Jim Meyering  <jim@meyering.net>
+
+       * savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
+
+2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * dirchownmod.c: Don't include fcntl.h; no longer needed.
+       (dirchownmod): New arg FD.  All callers changed.
+       Use FD rather than opening the directory ourself, as opening is
+       now the caller's responsibility.
+       * dirchownmod.h: Likewise.
+       * mkancesdirs.c: Include <sys/types.h>, for portability to older
+       hosts that require <sys/types.h> before <sys/stat.h>.  Include
+       fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
+       (test_dir): Remove.
+       (mkancesdirs): Return length of prefix of FILE that has already
+       been made, or -2 if there is a child doing the work.  Redo
+       algorithm so that it is O(N) rather than O(N**2).  Optimize away
+       ".", and treat ".." specially since it might stray back into
+       already-created areas.  Use a subprocess if necessary.  New arg
+       WD; all users changed.  MAKE_DIR function should now return 1
+       if it creates a directory that is not readable.  Return -2 if
+       a child process is spun off.
+       * mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
+       Adjust signature to match code.
+       * mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
+       (make_dir_parents): Use a subprocess if necessary.  New arg WD;
+       all users changed.
+       * savewd.c, savewd.h: New files.
+
+2006-09-15  Jim Meyering  <jim@meyering.net>
+
+       * rename-dest-slash.c (has_trailing_slash): Use
+       FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
+       (rpl_rename_dest_slash): Perform the cheaper trailing slash
+       test before testing whether SRC is a directory.
+       Suggestions from Bruno Haible.
+
+       Avoid a warning about an unused variable.
+       * regex_internal.c (re_dfa_add_node): Move declaration of "type"
+       into the #ifdef block where it's used.
+
+       * rename-dest-slash.c: New file.
+
+2006-09-14  Bruno Haible  <bruno@clisp.org>
+
+       * allocsa.c: Include <config.h> unconditionally.
+       * asnprintf.c: Likewise.
+       * asprintf.c: Likewise.
+       * c-strcasecmp.c: Likewise.
+       * c-strcasestr.c: Likewise.
+       * c-strncasecmp.c: Likewise.
+       * c-strstr.c: Likewise.
+       * classpath.c: Likewise.
+       * clean-temp.c: Likewise.
+       * concatpath.c: Likewise.
+       * copy-file.c: Likewise.
+       * csharpcomp.c: Likewise.
+       * csharpexec.c: Likewise.
+       * execute.c: Likewise.
+       * fatal-signal.c: Likewise.
+       * findprog.c: Likewise.
+       * fwriteerror.c: Likewise.
+       * gl_array_list.c: Likewise.
+       * gl_array_oset.c: Likewise.
+       * gl_avltree_list.c: Likewise.
+       * gl_avltree_oset.c: Likewise.
+       * gl_avltreehash_list.c: Likewise.
+       * gl_carray_list.c: Likewise.
+       * gl_linked_list.c: Likewise.
+       * gl_linkedhash_list.c: Likewise.
+       * gl_list.c: Likewise.
+       * gl_oset.c: Likewise.
+       * gl_rbtree_list.c: Likewise.
+       * gl_rbtree_oset.c: Likewise.
+       * gl_rbtreehash_list.c: Likewise.
+       * imaxabs.c: Likewise.
+       * imaxdiv.c: Likewise.
+       * javacomp.c: Likewise.
+       * javaexec.c: Likewise.
+       * javaversion.c: Likewise.
+       * linebreak.c: Likewise.
+       * localcharset.c: Likewise.
+       * lock.c: Likewise.
+       * mbchar.c: Likewise.
+       * mbswidth.c: Likewise.
+       * mkdtemp.c: Likewise.
+       * pipe.c: Likewise.
+       * printf-args.c: Likewise.
+       * printf-parse.c: Likewise.
+       * progname.c: Likewise.
+       * progreloc.c: Likewise.
+       * readlink.c: Likewise.
+       * sh-quote.c: Likewise.
+       * stpcpy.c: Likewise.
+       * stpncpy.c: Likewise.
+       * strcasecmp.c: Likewise.
+       * strcasestr.c: Likewise.
+       * strcspn.c: Likewise.
+       * striconv.c: Likewise.
+       * strncasecmp.c: Likewise.
+       * strnlen1.c: Likewise.
+       * strstr.c: Likewise.
+       * strtok_r.c: Likewise.
+       * tls.c: Likewise.
+       * tmpdir.c: Likewise.
+       * unicodeio.c: Likewise.
+       * unsetenv.c: Likewise.
+       * vasnprintf.c: Likewise.
+       * vasprintf.c: Likewise.
+       * wait-process.c: Likewise.
+       * xallocsa.c: Likewise.
+       * xsetenv.c: Likewise.
+       * xstriconv.c: Likewise.
+
+2006-09-13  Eric Blake  <ebb9@byu.net>
+
+       * getopt.c: Fix typo in last commit.
+
+2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * _fpending.c: Include <config.h> unconditionally, since we no
+       longer worry about uses that don't define HAVE_CONFIG_H.
+       * acl.c, alloca.c, argmatch.c, atexit.c, backupfile.c:
+       * basename.c, c-stack.c, c-strtod.c, calloc.c, canon-host.c:
+       * canonicalize.c, chdir-long.c, chdir-safer.c, chown.c:
+       * cloexec.c, close-stream.c, closeout.c, creat-safer.c:
+       * cycle-check.c, diacrit.c, dirchownmod.c, dirfd.c, dirname.c:
+       * dup-safer.c, dup2.c, error.c, euidaccess.c, exclude.c:
+       * exitfail.c, fchmodat.c, fchown-stub.c, fd-safer.c:
+       * file-type.c, fileblocks.c, filemode.c, filenamecat.c:
+       * fnmatch.c, fopen-safer.c, fprintftime.c, free.c, fsusage.c:
+       * ftruncate.c, fts-cycle.c, fts.c, full-write.c, gai_strerror.c:
+       * getcwd.c, getdate.y, getdomainname.c, getgroups.c:
+       * gethostname.c, gethrxtime.c, getloadavg.c, getlogin_r.c:
+       * getndelim2.c, getnline.c, getopt.c, getopt1.c, getpass.c:
+       * gettime.c, gettimeofday.c, getugroups.c, getusershell.c:
+       * glob.c, group-member.c, hard-locale.c, hash-pjw.c, hash.c:
+       * human.c, idcache.c, inet_ntop.c, inet_pton.c, inttostr.c:
+       * isdir.c, lchown.c, linebuffer.c, long-options.c, lstat.c:
+       * malloc.c, md5.c, memcasecmp.c, memchr.c, memcmp.c, memcoll.c:
+       * memcpy.c, memmove.c, memrchr.c, mkancesdirs.c, mkdir-p.c:
+       * mkdir.c, mkdirat.c, mkstemp-safer.c, mkstemp.c, modechange.c:
+       * mountlist.c, nanosleep.c, obstack.c, open-safer.c:
+       * openat-die.c, openat.c, pagealign_alloc.c, physmem.c:
+       * pipe-safer.c, posixtm.c, posixver.c, putenv.c, quote.c:
+       * quotearg.c, raise.c, readtokens.c, readtokens0.c, readutmp.c:
+       * realloc.c, regex.c, rename.c, rmdir.c, rpmatch.c, safe-read.c:
+       * same.c, save-cwd.c, savedir.c, setenv.c, settime.c, sha1.c:
+       * sig2str.c, snprintf.c, strdup.c, strerror.c, strftime.c:
+       * stripslash.c, strndup.c, strnlen.c, strpbrk.c, strtod.c:
+       * strtoimax.c, strtol.c, strverscmp.c, tempname.c, time_r.c:
+       * timegm.c, tmpfile-safer.c, unlinkdir.c, userspec.c, utime.c:
+       * utimecmp.c, utimens.c, version-etc-fsf.c, version-etc.c:
+       * xalloc-die.c, xgetcwd.c, xgethostname.c, xmalloc.c:
+       * xmemcoll.c, xnanosleep.c, xreadlink.c, xstrtod.c:
+       * xstrtoimax.c, xstrtol.c, xstrtoumax.c, yesno.c:
+       Likewise.
+
+2006-09-12  Jim Meyering  <jim@meyering.net>
+
+       * nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
+       compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
+       Reported by Nelson H. F. Beebe.
+
+2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-help.c (argp_doc): Make sure NULL is not passed to
+       dgettext.
+
+2006-09-10  Bruno Haible  <bruno@clisp.org>
+
+       * mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
+
+2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-parse.c (__argp_parse) [!_LIBC]: Make sure
+       program_invocation_name and program_invocation_short_name are
+       initialized.
+       * argp-namefrob.h: Move declarations of program_invocation_name
+       and program_invocation_short_name to argp.h, so they are visible
+       to user programs.
+       * argp.h: Likewise
+
+2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp.h (struct argp): Document the N_("..") "\v" N_("..")
+       convention.  Text proposed by Bruno Haible.
+       (struct argp_option): Document the use of N_() wrappers.
+
+       * argp-help.c (argp_doc): Split the untranslated doc string on '\v',
+       and translate the two parts separately, instead of feeding
+       the whole string to gettext.  This allows to exclude
+       '\v' from the strings visible to the translator by writing doc
+       strings as N_("..") "\v" N_("..").
+
+2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mktime.c (guess_time_tm): Fix bug where mktime
+       returned the maximum time_t value rather than (time_t) -1.
+       Problem originally reported by William Bardwell
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
+
+       * isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
+       Moved to here ...
+       * isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
+       ... from here.
+
+2006-09-06  Bruno Haible  <bruno@clisp.org>
+
+       * striconv.h: New file.
+       * striconv.c: New file, merging iconvme.c with GNU gettext's
+       iconvstring.c.
+       * xstriconv.h: New file.
+       * xstriconv.c: New file.
+
+2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+       * argz_.h: Sync from Libtool.
+
+       2006-09-04  George Bosilca <bosilca@cs.utk.edu>
+               and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+       * libltdl/argz_.h: It's __cplusplus, not _cplusplus.
+
+2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
+
+       * trim.h: New file.
+       * trim.c: New file.
+
+2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
+       Problem reported by Ralf Wildenhues in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
+
+       * mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
+       HAVE_STRUCT_STATFS_F_FSTYPENAME.
+
+2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
+       or stdbool.h, because they might not exist while configuring.
+
+       * chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
+       Don't include unistd.h or limits.h; not needed, since chdir-long.h
+       does that for us.
+       (O_DIRECTORY): Remove.
+
+2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around a bug in both the Linux and SunOS 64-bit kernels:
+       nanosleep mishandles sleeps for longer than 2**31 seconds.
+       Problem reported by Frank v Waveren in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
+       * nanosleep.c (BILLION): New constant.
+       (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
+       (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new implementation.
+
+2006-08-30  Jim Meyering  <jim@meyering.net>
+
+       * isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid shadowing
+       the parameter.
+
+2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * isapipe.c, isapipe.h: New files.
+
+2006-08-29  Eric Blake  <ebb9@byu.net>
+
+       * error.c (error_at_line, print_errno_message): Match libc, after
+       resolution of upstream bug 3044.
+
+2006-08-29  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.c: Include configmake.h in order to get LIBDIR defined.
+
+2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Sync from Libtool:
+
+       2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
+       sharing with gnulib.  Report by Eric Blake.
+
+2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fcntl_.h: New file.
+       * chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
+       the fcntl module.
+       * dirchownmod.c: Likewise.
+       * fts.c: Likewise.
+
+       * inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
+       Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
+       * stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
+       just before including <inttypes.h>, to avoid circular inclusion.
+
+2006-08-28  Bruno Haible  <bruno@clisp.org>
+
+       * inttypes_.h (SCNX*): Remove definitions.
+       Reported by Eric Blake.
+
+2006-08-26  Bruno Haible  <bruno@clisp.org>
+
+       * vasnprintf.c (EOVERFLOW): Remove definition.
+       (VASNPRINTF): Return a string of length > INT_MAX without failing.
+       * vasprintf.c: Include errno.h, limits.h.
+       (EOVERFLOW): New fallback definition.
+       (vasprintf): Test here whether the string length is > INT_MAX.
+       * vsnprintf.c: Include errno.h, limits.h.
+       (EOVERFLOW): New fallback definition.
+       (vsnprintf): Fix bug when generated string was too long for the buffer.
+       Test here whether the string length is > INT_MAX.
+
+2006-08-26  Bruno Haible  <bruno@clisp.org>
+           Simon Josefsson  <jas@extundo.com>
+
+       BeOS portability.
+       * getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
+
+2006-08-28  Bruno Haible  <bruno@clisp.org>
+
+       * c-strstr.h: New file, from GNU gettext.
+       * c-strstr.c: New file, from GNU gettext.
+
+2006-08-26  Bruno Haible  <bruno@clisp.org>
+
+       * inttypes_.h: New file.
+       * inttypes.h: Remove file.
+       * stdint_.h: Include <inttypes.h> through its absolute filename.
+
+       * imaxabs.c: New file.
+
+       * imaxdiv.c: New file.
+
+2006-08-22  Bruno Haible  <bruno@clisp.org>
+
+       * readutmp.h: Skip most definitions if neither <utmp.h> nor
+       <utmpx.h> exists.
+
+2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       BeOS portability.
+       * dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't exist.
+       Problem reported by Bruno Haible.
+
+2006-08-21  Bruno Haible  <bruno@clisp.org>
+
+       BeOS portability.
+       * mbchar.h: Include <wctype.h> only if it exists.
+
+2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * cycle-check.h: Include <stdint.h> unconditionally, since we
+       now assume the stdint module.  Do not include inttypes.h.
+       * fsusage.h: Likewise.
+       * getndelim2.c: Likewise.
+       * human.h: Likewise.
+       * inttostr.h: Likewise.
+       * obstack.c: Likewise.
+       * regex_internal.h: Likewise.
+       * tempname.c: Likewise.
+       * utimecmp.c: Likewise.
+       * xstrtol.h: Likewise.
+
+       * stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
+
+       * strtoimax.c: Adjust to macro name changes in Autoconf,
+       e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
+       * xtime.h: Likewise.
+
+2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fchmodat.c: New file, from coreutils.  This was inadvertently
+       omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
+
+2006-08-18  Bruno Haible  <bruno@clisp.org>
+
+       * mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
+       (ME_DUMMY): Treat "kernfs" as a dummy.
+       (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
+
+2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from coreutils.
+
+       * __fpending.h: Add copyright notice.
+       * fprintftime.h: Likewise.
+       * savedir.c: Use (C) in copyright notice.
+       * savedir.h: Likewise.
+
+       2006-08-15  Jim Meyering  <jim@meyering.net>
+
+       * at-func.c: New file, with the logic of all emulated at-functions.
+       * openat-priv.h: Include <errno.h> and define ENOSYS,
+       in support of the EXPECTED_ERRNO macro.
+       * openat.c (fstatat, unlinkat, fchownat): Remove function definitions.
+       Instead, define the appropriate symbols and include "at-func.c".
+       * mkdirat.c (mkdirat): Likewise.
+       * fchmodat.c (fchmodat): Likewise.
+       (ENOSYS): Remove definition.
+       * openat.c: Don't include <errno.h>, now that "openat-priv.h" does it.
+       Don't include "unistd--.h" -- it wasn't ever used.
+
+       2006-01-17  Jim Meyering  <jim@meyering.net>
+
+       Rewrite fts.c not to change the current working directory,
+       by using openat, fstatat, fdopendir, etc..
+
+       * fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
+       (HAVE_OPENAT_SUPPORT): Define.
+       [_LIBC] (fchdir): Don't undef or define; no longer used.
+       (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
+       Now, this `function' always succeeds, and consumes its file descriptor
+       parameter -- so callers must not close such FDs.  Update callers.
+       (diropen_fd, opendirat, cwd_advance_fd): New functions.
+       (diropen): Add parameter, SP.  Adjust all callers.
+       Implement using diropen_fd, rather than open.
+       (fts_open): Initialize new member, fts_cwd_fd.
+       Remove fts_rft-setting code.
+       (fts_close): Close fts_cwd_fd, if necessary.
+       (__opendir2): Define in terms of opendir or opendirat,
+       depending on whether the FST_NOCHDIR flag is set.
+       (fts_build): Since fts_safe_changedir consumes its FD, and since
+       this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
+       and close the dup'd file descriptor upon failure.
+       (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
+       (fts_safe_changedir): Tweak semantics to reflect that this function
+       now calls cwd_advance_fd and hence consumes its FD argument.
+       * fts_.h [struct FTS] (fts_cwd_fd): New member.
+       [struct FTS] (fts_rft): Remove now-unused member.
+       [struct FTS] (fts_cycle.state): Improve comment.
+
+       * openat.c (openat_needs_fchdir): New function.
+       * openat.h (openat_needs_fchdir): Declare it.
+
+2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
+       Problem and fix reported by Pádraig Brady in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
+
+2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * memcoll.c (memcoll): Optimize for the common case where the
+       arguments are bytewise equal.
+
+2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Change copyright notice from LGPL 2 to GPL 2, since that's the
+       standard form used in the gnulib repository.
+       * lock.c: LGPL -> GPL.
+       * lock.h: Likewise.
+       * strnlen1.c: Likewise.
+       * strnlen1.h: Likewise.
+       * tls.c: Likewise.
+       * tls.h: Likewise.
+       * tmpdir.c: Likewise.
+
+       * TODO: Remove; this belongs only in coreutils.
+
+2006-08-14  Eric Blake  <ebb9@byu.net>
+
+       Import the following change from libc:
+
+       2006-08-12  Ulrich Drepper  <drepper@redhat.com>
+
+       Upstream bug 2997.
+       * misc/error.c: Add space between program name and message if file
+       name is missing.
+
+2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
+       HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
+
+       * regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
+       in wchar_t.  Problem reported by Eric Blake.
+
+       * snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
+       LEN is smaller than SIZE.  Suggested by Bruno Haible.
+       Also, help the compiler to keep LEN in a register.
+
+2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * .cppi-disable: Add snprintf.h, socket_.h.
+       * snprintf.c: Include <errno.h> and <limits.h>.
+       (EOVERFLOW): Define if the system does not.
+       Do not include "minmax.h"; it wasn't used.
+       (snprintf): Don't assume size_t promotes to an unsigned type.
+       Fix bug when generated string was too long for the buffer: the
+       buffer's contents are supposed to be the initial prefix of the
+       output.  Don't assume vasnprintf returns EOVERFLOW if the size
+       exceeds INT_MAX; do the check ourselves.
+
+       Import the following changes from libc:
+
+       2006-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * posix/regex_internal.c (re_string_skip_chars): If no character has
+       been converted at all, set *last_wc to WEOF.  If mbrtowc failed, set wc
+       to the byte which couldn't be converted.
+       (re_string_reconstruct): Don't clear valid_raw_len before calling
+       re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
+       tip_context using re_string_context_at.
+
+       2006-05-02  Ulrich Drepper  <drepper@redhat.com>
+
+       * posix/regex.h: g++ still cannot handled [restrict].
+
+       2006-04-21  Ulrich Drepper  <drepper@redhat.com>
+
+       * posix/regex.h: Remove special handling for VMS.
+
+2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+
+       2006-07-19  Mike Frysinger  <vapier@gentoo.org>
+
+       * mountlist.c [ME_REMOTE]: Filter out cifs.
+       Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
+
+2006-08-08  Eric Blake  <ebb9@byu.net>
+
+       * verror.c (verror_at_line): Work around glibc bug 2997, so that
+       verror_at_line output complies with GNU Coding Standards even when
+       file is NULL.
+
+2006-08-08  Eric Blake  <ebb9@byu.net>
+
+       * verror.h, verror.c: New files.
+
+2006-08-07  Bruno Haible  <bruno@clisp.org>
+
+       * allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
+       versions of AIX.
+       Reported by Ralf Wildenhues.
+
+2006-08-06  Eric Blake  <ebb9@byu.net>
+
+       * error.h: Fold in some upstream changes from glibc.
+       * error.c: Likewise.
+
+2006-07-29  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
+
+2006-07-29  Bruno Haible  <bruno@clisp.org>
+
+       * setenv.c: Undo unintended modification done on 2006-02-27.
+
+2006-07-28  Eric Blake  <ebb9@byu.net>
+
+       * regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
+       macro expansion.
+
+2006-07-28  Simon Josefsson  <jas@extundo.com>
+
+       * inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
+       #include's.
+
+2006-07-28  Simon Josefsson  <jas@extundo.com>
+
+       * inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
+       #include's.
+
+2006-07-28  Bruno Haible <bruno@clisp.org>
+
+       * inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
+
+2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+
+       * inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
+       arpa/inet.h.
+
+2006-07-28  Bruno Haible  <bruno@clisp.org>
+
+       * mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph,
+       iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit): Define
+       fallbacks.
+       Avoids link error on FreeBSD 4.x.
+       Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
+
+       * wcwidth.h (iswprint): Assume an ASCII compatible wide character
+       encoding.
+       * mbswidth.c (iswcntrl): Likewise.
+
+2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modechange.c (mode_compile): Numeric modes now affect setuid and
+       setgid on directories only if they set these bits.
+       * modechange.h: Remove obsolete comment about masks.
+
+2006-07-27  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
+       __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
+       defined.
+
+2006-07-26  Eric Blake  <ebb9@byu.net>
+
+       * mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
+       like mingw that lack mkstemp.
+       * pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
+       avoid compilation warning on mingw.
+
+2006-07-25  Bruno Haible  <bruno@clisp.org>
+
+       * version-etc.c (version_etc_va): Use va_copy, assumed to be defined in
+       <stdarg.h> or config.h.
+
+2006-07-24  Bruno Haible  <bruno@clisp.org>
+
+       * clean-temp.h: New file, from GNU gettext.
+       * clean-temp.c: New file, from GNU gettext.
+
+2006-07-24  Bruno Haible  <bruno@clisp.org>
+
+       * tmpdir.h: New file, from GNU gettext.
+       * tmpdir.c: New file, from GNU gettext.
+
+2006-07-23  Bruno Haible  <bruno@clisp.org>
+
+       * gl_anylinked_list2.h (ASYNCSAFE): New macro.
+       (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
+       gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
+       gl_linked_remove_at): Use it.
+
+2006-07-23  Eric Blake  <ebb9@byu.net>
+
+       * tmpfile-safer.c: New file.
+       * stdio-safer.h (fopen_safer): Add prototype.
+       * stdio--.h (tmpfile): Make safer.
+
+2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * close-stream.c, close-stream.h: New files.
+
+2006-07-22  Bruno Haible  <bruno@clisp.org>
+
+       Merge from GNU gettext 0.15.
+
+       2005-07-05  Bruno Haible  <bruno@clisp.org>
+
+               * printf-args.c (printf_fetchargs): Work around broken
+               definition of wint_t on mingw.
+
+       2005-02-12  Bruno Haible  <bruno@clisp.org>
+
+               * xallocsa.h: Add extern "C" for C++.
+
+       2006-05-17  Bruno Haible  <bruno@clisp.org>
+
+               Cygwin portability.
+               * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
+
+       2006-04-30  Bruno Haible  <bruno@clisp.org>
+
+               * progreloc.c: Include <mach-o/dyld.h> if available.
+               (find_executable): Use _NSGetExecutablePath when possible.
+
+       2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
+
+               * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
+               function.
+
+       2005-12-29  Bruno Haible  <bruno@clisp.org>
+
+               * progreloc.c (set_program_name_and_installdir): Fix
+               compilation error.
+
+       2005-12-04  Bruno Haible  <bruno@clisp.org>
+
+               Cygwin portability.
+               * progreloc.c: Include <windows.h> also on Cygwin.
+               (find_executable): Add support for Cygwin.
+               (set_program_name_and_installdir): Handle also platforms with
+               nonempty EXEEXT.
+
+       2006-07-11  Bruno Haible  <bruno@clisp.org>
+
+               * javacomp.c: Fix a comment.
+               Reported by Jim Meyering.
+
+       2006-04-30  Bruno Haible  <bruno@clisp.org>
+
+               * javacomp.h (compile_java_class): Add source_version,
+               target_version arguments.
+               * javacomp.c: Rewritten to choose only a compiler that
+               respects the specified source_version and target_version.
+
+       2006-06-27  Bruno Haible  <bruno@clisp.org>
+
+               Assume correct S_ISDIR macro.
+               * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
+
+       2006-07-22  Bruno Haible  <bruno@clisp.org>
+
+               * javaversion.h: New file, from GNU gettext.
+               * javaversion.c: New file, from GNU gettext.
+               * javaversion.java: New file, from GNU gettext.
+               * javaversion.class: New file, from GNU gettext.
+
+       2006-05-17  Bruno Haible  <bruno@clisp.org>
+
+               Cygwin portability.
+               * javaexec.c (execute_java_class): Test for jview program
+               also on Cygwin.
+
+       2006-04-09  Bruno Haible  <bruno@clisp.org>
+
+               * fatal-signal.c: Don't include string.h.
+               (at_fatal_signal): Use a copying loop instead of memcpy.
+
+       2005-12-04  Bruno Haible  <bruno@clisp.org>
+
+               * csharpexec.c: Add support for 'clix' launcher (untested).
+               (execute_csharp_using_sscli): New function.
+               (execute_csharp_program): Call it.
+
+       2006-06-21  Bruno Haible  <bruno@clisp.org>
+
+               Avoid warnings from recent versions of mcs.
+               * csharpcomp.c (compile_csharp_using_mono): Don't use options
+               -o, -L, -r any more. Use options documented since mcs-1.0
+               instead. Similarly for -g.
+
+       2005-07-09  Bruno Haible  <bruno@clisp.org>
+
+               * csharpcomp.c (compile_csharp_using_sscli): For -l option,
+               add a .dll suffix.
+               Reported by Mark Junker <mjscod@gmx.de>.
+
+       2006-06-17  Bruno Haible  <bruno@clisp.org>
+
+               * config.charset: Update for NetBSD 3.0.
+
+       2006-05-17  Bruno Haible  <bruno@clisp.org>
+
+               Cygwin portability.
+               * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
+
+       2006-05-16  Bruno Haible  <bruno@clisp.org>
+
+               * localcharset.c [CYGWIN]: Include <windows.h>.
+               (get_charset_aliases): For Cygwin, return the same CPxxx
+               aliases list as under WIN32.
+               (locale_charset) [CYGWIN]: Try to retrieve the encoding from
+               the environment variables. Fall back to GetACP().
+
+       2006-04-05  Bruno Haible  <bruno@clisp.org>
+
+               * config.charset: Update Juan Manuel Guerrero's address.
+
+       2005-02-12  Bruno Haible  <bruno@clisp.org>
+
+               * allocsa.h: Add extern "C" for C++.
+
+       2005-02-10  Bruno Haible  <bruno@clisp.org>
+
+               * allocsa.h (sa_alignof): Define differently with AIX xlc, to
+               avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
+
+       2006-07-22  Bruno Haible  <bruno@clisp.org>
+
+               * gettext.h: Update to GNU gettext-0.15.
+
+2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+       and Simon Josefsson <jas@extundo.com>
+
+       * getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
+
+       * getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
+
+2006-07-21  Eric Blake  <ebb9@byu.net>
+
+       * stdlib-safer.h: New file from coreutils, required by
+       stdlib--.h.
+
+2006-07-19  Derek R. Price  <derek@ximbiot.com>
+
+       * getaddrinfo.h: Don't define unimplemented AI_* flags.
+       Reindent and repaginate.
+
+2006-07-17  Bruno Haible  <bruno@clisp.org>
+
+       * gl_list.h: New file.
+       * gl_list.c: New file.
+       * gl_array_list.h: New file.
+       * gl_array_list.c: New file.
+       * gl_carray_list.h: New file.
+       * gl_carray_list.c: New file.
+       * gl_linked_list.h: New file.
+       * gl_linked_list.c: New file.
+       * gl_anylinked_list1.h: New file.
+       * gl_anylinked_list2.h: New file.
+       * gl_avltree_list.h: New file.
+       * gl_avltree_list.c: New file.
+       * gl_anyavltree_list1.h: New file.
+       * gl_anyavltree_list2.h: New file.
+       * gl_rbtree_list.h: New file.
+       * gl_rbtree_list.c: New file.
+       * gl_anyrbtree_list1.h: New file.
+       * gl_anyrbtree_list2.h: New file.
+       * gl_anytree_list1.h: New file.
+       * gl_anytree_list2.h: New file.
+       * gl_linkedhash_list.h: New file.
+       * gl_linkedhash_list.c: New file.
+       * gl_anyhash_list1.h: New file.
+       * gl_anyhash_list2.h: New file.
+       * gl_avltreehash_list.h: New file.
+       * gl_avltreehash_list.c: New file.
+       * gl_rbtreehash_list.h: New file.
+       * gl_rbtreehash_list.c: New file.
+       * gl_anytreehash_list1.h: New file.
+       * gl_anytreehash_list2.h: New file.
+
+       * gl_oset.h: New file.
+       * gl_oset.c: New file.
+       * gl_array_oset.h: New file.
+       * gl_array_oset.c: New file.
+       * gl_avltree_oset.h: New file.
+       * gl_avltree_oset.c: New file.
+       * gl_rbtree_oset.h: New file.
+       * gl_rbtree_oset.c: New file.
+       * gl_anytree_oset.h: New file.
+
+2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * dirchownmod.c, dirchownmod.h, mkancesdirs.c, mkancesdirs.h:
+       New files.
+       * mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
+       unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
+       save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
+       (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
+       MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
+       callers changed.  Revamp internals significantly, by not
+       attempting to create directories that are temporarily more
+       permissive than the final results.  Do not attempt to use
+       save_cwd/restore_cwd; it isn't worth it for mkdir and install.
+       This removes some race conditions, fixes some bugs, and simplifies
+       things.  Use new dirchownmod function to do owner and mode changes.
+       * mkdir-p.h: Likewise.
+       * modechange.c (octal_to_mode): New function.
+       (struct mode_change): New member mentioned.
+       (make_node_op_equals): New arg mentioned.  All callers changed.
+       (mode_compile): Keep track of which mode bits the user has explicitly
+       mentioned.
+       (mode_adjust): New arg DIR, so that we implement the X op correctly.
+       New arg PMODE_BITS, to keep track of which mode bits the user
+       mentioned; it treats S_ISUID and S_ISGID speciall.
+       All callers changed.
+       * modechange.h: Likewise.
+
+2006-07-11  Derek R. Price  <derek@ximbiot.com>
+
+       * glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
+
+2006-07-10  Derek R. Price  <derek@ximbiot.com>
+
+       * backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
+       Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
+       macros into the GNU _D_EXACT_NAMLEN.
+       * savedir.c:  Likewise.
+       (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
+
+2006-07-09  Jim Meyering  <jim@meyering.net>
+
+       * argp-pv.c: Remove a doubled word in a comment.
+       * check-version.c (check_version): Likewise.
+       * javacomp.c (compile_java_class): Likewise.
+
+2006-07-08  Jim Meyering  <jim@meyering.net>
+
+       * getndelim2.h (getndelim2): Remove doubled "after" in comment.
+
+2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
+
+       * getaddrinfo.c: Changes to compile under MSVC6: changed
+       '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
+       brackets.  Other minor changes to suppress some compiler
+       warnings.
+
+2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getloadavg.c: Use __VMS, not VMS.
+       * getopt.c: Likewise.
+       * getpagesize.h: Likewise.
+       * glob.c: Remove most VMS cruft; it hasn't been tested for a while and
+       probably does not work.
+
+2006-07-06  Derek R. Price  <derek@ximbiot.com>
+       and Paul Eggert  <eggert@cs.ucla.edu>
+
+       * backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
+       Don't worry about this obsolete case any more.
+       (HAVE_DIR): Remove.  All uses removed; we now assume you can read
+       directories.
+       * dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
+       worry about this obsolete case any more.
+       * fts.c: Likewise.
+       * getcwd.c: Likewise.
+       * glob.h: Likewise.
+       * savedir.c: Likewise.
+
+2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * .cppi-disable: Add wcwidth.
+       * fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
+       (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
+       (ISGRAPH): Remove.  All uses changed to isgraph.
+       (FOLD) [!defined _LIBC]: Remove special case.
+       * getdate.y (lookup_word): Remove no-longer-needed call to islower.
+       * regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
+       HAVE_ISBLANK.
+       * strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special case.
+
+2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * strtod.c (strtod): cast the argument of tolower to unsigned char.
+
+2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * memcasecmp.c: Include <limits.h>.
+       (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
+       * strtod.c (strtod): Don't assume isspace works on negative chars.
+       Don't assume isdigit succeeds only on '0' through '9'.
+
+2006-07-05  Derek R. Price  <derek@ximbiot.com>
+
+       * exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
+       All uses of is_space replaced by isspace.
+       * exit.h: Don't talk about STDC_HEADERS.
+       * fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
+       (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
+       (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
+       replaced by isprint etc.
+       * getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
+       * getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
+       * memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
+       * strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
+       * strtol.c (IN_CTYPE_DOMAIN): Likewise.
+       * xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
+
+2006-07-05  Eric Blake  <ebb9@byu.net>
+
+       * getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
+       missing from netdb.h.
+       * getaddrinfo.c (includes): Include inet_ntop and snprintf.
+
+2006-06-27  Bruno Haible  <bruno@clisp.org>
+
+       Assume ANSI C header files and <ctype.h> functions.
+       * mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
+       (mbsnwidth): Use isprint, iscntrl instead.
+
+2006-07-03  Jim Meyering  <jim@meyering.net>
+
+       * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
+       macro is used before the first cycle_check call.
+
+2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
+       MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
+       reported by Mark D. Baushke, one in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
+
+       Merge from coreutils.
+
+       * .cppi-disable: Add stdint_.h.
+       * .cvsignore: Add stdint.h.
+
+       2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
+       both double and long double versions.
+       (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
+       * xstrtold.c: New file.
+       * xstrtod.h (xstrtold): New decl.
+
+       2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * filemode.c (setst): Remove.
+       (strmode): Rewrite to avoid setst.  This makes the code shorter,
+       (arguably) clearer, and the generated code is a bit smaller on my
+       Debian GNU/Linux stable x86 host.
+
+       2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * filemode.c: Include "filemode.h" first, to test the interface.
+       Assume that filemode.h includes sys/types.h and sys/stat.h.
+       (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
+       (ftypelet): Reorder to put common cases first, for efficiency.
+       Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
+       to do 'M'.
+       (strmode): Renamed from mode_string, and now stores 12 bytes instead
+       of 10, for compatibility with FreeBSD.  All callers changed.
+       (filemodestring): Now stores 12 bytes instead of 10, and sets file types
+       that can't be deduced solely from st_mode.  First arg is now a const
+       pointer.
+       * filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
+       (strmode): Renamed from mode_string.
+       (filemodestring): New decl.
+       * stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
+       (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never needed.
+       (S_ISPORT, S_ISWHT): New macros, if not already defined.
+
+       2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
+       fsusage.h now does that.  Include fsusage.h first, to test interface.
+       Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
+       at most one method (the old code could have generated decls that
+       didn't conform to C89, not that this was ever exercised).
+       * fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
+
+       2006-03-19  Jim Meyering  <jim@meyering.net>
+
+       Work even in a chroot where d_ino values for entries in "/"
+       don't match the stat.st_ino values for the same names.
+       * getcwd.c (__getcwd): When no d_ino value matches the target inode
+       number, iterate through all entries again, using lstat instead.
+       Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
+       Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
+
+       * getcwd.c (__getcwd): Clarify a comment.
+       Use memcpy in place of a call to strcpy.
+
+       2006-03-12  Jim Meyering  <jim@meyering.net>
+
+       * fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair matches
+       that of the current directory (which we're about to chdir ".." out of),
+       then save the dev-ino of the parent, instead.
+
+       * same-inode.h (SAME_INODE): New file/macro.
+       * chdir-safer.c (SAME_INODE): Remove definition.
+       Include "same-inode.h", instead.
+       * same.c: Likewise.
+       * cycle-check.h: Include "same-inode.h".
+       (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
+       * cycle-check.c (SAME_INODE): Remove definition.
+       * root-dev-ino.h: Include "same-inode.h".
+
+       2006-03-11  Eric Blake  <ebb9@byu.net>
+
+       * same.c (same_name): s/base_name/last_component/
+       * backupfile.c (check_extension, numbered_backup): Likewise.
+       * filenamecat.c (file_name_concat): Likewise.
+
+       2006-03-11  Eric Blake  <ebb9@byu.net>,
+                   Paul Eggert  <eggert@cs.ucla.edu>
+
+       * dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
+       [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
+       drive prefix.
+       (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
+       platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
+       (last_component): New method.
+       * dirname.c (dir_len): Determine when drive letters need a
+       subsequent slash.  Preserve // when it is special.
+       (dir_name): Don't append dot when drive letter is absolute.
+       [TEST_DIRNAME]: Move into a full-blown gnulib test.
+       * basename.c (base_name): New semantics - malloc the result.
+       Preserve // when it is special.  Preserve relative files that look
+       like drive letters.
+       (base_len): Preserve // when it is special.
+       (last_component): New method, similar to old base_name semantics.
+       * stripslash.c (strip_trailing_slashes): Use last_component, not
+       base_name.  Strip redundant slashes from ///.
+
+2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
+       both are 64 bits, since this seems to be the tradition, and this
+       prevents gcc -Wformat from warning about usages with PRIuMAX.  If
+       we ever run into a host that prefers long long to long in this
+       case, we'll need another configure-time test.  Problem reported by
+       Jim Meyering.
+
+2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
+       possible collision with system files.
+       (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
+       __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
+       WCHAR_MIN and WCHAR_MAX in this case.
+       (<stddef.h>): Do not include; no longer needed.
+       (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
+       (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
+       (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
+       !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
+       && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
+       (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
+       __c99]: Define, to work around IRIX <stdint.h> incompatibility.
+       (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
+       !defined(__c99))]: Include in this case too, since it's harmless
+       now.
+       (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
+       dangerous to do so.
+       (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
+       @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
+       (_STDINT_MIN, _STDINT_MAX): New macros.
+       (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
+       (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
+       (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
+       (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
+       (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
+       (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
+       macros, not typedefs; this simplifies things quite a bit.
+       Use long int for all types narrower than int64_t.
+       (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
+       Define in terms of long long int or int64_t or long int,
+       not int64_t or int32_t.  This saves some compile-time testing.
+       (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
+       (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
+       (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
+       (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
+       (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
+       (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
+       (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
+       (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
+       (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
+       (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
+       (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
+       (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
+       undef any previous version and define our own version, for
+       simplicity and consistency with the new macros for types.
+       (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
+       (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
+       Simplify definitions by using _STDINT_MIN and _STDINT_MAX
+       where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
+       @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
+       @WINT_T_SUFFIX@ to keep things simple here.
+       (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
+       Simplify by assuming typical 8/16/32/64 host, since we're
+       already doing that elsewhere anyway.
+       Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
+       and assume long long int is 64 bits if available.  This
+       speeds up 'configure'.
+
+2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
+
+       * getaddrinfo.c: fixed typo
+
+2006-06-29  Eric Blake  <ebb9@byu.net>
+
+       * stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
+       unused static function.
+
+2006-06-29  Eric Blake  <ebb9@byu.net>
+
+       * stat_.h: New file.
+
+2006-06-29  Derek R. Price  <derek@ximbiot.com>
+
+       * strftime.c: Assume strftime() exists.
+
+2006-06-28  Bruno Haible  <bruno@clisp.org>
+
+       * getaddrinfo.h: Fix POSIX URL.
+       * getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of _WIN32.
+       (use_win32_p): Make static.
+       (getaddrinfo): Reject service name if it is empty or does not consist
+       solely of decimal digits, or if its value is > 65535.
+       (getnameinfo): Remove useless casts.
+
+2006-06-28  Derek R. Price  <derek@ximbiot.com>
+
+       * savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
+       Autoconf 2.60 says this stuff was obsolete.
+
+2006-05-12  Bruno Haible  <bruno@clisp.org>
+
+       * mkdtemp.c [MINGW]: Include <io.h>.
+       (mkdir): Define using _mkdir.
+
+2006-06-28  Bruno Haible  <bruno@clisp.org>
+
+       * wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
+       declaration for wcwidth.
+       * mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
+
+2006-06-28  Eric Blake  <ebb9@byu.net>
+
+       * xvasprintf.h: Fix comments.
+
+2006-06-28  Eric Blake  <ebb9@byu.net>
+
+       * mbchar.h (wcwidth): Include wcwidth.h.
+       * mbswidth.c (wcwidth): Move from here...
+       * wcwidth.h: ...to this new file.
+
+2006-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
+       functions there.  It will succeed on Windows XP, but on Windows
+       2000 and (presumably) earlier, it will fail, and use the internal
+       re-implementation.
+       (use_win32_p): New function.
+       (getaddrinfo): Use strtoul on servname, to support numeric ports.
+       Support AI_NUMERICSERV to disable getservbyname.
+       (getnameinfo): New function, only supports
+       NI_NUMERICHOST|NI_NUMERICSERV for now.
+
+       * getaddrinfo.h: Test and check for AI_* flags separately, MinGW
+       only have some of them.  Add AI_NUMERICSERV.  Add prototype for
+       getnameinfo.
+
+2006-06-27  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
+
+2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * base64.c (B64): Use _ as the formal parameter, not x, to avoid
+       bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
+
+2006-06-26  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
+       WCHAR_MAX.
+       Reported by Mark D. Baushke and Larry Jones.
+
+2006-06-26  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Don't include <stdint.h> when using the SGI C compiler
+       in pre-C99 mode.
+       Suggested by Mark D. Baushke and Larry Jones.
+
+2006-06-23  Mark D. Baushke  <mdb@gnu.org>
+
+       * stdint_.h: Treat BSD/OS like OpenBSD.
+
+2006-06-23  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Treat IRIX like OpenBSD.
+
+2006-06-23  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
+       ISO C 99 Technical Corrigendum 1.
+
+2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob.c (collated_compare): Remove 'const' uses that weren't needed.
+       Some compiler complained about some of them.  Problem reported by
+       Larry Jones in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
+
+2006-06-21  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.c (getaddrinfo): Set ai_family in the return
+       variable.
+
+       * socket_.h: Don't define WINVER.
+
+       * inet_pton.h, inet_pton.c: New file, taken from glibc but
+       slightly modified to work in gnulib.
+
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * read-file.c (fread_file): Start with buffer allocation of
+       0 bytes rather than 1 byte; this simplifies the code.
+       Don't invoke feof; it's not needed.  Refactor to avoid duplicate
+       code to free buffer and save/restore errno.
+       (internal_read_file): Remove unused local.
+
+2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * openat.c (openat): Use ?:, not if, to work around GCC bug 4210
+       <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
+       Problem reported by Denis Excoffier in
+       <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
+
+2006-06-19  Simon Josefsson  <jas@extundo.com>
+
+       * inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
+
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloca_.h (alloca) [defined alloca]: Don't define or declare.
+
+2006-06-17  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
+
+2006-06-17  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
+       problem on Solaris 2.5.1.
+
+2006-06-16  Eric Blake  <ebb9@byu.net>
+
+       * unsetenv.c [!defined errno]: Assume errno.h declares errno.
+       * unicodeio.c [!defined errno]: Likewise.
+       * strtol.c [!defined errno]: Likewise.
+       * strtod.c [!defined errno]: Likewise.
+
+2006-06-15  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Rewritten to be fully auto-configured.
+       Fixes bug on HP-UX/IA64.
+
+2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (__attribute__): Don't define if already defined.
+       Problem reported by Larry Jones.
+       * utimens.c (__attribute__): Likewise.
+
+2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
+       reported by Andreas Schwab.
+
+2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+           Bruno Haible  <bruno@clisp.org>
+
+       * strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
+
+2006-05-26  Martin Lambers  <marlam@marlam.de>
+
+       * getpass.c: Updates the test for the native W32 API, and adds
+       missing includes, thus fixing compilation warnings.
+
+2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tempname.c (small_open, large_open): New macros.
+       (__open, __open64) [!_LIBC]: Remove.
+       (__gen_tempname): Use small_open and large_open instead of __open
+       and __open64.  This fixes a portability bug on HP-UX 11.11i
+       reported by Simon Wing-Tang in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
+
+2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * exclude.c (exclude_fnmatch): New function.
+       (excluded_file_name): Call exclude_fnmatch.
+       * exclude.h (excluded_file_name): New prototype
+
+2006-05-24  Bruno Haible  <bruno@clisp.org>
+
+       * printf-args.c (printf_fetchargs): Turn NULL pointers for
+       TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
+       Reported by Thorsten Maerz <torte@netztorte.de> via
+       Aaron Stone <aaron@serendipity.cx>.
+
 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
        (re_acquire_state_context): Likewise.
 
 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * stdint_.h: On OpenBSD, don't redefine types already included in
        <sys/types.h> and <inttypes.h>.
 
 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
 
-       * lib/base64.c: Typo.
+       * base64.c: Typo.
        (base64_encode): Put b64str in initialized data section.
 
 2005-09-12  Derek Price  <derek@ximbiot.com>
        (SIZE_MAX) [!defined SIZE_MAX]: New macro.
        (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
        (re_xnrealloc, re_x2nrealloc): New inline functions.
-       * lib/regcomp.c (init_dfa, analyze, build_range_exp, parse_bracket_exp):
+       * regcomp.c (init_dfa, analyze, build_range_exp, parse_bracket_exp):
        (build_equiv_class, build_charclass): Check for arithmetic overflow
        in size expression calculations.
-       * lib/regex_internal.c (re_string_realloc_buffers):
+       * regex_internal.c (re_string_realloc_buffers):
        (build_wcs_upper_buffer, re_node_set_add_intersect):
        (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
        (re_dfa_add_node, register_state): Likewise.
-       * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
+       * regexec.c (re_search_stub, re_copy_regs, re_search_internal):
        (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
        (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
        (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
        (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
        Put __attribute at function definition,
        now that the function decl has been removed.
-       * lib/regex_internal.c (re_string_peek_byte_case):
+       * regex_internal.c (re_string_peek_byte_case):
        (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
        Likewise.