* lib/write-any-file.c (can_write_any_file): Fix else-else bug
[gnulib.git] / ChangeLog
index 385d178..eb1838a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/write-any-file.c (can_write_any_file): Fix else-else bug
+       reported by Bruno Haible.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
+       a bug in AIX iconv().
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * modules/ldexpl-tests: New file.
+       * tests/test-ldexpl.c: New file.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/ldexpl.c: Include fpucw.h.
+       (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
+       multiplication.
+       * modules/ldexpl (Depends-on): Add fpucw.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * modules/ldexpl: New file.
+       * m4/ldexpl.m4: New file.
+       * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
+       set.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
+       REPLACE_LDEXPL.
+       * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
+       REPLACE_LDEXPL.
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
+       gl_FUNC_LDEXPL_WORKS.
+       * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
+       * modules/mathl (Files): Remove lib/ldexpl.c.
+       (Depends-on): Add ldexpl.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-striconveh.c (main): Don't assume that a direct conversion
+       between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
+       and possibly also HP-UX.
+       * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
+       work on AIX, IRIX, HP-UX, OSF/1.
+       * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
+
+2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
+       to work around a problem on OSF/1 5.1 reported by Bruno Haible.
+
+2007-03-29  Eric Blake  <ebb9@byu.net>
+
+       * lib/acl-internal.h: Remove redundant include.
+       (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
+       Cygwin when a file is locked.
+
+2007-03-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
+       file.
+       * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
+
+2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
+       try to remove a parent directory if the child couldn't be removed
+       (except for the first rmdir, which could fail because the child
+       doesn't exist).  Problem reported by Jeff Blaine in
+       <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
+
+2007-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.c (utf8conv_carefully): New function.
+       (mem_cd_iconveh_internal): Invoke it.
+
+2007-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
+       of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
+       input.
+       * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
+       utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
+       unistr/u8-uctomb.
+
+2007-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unistr/u8-mbtoucr: New file.
+       * lib/unistr/u8-mbtoucr.c: New file.
+       * modules/unistr/u16-mbtoucr: New file.
+       * lib/unistr/u16-mbtoucr.c: New file.
+       * modules/unistr/u16-mbtoucr: New file.
+       * lib/unistr/u16-mbtoucr.c: New file.
+       * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
+
+2007-03-27  Simon Josefsson  <simon@josefsson.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
+       REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
+       AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
+
+       * m4/stdio_h.m4: Add stubs for vasprintf too.
+
+       * modules/stdio: Support vasprintf in sed command.
+
+       * modules/vasprintf: Depend on stdio for prototypes.  Remove
+       vasprintf.h.  Add stdio module indicator.
+
+       * lib/stdio_.h: Declare asprintf and vasprintf, based on
+       vasprintf.h.
+
+       * lib/vasprintf.h: File removed.
+
+       * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
+       * lib/vasprintf.c: Ditto.
+       * lib/xvasprintf.c: Ditto.
+       * tests/test-vasprintf-posix.c: Ditto.
+       * tests/test-vasprintf.c: Ditto.
+
+2007-03-27  Bruno Haible  <bruno@clisp.org>
+
+       Make vasnprintf multithread-safe.
+       * lib/vasnprintf.c (decimal_point_char): New function.
+       (VASNPRINTF): Use it.
+       Suggested by Simon Josefsson.
+
+2007-03-27  Eric Blake  <ebb9@byu.net>
+
+       Support sub-second birthtime on cygwin.
+       * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
+       * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
+       (get_stat_birthtime): Also work with st_birthtim.
+
+2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/stat-time.h (USE_BIRTHTIME): Remove.
+       (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
+       (get_stat_birthtime_ns): Do not try to use "spare" fields.
+       (get_stat_birthtime_ns): Simplify compile-time tests.
+       (get_stat_birthtime): Change the API to look like
+       get_stat_mtime etc., except return a negative tv_nsec on error.
+       * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
+       Don't check for "spare" fields.
+       (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
+       or for struct stat.st_birthtime, as these tests aren't used.
+       * tests/test-stat-time.c (test_birthtime): Adjust to new API.
+
+2007-03-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stat-time.h: Include <sys/stat.h>.
+
+2007-03-27  James Youngman  <jay@gnu.org>
+
+       * lib/stat-time.h (get_stat_birthtime): New function for
+         retrieving st_birthtime as provided by UFS2 (hence *BSD).
+       * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
+         and its variants.
+       * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
+       * modules/stat-time-test: New file.
+       * tests/test-stat-time.c: New test, devised by Bruno Haible.
+
+2007-03-26  Bruno Haible  <bruno@clisp.org>
+
+       Better support of signalling NaNs.
+       * lib/atanl.c: Include isnanl.h.
+       (atanl): Perform test for NaN at the beginning of the function and
+       through a call to isnanl.
+       * lib/cosl.c: Include isnanl.h.
+       (cosl): Perform test for NaN at the beginning of the function and
+       through a call to isnanl.
+       * lib/ldexpl.c: Include isnanl.h.
+       (ldexpl): Perform test for NaN through a call to isnanl.
+       * lib/logl.c: Include isnanl.h.
+       (logl): Perform test for NaN at the beginning of the function and
+       through a call to isnanl.
+       * lib/sinl.c: Include isnanl.h.
+       (sinl): Perform test for NaN at the beginning of the function and
+       through a call to isnanl.
+       * lib/sqrtl.c: Include isnanl.h.
+       (sqrtl): Perform test for NaN at the beginning of the function and
+       through a call to isnanl.
+       * lib/tanl.c: Include isnanl.h.
+       (tanl): Perform test for NaN at the beginning of the function and
+       through a call to isnanl.
+       * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
+       * modules/mathl (Depends-on): Add isnanl.
+
+2007-03-26  Eric Blake  <ebb9@byu.net>
+
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
+       regression in logic sense of previous patch.
+
+2007-03-26  Bruno Haible  <bruno@clisp.org>
+
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
+       unportable shell command "if ! ...".
+       Reported by Ralf Wildenhues.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
+       <sysexits.h> file, and only add EX_CONFIG.
+       * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
+       absolute file name and whether it is sufficient. Substitute also
+       HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
+       * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
+       ABSOLUTE_SYSEXITS_H into sysexits.h.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
+       hints is NULL.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
+       * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c: Include langinfo.h.
+       (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
+       multithread-safe.
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
+       * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
+       * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
+       * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+       * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
+       * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
+       * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
+       * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
+       * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
+       Reported by Simon Josefsson.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
+       (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
+       * modules/vasnprintf (Depends-on): Add stdint.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fpieee: New file.
+       * m4/fpieee.m4: New file.
+       * modules/isnan-nolibm (Depends-on): Add fpieee.
+       * modules/isnanl-nolibm (Depends-on): Add fpieee.
+       * modules/isnanl (Depends-on): Add fpieee.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       Avoid test failures on IRIX 6.5.
+       * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
+       (main): Use it.
+       * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
+       macros.
+       (main): Use them.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
+       (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
+       exists but doesn't work.
+       * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
+       is set. Don't provide a prototype if REPLACE_FREXPL is not set.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
+       * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
+       returns inf. Needed on IRIX 6.5.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-frexpl.c: Include isnanl-nolibm.h.
+       (main): Use isnanl instead of x != x idiom.
+       * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
+
+       * tests/test-frexp.c: Include isnan.h.
+       (main): Use isnan instead of x != x idiom.
+       * modules/frexp-tests (Depends-on): Add isnan-nolibm.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-frexp.c (NaN): New function/macro.
+       (main): Use it instead of 0.0 / 0.0.
+       * tests/test-isnan.c (NaN): New function/macro.
+       (main): Use it instead of 0.0 / 0.0.
+       * tests/test-vasnprintf-posix.c (NaN): New function/macro.
+       (test_function): Use it instead of 0.0 / 0.0.
+       * tests/test-vasprintf-posix.c (NaN): New function/macro.
+       (test_function): Use it instead of 0.0 / 0.0.
+       * tests/test-snprintf-posix.h (NaN): New function/macro.
+       (test_function): Use it instead of 0.0 / 0.0.
+       * tests/test-sprintf-posix.h (NaN): New function/macro.
+       (test_function): Use it instead of 0.0 / 0.0.
+       * tests/test-fprintf-posix.h (NaN): New function/macro.
+       (test_function): Use it instead of 0.0 / 0.0.
+       * tests/test-printf-posix.h (NaN): New function/macro.
+       (test_function): Use it instead of 0.0 / 0.0.
+
+       * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/regexec.c (merge_state_with_log): Make static.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/trigl.c (kernel_rem_pio2): Make static.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sincosl.c (sincosl_table): Make static.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
+       if the compiler does not support C99.
+
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/time (Makefile.am): Ensure all rule action lines start with a
+       tab.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * modules/tsearch-tests: New file.
+       * tests/test-tsearch.sh: New file.
+       * tests/test-tsearch.c: New file, mostly copied from glibc.
+
+       * modules/search-tests: New file.
+       * tests/test-search.c: New file.
+
+       * modules/search: New file.
+       * lib/search_.h: New file, incorporating lib/tsearch.h.
+       * m4/search_h.m4: New file.
+       * lib/tsearch.h: Remove file.
+       * lib/tsearch.c: Include search.h instead of tsearch.h.
+       * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
+       HAVE_TSEARCH.
+       * modules/tsearch (Files): Remove lib/tsearch.h.
+       (Depends-on): Add search.
+       (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
+       (Include): Change tsearch.h into search.h.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fpucw: New file.
+       * lib/fpucw.h: New file.
+       * lib/frexp.c: Include fpucw.h.
+       (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
+       (FUNC): Use them.
+       * lib/printf-frexp.c: Include fpucw.h.
+       (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
+       (FUNC): Use them.
+       * lib/vasnprintf.c: Include fpucw.h.
+       (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
+       'long double' calculations.
+       * tests/test-frexpl.c: Include fpucw.h.
+       (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
+       * tests/test-printf-frexpl.c: Include fpucw.h.
+       (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
+       * modules/frexpl (Depends-on): Add fpucw.
+       * modules/printf-frexpl (Depends-on): Likewise.
+       * modules/fprintf-posix (Depends-on): Likewise.
+       * modules/snprintf-posix (Depends-on): Likewise.
+       * modules/sprintf-posix (Depends-on): Likewise.
+       * modules/vasnprintf-posix (Depends-on): Likewise.
+       * modules/vasprintf-posix (Depends-on): Likewise.
+       * modules/vfprintf-posix (Depends-on): Likewise.
+       * modules/vsnprintf-posix (Depends-on): Likewise.
+       * modules/vsprintf-posix (Depends-on): Likewise.
+       * modules/frexpl-tests (Depends-on): Likewise.
+       * modules/printf-frexpl-tests (Depends-on): Likewise.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/float+.h: New file.
+       * lib/isnan.c: Include float+.h.
+       (SIZE): New macro.
+       (FUNC): Compare only SIZE bytes of the value.
+       * lib/vasnprintf.c: Include float+.h.
+       (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
+       SIZEOF_LDBL or SIZEOF_DBL bytes.
+       * modules/isnan-nolibm (Files): Add lib/float+.h.
+       * modules/isnanl-nolibm (Files): Add lib/float+.h.
+       * modules/isnanl (Files): Add lib/float+.h.
+       * modules/vasnprintf (Files): Add lib/float+.h.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
+       include isnanl-nolibm.h.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-read-file.c (main): Don't produce spurious output for
+       expected situations. Make the test fail if it encountered unexpected
+       results.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
+       since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
+       utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
+
+       * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
+       * modules/utf8-ucs4: Turn into a symbolic link to module
+       unistr/u8-mbtouc.
+
+       * modules/unistr/u8-mbtouc-unsafe: Add source files from module
+       utf8-ucs4-unsafe.
+       * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
+       unistr/u8-mbtouc-unsafe.
+
+       * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
+       * modules/utf16-ucs4: Turn into a symbolic link to module
+       unistr/u16-mbtouc.
+
+       * modules/unistr/u16-mbtouc-unsafe: Add source files from module
+       utf16-ucs4-unsafe.
+       * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
+       unistr/u16-mbtouc-unsafe.
+
+       * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
+       * modules/ucs4-utf8: Turn into a symbolic link to module
+       unistr/u8-ubtomb.
+
+       * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
+       * modules/ucs4-utf16: Turn into a symbolic link to module
+       unistr/u16-ubtomb.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
+       Enable the function only if HAVE_INLINE.
+       * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
+       lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
+       * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
+       Enable the function only if HAVE_INLINE.
+       * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
+       lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
+       * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
+       Enable the function only if HAVE_INLINE.
+       * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
+       Enable the function only if HAVE_INLINE.
+       * modules/utf8-ucs4: Update.
+       * modules/utf8-ucs4-unsafe: Update.
+       * modules/utf16-ucs4: Update.
+       * modules/utf16-ucs4-unsafe: Update.
+       * modules/ucs4-utf8: Update.
+       * modules/ucs4-utf16: Update.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/utf8-ucs4.h: Remove file.
+       * lib/utf8-ucs4-unsafe.h: Remove file.
+       * lib/utf16-ucs4.h: Remove file.
+       * lib/utf16-ucs4-unsafe.h: Remove file.
+       * lib/ucs4-utf8.h: Remove file.
+       * lib/ucs4-utf16.h: Remove file.
+       * lib/unistr.h: Include their previous contents.
+       * m4/utf-ucs4.m4: Remove file.
+       * m4/ucs4-utf.m4: Remove file.
+       * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
+       (Depends-on): Add unistr/base.
+       (configure.ac): Remove gl_UTF_UCS4.
+       (Makefile.am): Update.
+       (Include): Change to unistr.h.
+       * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
+       (Depends-on): Add unistr/base.
+       (configure.ac): Remove gl_UTF_UCS4.
+       (Makefile.am): Update.
+       (Include): Change to unistr.h.
+       * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
+       (Depends-on): Add unistr/base.
+       (configure.ac): Remove gl_UTF_UCS4.
+       (Makefile.am): Update.
+       (Include): Change to unistr.h.
+       * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
+       (Depends-on): Add unistr/base.
+       (configure.ac): Remove gl_UTF_UCS4.
+       (Makefile.am): Update.
+       (Include): Change to unistr.h.
+       * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
+       (Depends-on): Add unistr/base.
+       (configure.ac): Remove gl_UCS4_UTF.
+       (Makefile.am): Update.
+       (Include): Change to unistr.h.
+       * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
+       (Depends-on): Add unistr/base.
+       (configure.ac): Remove gl_UCS4_UTF.
+       (Makefile.am): Update.
+       (Include): Change to unistr.h.
+       * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
+       * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
+       utf8-ucs4-unsafe.h.
+       * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
+       * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
+       utf16-ucs4-unsafe.h.
+       * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
+       * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
+       * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
+       * lib/unistr/u8-strchr.c: Likewise.
+       * lib/unistr/u8-strrchr.c: Likewise.
+       * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
+       * lib/unistr/u16-strchr.c: Likewise.
+       * lib/unistr/u16-strrchr.c: Likewise.
+       * lib/striconveh.c: Update.
+       * lib/linebreak.c: Update.
+
+2007-03-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
+       arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
+
+2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * MODULES.html.sh (File system functions): New module write-any-file.
+       * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
+       * m4/write-any-file.m4: New files.
+
+2007-03-23  Eric Blake  <ebb9@byu.net>
+
+       * gnulib-tool: Rearrange space-tab sequences, since some editors
+       like to eat them.
+
+2007-03-23  Eric Blake  <ebb9@byu.net>
+
+       * lib/version-etc.c (version_etc_va): Update license wording to
+       be more concise.  Recommended by Richard Stallman.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/poll.c (MSG_PEEK): New fallback definition.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sys_socket-tests (configure.ac): Check for shutdown function.
+       * tests/test-sys_socket.c (a): Test only if shutdown() exists.
+       (main): Update.
+       Fixes a compilation error on BeOS.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/frexpl-tests: New file.
+       * tests/test-frexpl.c: New file.
+
+       * modules/frexpl: New file.
+       * m4/frexpl.m4: New file.
+       * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
+       * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
+       * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
+       (Depends-on): Add frexpl. Remove isnanl-nolibm.
+       * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/frexpl.c: Share code with lib/frexp.c.
+       * modules/mathl (Files): Add lib/frexp.c.
+       (Depends-on): Add isnanl-nolibm.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/printf-frexp (Files): Add m4/frexp.m4.
+       * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
+       only if the found frexp function actually works.
+
+2007-03-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/frexp.c: Remove older implementation that uses divisions.
+
+2007-03-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/frexp-tests: New file.
+       * tests/test-frexp.c: New file.
+
+       * modules/frexp: New file.
+       * lib/frexp.c: New file.
+       * m4/frexp.m4: New file.
+       * lib/math_.h (frexp): New declaration.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
+       REPLACE_FREXP.
+       * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
+
+2007-03-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/isnanl-tests: New file.
+       * tests/test-isnanl.c: New file.
+
+       * modules/isnanl: New file.
+       * lib/isnanl.h: New file.
+       * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
+       (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
+       gl_FUNC_ISNANL_WORKS.
+       (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
+       New macros.
+
+2007-03-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
+       lib/isnanl.h.
+       (Include): Update.
+       * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
+       * lib/vasnprintf.c: Update.
+       * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
+       tests/test-isnanl.h, remove tests/test-isnanl.c.
+       (Makefile.am): Update.
+       * tests/test-isnanl-nolibm.c: New file.
+       * tests/test-isnanl.h: New file.
+       * tests/test-isnanl.c: Remove file.
+
+2007-03-21  Jim Meyering  <jim@meyering.net>
+
+       When trying to open ".", treat ESTALE like EACCES.
+       * lib/savewd.c (savewd_save): Resort to forking not just upon
+       failure with EACCES, but also when errno is ESTALE.
+
+2007-03-20  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
+       Needed on AIX 5.1. Reported by Matthew Woehlke.
+
+2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Suggestions by Bruno Haible:
+       * lib/acl-internal.h: Include "gettext.h" rather than rolling
+       our own.
+       (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
+       * modules/acl (Depends-on): Add gettext.
+
+2007-03-19  Bruno Haible  <bruno@clisp.org>
+
+       * modules/iconvme: Remove file.
+       * lib/iconvme.h: Remove file.
+       * lib/iconvme.c: Remove file.
+       * m4/iconvme.m4: Remove file.
+
+2007-03-19  Bruno Haible  <bruno@clisp.org>
+
+       * doc/relocatable-maint.texi: Break long shell script line.
+       Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
+
+2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Add limited support for Solaris 10 ZFS-style ACLs: just enough to
+       handle file_has_acl.
+       * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
+       * lib/acl.c: Move header inclusions and related macro defns into
+       lib/acl-internal.h.
+       (S_ISLNK): Remove defn, since that's now done for us.
+       (file_has_acl): Move to lib/file-has-acl.c.
+       Call acl_trivial if available.  This is the crucial part of the fix.
+       (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
+       shared within the library.  Rewrite a bit, partly to make it compatible
+       with the GNU coding style.
+       * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
+       Remove unnecessary double-quotes.
+       Don't test for acl_to_text; the build will catch that.
+       Replace acl_entries if it doesn't exist and it is needed.
+       Check for -lsec and acl_trivial (as used on Solaris 10).
+       * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
+       lib/file-has-acl.c.
+       (Depends-on): Add sys_stat, for S_ISLNK.
+
+2007-03-19  Ben Pfaff  <blp@gnu.org>
+
+       * doc/gnulib.texi: Fix typos.
+       Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
+
+2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
+       If size is zero here, buf must be zero.
+
+2007-03-19  Simon Josefsson  <simon@josefsson.org>
+
+       * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
+       <bruno@clisp.org>.
+
+2007-03-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
+       Suggested by Eric Blake.
+
+2007-03-18  Ben Pfaff  <blp@gnu.org>
+
+       * doc/relocatable.texi: Recommend using as prefix a directory
+       that does not exist and will never be created.  Based on
+       discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
+       and others.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fchownat.c: Include lchown.h.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       Fix endless loop when the given allocated size was > INT_MAX.
+       * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
+       (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
+       larger than INT_MAX, or when it grow to a value larger than INT_MAX.
+       * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
+       * lib/sprintf.c (sprintf): Likewise.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-argp-2.sh (func_compare): Output a context diff.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
+       locale's decimal-point character.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
+       before comparing it. Needed because on some platforms (e.g. x86) a
+       'long double' occupies less bytes than sizeof (long double).
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-crc.c (main): Make printf statements 64-bit clean.
+       * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
+       * tests/test-getaddrinfo.c (simple): Likewise.
+       * tests/test-read-file.c (main): Likewise.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-dirname.c (main): Make printf statements 64-bit clean.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
+       unused variable.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-c-strcasecmp.c: Include c-strcase.h.
+       * tests/test-c-strncasecmp.c: Likewise.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * modules/stdlib (Depends-on): Add unistd.
+       * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
+       Needed for MacOS X 10.3.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unistr/u-strdup.h: Include <stdlib.h>.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
+
+2007-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): Update .cvsignore and .gitignore files
+       to reflect files copied from gnulib (with or without modifications).
+       Suggested by Jim Meyering.
+
+2007-03-17  Eric Blake  <ebb9@byu.net>
+
+       * NEWS: Document stdlib change from 2007-02-18.
+
+2007-03-17  Jim Meyering  <jim@meyering.net>
+
+       Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
+       * build-aux/bootstrap: Put ""s around use of $build_aux, in case
+       someone uses a name containing shell meta-characters.
+       Reported by Alfred M. Szmidt.
+
+       * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
+
+2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
+
+       * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
+       and copy gettext configuration files only if configure.ac contains
+       a use of AM_GNU_GETTEXT_VERSION.
+
+2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
+
+       * build-aux/bootstrap (gnulib_name): New variable.
+       (gnulib_tool_options): Use it.
+
+2007-03-13  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-des.c: Use new namespace.
+
+2007-03-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
+       Reported by James Youngman <jay@gnu.org>.
+
+2007-03-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/glob.c (glob): Add 'restrict' so that prototype matches the
+       declared prototype. Needed with cc on OSF/1 5.1.
+
+2007-03-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/gl_list.h (gl_listelement_dispose_fn): New type.
+       (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
+       (struct gl_list_implementation): Add dispose_fn argument to the
+       'create_empty', 'create' methods.
+       (struct gl_list_impl_base): Add field 'dispose_fn'.
+       * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
+       argument.
+       * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
+       dispose_fn argument.
+       (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
+       dispose_fn on the dropped values.
+       * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
+       dispose_fn argument.
+       (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
+       dropped values.
+       * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
+       (gl_tree_remove_node): Call dispose_fn on the dropped value.
+       * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
+       (gl_tree_remove_node): Call dispose_fn on the dropped value.
+       * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
+       argument.
+       (gl_tree_list_free): Call dispose_fn on the dropped values.
+       * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
+       the dropped values.
+       * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
+       Add dispose_fn argument.
+       (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
+       Call dispose_fn on the dropped values.
+       * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
+       Add dispose_fn argument.
+       (gl_sublist_create): Initialize the 'dispose_fn' field.
+       * lib/clean-temp.c (create_temp_dir, register_fd): Update.
+       * tests/test-array_list.c (main): Update.
+       * tests/test-carray_list.c (main): Update.
+       * tests/test-avltree_list.c (main): Update.
+       * tests/test-rbtree_list.c (main): Update.
+       * tests/test-avltreehash_list.c (main): Update.
+       * tests/test-rbtreehash_list.c (main): Update.
+       * tests/test-linked_list.c (main): Update.
+       * tests/test-linkedhash_list.c (main): Update.
+       * tests/test-array_oset.c (main): Update.
+
+2007-03-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
+       (gl_oset_create_empty): Add dispose_fn argument.
+       (struct gl_oset_implementation): Add dispose_fn argument to
+       'create_empty' method.
+       (struct gl_oset_impl_base): Add dispose_fn field.
+       * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
+       * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
+       (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
+       values.
+       * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
+       (gl_tree_oset_free): Call dispose_fn on the dropped values.
+       * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
+       dropped value.
+       * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
+       dropped value.
+       * tests/test-array_oset.c (main): Update.
+       * tests/test-avltree_oset.c (main): Update.
+       * tests/test-rbtree_oset.c (main): Update.
+       * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
+
+2007-03-13  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-stdbool.c (i): Update after last patch.
+
+2007-03-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/quotearg.c: Include <wctype.h> early, before the definition of
+       the iswprint macro. Needed on Solaris 2.5.1.
+
+2007-03-12  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-printf-frexp.c (main): Declare x as volatile.
+
+2007-03-12  Simon Josefsson  <simon@josefsson.org>
+
+       * doc/gnulib.texi (Build robot for gnulib): New section.
+
+2007-03-12  Jim Meyering  <jim@meyering.net>
+
+       * build-aux/bootstrap: New file.
+       * build-aux/bootstrap.conf: New file, from coreutils.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
+
+2007-03-12  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
+       avoid collisions with 'des_setkey'.  Reported by Bruno Haible
+       <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
+       compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
+       formula. Needed for SunPRO C 5.0.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/long-options (Depends-on): Add getopt.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/modechange (Depends-on): Add stdbool.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/i-ring (Depends-on): Add stdbool.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/gc-des (Depends-on): Add stdbool.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (sprintf): Undefine.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
+       initializers in SunPRO C and Compaq C compilers.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
+       decrementing code ANSI C compliant.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
+       Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
+       <stdbool.h> substitute doesn't pass.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_megatestdir): Create also an autobuild
+       script, for submission to autobuild.josefsson.org.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * modules/canonicalize-lgpl-tests: New file.
+       * tests/test-canonicalize-lgpl.sh: New file.
+       * tests/test-canonicalize-lgpl.c: New file.
+
+       * modules/c-strcase-tests: New file.
+       * tests/test-c-strcase.sh: New file.
+       * tests/test-c-strcasecmp.c: New file.
+       * tests/test-c-strncasecmp.c: New file.
+
+       * modules/atexit-tests: New file.
+       * tests/test-atexit.sh: New file.
+       * tests/test-atexit.c: New file.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-binary-io.sh: Use temporary filenames that are not so
+       likely to clash with those of other tests (in a parallel make).
+       * tests/test-binary-io.c: Likewise.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
+       fallback; use #error instead.
+       Suggested by Simon Josefsson.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
+       CLEANFILES. Put spaces in each line of $cleaned_files, not only the
+       first and the last.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
+       "make distcheck".
+       * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
+       * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
+       * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
+       variable.
+       * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
+       variable.
+
+2007-03-09  Eric Blake  <ebb9@byu.net>
+       and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
+
+       * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
+       types are not being provided by gnulib.
+       (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
+       types are supported.
+
+2007-03-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio_.h (__attribute__): New macro.
+       (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
+       vsprintf): Specify __attribute__ __format__ for GCC.
+       Suggested by Eric Blake.
+
+2007-03-09  Bruno Haible  <bruno@clisp.org>
+
+       * modules/printf-posix-tests: New file.
+       * tests/test-printf-posix.sh: New file.
+       * tests/test-printf-posix.c: New file.
+
+       * modules/printf-posix: New file.
+       * lib/printf.c: New file.
+       * m4/printf-posix-rpl.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
+       REPLACE_PRINTF.
+       * lib/stdio_.h (printf): New declaration.
+       (format, __format__, ____printf____, ____scanf____, ____strftime____,
+       ____strfmon____): New macros.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
+       REPLACE_PRINTF.
+
+2007-03-09  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix2.sh: New file.
+       * tests/test-vasnprintf-posix2.c: New file.
+       * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
+       (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
+       (Makefile.am): Activate test-vasnprintf-posix2.sh.
+
+       * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
+       a locale dependent decimal point, rather than always '.'.
+
+2007-03-09  Eric Blake  <ebb9@byu.net>
+
+       * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
+       spite of platforms like Tandem/NSK that define it to -1.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vprintf-posix-tests: New file.
+       * tests/test-vprintf-posix.sh: New file.
+       * tests/test-vprintf-posix.c: New file.
+       * tests/test-printf-posix.h: New file.
+
+       * modules/vprintf-posix: New file.
+       * lib/vprintf.c: New file.
+       * m4/vprintf-posix.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
+       REPLACE_VPRINTF.
+       * lib/stdio_.h (vprintf): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
+       REPLACE_VPRINTF.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fprintf-posix-tests: New file.
+       * tests/test-fprintf-posix.sh: New file.
+       * tests/test-fprintf-posix.c: New file.
+
+       * modules/fprintf-posix: New file.
+       * lib/fprintf.c: New file.
+       * m4/fprintf-posix.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
+       REPLACE_FPRINTF.
+       * lib/stdio_.h (fprintf): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
+       REPLACE_FPRINTF.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vfprintf-posix-tests: New file.
+       * tests/test-vfprintf-posix.sh: New file.
+       * tests/test-vfprintf-posix.c: New file.
+       * tests/test-fprintf-posix.h: New file.
+       * tests/test-fprintf-posix.out: New file.
+
+       * modules/vfprintf-posix: New file.
+       * lib/vfprintf.c: New file.
+       * m4/vfprintf-posix.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
+       REPLACE_VFPRINTF.
+       * lib/stdio_.h (vfprintf): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
+       REPLACE_VFPRINTF.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio_.h: Treat __need___FILE like __need_FILE.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
+       instead of 'expr' invocations.
+       * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+       * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
+       * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
+       * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
+       * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
+       Suggested by Paul Eggert.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fseterr-tests: New file.
+       * tests/test-fseterr.c: New file.
+
+       * modules/fseterr: New file.
+       * lib/fseterr.h: New file.
+       * lib/fseterr.c: New file.
+
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
+       * lib/getopt_.h: Likewise.
+       * lib/mbswidth.h: Likewise.
+       * lib/setenv.h: Likewise.
+       * lib/vasnprintf.h: Likewise.
+       * lib/vasprintf.h: Likewise.
+       * lib/verror.h: Likewise.
+       * lib/xsetenv.h: Likewise.
+       * lib/xvasprintf.h: Likewise.
+
+2007-03-08  Jim Meyering  <jim@meyering.net>
+
+       * users.txt: Add parted.
+
+       * ChangeLog: Restore 1500 lines mistakenly removed from the end.
+
+2007-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4: Make the shell script snippets copy&pastable.
+
+2007-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/netinet_in_.h: New file.
+       * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
+       is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
+       * modules/netinet_in (Files): Add lib/netinet_in_.h.
+       (Depends-on): Add absolute-header.
+       (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
+       into netinet/in.h.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_select_.h: New file.
+       * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
+       is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
+       * modules/sys_select (Files): Add lib/sys_select_.h.
+       (Depends-on): Add absolute-header.
+       (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
+       into sys/select.h.
+
+2007-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
+       before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
+       values.
+       * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
+       <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
+       HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
+       * modules/sys_socket (Depends-on): Add absolute-header.
+       (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
+       HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
+       (Include): Remove requirement of inclusion of <sys/types.h>.
+
+2007-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/byteswap_.h (bswap_32): Fix formula.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sprintf-posix-tests: New file.
+       * tests/test-sprintf-posix.c: New file.
+
+       * modules/sprintf-posix: New file.
+       * lib/sprintf.c: New file.
+       * m4/sprintf-posix.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
+       REPLACE_SPRINTF.
+       * lib/stdio_.h (sprintf): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
+       REPLACE_SPRINTF.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vsprintf-posix-tests: New file.
+       * tests/test-vsprintf-posix.c: New file.
+       * tests/test-sprintf-posix.h: New file.
+
+       * modules/vsprintf-posix: New file.
+       * lib/vsprintf.c: New file.
+       * m4/vsprintf-posix.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
+       REPLACE_VSPRINTF.
+       * lib/stdio_.h (vsprintf): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
+       REPLACE_VSPRINTF.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vsnprintf (Depend-on): Remove minmax.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * modules/snprintf-posix-tests: New file.
+       * tests/test-snprintf-posix.c: New file.
+
+       * modules/snprintf-posix: New file.
+       * m4/snprintf-posix.m4: New file.
+       * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
+       gl_FUNC_SNPRINTF.
+       (gl_FUNC_SNPRINTF): Invoke it.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
+       * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
+       is set.
+       * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vsnprintf-posix-tests: New file.
+       * tests/test-vsnprintf-posix.c: New file.
+       * tests/test-snprintf-posix.h: New file.
+
+       * modules/vsnprintf-posix: New file.
+       * m4/vsnprintf-posix.m4: New file.
+       * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
+       gl_FUNC_VSNPRINTF.
+       (gl_FUNC_VSNPRINTF): Invoke it.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
+       * lib/stdio_.h (vsnprintf): Define as a replacement if
+       REPLACE_VSNPRINTF is set.
+       * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
+       * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
+
+2007-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
+       (asinl): Declare also if HAVE_DECL_ASINL is set.
+       (atanl): Declare also if HAVE_DECL_ATANL is set.
+       (ceill): Declare also if HAVE_DECL_CEILL is set.
+       (cosl): Declare also if HAVE_DECL_COSL is set.
+       (expl): Declare also if HAVE_DECL_EXPL is set.
+       (floorl): Declare also if HAVE_DECL_FLOORL is set.
+       (frexpl): Declare also if HAVE_DECL_FREXPL is set.
+       (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
+       (logl): Declare also if HAVE_DECL_LOGL is set.
+       (sinl): Declare also if HAVE_DECL_SINL is set.
+       (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
+       (tanl): Declare also if HAVE_DECL_TANL is set.
+       * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
+       declaration of frexpl, ldexpl.
+       * modules/printf-frexpl (Depends-on): Add math.
+       * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
+
+2007-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
+       frexpl and ldexpl are declared.
+       * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
+
+2007-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_get_automake_snippet): Don't synthesize an
+       EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
+
+2007-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio_.h: Include <stddef.h>.
+
+2007-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
+
+2007-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
+       NetBSD 4, from Ralf Wildenhues.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasprintf.h: Update #if logic for the case when the functions
+       exist but are overridden.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
+       implementations: glibc-2.4 and MacOS X 10.3.
+       * tests/test-vasnprintf-posix.c (test_function): Test also the case
+       that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vasprintf-posix-tests: New file.
+       * tests/test-vasprintf-posix.c: New file.
+
+       * modules/vasprintf-posix: New file.
+       * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
+       defined.
+       * m4/vasprintf-posix.m4: New file.
+       * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
+       gl_FUNC_VASPRINTF.
+       (gl_FUNC_VASPRINTF): Invoke it.
+       * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
+       here.
+       * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
+       REPLACE_GETTIMEOFDAY.
+       * modules/sys_time (Makefile.am): Likewise.
+       * m4/sys_time_h.m4: Likewise.
+       * m4/gettimeofday.m4: Likewise.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * modules/vasnprintf-posix-tests: New file.
+       * tests/test-vasnprintf-posix.c: New file.
+
+       * modules/vasnprintf-posix: New file.
+       * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
+       printf-frexpl.h.
+       (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
+       * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
+       REPLACE_VASNPRINTF is defined.
+       * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
+       gl_FUNC_VASNPRINTF.
+       (gl_FUNC_VASNPRINTF): Invoke it.
+       * m4/vasnprintf-posix.m4: New file.
+       * m4/printf.m4: New file.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       Compile progreloc.c only if --enable-relocatable is specified.
+       * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
+       if --enable-relocatable was specified.
+       * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
+       lib_SOURCES.
+
+2007-03-04  Jim Meyering  <jim@meyering.net>
+
+       * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
+       Use it consistently, rather than enumerating errno constants.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * modules/xvasprintf-tests: New file.
+       * tests/test-xvasprintf.c: New file.
+
+       * modules/vasprintf-tests: New file.
+       * tests/test-vasprintf.c: New file.
+
+       * modules/vasnprintf-tests: New file.
+       * tests/test-vasnprintf.c: New file.
+
+       * modules/vsnprintf-tests: New file.
+       * tests/test-vsnprintf.c: New file.
+
+       * modules/snprintf-tests: New file.
+       * tests/test-snprintf.c: New file.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       Compile relocatable.c only if --enable-relocatable is specified.
+       * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
+       gl_RELOCATABLE_LIBRARY.
+       (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
+       * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
+       (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
+       gl_RELOCATABLE_LIBRARY.
+       * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
+       (Makefile.am): Remove lib_SOURCES.
+       * modules/relocatable-lib-lgpl (configure.ac): Invoke
+       gl_RELOCATABLE_LIBRARY.
+       (Makefile.am): Remove lib_SOURCES.
+       * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
+       always.
+       * modules/relocatable-prog-wrapper (configure.ac): Invoke
+       gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
+
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * modules/argmatch-tests: New file.
+       * tests/test-argmatch.c: New file.
+
+       * tests/test-allocsa.c (main): Halve the number of loop runs.
+
+       * modules/alloca-opt-tests: New file.
+       * tests/test-alloca-opt.c: New file.
+
+2007-03-04  Jim Meyering  <jim@meyering.net>
+
+       Work around difference between Linux ACLs and Solaris 10 ZFS.
+       * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
+       for EINVAL.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/relocatable-prog (Depends-on): Add back progreloc's
+       dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
+       * modules/relocatable-lib: New file.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/relocatable-prog: Renamed from modules/relocatable.
+       * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/relocatable-script (Files): Add doc/relocatable.texi,
+       m4/relocatable-lib.m4.
+       (Depends-on): Remove 'relocatable'.
+       (configure.ac): Add gl_RELOCATABLE_NOP.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/relocatable-prog-wrapper: New file.
+       * modules/relocatable (Depends-on): Add it. Remove all other
+       dependencies except progname.
+       (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
+
+       * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
+       (gl_FUNC_STRERROR): Nop.
+       * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
+
+       * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
+       * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
+
+       * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
+       (gl_FUNC_READLINK): Update.
+
+       * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * lib/xreadlink.c: Include <unistd.h> unconditionally.
+       * modules/xreadlink (Depends-on): Add unistd.
+       * modules/xreadlink-with-size (Depends-on): Likewise.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
+       extracted from gt_FUNC_SETENV.
+       (gt_FUNC_SETENV): Remove macro.
+       * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
+       remove gt_FUNC_SETENV.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
+       ENABLE_RELOCATABLE here.
+       * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/rbtreehash-list-tests (Depends-on): Add progname.
+       * tests/test-rbtreehash_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/rbtree-oset-tests (Depends-on): Add progname.
+       * tests/test-rbtree_oset.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/rbtree-list-tests (Depends-on): Add progname.
+       * tests/test-rbtree_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/linked-list-tests (Depends-on): Add progname.
+       * tests/test-linked_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+2007-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
+       All uses of __restrict changed to _Restrict_.
+       * lib/glob_.h (__restrict): Remove macro.
+
+2007-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * modules/gettext (configure.ac): Require gettext infrastructure
+       from version 0.16.1.
+
+2007-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * modules/linkedhash-list-tests (Depends-on): Add progname.
+       * tests/test-linkedhash_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/carray-list-tests (Depends-on): Add progname.
+       * tests/test-carray_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/avltreehash-list-tests (Depends-on): Add progname.
+       * tests/test-avltreehash_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/avltree-oset-tests (Depends-on): Add progname.
+       * tests/test-avltree_oset.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/avltree-list-tests (Depends-on): Add progname.
+       * tests/test-avltree_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/array-oset-tests (Depends-on): Add progname.
+       * tests/test-array_oset.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/array-list-tests (Depends-on): Add progname.
+       * tests/test-array_list.c: Include progname.h.
+       (main): Call set_program_name.
+
+       * modules/argp-tests (Depends-on): Add progname.
+       * tests/test-argp.c: Include argp.h first. Include progname.h.
+       (main): Call set_program_name.
+
+2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/gnulib-tool.texi (Initial import): Reword description of
+       _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
+       limited effect even if defined after the first system include.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * build-aux/config.libpath: Update to libtool-1.5.22.
+       Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
+       foo_CFLAGS.
+       Reported by Ralf Wildenhues.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * build-aux/install-reloc: Remove object files left over by some
+       compilers.
+       Reported by Ralf Wildenhues.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * build-aux/install-reloc: Break long lines.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * doc/relocatable.texi: Document that it may not work on OpenBSD.
+       Reported by Ralf Wildenhues.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-tool.texi (Initial import): Remove paragraph about
+       include ordering constraints.
+
+2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
+       * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
+       as another example.
+       * lib/time_.h: Fix misspelling.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
+       Require gl_HEADER_TIME_H_DEFAULTS.
+       * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
+       * m4/time_r.m4 (gl_TIME_R): Likewise.
+       * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
+
+2007-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
+       * m4/utimens.m4 (gl_UTIMENS): Likewise.
+
+2007-03-01  Jim Meyering  <jim@meyering.net>
+
+       * modules/xreadlink (Maintainer): Add my name.
+       * modules/xreadlink-with-size (Depends-on): Alphabetize.
+
+2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
+           Bruno Haible  <bruno@clisp.org>
+
+       * build-aux/install-reloc: Compile also c-ctype.c.
+       * build-aux/relocatable.sh.in: New file.
+       * doc/relocatable.texi: New file.
+       * doc/relocatable-maint.texi: New file.
+       * doc/gnulib.texi: Include relocatable-maint.texi.
+       * lib/progreloc.c: Include unistd.h unconditionally.
+       * lib/relocwrapper.c: Include unistd.h unconditionally.
+       Include c-ctype.h.
+       (add_dotbin): Use c_tolower.
+       * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
+       (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
+       (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
+       * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
+       to m4/relocatable-lib.m4.
+       (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
+       RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
+       (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
+       require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
+       SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
+       * modules/relocatable: New file.
+       * modules/relocatable-lib: New file.
+       * modules/relocatable-script: New file.
+
+2007-02-28  Bruno Haible  <bruno@clisp.org>
+
+       Import --enable-relocatable infrastructure.
+       * build-aux/config.libpath: New file, from GNU gettext.
+       * build-aux/install-reloc: New file, from GNU gettext.
+       * build-aux/reloc-ldflags: New file, from GNU gettext.
+       * lib/relocatable.h: New file, from GNU gettext.
+       * lib/relocatable.c: New file, from GNU gettext.
+       * lib/relocwrapper.c: New file, from GNU gettext.
+       * m4/relocatable.m4: New file, from GNU gettext.
+
+2007-02-28  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (File system functions): Add xreadlink-with-size.
+
+       * modules/xreadlink: New file, from GNU gettext with modifications.
+       * lib/xreadlink.c: New file, from GNU gettext.
+       * lib/xreadlink.h: Add comments.
+       (xreadlink): New declaration.
+
+       * modules/xreadlink-with-size: Renamed from modules/xreadlink.
+       (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
+       lib/xreadlink-with-size.c.
+       (configure.ac): Remove gl_XREADLINK invocation.
+       (Makefile.am): Augment lib_SOURCES.
+       * m4/xreadlink.m4: Remove file.
+       * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
+       (xreadlink_with_size): Renamed from xreadink.
+       * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
+       * modules/canonicalize (Depends-on): Replace xreadlink with
+       xreadlink-with-size.
+       * lib/canonicalize.c (canonicalize_filename_mode): Update.
+
+2007-02-25  Jim Meyering  <jim@meyering.net>
+
+       * build-aux/announce-gen: When complaining about excess arguments,
+       list them.
+
+2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README: Document signed integer overflow situation more
+       accurately.
+
+2007-02-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
+       'a' or 'A' conversion.
+
+2007-02-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/filename: Renamed from modules/pathname.
+       (Files): Replace lib/pathname.h with lib/filename.h. Replace
+       lib/concatpath.c with lib/concat-filename.c.
+       (Makefile.am): Update.
+       (Include): Replace pathname.h with filename.h.
+       * lib/filename.h: Renamed from lib/pathname.h.
+       (concatenated_filename): Renamed from concatenated_pathname.
+       * lib/concat-filename.c: Renamed from lib/concatpath.c.
+       (concatenated_filename): Renamed from concatenated_pathname.
+       * lib/findprog.c: Include filename.h instead of pathname.h.
+       (find_in_path): Update.
+       * lib/javacomp.c: Include filename.h instead of pathname.h.
+       (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
+       is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
+       is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
+       is_oldgcj_14_13_usable, is_javac_usable): Update.
+       * lib/javaexec.c: Include filename.h instead of pathname.h.
+       (execute_java_class): Update.
+       * modules/findprog: Update.
+       * modules/javacomp: Update.
+       * modules/javaexec: Update.
+       * MODULES.html.sh (File system functions): Add 'filename', remove
+       'pathname'.
+
+2007-02-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/printf-frexpl-tests: New file.
+       * tests/test-printf-frexpl.c: New file.
+
+       * modules/printf-frexpl: New file.
+       * lib/printf-frexpl.h: New file.
+       * lib/printf-frexpl.c: New file.
+       * m4/printf-frexpl.m4: New file.
+
+2007-02-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/printf-frexp-tests: New file.
+       * tests/test-printf-frexp.c: New file.
+
+       * modules/printf-frexp: New file.
+       * lib/printf-frexp.h: New file.
+       * lib/printf-frexp.c: New file.
+       * m4/printf-frexp.m4: New file.
+
+2007-02-25  Bruno Haible  <bruno@clisp.org>
+
+       Assume automake >= 1.10 for the tests.
+       * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
+       * modules/arctwo-tests: Likewise.
+       * modules/argp-tests: Likewise.
+       * modules/avltree-list-tests: Likewise.
+       * modules/avltree-oset-tests: Likewise.
+       * modules/avltreehash-list-tests: Likewise.
+       * modules/carray-list-tests: Likewise.
+       * modules/crc-tests: Likewise.
+       * modules/des-tests: Likewise.
+       * modules/gc-arcfour-tests: Likewise.
+       * modules/gc-arctwo-tests: Likewise.
+       * modules/gc-des-tests: Likewise.
+       * modules/gc-hmac-md5-tests: Likewise.
+       * modules/gc-hmac-sha1-tests: Likewise.
+       * modules/gc-md2-tests: Likewise.
+       * modules/gc-md4-tests: Likewise.
+       * modules/gc-md5-tests: Likewise.
+       * modules/gc-pbkdf2-sha1-tests: Likewise.
+       * modules/gc-rijndael-tests: Likewise.
+       * modules/gc-sha1-tests: Likewise.
+       * modules/gc-tests: Likewise.
+       * modules/getaddrinfo-tests: Likewise.
+       * modules/hmac-md5-tests: Likewise.
+       * modules/hmac-sha1-tests: Likewise.
+       * modules/linked-list-tests: Likewise.
+       * modules/linkedhash-list-tests: Likewise.
+       * modules/lock-tests: Likewise.
+       * modules/md2-tests: Likewise.
+       * modules/md4-tests: Likewise.
+       * modules/md5-tests: Likewise.
+       * modules/rbtree-list-tests: Likewise.
+       * modules/rbtree-oset-tests: Likewise.
+       * modules/rbtreehash-list-tests: Likewise.
+       * modules/read-file-tests: Likewise.
+       * modules/rijndael-tests: Likewise.
+       * modules/stdint-tests: Likewise.
+       * modules/tls-tests: Likewise.
+
+2007-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
+       * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
+       function; instead check whether isnan with a double argument links.
+       * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
+       function; instead check whether isnan with a 'long double' argument
+       links.
+       Reported by Eric Blake <ebb9@byu.net>.
+
+2007-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
+       defined.
+       * lib/isnanl.c: Remove all code. Just include isnan.c.
+       * modules/isnanl-nolibm (Files): Add lib/isnan.c.
+
+2007-02-25  Jim Meyering  <jim@meyering.net>
+
+       Avoid conflicting types for 'unsetenv' on FreeBSD.
+       * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
+       conflicting with FreeBSD's (5.0 and 6.1) function declaration
+       in stdlib.h.
+
+2007-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * modules/isnanl-nolibm-tests: New file.
+       * tests/test-isnanl.c: New file.
+
+       * modules/isnanl-nolibm: New file.
+       * lib/isnanl.h: New file.
+       * lib/isnanl.c: New file.
+       * m4/isnanl.m4: New file.
+
+2007-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * modules/isnan-nolibm-tests: New file.
+       * tests/test-isnan.c: New file.
+
+       * modules/isnan-nolibm: New file.
+       * lib/isnan.h: New file.
+       * lib/isnan.c: New file.
+       * m4/isnan.m4: New file.
+
+2007-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
+       assume that an exponent fits in 20 bits.
+
+2007-02-24  Jim Meyering  <jim@meyering.net>
+
+       * m4/regex.m4: Update the description of the configure-time option,
+       --without-included-regex, to state accurately what the defaults are,
+       and perhaps to give people an idea why using this option is risky.
+
+2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
+       loops on small arguments.  This attempts to avoid the problem
+       Bruno Haible reported for AIX 4.3.2 in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
+
+2007-02-23  Bruno Haible  <bruno@clisp.org>
+
+       * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
+       Needed for help2man.
+
+2007-02-23  Karl Berry  <karl@gnu.org>
+
+       * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
+       exists, foo.h should be cvs-ignored, not committed.
+
+2007-02-23  Eric Blake  <ebb9@byu.net>
+
+       * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
+       * lib/stat-time.h (includes): Likewise.
+       * lib/utimecmp.c (includes): Likewise.
+       * lib/utimens.h (includes): Likewise.
+       * lib/getdate.y (includes): Also include "timespec.h" for use
+       internal to the module.
+       * modules/utimens (Depends-on): Revert yesterday's patch.
+       * modules/nanosleep (Depends-on): Add missing dependency.
+
+2007-02-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/glob.c: Don't include getlogin_r.h.
+
+2007-02-22  Jim Meyering  <jim@meyering.net>
+
+       * modules/utimens (Depends-on): Add timespec, required for
+       utimens.h's inclusion of timespec.h.
+
+2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
+       long unreadable paths in GNU/Linux.  Problem reported by Andreas
+       Schwab in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
+       I'll try to think of a better way to fix the Solaris problem.
+
+       * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
+       like glibc; on Solaris 10, it fails with errno == EINVAL.
+       POSIX says the behavior is unspecified if the first argument is NULL,
+       so play it safe and never pass NULL to the system getcwd.
+
+2007-02-21  Jim Meyering  <jim@meyering.net>
+
+       * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
+       of gettimeofday.  It would conflict with the one now always
+       provided via sys_time_.h.  Reported by Matthew Woehlke, as
+       an IRIX 6.5 build failure.
+
+2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Minor fixups to port to Solaris 10 with Sun C 5.8.
+       * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
+       * modules/getcwd (Depends-on): Add dirfd.
+       * lib/putenv.c (putenv): #undef it.
+       (rpl_putenv): New decl.
+       (malloc, free): Include <stdlib.h> rather than prototyping separately.
+
+2007-02-20  Bruno Haible  <bruno@clisp.org>
+
+       * modules/stdio-tests: New file.
+       * tests/test-stdio.c: New file.
+
+       * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
+       (Depends-on): Add stdio.
+       (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
+       (Include): Use <stdio.h> instead of vsnprintf.h.
+       * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
+       HAVE_DECL_VSNPRINTF.
+       * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
+
+       * modules/snprintf (Files): Remove lib/snprintf.h.
+       (Depends-on): Add stdio.
+       (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
+       (Include): Use <stdio.h> instead of snprintf.h.
+       * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
+       HAVE_DECL_SNPRINTF.
+       * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
+       * lib/getaddrinfo.c: Likewise.
+
+       * modules/stdio: New file.
+       * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
+       * lib/snprintf.h: Remove file.
+       * lib/vsnprintf.h: Remove file.
+       * lib/.cppi-disable: Remove snprintf.h.
+       * m4/stdio_h.m4: New file.
+       * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
+
+2007-02-20  Jim Meyering  <jim@meyering.net>
+
+       * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
+       used by e.g., mingw.  From Bruno Haible.
+
+2007-02-19  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
+       warnings.
+       Reported by Ben Pfaff <blp@cs.stanford.edu>.
+
+2007-02-19  Bruno Haible  <bruno@clisp.org>
+
+       * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
+       from mingw users.
+
+2007-02-19  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
+       warnings.
+       Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
+
+2007-02-19  Jim Meyering  <jim@meyering.net>
+
+       Don't use FD after a successful "fdopendir (fd)".
+       * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
+       Reset it by calling dirfd on the just-obtained DIR*.
+
+       * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
+       Prompted by a report from Bruno Haible that mingw lacks ftruncate.
+
+2007-02-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/readlink.c: Include <unistd.h>.
+       * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
+       HAVE_READLINK.
+       * modules/readlink (Depends-on): Add unistd.
+       (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+       (Include): Add <unistd.h>.
+
+       * lib/getlogin_r.h: Remove file.
+       * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
+       * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
+       (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
+       HAVE_DECL_GETLOGIN_R.
+       * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
+       (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+       (Include): Use <unistd.h> instead of getlogin_r.h.
+
+       * lib/getcwd.h: Remove file.
+       * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
+       * lib/xgetcwd.c: Likewise.
+       * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
+       REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
+       * modules/getcwd (Files): Remove lib/getcwd.h.
+       (Depends-on): Add unistd.
+       (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+       (Include): Use <unistd.h> instad of getcwd.h.
+
+       * lib/ftruncate.c: Include <unistd.h> first.
+       * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
+       Set HAVE_FTRUNCATE.
+       * modules/ftruncate (Depends-on): Add unistd.
+       (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+
+       * lib/fchdir.c: Include <unistd.h> first.
+       * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
+       * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
+       of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
+       * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+       (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
+
+       * lib/dup2.c: Include <unistd.h> first.
+       * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
+       HAVE_DUP2.
+       * modules/dup2 (Depends-on): Add unistd.
+       (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+
+       * lib/chown.c: Include <unistd.h> first. Undefine chown later.
+       * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
+       REPLACE_CHOWN. Don't define chown as a macro here.
+       * modules/chown (Depends-on): Add unistd.
+       (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+
+       * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
+       Add definition for GL_LINK_WARNING.
+       (chown, dup2): New declarations.
+       (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
+       link warning.
+       (ftruncate): New declaration.
+       (getcwd): New declaration, taken from old getcwd.h.
+       (getlogin_r): New declaration, taken from old getlogin_r.h.
+       (readlink): New declaration.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
+       set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
+       (gl_PREREQ_UNISTD): Remove macro.
+       (gl_UNISTD_MODULE_INDICATOR): New macro.
+       (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
+       many new variables. Don't set UNISTD_H.
+       * modules/unistd (Description): Change.
+       (Depends-on): Add link-warning.
+       (configure.ac): Update.
+       (Makefile.am): Create unistd.h always. Substitute many new variables
+       into it.
+
+2007-02-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
+       * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
+       HAVE_GETSUBOPT.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
+       GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
+       * lib/getsubopt.h: Remove file.
+       * modules/getsubopt (Files): Remove lib/getsubopt.h.
+       (Depends-on): Add stdlib.
+       (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
+       (Includes): Use <stdlib.h> instead of getsubopt.h.
+       * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
+       Set HAVE_GETSUBOPT.
+       * lib/getsubopt.c: Don't include getsubopt.h.
+
+2007-02-18  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fchdir (Depends-on): Add dup2.
+
+2007-02-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdlib_.h: Handle glibc's special invocation convention
+       specially.
+
+2007-02-18  Bruno Haible  <bruno@clisp.org>
+
+       * modules/stdlib-tests: New file.
+       * tests/test-stdlib.c: New file.
+
+       * modules/mkstemp (Files): Remove lib/mkstemp.h.
+       (Depends-on): Add stdlib.
+       (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
+       (Includes): Use <stdlib.h> instead of mkstemp.h.
+       * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
+       REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
+       * lib/mkstemp.c: Don't include mkstemp.h.
+       * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
+       * lib/stdlib--.h: Don't include mkstemp.h.
+
+       * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
+       (Depends-on): Add stdlib.
+       (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
+       (Includes): Use <stdlib.h> instead of mkdtemp.h.
+       * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
+       HAVE_MKDTEMP.
+       * lib/mkdtemp.c: Don't include mkdtemp.h.
+       * lib/clean-temp.c: Don't include mkdtemp.h.
+
+       * modules/exit (Files): Remove lib/exit.h.
+       (Depends-on): Add stdlib.
+       (Makefile.am): Remove lib_SOURCES.
+       (Include): Use <stdlib.h> instead of exit.h.
+       * lib/argmatch.c: Don't include exit.h.
+       * lib/execute.c: Likewise.
+       * lib/pagealign_alloc.c: Likewise.
+       * lib/pipe.c: Likewise.
+       * lib/wait-process.c: Likewise.
+       * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
+       * lib/exitfail.c: Likewise.
+       * lib/savewd.c: Likewise.
+       * lib/xsetenv.c: Likewise.
+
+       * modules/stdlib: New file.
+       * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
+       and extra comments about mkstemp().
+       * lib/exit.h: Remove file.
+       * lib/mkdtemp.h: Remove file.
+       * lib/mkstemp.h: Remove file.
+       * m4/stdlib_h.m4: New file.
+       * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
+
+2007-02-18  Bruno Haible  <bruno@clisp.org>
+
+       * modules/math-tests: New file.
+       * tests/test-math.c: New file.
+
+       * modules/math: New file.
+       * modules/mathl (Files): Remove lib/mathl.h.
+       (Depends-on): Add math.
+       (Makefile.am): Don't mention mathl.h.
+       (Include): Use <math.h> instead of mathl.h.
+       * lib/math_.h: New file.
+       * lib/mathl.h: Remove file.
+       * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
+       mathl.h.
+       * lib/asinl.c: Likewise.
+       * lib/atanl.c: Likewise.
+       * lib/ceill.c: Likewise.
+       * lib/cosl.c: Likewise.
+       * lib/expl.c: Likewise.
+       * lib/floorl.c: Likewise.
+       * lib/frexpl.c: Likewise.
+       * lib/ldexpl.c: Likewise.
+       * lib/logl.c: Likewise.
+       * lib/sincosl.c: Likewise.
+       * lib/sinl.c: Likewise.
+       * lib/sqrtl.c: Likewise.
+       * lib/tanl.c: Likewise.
+       * lib/trigl.c: Likewise.
+       * m4/math_h.m4: New file.
+       * MODULES.html.sh (Mathematics): Add math.
+
+2007-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * modules/wctype-tests: New file.
+       * tests/test-wctype.c: New file.
+
+       * modules/wchar-tests: New file.
+       * tests/test-wchar.c: New file.
+
+       * modules/unistd-tests: New file.
+       * tests/test-unistd.c: New file.
+
+       * modules/time-tests: New file.
+       * tests/test-time.c: New file.
+
+       * modules/sysexits-tests: New file.
+       * tests/test-sysexits.c: New file.
+
+       * modules/sys_time-tests: New file.
+       * tests/test-sys_time.c: New file.
+
+       * modules/sys_stat-tests: New file.
+       * tests/test-sys_stat.c: New file.
+
+       * modules/sys_socket-tests: New file.
+       * tests/test-sys_socket.c: New file.
+
+       * modules/sys_select-tests: New file.
+       * tests/test-sys_select.c: New file.
+
+       * modules/string-tests: New file.
+       * tests/test-string.c: New file.
+
+       * modules/stdbool-tests: New file.
+       * tests/test-stdbool.c: New file.
+
+       * modules/netinet_in-tests: New file.
+       * tests/test-netinet_in.c: New file.
+
+       * modules/inttypes-tests: New file.
+       * tests/test-inttypes.c: New file.
+
+       * modules/fcntl-tests: New file.
+       * tests/test-fcntl.c: New file.
+
+       * modules/byteswap-tests: New file.
+       * tests/test-byteswap.c: New file.
+
+       * modules/arpa_inet-tests: New file.
+       * tests/test-arpa_inet.c: New file.
+
+2007-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
+       (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
+       if the corresponding module is not enabled. Emit link warnings if
+       the function is used nevertheless.
+       * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
+       Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
+       HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
+       (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
+       * modules/inttypes (Depends-on): Add link-warning.
+       (Makefile.am): Copy the contents of build-aux/link-warning.h into
+       inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
+       GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
+       * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
+       * modules/imaxdiv (configure.ac): Likewise.
+       * modules/strtoimax (configure.ac): Likewise.
+       * modules/strtoumax (configure.ac): Likewise.
+
+2007-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
+       gl_STRING_MODULE_INDICATOR_DEFAULTS.
+       (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
+       (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
+
+2007-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * modules/link-warning: New file.
+       * build-aux/link-warning.h: New file, extracted from lib/string_.h.
+       * lib/string_.h (GL_LINK_WARNING): Remove definition.
+       * modules/string (Depends-on): Add link-warning.
+       (Makefile.am): Copy the contents of build-aux/link-warning.h into
+       string.h.
+       * MODULES.html.sh (Support for building libraries and executables): Add
+       link-warning.
+
+2007-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
+       strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
+       strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
+       long lines.
+
+2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
+           Bruno Haible  <bruno@clisp.org>
+
+       * modules/tmpfile: New file.
+       * lib/tmpfile.c: New file.
+       * m4/tmpfile.m4: New file.
+       * MODULES.html.sh (func_all_modules): New section "Input/output".
+
+2007-02-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
+       (supports_delete_on_close): New function.
+       (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
+
+2007-02-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/mbspcasecmp-tests: New file.
+       * tests/test-mbspcasecmp.sh: New file.
+       * tests/test-mbspcasecmp.c: New file.
+
+       New module mbspcasecmp.
+       * modules/mbspcasecmp: New file.
+       * lib/mbspcasecmp.c: New file.
+       * lib/string_.h (strncasecmp): Change warning message.
+       (mbspcasecmp): New declaration.
+       * m4/mbspcasecmp.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSPCASECMP.
+       * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
+       * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
+
+2007-02-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/mbsncasecmp-tests: New file.
+       * tests/test-mbsncasecmp.sh: New file.
+       * tests/test-mbsncasecmp.c: New file.
+
+       New module mbsncasecmp.
+       * modules/mbsncasecmp: New file.
+       * lib/mbsncasecmp.c: New file.
+       * lib/string_.h (mbsncasecmp): New declaration.
+       * m4/mbsncasecmp.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSNCASECMP.
+       * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
+       * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
+
+2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
+       Verify that it doesn't overlap with our flags.
+       (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
+       do not have the desired effect in multibyte locales; instead, use
+       mbscasecmp.
+       * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
+       Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
+       we don't require GNU fnmatch ourselves (if our users require it, they
+       should do so explicitly).
+
+       Fix regex code so it doesn't rely on strcasecmp.
+       * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
+       Otherwise, include gnulib's langinfo.h.
+       * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
+       undesirable behavior in non-C locales.  Instead, rely on localecharset.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
+       * modules/regex (FILES): Remove m4/codeset.m4.
+       (Depends-on): Add localcharset.  Remove strcase.
+
+2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
+       * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
+
+2007-02-13  Bruno Haible  <bruno@clisp.org>
+
+       * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
+       Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-02-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
+       strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
+       GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
+       time warning rather than a link error.
+
+2007-02-12  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
+       * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+       Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
+       args, not 2.
+
+2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       New module 'time', so that apps can include <time.h> as per
+       POSIX and GNU instead of separate include files like time_r.h
+       and timegm.h.  This implementation tries out a simpler approach
+       for replacing decls in standard include files (as compared to
+       the string module), somewhat as an experiment.
+
+       * config/srclist.txt: Comment out mktime.c for now.
+       * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
+       since it doesn't apply any more.  Use generic wording instead.
+       * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
+       'time'.
+       * lib/time_.h, m4/time_h.m4, modules/time: New files.
+       * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
+       * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
+       Don't include <sys/types.h>; no longer needed since we assume C89.
+       * lib/mktime.c: Don't include "time_r.h"; no longer needed.
+       * lib/strftime.c: Likewise.
+       * lib/time_r.c: Likewise.
+       * lib/nanosleep.c (nanosleep): #undef after include files, not before.
+       * lib/nanosleep.c: Include <time.h> first, to check interface.
+       * lib/strptime.c: Likewise.
+       * lib/time_r.c: Likewise.
+       * lib/timegm.c: Likewise.
+       * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
+       needed.
+       * lib/timegm.c: Don't include timegm.h; no longer needed.
+       * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
+       time.h now handles any problems in that area.
+       (struct timespec, nanosleep): Remove; time.h now arranges for these.
+       * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
+       that time.h defines struct timespec.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
+       Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
+       handles that.
+       * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
+       * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
+       needed.  Set REPLACE_LOCALTIME.
+       * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
+       * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
+       (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
+       nanosleep; time_h.m4 now does that.  Don't require
+       gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
+       module handles this now.
+       * modules/getdate (Depends-on): Remove timespec.  Add time.
+       * modules/nanosleep (Depends-on): Likewise.
+       * modules/stat-time (Depends-on): Likewise.
+       * modules/nanosleep (Include): Include time.h, not timespec.h.
+       * modules/strptime (Files): Remove lib/strptime.h.
+       (Depends-on): Add extensions, time.
+       (Include): Include time.h, not strptime.h.
+       * modules/time_r (Files): Remove lib/time_r.h.
+       (Depends-on): Add time.
+       (Include): Include time.h, not time_r.h.
+       * modules/timegm: Likewise.
+       * modules/timespec (Description): Now does timespec-related decls
+       of our own, instead of struct timespec itself.
+       (Depends-on): Add time; remove extensions.
+       (Maintainer): Add self.
+       * modules/utimecmp (Depends-on): Add time; remove timespec.
+       * modules/utimens (Depends-on): Likewise.
+       * modules/xnanosleep (Depends-on): Likewise.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/c-strstr.c: Include allocsa.h.
+       (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+       * lib/c-strcasestr.c: Include allocsa.h.
+       (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+       * lib/strcasestr.c: Include allocsa.h.
+       (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+       * lib/mbsstr.c: Include allocsa.h.
+       (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
+       allocsa/freesa instead of malloc/free.
+       * lib/mbscasestr.c: Include allocsa.h.
+       (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
+       allocsa/freesa instead of malloc/free.
+       * modules/c-strstr (Depends-on): Add allocsa.
+       * modules/c-strcasestr (Depends-on): Likewise.
+       * modules/strcasestr (Depends-on): Likewise.
+       * modules/mbsstr (Depends-on): Likewise.
+       * modules/mbscasestr (Depends-on): Likewise.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
+
+       * modules/mbsspn-tests: New file.
+       * tests/test-mbsspn.sh: New file.
+       * tests/test-mbsspn.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
+
+       * modules/mbspbrk-tests: New file.
+       * tests/test-mbspbrk.sh: New file.
+       * tests/test-mbspbrk.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
+       unneeded cast.
+
+       * modules/mbscspn-tests: New file.
+       * tests/test-mbscspn.sh: New file.
+       * tests/test-mbscspn.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/mbscasecmp-tests: New file.
+       * tests/test-mbscasecmp.sh: New file.
+       * tests/test-mbscasecmp.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Ensure O(n) worst-case complexity of mbscasestr.
+       * lib/mbscasestr.c: Include stdbool.h.
+       (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
+       functions.
+       (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
+       the bookkeeping indicates that it's worth it.
+       * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
+
+       * modules/mbscasestr-tests: New file.
+       * tests/test-mbscasestr1.c: New file.
+       * tests/test-mbscasestr2.sh: New file.
+       * tests/test-mbscasestr2.c: New file.
+       * tests/test-mbscasestr3.sh: New file.
+       * tests/test-mbscasestr3.c: New file.
+       * tests/test-mbscasestr4.sh: New file.
+       * tests/test-mbscasestr4.c: New file.
+       * m4/locale-tr.m4: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Ensure O(n) worst-case complexity of mbsstr.
+       * lib/mbsstr.c: Include stdbool.h.
+       (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
+       functions.
+       (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
+       bookkeeping indicates that it's worth it.
+       * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
+
+       * modules/mbsstr-tests: New file.
+       * tests/test-mbsstr1.c: New file.
+       * tests/test-mbsstr2.sh: New file.
+       * tests/test-mbsstr2.c: New file.
+       * tests/test-mbsstr3.sh: New file.
+       * tests/test-mbsstr3.c: New file.
+       * m4/locale-fr.m4: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbsrchr.c (mbsrchr): Fix bug.
+
+       * modules/mbsrchr-tests: New file.
+       * tests/test-mbsrchr.sh: New file.
+       * tests/test-mbsrchr.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbschr.c (mbschr): Fix bug.
+
+       * modules/mbschr-tests: New file.
+       * tests/test-mbschr.sh: New file.
+       * tests/test-mbschr.c: New file.
+       * m4/locale-zh.m4: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Support for copying multibyte string iterators.
+       * lib/mbiter.h: Include <string.h>.
+       (mbiter_multi_copy): New function.
+       (mbi_copy): New macro.
+       * lib/mbuiter.h: Include <string.h>.
+       (mbuiter_multi_copy): New function.
+       (mbui_copy): New macro.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       New module mbslen.
+       * modules/mbslen: New file.
+       * lib/mbslen.c: New file.
+       * lib/string_.h (mbslen): New declaration.
+       * m4/mbslen.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSLEN.
+       * modules/string (string.h): Also substitute GNULIB_MBSLEN.
+       * MODULES.html.sh (Internationalization functions): Add mbslen.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Ensure O(n) worst-case complexity of strcasestr substitute.
+       * lib/strcasestr.c: Include stdbool.h.
+       (knuth_morris_pratt): New function.
+       (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
+       bookkeeping indicates that it's worth it.
+       * modules/strcasestr (Depends-on): Add stdbool, strnlen.
+
+       * modules/strcasestr-tests: New file.
+       * tests/test-strcasestr.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Ensure O(n) worst-case complexity of c_strcasestr.
+       * lib/c-strcasestr.c: Include stdbool.h, string.h.
+       (knuth_morris_pratt): New function.
+       (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
+       the bookkeeping indicates that it's worth it.
+       * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
+
+       * modules/c-strcasestr-tests: New file.
+       * tests/test-c-strcasestr.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Ensure O(n) worst-case complexity of c_strstr.
+       * lib/c-strstr.c: Include stdbool.h, string.h.
+       (knuth_morris_pratt): New function.
+       (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
+       bookkeeping indicates that it's worth it.
+       * modules/c-strstr (Depends-on): Add stdbool, strnlen.
+
+       * lib/c-strstr.c: Complete rewrite for maintainability.
+
+       * modules/c-strstr-tests: New file.
+       * tests/test-c-strstr.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
+       5.2.1 and earlier, whereby \055 was treated just like the range
+       delimiter '-'.
+       Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
+
+2007-02-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/regex (Depends-on): Add stdbool.
+       Reported by Dalibor Topic <robilad@kaffe.org>.
+
+2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
+       Prefer returning from main to exiting from it.
+       Remove unnecessary parens after sizeof.
+
+2007-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module mbssep.
+       * modules/mbssep: New file.
+       * lib/mbssep.c: New file.
+       * lib/string_.h (strsep): Add a conditional link warning.
+       (mbssep): New declaration.
+       * m4/mbssep.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSSEP.
+       * modules/string (string.h): Also substitute GNULIB_MBSSEP.
+       * MODULES.html.sh (Internationalization functions): Add mbssep.
+
+2007-02-05  Bruno Haible  <bruno@clisp.org>
+
+       * lib/strsep.c (strsep): Fix actions in case of no delimiters.
+       Optimize search in case of 1 delimiter.
+
+2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       * lib/acl.h: Include sys/types.h before sys/acl.h.
+
+2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       Merge upstream fix for glibc bugzilla #3957:
+
+       2007-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
+       bit for RE_HAT_LISTS_NOT_NEWLINE.
+       (build_charclass_op): Remove bogus comment.
+
+2007-02-05  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
+
+2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
+       * lib/memmem.c [!defined _LIBC]: Include config.h.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
+       warning message.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbstok_r.
+       * modules/mbstok_r: New file.
+       * lib/mbstok_r.c: New file.
+       * lib/string_.h (strtok_r): Change argument names to match the
+       comments. Add a conditional link warning.
+       (mbstok_r): New declaration.
+       * m4/mbstok_r.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSTOK_R.
+       * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
+       * MODULES.html.sh (Internationalization functions): Add mbstok_r.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbsspn.
+       * modules/mbsspn: New file.
+       * lib/mbsspn.c: New file.
+       * lib/string_.h (strspn): Add a conditional link warning.
+       (mbsspn): New declaration.
+       * m4/mbsspn.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSSPN.
+       * modules/string (string.h): Also substitute GNULIB_MBSSPN.
+       * MODULES.html.sh (Internationalization functions): Add mbsspn.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbspbrk.
+       * modules/mbspbrk: New file.
+       * lib/mbspbrk.c: New file.
+       * lib/string_.h (strpbrk): Add a conditional link warning.
+       (mbspbrk): New declaration.
+       * m4/mbspbrk.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSPBRK.
+       * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
+       * MODULES.html.sh (Internationalization functions): Add mbspbrk.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbscspn.
+       * modules/mbscspn: New file.
+       * lib/mbscspn.c: New file.
+       * lib/string_.h (strcspn): Add a conditional link warning.
+       (mbscspn): New declaration.
+       * m4/mbscspn.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSCSPN.
+       * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
+       * MODULES.html.sh (Internationalization functions): Add mbscspn.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbscasestr, reduced goal of strcasestr.
+       * modules/mbscasestr: New file.
+       * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
+       (mbscasestr): Renamed from strcasestr.
+       * lib/strcasestr.c: Don't include mbuiter.h.
+       (strcasestr): Remove support for multibyte locales.
+       * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
+       Change the conditional link warning.
+       (mbscasestr): New declaration.
+       * m4/mbscasestr.m4: New file.
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
+       the system does not have strcasestr. Set HAVE_STRCASESTR instead of
+       REPLACE_STRCASESTR.
+       (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+       HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
+       (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
+       * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
+       Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
+       * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
+       (Depends-on): Remove mbuiter.
+       * MODULES.html.sh (Internationalization functions): Add mbscasestr.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       Simplify handling of strncasecmp.
+       * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
+       the conditional link warning.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+       HAVE_STRCASECMP, not REPLACE_STRCASECMP.
+       (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
+       * modules/strcase (configure.ac): Don't invoke
+       gl_STRING_MODULE_INDICATOR.
+       * modules/string (string.h): Don't substitute GNULIB_STRCASE.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbscasecmp, reduced goal of strcasecmp.
+       * modules/mbscasecmp: New file.
+       * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
+       (mbscasecmp): Renamed from strcasecmp.
+       * lib/strcasecmp.c: Don't include mbuiter.h.
+       (strcasecmp): Remove support for multibyte locales.
+       * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
+       Change the conditional link warning.
+       (mbscasecmp): New declaration.
+       * m4/mbscasecmp.m4: New file.
+       * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
+       the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
+       REPLACE_STRCASECMP.
+       (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSCASECMP.
+       * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
+       Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
+       * modules/strcase (Files): Remove m4/mbrtowc.m4.
+       (Depends-on): Remove mbuiter.
+       * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbsstr. Remove module strstr.
+       * modules/mbsstr: New file.
+       * modules/strstr: Remove file.
+       * lib/mbsstr.c: Renamed from lib/strstr.c.
+       (mbsstr): Renamed from strstr.
+       * lib/string_.h (strstr): Remove declaration. Change the conditional
+       link warning.
+       (mbsstr): New declaration.
+       * m4/mbsstr.m4: New file.
+       * m4/strstr.m4: Remove file.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
+       REPLACE_STRSTR.
+       (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
+       Don't initialize GNULIB_STRSTR.
+       * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
+       substitute GNULIB_STRSTR and REPLACE_STRSTR.
+       * MODULES.html.sh (Internationalization functions): Add mbsstr.
+       (Support for systems lacking ANSI C 89): Remove strstr.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbsrchr.
+       * modules/mbsrchr: New file.
+       * lib/mbsrchr.c: New file.
+       * lib/string_.h (strrchr): Add a conditional link warning.
+       (mbsrchr): New declaration.
+       * m4/mbsrchr.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSRCHR.
+       * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
+       * MODULES.html.sh (Internationalization functions): Add mbsrchr.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module mbschr.
+       * modules/mbschr: New file.
+       * lib/mbschr.c: New file.
+       * lib/string_.h (strchr): Add a conditional link warning.
+       (mbschr): New declaration.
+       * m4/mbschr.m4: New file.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+       GNULIB_MBSCHR.
+       * modules/string (string.h): Also substitute GNULIB_MBSCHR.
+       * MODULES.html.sh (Internationalization functions): Add mbschr.
+
+2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
+
+       * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       New module description section 'configure.ac-early'.
+       * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
+       (func_get_autoconf_early_snippet): New function.
+       (func_import, func_create_testdir): Use it. Remove special cases for
+       modules 'extensions' and 'lock'.
+       * modules/extensions (configure.ac-early): Require
+       gl_USE_SYSTEM_EXTENSIONS.
+       * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
+
+2007-02-04  Bruno Haible  <bruno@clisp.org>
+
+       Make use of gcj-4.3's -fsource and -ftarget option.
+       * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
+       and if so try the options -fsource and -ftarget.
+       * lib/javacomp.c (compile_using_gcj): Add fsource_option,
+       source_version, ftarget_option, target_version arguments.
+       (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
+       (is_envjavac_oldgcj_14_14_usable): Renamed from
+       is_envjavac_gcj_14_14_usable.
+       (is_envjavac_oldgcj_14_13_usable): Renamed from
+       is_envjavac_gcj_14_13_usable.
+       (is_gcj_present): Update.
+       (is_gcj_43, is_gcj43_usable): New functions.
+       (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
+       (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
+       (compile_java_class): Test whether gcj is in version >= 4.3, and if so
+       try the options -fsource and -ftarget.
+
+2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
+       checking code.  Set N = ceil (1.5 * N) rather than to a slightly
+       larger value.
+
+2007-02-03  Jim Meyering  <jim@meyering.net>
+
+       Give tools a better chance to allocate space for very large buffers.
+       * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
+
+       Make pwd and readlink work also when run with an unreadable parent dir
+       on systems with openat support.
+       * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
+       provided getcwd function, even when we have openat support.
+       Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
+
+2007-02-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
+       strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
+       error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
+       portability problems if one of these functions is only used on specific
+       platforms.
+       Reported by Paul Eggert.
+
+2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid mempcpy in the regex code, as the string.h mempcpy stuff
+       is causing more trouble than it's curing.
+       * lib/regex_internal.h (__mempcpy): Remove.
+       * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
+       (and make the code a tad smaller to boot).
+       * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
+
+2007-02-02  Jim Meyering  <jim@meyering.net>
+
+       * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
+       section, not in the Makefile.am: one.
+
+2007-02-02  Eric Blake  <ebb9@byu.net>
+
+       * lib/strchrnul.c: Always include config.h first.
+
+       * modules/mountlist (Depends-on): Revert 2007-01-31 change,
+       gnulib strstr is not necessary here.
+
+2007-02-02  Simon Josefsson  <simon@josefsson.org>
+
+       * m4/socklen.m4: Fix typo.
+
+2007-02-02  Eric Blake  <ebb9@byu.net>
+
+       * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
+       * modules/netinet_in (Makefile.am): Likewise.
+
+2007-02-01  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (GL_LINK_WARNING): New macro.
+       (strcasecmp, strstr, strcasestr): If provided by the system,
+       conditionally define as a macro that leads to a warning instead of to
+       an error.
+       (strncasecmp): Conditionally define as a macro that leads to a warning.
+
+2007-02-01  Karl Berry  <karl@gnu.org>
+
+       * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
+
+2007-02-01  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
+       renamings.
+
+2007-02-01  Eric Blake  <ebb9@byu.net>
+
+       * modules/regex (Depends-on): Revert dependence on mempcpy.
+       * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
+       module's definition of mempcpy.
+       Reported by Paul Eggert.
+
+2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/string_.h: If the gnulib module XYZ is not present, undefine
+       the symbol XYZ before redefining it.  This fixes a problem with
+       programs that don't use XYZ, when compiled on systems that define
+       XYZ to something else.
+
+2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/mkdir-p.c (make_dir_parents): Close a race condition that
+       occurs when "mkdir -m foo" creates a setgid directory that is (1)
+       writeable to group or other and (2) is intended to have a special
+       mode bit that is set or cleared.  In such a case, the directory
+       should be neither group- nor other-writeable until the special
+       mode bits are right.
+
+2007-01-31  Eric Blake  <ebb9@byu.net>
+
+       * modules/mountlist (Depends-on): Add strstr.
+
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
+       bug.
+       * modules/string (Makefile.am): Remove redundant replacement.
+       * modules/regex (Depends-on): Add mempcpy.
+
+2007-01-31  Bruno Haible  <bruno@clisp.org>
+
+       New module description field 'Link'.
+       * gnulib-tool (func_usage): Document --extract-link-directive.
+       (sed_extract_prog): Recognize 'Link' directive.
+       (func_get_link_directive): New function.
+       (func_import): Show summary of link directives.
+       Handle --extract-link-directive option.
+       * modules/acl (Link): New section.
+       * modules/clock-time (Link): New section.
+       * modules/euidaccess (Link): New section.
+       * modules/gettext (Link): New section.
+       * modules/iconv (Link): New section.
+       * modules/lock (Link): New section.
+       * modules/nanosleep (Link): New section.
+       * modules/readline (Link): New section.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       Enforce the use of gnulib modules for unportable <string.h> functions.
+       * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
+       (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
+       (gl_HEADER_STRING_H_BODY): Require it.
+       * lib/string_.h: If the gnulib module XYZ is not present, redefine
+       the symbol XYZ to one that gives a link error.
+       * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
+       * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
+       * modules/mempcpy (configure.ac): Likewise.
+       * modules/memrchr (configure.ac): Likewise.
+       * modules/stpcpy (configure.ac): Likewise.
+       * modules/stpncpy (configure.ac): Likewise.
+       * modules/strcase (configure.ac): Likewise.
+       * modules/strcasestr (configure.ac): Likewise.
+       * modules/strchrnul (configure.ac): Likewise.
+       * modules/strdup (configure.ac): Likewise.
+       * modules/strndup (configure.ac): Likewise.
+       * modules/strnlen (configure.ac): Likewise.
+       * modules/strpbrk (configure.ac): Likewise.
+       * modules/strsep (configure.ac): Likewise.
+       * modules/strstr (configure.ac): Likewise.
+       * modules/strtok_r (configure.ac): Likewise.
+
+2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
+
+       * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
+
+2007-01-30  Jim Meyering  <jim@meyering.net>
+
+       * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
+
+2007-01-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
+       * lib/execute.c: Likewise.
+       * lib/pipe.c: Likewise.
+       * lib/printf-args.h: Likewise.
+       * lib/printf-args.c: Likewise.
+       * lib/printf-parse.c: Likewise.
+       * lib/vasnprintf.c: Likewise.
+
+2007-01-29  Eric Blake  <ebb9@byu.net>
+
+       * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
+       declaration.
+
+2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/strptime.h (strptime): Use 'restrict' for args where
+       POSIX requires this.
+       * lib/strptime.c (strptime): Likewise.
+       Change license notice from LGPL to GPL, since gnulib-tool will
+       change this as needed.
+       Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
+       defined.
+       Include "strptime.h" first, to check interface.
+       Do not #undef _LIBC and _NL_CURRENT.
+       Do not include <stdlib.h>; no longer needed.
+       Include "time_r.h" and declare ptime_locale_status
+       only if _LIBC is not defined.
+       (__P): Remove unused macro.
+       (match_string): Bring back glibc version, but use it only if _LIBC
+       is defined.
+       (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
+       Remove unnecessary assertion and abort() call.
+       Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
+       * m4/strptime.m4: Fix serial number comment.
+       (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
+       * modules/strptime (Files): Add m4/tm_gmtoff.m4.
+       (Depends-on): Add time_r.
+
+2007-01-29  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
+       strptime.
+       * modules/strptime (Depends-on): Add stdbool.
+       * lib/strptime.h: Include <time.h> always. Add comments.
+
+2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
+
+       * modules/strptime: New file.
+       * lib/strptime.h: New file.
+       * lib/strptime.c: New file.
+       * m4/strptime.m4: New file.
+
+2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * MODULES.html.sh: New module mpsort.
+       * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
+
+       * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
+       a circularity problem with HP-UX ia64 reported by Bob Proulx in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
+       All uses changed.
+       (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
+       All uses changed.
+       * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
+       to _Restrict_.
+       * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
+       the parameter matches the prototype.
+
+2007-01-28  Jim Meyering  <jim@meyering.net>
+
+       * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
+       sys/time.h here, reverting that part of the previous patch:
+       <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
+
+2007-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
+       value of $(SYS_TIME_H).
+       [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
+       remove it conditionally, too. [added by Jim Meyering]
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
+       (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
+       GETTIMEOFDAY_REPLACEMENT to 1.
+
+2007-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
+       (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
+       * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
+       Set UNISTD_H instead of UNISTD_H2.
+       * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
+
+2007-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
+       * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
+
+2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
+       (func_create_testdir): Ensure C locale for `grep' and `tr'
+       character ranges.
+       (func_create_megatestdir): Avoid one `grep'.  Fix bug in
+       ACLOCAL_AMFLAGS parsing state machine.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unistr/base: Update.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
+       u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
+       * modules/unistr/u32-mbtouc-unsafe: Renamed from
+       modules/unistr/u32-mbtouc.
+       * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
+       * lib/unistr.h: Update.
+       * lib/linebreak.c: Update.
+       * modules/unistr/u32-mbtouc: Renamed from
+       modules/unistr/u32-mbtouc-safe.
+       * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
+       * lib/unistr.h: Update.
+       * lib/unistr/u32-to-u8.c: Update.
+       * lib/unistr/u32-to-u16.c: Update.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
+       u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
+       * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
+       * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
+       * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
+       * modules/unistr/u16-mbtouc-unsafe: Renamed from
+       modules/unistr/u16-mbtouc.
+       * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
+       * lib/unistr.h: Update.
+       * lib/linebreak.c: Update.
+       * modules/linebreak: Update.
+       * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
+       * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
+       * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
+       * modules/unistr/u16-mbtouc: Renamed from
+       modules/unistr/u16-mbtouc-safe.
+       * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
+       * lib/unistr.h: Update.
+       * lib/unistr/u16-to-u8.c: Update.
+       * modules/unistr/u16-to-u8: Update.
+       * lib/unistr/u16-to-u32.c: Update.
+       * modules/unistr/u16-to-u32: Update.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
+       u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
+       * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
+       * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
+       * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
+       * modules/unistr/u8-mbtouc-unsafe: Renamed from
+       modules/unistr/u8-mbtouc.
+       * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
+       * lib/unistr.h: Update.
+       * lib/striconveh.c: Update.
+       * modules/striconveh: Update.
+       * lib/linebreak.c: Update.
+       * modules/linebreak: Update.
+       * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
+       * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
+       * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
+       * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
+       * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
+       * lib/unistr.h: Update.
+       * lib/striconveh.c: Update.
+       * modules/striconveh: Update.
+       * lib/unistr/u8-to-u16.c: Update.
+       * modules/unistr/u8-to-u16: Update.
+       * lib/unistr/u8-to-u32.c: Update.
+       * modules/unistr/u8-to-u32: Update.
+
+2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Sync from Libtool.
+       * lib/argz.c: Do not include strings.h nor memory.h, include
+       string.h unconditionally.  Patch by Simon Josefsson.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
+       from gl_HEADER_STRING_H_BODY.
+       (gl_HEADER_STRING_H_BODY): Require it.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
+       * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
+       * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
+       * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
+       * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
+       * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
+       * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
+       * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
+       * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
+       * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
+       * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
+       * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
+       * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
+       * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
+       check_PROGRAMS into noinst_PROGRAMS.
+       (func_emit_tests_Makefile_am): Likewise. Also don't initialize
+       check_PROGRAMS in this case.
+       (func_import): Set for_test to false.
+       (func_create_testdir): Set for_test to true.
+
+2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * modules/strcasestr (Files): Remove lib/strcasestr.h.
+       (Depends-on): Add string.
+       (Includes): Use <string.h> instead of strcasestr.h.
+       * modules/string (Makefile.am): Also substitute the value of
+       REPLACE_STRCASESTR.
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
+       assume strcasestr is declared in <string.h> not <strings.h>. Also
+       set REPLACE_STRCASESTR.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
+       REPLACE_STRCASESTR.
+       * lib/strcasestr.h: Remove file.
+       * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
+       * lib/string_.h (strcasestr): New declaration.
+
+2007-01-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h: Use 'extern'.
+
+2007-01-27  Jim Meyering  <jim@meyering.net>
+
+       * lib/regex_internal.c (re_string_reconstruct): Remove declaration
+       of set-but-not-used local, "q".
+
+       * lib/mempcpy.c: Include <config.h> before <string.h>.
+       This fixes a compilation error on HP-UX, due to the system's
+       "restrict"-using mempcpy prototype.
+
+2007-01-26  Bruno Haible  <bruno@clisp.org>
+
+       Small optimization.
+       * lib/javacomp.c: Include c-strstr.h.
+        (is_envjavac_gcj): Use c_strstr instead of strstr.
+       * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
+
+2007-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Unicode string functions): Add the new modules.
+
+       * modules/uniconv/u32-strconv-to-locale: New file.
+       * lib/uniconv/u32-strconv-to-locale.c: New file.
+
+       * modules/uniconv/u16-strconv-to-locale: New file.
+       * lib/uniconv/u16-strconv-to-locale.c: New file.
+
+       * modules/uniconv/u8-strconv-to-locale: New file.
+       * lib/uniconv/u8-strconv-to-locale.c: New file.
+
+       * modules/uniconv/u32-strconv-from-locale: New file.
+       * lib/uniconv/u32-strconv-from-locale.c: New file.
+
+       * modules/uniconv/u16-strconv-from-locale: New file.
+       * lib/uniconv/u16-strconv-from-locale.c: New file.
+
+       * modules/uniconv/u8-strconv-from-locale: New file.
+       * lib/uniconv/u8-strconv-from-locale.c: New file.
+
+       * modules/uniconv/u32-strconv-to-enc: New file.
+       * lib/uniconv/u32-strconv-to-enc.c: New file.
+       * modules/uniconv/u32-strconv-to-enc-tests: New file.
+       * tests/uniconv/test-u32-strconv-to-enc.c: New file.
+
+       * modules/uniconv/u16-strconv-to-enc: New file.
+       * lib/uniconv/u16-strconv-to-enc.c: New file.
+       * lib/uniconv/u-strconv-to-enc.h: New file.
+       * modules/uniconv/u16-strconv-to-enc-tests: New file.
+       * tests/uniconv/test-u16-strconv-to-enc.c: New file.
+
+       * modules/uniconv/u8-strconv-to-enc: New file.
+       * lib/uniconv/u8-strconv-to-enc.c: New file.
+       * modules/uniconv/u8-strconv-to-enc-tests: New file.
+       * tests/uniconv/test-u8-strconv-to-enc.c: New file.
+
+       * modules/uniconv/u32-strconv-from-enc: New file.
+       * lib/uniconv/u32-strconv-from-enc.c: New file.
+       * modules/uniconv/u32-strconv-from-enc-tests: New file.
+       * tests/uniconv/test-u32-strconv-from-enc.c: New file.
+
+       * modules/uniconv/u16-strconv-from-enc: New file.
+       * lib/uniconv/u16-strconv-from-enc.c: New file.
+       * modules/uniconv/u16-strconv-from-enc-tests: New file.
+       * tests/uniconv/test-u16-strconv-from-enc.c: New file.
+
+       * modules/uniconv/u8-strconv-from-enc: New file.
+       * lib/uniconv/u8-strconv-from-enc.c: New file.
+       * lib/uniconv/u-strconv-from-enc.h: New file.
+       * modules/uniconv/u8-strconv-from-enc-tests: New file.
+       * tests/uniconv/test-u8-strconv-from-enc.c: New file.
+
+       * modules/uniconv/u32-conv-from-enc: New file.
+       * lib/uniconv/u32-conv-from-enc.c: New file.
+       * modules/uniconv/u32-conv-from-enc-tests: New file.
+       * tests/uniconv/test-u32-conv-from-enc.c: New file.
+
+       * modules/uniconv/u16-conv-from-enc: New file.
+       * lib/uniconv/u16-conv-from-enc.c: New file.
+       * lib/uniconv/u-conv-from-enc.h: New file.
+       * modules/uniconv/u16-conv-from-enc-tests: New file.
+       * tests/uniconv/test-u16-conv-from-enc.c: New file.
+
+       * modules/uniconv/u8-conv-from-enc: New file.
+       * lib/uniconv/u8-conv-from-enc.c: New file.
+       * modules/uniconv/u8-conv-from-enc-tests: New file.
+       * tests/uniconv/test-u8-conv-from-enc.c: New file.
+
+       * modules/uniconv/base: New file.
+       * lib/uniconv.h: New file.
+
+2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/gnulib-tool.texi (Initial import): Update to match current
+       behavior with strdup module.
+       * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
+       * lib/memmem.h: Remove; all uses removed.  This is now done
+       by <string.h>.
+       * lib/mempcpy.h: Likewise.
+       * lib/memrchr.h: Likewise.
+       * lib/stpcpy.h: Likewise.
+       * lib/stpncpy.h: Likewise.
+       * lib/strcase.h: Likewise.
+       * lib/strchrnul.h: Likewise.
+       * lib/strdup.h: Likewise.
+       * lib/strndup.h: Likewise.
+       * lib/strnlen.h: Likewise.
+       * lib/strpbrk.h: Likewise.
+       * lib/strsep.h: Likewise.
+       * lib/strstr.h: Likewise.
+       * lib/strtok_r.h: Likewise.
+       * lib/string_.h: New file.
+       * lib/argp-namefrob.h: Don't include no-longer-existent include files.
+       Rely on <string.h> instead.
+       * lib/canon-host.c: Likewise.
+       * lib/chdir-long.c: Likewise.
+       * lib/concatpath.c: Likewise.
+       * lib/exclude.c: Likewise.
+       * lib/fchdir.c: Likewise.
+       * lib/getaddrinfo.c: Likewise.
+       * lib/getcwd.c: Likewise.
+       * lib/getsubopt.c: Likewise.
+       * lib/glob.c: Likewise.
+       * lib/hard-locale.c: Likewise.
+       * lib/iconvme.c: Likewise.
+       * lib/javacomp.c: Likewise.
+       * lib/mempcpy.c: Likewise.
+       * lib/memrchr.c: Likewise.
+       * lib/regex_internal.h: Likewise.
+       * lib/stpncpy.c: Likewise.
+       * lib/strcasecmp.c: Likewise.
+       * lib/strchrnul.c: Likewise.
+       * lib/strdup.c: Likewise.
+       * lib/striconv.c: Likewise.
+       * lib/striconveh.c: Likewise.
+       * lib/striconveha.c: Likewise.
+       * lib/strncasecmp.c: Likewise.
+       * lib/strndup.c: Likewise.
+       * lib/strnlen.c: Likewise.
+       * lib/strsep.c: Likewise.
+       * lib/strstr.c: Likewise.
+       * lib/strtok_r.c: Likewise.
+       * lib/userspec.c: Likewise.
+       * lib/w32spawn.h: Likewise.
+       * lib/xstrndup.c: Likewise.
+       * lib/mountlist.c (strstr): Remove decl.
+       * m4/string_h.m4: New file.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
+       * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
+       * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
+       * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
+       * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
+       * m4/strcase.m4 (gl_FUNC_STRCASECMP):
+       Set REPLACE_STRCASECMP if necessary.
+       (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
+       * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
+       * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
+       * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
+       HAVE_DECL_STRDUP if necessary.
+       (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
+       since gl_FUNC_STRNDUP does that now.
+       * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
+       Check for decl here...
+       (gl_PREREQ_STRNLEN): ... not here.
+       * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
+       * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
+       * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
+       * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
+       necessary.
+       * modules/string: New file.
+       * modules/memmem (Files): Remove special-purpose include file.
+       (Depends-on): Add string.
+       (Include): Include <string.h>, not the removed file.
+       * modules/mempcpy: Likewise.
+       * modules/memrchr: Likewise.
+       * modules/stpcpy: Likewise.
+       * modules/stpncpy: Likewise.
+       * modules/strcase: Likewise.
+       * modules/strchrnul: Likewise.
+       * modules/strdup: Likewise.
+       * modules/strndup: Likewise.
+       * modules/strnlen: Likewise.
+       * modules/strpbrk: Likewise.
+       * modules/strsep: Likewise.
+       * modules/strstr: Likewise.
+       * modules/strtok_r: Likewise.
+       * tests/test-dirname.c: Don't include "strdup.h", since
+       <string.h> now suffices.
+       * tests/test-memmem.c: Don't include "memmem.h", since
+       <string.h> now suffices.
+
+2007-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
+       *resultp is 0.
+
+       * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
+       * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
+       * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
+       * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
+
+       * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
+       * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
+       * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
+       * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
+       * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
+       * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
+
+2007-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
+       * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
+       * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
+       gl_FUNC_FTS_CORE.
+       (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
+       * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
+       AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
+       * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
+       * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
+       * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
+       gl_FUNC_FCHOWNAT.
+       * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
+       gl_FUNC_STRFTIME.
+       * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
+       Reported by Ralf Wildenhues.
+
+2007-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Drop AC_REQUIRE calls that are redundant with the module dependencies.
+       * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
+       gl_GETADDRINFO.
+       * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
+       gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
+       * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
+
+2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
+       Don't use 'exit'; just return from 'main'.
+       (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
+
+       * lib/fnmatch_.h: Readjust white space and comments to match
+       glibc, to avoid spurious diffs.
+
+2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
+       2004-12-01 change by Jakub Jelinek, since this code won't compile
+       if !LIBC.  Problem reported by Bob Proulx.
+
+2007-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.c: Include c-strcaseeq.h.
+       (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
+       * modules/striconveh (Depends-on): Add c-strcaseeq.
+
+2007-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
+
+       * modules/c-strcaseeq: New file.
+       * lib/c-strcaseeq.h: New file.
+
+       * modules/streq: New file.
+       * lib/streq.h: New file.
+
+2007-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * modules/striconveha-tests: New file.
+       * tests/test-striconveha.c: New file.
+
+       * lib/striconveha.h: Include <stdbool.h>.
+       (mem_iconveha, str_iconveha): Add 'transliterate' argument.
+       * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
+       (mem_iconveha_notranslit): Renamed from mem_iconveha.
+       (mem_iconveha): New function.
+       (str_iconveha_notranslit): Renamed from str_iconveha.
+       (str_iconveha): New function.
+       * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
+       c-strcase.
+
+2007-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
+       encodings without forgiving before trying any encoding with handler.
+       (str_iconveha): Try all encodings without forgiving before trying any
+       encoding with handler.
+
+2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Import the following changes from libc.
+
+       2005-10-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
+
+       2004-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
+       normal_bracket label.
+
+       2004-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #361]
+       * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
+       to normal_bracket after fetching the next character.
+
+2007-01-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
+       argument.
+       * lib/striconveh.c (iconv_carefully_1): New function.
+       (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
+       argument.
+       (str_cd_iconveh): Update.
+       * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
+       * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
+       * tests/test-striconveh.c (MAGIC): New macro.
+       (new_offsets): New function.
+       (main): Test call with and without offsets.
+
+2007-01-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
+       * modules/sys_select (Makefile.am): Likewise.
+       * modules/sys_socket (Makefile.am): Likewise.
+       * modules/sys_time (Makefile.am): Likewise.
+
+2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/gettimeofday (License): Change from GPL to LGPL, since
+       gettimeofday is a library function.
+
+2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
+
+       * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/striconveha: New file.
+       * lib/striconveha.h: New file.
+       * lib/striconveha.c: New file.
+       * MODULES.html.sh (Internationalization functions): Add striconveha.
+       * lib/striconv.c (str_iconv): Optimize the case of an empty input
+       string.
+       * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
+       * lib/striconveh.c (str_iconveh): Likewise.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.h (mem_iconveh): New declaration.
+       * lib/striconveh.c (mem_iconveh): New function.
+       * tests/test-striconveh.c (main): Add tests for mem_iconveh.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/xstriconv.h (xmem_cd_iconv): Change specification.
+
+       * lib/striconveh.h (mem_cd_iconveh): Change specification.
+       * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
+       original result buffer.
+       (str_cd_iconveh): Update.
+       * tests/test-striconveh.c (main): Update.
+
+       * lib/striconv.h (mem_cd_iconv): Change specification.
+       * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
+       result buffer.
+       (str_cd_iconv): Update.
+       * tests/test-striconv.c (main): Update.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
+
+2007-01-20  Jim Meyering  <jim@meyering.net>
+
+       * lib/userspec.c (parse_with_separator): If a user or group string
+       starts with "+", skip the corresponding name-to-ID look-up, since
+       such a look-up must fail: user and group names may not include "+".
+
+2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/poll.c: Include sys/time.h and time.h unconditionally,
+       since we now assume the sys_time module.
+       * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
+       check for sys/time.h; no longer needed.
+       * modules/poll (Depends-on): Depend on sys_time.
+
+2007-01-18  Bruno Haible  <bruno@clisp.org>
+
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
+       * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
+
+       * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
+       gettimeofday.
+
+       * tests/test-gettimeofday.c: Include <time.h>.
+       (dummy): Remove variable.
+
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
+       gl_HEADER_SYS_TIME_H.
+       (gl_HEADER_SYS_TIME_H): New macro.
+
+       * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
+       HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
+       gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
+       HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
+       GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
+       and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
+       * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
+       instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
+       GETTIMEOFDAY_CLOBBERS_LOCALTIME.
+
+       * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
+       last change; it caused a compilation error when cross-compiling to
+       Cygwin.
+
+2007-01-18  Jim Meyering  <jim@meyering.net>
+
+       Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
+       * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
+       than the race-prone "test -d sys || mkdir sys".
+       (configure.ac): Use AC_PROG_MKDIR_P.
+       * modules/sys_select: Likewise.
+       * modules/sys_socket: Likewise.
+       * modules/sys_time: Likewise.
+
+2007-01-18  Eric Blake  <ebb9@byu.net>
+
+       * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
+       replace gettimeofday.
+       * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
+       name, to avoid infinite recursion.
+
+2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * MODULES.html.sh (Support for systems lacking POSIX:2001): New
+       module sys_time.
+       * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
+       assume timespec.h defines struct timeval.
+       * lib/settime.c: Likewise.
+       * lib/utimens.c: Likewise.
+       * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
+       since we now assume the gettimeofday module.
+       * lib/tempname.c (__gen_tempname): Likewise.
+       * lib/gettimeofday.h: Remove.
+       * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
+       Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
+       Include <time.h>, for 'time()'.
+       (localtime_buffer_addr): Also use this workaround if
+       TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
+       to simplify the uses.  All uses changed.
+       (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
+       that #undef is inside {}, and 'const' follows type name consistently.
+       (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
+       (gettimeofday): Do not use the maximum possible value for
+       tv->tv_usec, since that might break usages other than ls.c.
+       Instead, we'll leave ls.c alone.  This undoes today's patch
+       by Bruno.  Add a compile-time warning for 1s-clock resolution;
+       we've never observed the problem but might as well keep the
+       canary.
+       * lib/nanosleep.c: Include timespec.h first, for interface check.
+       * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
+       now assume the sys_time module.
+       * lib/tempname.c: Likewise.
+       * lib/timespec.h: Likewise.
+       * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
+       needed.
+       * lib/strftime.c: Likewise.
+       * lib/timespec.h: Likewise.
+       * lib/posixtm.c: Include posixtm.h first, for interface check.
+       Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
+       * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
+       * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
+       * lib/sys_time_.h: New file.
+       * lib/timespec.h (struct timespec): Use long int, not long.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
+       (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
+       Remove obsolescent call to AC_HEADER_TIME.
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
+       * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
+       * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
+       Likewise.
+       * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
+       * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
+       into the sys_time module.  Check for gettimeofday just once.
+       Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
+       for gettimeofday signature to just check the signature.  Merely
+       compile it, since linking doesn't test signature.  Improve test for
+       whether gettimeofday.o is actually needed.
+       (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
+       AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
+       AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
+       and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
+       (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
+       GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
+       job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
+       than worrying about sys/time.h.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
+       Don't bother worrying about TIME_WITH_SYS_TIME.
+       * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
+       * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
+       * m4/sys_time_h.m4: New file.
+       * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
+       Don't include sys/time.h.  Return from main rather than exiting.
+       Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
+       all uses changed.
+       * modules/gethrxtime (Depends-on): Add sys_time.
+       * modules/gettime (Depends-on): Likewise.
+       * modules/gettimeofday (Depends-on): Likewise.
+       * modules/nanosleep (Depends-on): Likewise.
+       * modules/settime (Depends-on): Likewise.
+       * modules/tempname (Depends-on): Likewise.
+       * modules/utimens (Depends-on): Likewise.
+       * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
+       (Include:) Change back to <sys/time.h>.
+       (Maintainer:) Add self.
+       * modules/sys_time: New file.
+       * modules/tempname (Depends-on): Add gettimeofday.
+       * tests/test-gettimeofday.c: Include <sys/time.h>
+       rather than gettimeofday.h.
+
+2007-01-17  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_get_license): Revert last patch. Instead, let
+       the license default to GPL.
+       (func_create_testdir): Don't complain if a module is LGPL and its
+       tests module depends on GPLed modules.
+
+2007-01-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/gettimeofday.c (gettimeofday): Add code for the case
+       HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
+       maximum possible value for tv->tv_usec, rather than the minimum one.
+
+2005-10-08  Martin Lambers  <marlam@marlam.de>
+2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
+2007-01-16  Bruno Haible  <bruno@clisp.org>
+
+       * modules/gettimeofday (Files): Add lib/gettimeofday.h.
+       (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
+       gl_FUNC_GETTIMEOFDAY.
+       (Include): Add gettimeofday.h.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
+       (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
+       (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
+       GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
+       (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
+       * lib/gettimeofday.h: New file.
+       * lib/gettimeofday.c: Include <sys/timeb.h>.
+       (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
+       only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
+       (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
+       fall back on time().
+
+       * tests/test-gettimeofday.c: New file.
+       * modules/gettimeofday-tests: New file.
+
+2007-01-16  Eric Blake  <ebb9@byu.net>
+
+       * modules/fnmatch (Depends-on): Depend on wchar.
+       * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
+       * m4/fnmatch.m4: Likewise.
+       * modules/mbchar (Makefile.am): Assume <wchar.h>.
+       * m4/mbchar.m4: Likewise.
+       * modules/mbswidth (Depends-on): Depend on wchar.
+       * lib/mbswidth.c: Assume <wchar.h>.
+       * m4/mbswidth.m4: Likewise.
+       * modules/quotearg (Depends-on): Depend on wchar.
+       * lib/quotearg.c: Assume <wchar.h>.
+       * m4/quotearg.m4: Likewise.
+       * modules/regex (Depends-on): Depend on wchar.
+       * lib/regex_internal.h: Assume <wchar.h>.
+       * m4/regex.m4: Likewise.
+       * modules/stdint (Depends-on): Depend on wchar.
+       * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
+       * m4/stdint.m4: Likewise.
+       * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
+       * modules/strftime (Depends-on): Depend on wchar.
+       * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
+       * modules/strtol (Depends-on): Depend on wchar.
+       * lib/strtol.c: Assume <wchar.h>.
+       * modules/wcwidth (Depends-on): Depend on wchar.
+       * lib/wcwidth.h: Assume <wchar.h>.
+       * m4/wcwidth.m4: Likewise.
+
+2007-01-16  Bruno Haible  <bruno@clisp.org>
+
+       * modules/csharpexec-script: New, created from...
+       * modules/csharpexec: ... this.
+
+2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * modules/javaexec-script: New, created from...
+       * modules/javaexec: ... this.
+
+2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
+
+       * modules/poll (Dependencies): Add sys_select.
+
+2007-01-15  Jim Meyering  <jim@meyering.net>
+
+       * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
+       redefinition bug when using both <utmp.h> and <utmpx.h> headers.
+       * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
+       <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
+
+2007-01-15  Bruno Haible  <bruno@clisp.org>
+
+       * modules/striconveh: New file.
+       * lib/striconveh.h: New file.
+       * lib/striconveh.c: New file.
+       * MODULES.html.sh (Internationalization functions): Add striconveh.
+
+       * modules/striconveh-tests: New file.
+       * tests/test-striconveh.c: New file.
+
+2007-01-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
+       not from GNU libiconv or GNU libc.
+
+2007-01-15  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-intro.texi (Copyright): Explain the different license
+       terms for module descriptions, autoconf macros, tests, documentation.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/striconv-tests: New file.
+       * tests/test-striconv.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/iconv-tests: New file.
+       * tests/test-iconv.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_get_license): For test modules, use the license of
+       the main module.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/iconv (Include): Clarify that <iconv.h> can only be included
+       if iconv is found to exist.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/c-ctype-tests: New file.
+       * tests/test-c-ctype.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/binary-io-tests: New file.
+       * tests/test-binary-io.sh: New file.
+       * tests/test-binary-io.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/array-oset-tests: New file.
+       * tests/test-array_oset.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/array-list-tests: New file.
+       * tests/test-array_list.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
+       and make.
+       Reported by Simon Josefsson in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/allocsa-tests: New file.
+       * tests/test-allocsa.c: New file.
+
+2007-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fchdir (Depends-on): Add absolute-header.
+       * modules/unistd (Depends-on): Likewise.
+
+2006-12-30  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fchdir: New file.
+       * modules/unistd (Files): Add lib/unistd_.h.
+       (Makefile.am): Generate unistd.h from unistd_.h.
+       * lib/fchdir.c: New file.
+       * lib/dirent_.h: New file.
+       * lib/unistd_.h: New file.
+       * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
+       * m4/fchdir.m4: New file.
+       * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
+       (gl_HEADER_UNISTD): Invoke it.
+       * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
+       function.
+       * lib/backupfile.c (opendir, closedir): Undefine.
+       * lib/chown.c (open, close): Undefine.
+       * lib/clean-temp.c (open, close): Undefine.
+       * lib/copy-file.c (open, close): Undefine.
+       * lib/execute.c (open, close): Undefine.
+       * lib/fsusage.c (open, close): Undefine.
+       * lib/gc-gnulib.c (open, close): Undefine.
+       * lib/getcwd.c (opendir, closedir): Undefine.
+       * lib/glob.c (opendir, closedir): Undefine.
+       * lib/javacomp.c (open, close): Undefine.
+       * lib/mountlist.c (open, close, opendir, closedir): Undefine.
+       * lib/openat-proc.c (open, close): Undefine.
+       * lib/pagealign_alloc.c (open, close): Undefine.
+       * lib/pipe.c (open, close): Undefine.
+       * lib/progreloc.c (open, close): Undefine.
+       * lib/savedir.c (opendir, closedir): Undefine.
+       * lib/utime.c (open, close): Undefine.
+       * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
+
+2007-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
+
+2007-01-12  Eric Blake  <ebb9@byu.net>
+
+       Provide a robust <wchar.h>.  Further simplifications are now
+       possible in other modules, but not included here.
+       * modules/wchar: New module.
+       * m4/wchar.m4: New file.
+       * lib/wchar_.h: Likewise.
+       * modules/mbchar (Depends-on): Depend on wchar, as the first use
+       of the new module.
+       * MODULES.html.sh (Extended multibyte and wide character utilities):
+       New section.
+
+2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
+       to a reasonable default for memory allocation.
+       (xreadlink): Don't allocate a huge buffer, to work around a buggy
+       file system that reports garbage st_size values for symlinks.
+       Problem reported by Liyang Hu.
+
+2007-01-11  Simon Josefsson  <simon@josefsson.org>
+
+       * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
+       Emacs .#* auto-save files).
+
+2007-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_all_modules): Exclude all files inside the CVS
+       directory.
+
+2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use @...@ consistently in lib/wctype_.h.
+       * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
+       on it being set to 1 or 0.
+       * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
+       go back to AC_SUBSTing it.
+       * modules/wctype (Makefile.am): Undo previous change.
+
+2007-01-10  Eric Blake  <ebb9@byu.net>
+
+       * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
+       * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
+       * modules/wctype (Makefile.am): Likewise.
+       Reported by Chris McGuire.
+
+2007-01-10  Jim Meyering  <jim@meyering.net>
+
+       fts.c: a small readability/maintainability improvement
+       * lib/fts.c (fts_read): Make this code slightly more readable and
+       maintainable by hoisting the "sp->fts_cur = p" assignments to
+       immediately follow the statements that set P.  Derived from
+       the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
+
+2007-01-10  Eric Blake  <ebb9@byu.net>
+
+       * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
+       <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
+       * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
+       Reported by Chris McGuire.
+
+2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_all_modules): Use POSIX conforming escaping
+       in sed script.
+
+2007-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
+       (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
+       variables.
+       (func_module): Use them.
+
+2007-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unistr/base: New file.
+       * lib/unistr.h: New file.
+
+       * modules/unistr/u8-to-u16: New file.
+       * lib/unistr/u8-to-u16.c: New file.
+
+       * modules/unistr/u8-to-u32: New file.
+       * lib/unistr/u8-to-u32.c: New file.
+
+       * modules/unistr/u16-to-u8: New file.
+       * lib/unistr/u16-to-u8.c: New file.
+
+       * modules/unistr/u16-to-u32: New file.
+       * lib/unistr/u16-to-u32.c: New file.
+
+       * modules/unistr/u32-to-u8: New file.
+       * lib/unistr/u32-to-u8.c: New file.
+
+       * modules/unistr/u32-to-u16: New file.
+       * lib/unistr/u32-to-u16.c: New file.
+
+       * modules/unistr/u8-check: New file.
+       * modules/unistr/u16-check: New file.
+       * modules/unistr/u32-check: New file.
+       * lib/unistr/u8-check.c: New file.
+       * lib/unistr/u16-check.c: New file.
+       * lib/unistr/u32-check.c: New file.
+
+       * modules/unistr/u8-chr: New file.
+       * modules/unistr/u16-chr: New file.
+       * modules/unistr/u32-chr: New file.
+       * lib/unistr/u8-chr.c: New file.
+       * lib/unistr/u16-chr.c: New file.
+       * lib/unistr/u32-chr.c: New file.
+
+       * modules/unistr/u8-cmp: New file.
+       * modules/unistr/u16-cmp: New file.
+       * modules/unistr/u32-cmp: New file.
+       * lib/unistr/u8-cmp.c: New file.
+       * lib/unistr/u16-cmp.c: New file.
+       * lib/unistr/u32-cmp.c: New file.
+
+       * modules/unistr/u8-cpy: New file.
+       * modules/unistr/u16-cpy: New file.
+       * modules/unistr/u32-cpy: New file.
+       * lib/unistr/u8-cpy.c: New file.
+       * lib/unistr/u16-cpy.c: New file.
+       * lib/unistr/u32-cpy.c: New file.
+       * lib/unistr/u-cpy.h: New file.
+
+       * modules/unistr/u8-cpy-alloc: New file.
+       * modules/unistr/u16-cpy-alloc: New file.
+       * modules/unistr/u32-cpy-alloc: New file.
+       * lib/unistr/u8-cpy-alloc.c: New file.
+       * lib/unistr/u16-cpy-alloc.c: New file.
+       * lib/unistr/u32-cpy-alloc.c: New file.
+       * lib/unistr/u-cpy-alloc.h: New file.
+
+       * modules/unistr/u8-endswith: New file.
+       * modules/unistr/u16-endswith: New file.
+       * modules/unistr/u32-endswith: New file.
+       * lib/unistr/u8-endswith.c: New file.
+       * lib/unistr/u16-endswith.c: New file.
+       * lib/unistr/u32-endswith.c: New file.
+       * lib/unistr/u-endswith.h: New file.
+
+       * modules/unistr/u8-mblen: New file.
+       * modules/unistr/u16-mblen: New file.
+       * modules/unistr/u32-mblen: New file.
+       * lib/unistr/u8-mblen.c: New file.
+       * lib/unistr/u16-mblen.c: New file.
+       * lib/unistr/u32-mblen.c: New file.
+
+       * modules/unistr/u8-mbtouc: New file.
+       * modules/unistr/u16-mbtouc: New file.
+       * modules/unistr/u32-mbtouc: New file.
+       * lib/unistr/u8-mbtouc.c: New file.
+       * lib/unistr/u16-mbtouc.c: New file.
+       * lib/unistr/u32-mbtouc.c: New file.
+
+       * modules/unistr/u8-mbtouc-safe: New file.
+       * modules/unistr/u16-mbtouc-safe: New file.
+       * modules/unistr/u32-mbtouc-safe: New file.
+       * lib/unistr/u8-mbtouc-safe.c: New file.
+       * lib/unistr/u16-mbtouc-safe.c: New file.
+       * lib/unistr/u32-mbtouc-safe.c: New file.
+
+       * modules/unistr/u8-move: New file.
+       * modules/unistr/u16-move: New file.
+       * modules/unistr/u32-move: New file.
+       * lib/unistr/u8-move.c: New file.
+       * lib/unistr/u16-move.c: New file.
+       * lib/unistr/u32-move.c: New file.
+       * lib/unistr/u-move.h: New file.
+
+       * modules/unistr/u8-next: New file.
+       * modules/unistr/u16-next: New file.
+       * modules/unistr/u32-next: New file.
+       * lib/unistr/u8-next.c: New file.
+       * lib/unistr/u16-next.c: New file.
+       * lib/unistr/u32-next.c: New file.
+
+       * modules/unistr/u8-prev: New file.
+       * modules/unistr/u16-prev: New file.
+       * modules/unistr/u32-prev: New file.
+       * lib/unistr/u8-prev.c: New file.
+       * lib/unistr/u16-prev.c: New file.
+       * lib/unistr/u32-prev.c: New file.
+
+       * modules/unistr/u8-set: New file.
+       * modules/unistr/u16-set: New file.
+       * modules/unistr/u32-set: New file.
+       * lib/unistr/u8-set.c: New file.
+       * lib/unistr/u16-set.c: New file.
+       * lib/unistr/u32-set.c: New file.
+       * lib/unistr/u-set.h: New file.
+
+       * modules/unistr/u8-startswith: New file.
+       * modules/unistr/u16-startswith: New file.
+       * modules/unistr/u32-startswith: New file.
+       * lib/unistr/u8-startswith.c: New file.
+       * lib/unistr/u16-startswith.c: New file.
+       * lib/unistr/u32-startswith.c: New file.
+       * lib/unistr/u-startswith.h: New file.
+
+       * modules/unistr/u8-stpcpy: New file.
+       * modules/unistr/u16-stpcpy: New file.
+       * modules/unistr/u32-stpcpy: New file.
+       * lib/unistr/u8-stpcpy.c: New file.
+       * lib/unistr/u16-stpcpy.c: New file.
+       * lib/unistr/u32-stpcpy.c: New file.
+       * lib/unistr/u-stpcpy.h: New file.
+
+       * modules/unistr/u8-stpncpy: New file.
+       * modules/unistr/u16-stpncpy: New file.
+       * modules/unistr/u32-stpncpy: New file.
+       * lib/unistr/u8-stpncpy.c: New file.
+       * lib/unistr/u16-stpncpy.c: New file.
+       * lib/unistr/u32-stpncpy.c: New file.
+       * lib/unistr/u-stpncpy.h: New file.
+
+       * modules/unistr/u8-strcat: New file.
+       * modules/unistr/u16-strcat: New file.
+       * modules/unistr/u32-strcat: New file.
+       * lib/unistr/u8-strcat.c: New file.
+       * lib/unistr/u16-strcat.c: New file.
+       * lib/unistr/u32-strcat.c: New file.
+       * lib/unistr/u-strcat.h: New file.
+
+       * modules/unistr/u8-strchr: New file.
+       * modules/unistr/u16-strchr: New file.
+       * modules/unistr/u32-strchr: New file.
+       * lib/unistr/u8-strchr.c: New file.
+       * lib/unistr/u16-strchr.c: New file.
+       * lib/unistr/u32-strchr.c: New file.
+
+       * modules/unistr/u8-strcmp: New file.
+       * modules/unistr/u16-strcmp: New file.
+       * modules/unistr/u32-strcmp: New file.
+       * lib/unistr/u8-strcmp.c: New file.
+       * lib/unistr/u16-strcmp.c: New file.
+       * lib/unistr/u32-strcmp.c: New file.
+
+       * modules/unistr/u8-strcpy: New file.
+       * modules/unistr/u16-strcpy: New file.
+       * modules/unistr/u32-strcpy: New file.
+       * lib/unistr/u8-strcpy.c: New file.
+       * lib/unistr/u16-strcpy.c: New file.
+       * lib/unistr/u32-strcpy.c: New file.
+       * lib/unistr/u-strcpy.h: New file.
+
+       * modules/unistr/u8-strcspn: New file.
+       * modules/unistr/u16-strcspn: New file.
+       * modules/unistr/u32-strcspn: New file.
+       * lib/unistr/u8-strcspn.c: New file.
+       * lib/unistr/u16-strcspn.c: New file.
+       * lib/unistr/u32-strcspn.c: New file.
+       * lib/unistr/u-strcspn.h: New file.
+
+       * modules/unistr/u8-strdup: New file.
+       * modules/unistr/u16-strdup: New file.
+       * modules/unistr/u32-strdup: New file.
+       * lib/unistr/u8-strdup.c: New file.
+       * lib/unistr/u16-strdup.c: New file.
+       * lib/unistr/u32-strdup.c: New file.
+       * lib/unistr/u-strdup.h: New file.
+
+       * modules/unistr/u8-strlen: New file.
+       * modules/unistr/u16-strlen: New file.
+       * modules/unistr/u32-strlen: New file.
+       * lib/unistr/u8-strlen.c: New file.
+       * lib/unistr/u16-strlen.c: New file.
+       * lib/unistr/u32-strlen.c: New file.
+       * lib/unistr/u-strlen.h: New file.
+
+       * modules/unistr/u8-strmblen: New file.
+       * modules/unistr/u16-strmblen: New file.
+       * modules/unistr/u32-strmblen: New file.
+       * lib/unistr/u8-strmblen.c: New file.
+       * lib/unistr/u16-strmblen.c: New file.
+       * lib/unistr/u32-strmblen.c: New file.
+
+       * modules/unistr/u8-strmbtouc: New file.
+       * modules/unistr/u16-strmbtouc: New file.
+       * modules/unistr/u32-strmbtouc: New file.
+       * lib/unistr/u8-strmbtouc.c: New file.
+       * lib/unistr/u16-strmbtouc.c: New file.
+       * lib/unistr/u32-strmbtouc.c: New file.
+
+       * modules/unistr/u8-strncat: New file.
+       * modules/unistr/u16-strncat: New file.
+       * modules/unistr/u32-strncat: New file.
+       * lib/unistr/u8-strncat.c: New file.
+       * lib/unistr/u16-strncat.c: New file.
+       * lib/unistr/u32-strncat.c: New file.
+       * lib/unistr/u-strncat.h: New file.
+
+       * modules/unistr/u8-strncmp: New file.
+       * modules/unistr/u16-strncmp: New file.
+       * modules/unistr/u32-strncmp: New file.
+       * lib/unistr/u8-strncmp.c: New file.
+       * lib/unistr/u16-strncmp.c: New file.
+       * lib/unistr/u32-strncmp.c: New file.
+
+       * modules/unistr/u8-strncpy: New file.
+       * modules/unistr/u16-strncpy: New file.
+       * modules/unistr/u32-strncpy: New file.
+       * lib/unistr/u8-strncpy.c: New file.
+       * lib/unistr/u16-strncpy.c: New file.
+       * lib/unistr/u32-strncpy.c: New file.
+       * lib/unistr/u-strncpy.h: New file.
+
+       * modules/unistr/u8-strnlen: New file.
+       * modules/unistr/u16-strnlen: New file.
+       * modules/unistr/u32-strnlen: New file.
+       * lib/unistr/u8-strnlen.c: New file.
+       * lib/unistr/u16-strnlen.c: New file.
+       * lib/unistr/u32-strnlen.c: New file.
+       * lib/unistr/u-strnlen.h: New file.
+
+       * modules/unistr/u8-strpbrk: New file.
+       * modules/unistr/u16-strpbrk: New file.
+       * modules/unistr/u32-strpbrk: New file.
+       * lib/unistr/u8-strpbrk.c: New file.
+       * lib/unistr/u16-strpbrk.c: New file.
+       * lib/unistr/u32-strpbrk.c: New file.
+       * lib/unistr/u-strpbrk.h: New file.
+
+       * modules/unistr/u8-strrchr: New file.
+       * modules/unistr/u16-strrchr: New file.
+       * modules/unistr/u32-strrchr: New file.
+       * lib/unistr/u8-strrchr.c: New file.
+       * lib/unistr/u16-strrchr.c: New file.
+       * lib/unistr/u32-strrchr.c: New file.
+
+       * modules/unistr/u8-strspn: New file.
+       * modules/unistr/u16-strspn: New file.
+       * modules/unistr/u32-strspn: New file.
+       * lib/unistr/u8-strspn.c: New file.
+       * lib/unistr/u16-strspn.c: New file.
+       * lib/unistr/u32-strspn.c: New file.
+       * lib/unistr/u-strspn.h: New file.
+
+       * modules/unistr/u8-strstr: New file.
+       * modules/unistr/u16-strstr: New file.
+       * modules/unistr/u32-strstr: New file.
+       * lib/unistr/u8-strstr.c: New file.
+       * lib/unistr/u16-strstr.c: New file.
+       * lib/unistr/u32-strstr.c: New file.
+       * lib/unistr/u-strstr.h: New file.
+
+       * modules/unistr/u8-strtok: New file.
+       * modules/unistr/u16-strtok: New file.
+       * modules/unistr/u32-strtok: New file.
+       * lib/unistr/u8-strtok.c: New file.
+       * lib/unistr/u16-strtok.c: New file.
+       * lib/unistr/u32-strtok.c: New file.
+       * lib/unistr/u-strtok.h: New file.
+
+       * modules/unistr/u8-uctomb: New file.
+       * modules/unistr/u16-uctomb: New file.
+       * modules/unistr/u32-uctomb: New file.
+       * lib/unistr/u8-uctomb.c: New file.
+       * lib/unistr/u16-uctomb.c: New file.
+       * lib/unistr/u32-uctomb.c: New file.
+
+       * MODULES.html.sh (Unicode string functions): Add the new modules.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
+       modules directory. Filter out CVS, ChangeLog, COPYING, README also from
+       subdirectories.
+
+2007-01-08  Karl Berry  <karl@gnu.org>
+
+       * doc/error.texi: mention that main() fns must set program_name
+       when progname is used.
+
+2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
+       WCTYPE_H is empty, for the benefit of builds from non-distclean
+       directories.  Problem reported by Eric Blake in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
+       PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
+       * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
+       PROVIDE_CANONICALIZE_FILENAME_MODE.
+       * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
+       * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
+       Use !GNULIB_FTS instead of _LGPL_PACKAGE.
+       * lib/fts.c: Likewise.
+       * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
+
+2006-12-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/utf8-ucs4-safe: New file.
+       * lib/utf8-ucs4-safe.h: New file.
+       * lib/unistr/utf8-ucs4-safe.c: New file.
+
+       * modules/utf16-ucs4-safe: New file.
+       * lib/utf16-ucs4-safe.h: New file.
+       * lib/unistr/utf16-ucs4-safe.c: New file.
+
+       * MODULES.html.sh (Unicode string functions): Add the new modules.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
+       (Depends-on): Add unitypes.
+       * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
+       (u8_mbtouc_aux): Move out to separate file.
+       (u8_mbtouc): Use ucs4_t, uint8_t types.
+       * lib/unistr/utf8-ucs4.c: New file.
+
+       * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
+       (Depends-on): Add unitypes.
+       * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
+       (u16_mbtouc_aux): Move out to separate file.
+       (u16_mbtouc): Use ucs4_t, uint16_t types.
+       * lib/unistr/utf16-ucs4.c: New file.
+
+       * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
+       (Depends-on): Add unitypes.
+       * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
+       (u8_uctomb_aux): Move out to separate file.
+       (u8_uctomb): Use ucs4_t, uint8_t types.
+       * lib/unistr/ucs4-utf8.c: New file.
+
+       * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
+       (Depends-on): Add unitypes.
+       * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
+       (u16_uctomb_aux): Move out to separate file.
+       (u16_uctomb): Use ucs4_t, uint16_t types.
+       * lib/unistr/ucs4-utf16.c: New file.
+
+2006-12-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unitypes: New file.
+       * lib/unitypes.h: New file.
+       * MODULES.html.sh (func_all_modules): New section "Unicode string
+       functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
+       this section. Add unitypes.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       Avoid variable names that conflict with those from libtool.
+       * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
+       AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
+       shlibext to acl_shlibext, libname_spec to acl_libname_spec,
+       library_names_spec to acl_library_names_spec, hardcode_* to
+       acl_hardcode_*.
+       Reported by Ralf Wildenhues.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
+       definition.
+       * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
+       definition.
+       * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
+       * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
+       definition.
+       * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
+       definition.
+       * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
+       * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
+       * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
+       * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
+       definition.
+       * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
+       definition.
+       * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
+       * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
+       GC_USE_<algorithm>.
+       * lib/gc-libgcrypt.c: Likewise.
+       * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
+       * modules/gc-arctwo (configure.ac): Likewise.
+       * modules/gc-des (configure.ac): Likewise.
+       * modules/gc-hmac-md5 (configure.ac): Likewise.
+       * modules/gc-hmac-sha1 (configure.ac): Likewise.
+       * modules/gc-md2 (configure.ac): Likewise.
+       * modules/gc-md4 (configure.ac): Likewise.
+       * modules/gc-md5 (configure.ac): Likewise.
+       * modules/gc-random (configure.ac): Likewise.
+       * modules/gc-rijndael (configure.ac): Likewise.
+       * modules/gc-sha1 (configure.ac): Likewise.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
+       macro definition.
+       * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
+       definition.
+       * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
+       definition.
+       * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
+       * modules/fcntl-safer (configure.ac): Likewise.
+       * modules/fopen-safer (configure.ac): Likewise.
+       * modules/fwriteerror (configure.ac): Likewise. Remove explicit
+       GNULIB_FWRITEERROR macro definition.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/gnulib-common.m4: New file.
+       * gnulib-tool (func_get_autoconf_snippet): Undo last change.
+       (func_get_filelist): Add m4/gnulib-common.m4.
+
+2007-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
+       command.
+
+2007-01-08  Jim Meyering  <jim@meyering.net>
+
+       Use a more robust test for a "can't happen" condition.
+       * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
+       narrowed the st_size value.  Presuming the "can't happen" condition
+       is true, that narrowing could conceivably convert an invalid st_size
+       value into a valid one.  Instead, use a change based on Matthew
+       Woehlke's original patch.
+
+       Slight readability improvement: use an assert-like macro
+       in place of literal "abort ()" uses.
+       * lib/fts.c (fts_assert): Define.
+       (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
+       Use this macro instead of a bare 'abort'.
+
+2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't worry about using IRIX 5.3's wctype.h broken definitions;
+       simply work around them.
+       * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
+       (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
+       (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
+       declaring.
+       Don't bother to define as macros, since the standard doesn't require it.
+       * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
+       longer worry about IRIX 5.3.
+       (HAVE_WCTYPE_CTMP_BUG): Remove.
+
+2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
+       not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
+       * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
+       Problems reported by Georg Schwarz for IRIX 5.3.
+
+       * gnulib-tool (autoconf_minversion): Take the maximum version number
+       found, not the minimum.  Problem reported by James Youngman.
+
+2007-01-03  Karl Berry  <karl@gnu.org>
+
+       * doc/error.texi: new file, explaining interaction with progname.
+       * doc/gnulib.texi: include it.  Update copyright.
+
+2007-01-03  Simon Josefsson  <simon@josefsson.org>
+
+       * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
+       AC_CANONICAL_HOST, to improve autobuild outputs.
+
+2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
+           Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+
+       * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
+       sockets, server sockets, and other file descriptors.  Count errors
+       to compute the return value.  Reorder the code a bit to be easier
+       to follow.  Don't set event bits that were not requested (except
+       POLLERR and POLLHUP).
+
+2007-01-01  Bruno Haible  <bruno@clisp.org>
+
+       * modules/lchmod (Include): Require lchmod.h, not lchown.h.
+
+2007-01-03  Jim Meyering  <jim@meyering.net>
+
+       * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
+
+2007-01-02  Bruno Haible  <bruno@clisp.org>
+
+       * modules/settime (Include): Require timespec.h.
+       * modules/nanosleep (Include): Likewise.
+
+2007-01-01  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_emit_copyright_notice): Bump year.
+       (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
+
+2007-01-01  Bruno Haible  <bruno@clisp.org>
+
+       Improve support for OpenBSD.
+       * build-aux/config.rpath (libname_spec): Export.
+       (library_names_spec): New variable. Export.
+       * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
+       library_names_spec from the config.rpath output. Locate shared library
+       through the name pattern in library_names_spec.
+
+2007-01-01  Eric Blake  <ebb9@byu.net>
+
+       * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
+
+2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
+       Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
+       assume the C locale, and avoid an "eval" that could cause trouble.
+       Problem with SORT reported by Bob Proulx.
+
+       * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
+       Define.  Trivial patch from Henning Nielsen Lund, originally
+       sent to bug-grep@gnu.org today.
+
+2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
+       struct stat.  Problem reported by Henning Nielsen Lund.
+       * lib/acl.c: Include acl.h first, to check interface.  Don't
+       bother to include sys/types.h and sys/stat.h again.
+
+2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Import the following change from libc; problem reported by
+       Sven Verdoolaege.
+
+       2005-10-13  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1373]
+       * lib/argp.h: Remove __NTH for __argp_usage inline function.
+
+2006-12-28  Jim Meyering  <jim@meyering.net>
+
+       * build-aux/announce-gen: Do not assume that the package
+       builds any of tar.gz, tar.bz2, and .xdelta files.
+       Suggestion from Simon Josefsson.
+
+2006-12-28  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/announce-gen: New file.
+
+2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/mbchar.h: Just include <wctype.h>; the wctype module
+       handles its gotchas now.
+       * lib/mbswidth.c: Likewise.
+       * lib/wcwidth.h: Likewise.
+       * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
+       and iswcntrl; the wctype module does this stuff now.
+       * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
+       * modules/mbchar (Depends-on): Add wctype.
+       * modules/mbswidth (Depends-on): Likewise.
+       * modules/wcwidth (Depends-on): Likewise.
+
+2006-12-27  Eric Blake  <ebb9@byu.net>
+
+       * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
+       module uses more than what <wctype.h> is required to provide.
+
+2006-12-26  Eric Blake  <ebb9@byu.net>
+
+       * gnulib-tool (sed_extract_prog): Avoid space-tab.
+
+2006-12-26  Eric Blake  <ebb9@byu.net>
+
+       * modules/absolute-header: New module.
+       * modules/fcntl (Depends-on): Depend on it.
+       * modules/inttypes (Depends-on): Likewise.
+       * modules/stdint (Depends-on): Likewise.
+       * modules/sys_stat (Depends-on): Likewise.
+       * modules/wctype (Depends-on): Likewise.
+       * MODULES.html.sh (Support for building libraries and
+       executables): Document it.
+
+2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gnulib-tool (SED): Remove, undoing previous change.
+       The problem was that it broke coreutils on Solaris, because
+       "sed --posix" leaked into a makefile.
+       (sed): New alias, if 'alias' and GNU sed.
+
+2006-12-24  Jim Meyering  <jim@meyering.net>
+
+       Work around an fchownat bug in glibc-2.4:
+       http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
+       This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
+       in spite of the -P option.
+       * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
+       New macros.
+       (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
+       * modules/openat (Files): Add lib/fchownat.c.
+       * lib/openat.c (fchownat): Don't define here.  Move to...
+       * lib/fchownat.c: ...this new file.
+
+2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix bug reported by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
+       where quotearg.c didn't compile on Mac OS X 10.2 because it
+       lacks <wchar.h> and wint_t.
+       * lib/wctype_.h (__wctype_wint_t): New type.
+       Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
+       (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
+       (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
+       Arg is now of type __wctype_wint_t, not wint_t.
+       * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
+       substitute HAVE_WINT_T.
+       * modules/wctype (Files): Add m4/wint_t.m4.
+       (wctype.h): Substitute HAVE_WINT_T.
+
+2006-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/safe-read.h [C++]: Wrap declarations in extern "C".
+
+2006-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
+       S_ISLNK.
+       Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
+       mingw.
+
+2006-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/copy-file.c: Include acl.h.
+       (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
+       Close the file descriptors only after being done with copy_acl.
+       * modules/copy-file (Depends-on): Add acl.
+
+2006-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (SED): New variable.
+       Use $SED instead of sed everywhere.
+
+2006-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/no-c++: New file.
+       * m4/no-c++.m4: New file.
+       * MODULES.html.sh (Support for building libraries and executables):
+       Add no-c++.
+
+2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
+       Include <limits.h>, and use its INT_MAX to rewrite the
+       j loop so that it does not overflow 'int'.  Problem reported by
+       Ralf Wildenhues in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
+       Play it safe by shifting left by 1 rather than multiplying by 2,
+       as GCC is less likely to optimize this away when the value
+       is signed (when it assumes overflow leads to undefined behavior).
+       Also, don't assume time_t uses two's complement.
+
+2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * MODULES.html.sh: New module wctype.
+       * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
+       * lib/fnmatch.c: Don't bother to include <wchar.h> before
+       <wctype.h>, since the new wctype module should fix this.
+       * lib/quotearg.c: Include <wctype.h> unconditionally, since
+       the wctype module should arrange for it.
+       * lib/regex_internal.h: Likewise.
+       * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
+       since the wctype module should handle this now.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
+       * modules/fnmatch (Depends-on): Add wctype.
+       * modules/quotearg (Depends-on): Likewise.
+       * modules/regex (Depends-on): Likewise.
+
+2006-12-19  Bruno Haible  <bruno@clisp.org>
+
+       * lib/strdup.h [C++]: Wrap definitions in extern "C".
+       Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
+
 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * modules/savewd (Depends-on): Fix dependency on fcntl.
        * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
        declaration macro definitions from generated gnulib.m4.
 
-2005-08-30  "Oskar Liljeblad"  <oskar@osk.mine.nu>
+2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
 
        * lib/iconvme.h: Add prototype for iconv_alloc.
 
 
        * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
 
-2005-08-29  "Oskar Liljeblad"  <oskar@osk.mine.nu>
+2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
 
        * lib/iconvme.c: Split iconv_string into iconv_alloc.
 
        * m4/uintmax_t.m4: New file.
        * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
   Free Software Foundation, Inc.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.