Merge gl_HEADER_STRING_H_DEFAULTS and gl_STRING_MODULE_INDICATOR_DEFAULTS into
[gnulib.git] / ChangeLog
index 2919ff8..107e21c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+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.
+
+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  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.
+
+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.
+
+2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
+       conforms to C99, rather than relying on the user's environment
+       setting of STDINT_H.
+
+2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+       and Eric Blake  <ebb9@byu.net>
+
+       * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
+       This is more consistent with the other defines here.
+       * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
+       Port to z/OS.  Problem reported by Paul Gilmartin.
+       Change local vars to use gl_ prefix rather than ac_.
+       Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
+       with other defines.
+       * modules/double-slash-root: New module.
+       * modules/dirname (Files): Remove m4/double-slash-root.m4.
+       (Depends-on): Add double-slash-root.
+       * MODULES.html.sh (File system functions): Mention new module.
+
+2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
+       (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
+       This is for the benefit of gzip, which doesn't do i18n.
+
+2006-12-12  Jim Meyering  <jim@meyering.net>
+
+       * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
+       Reported by Andreas Schwab <schwab@suse.de>.
+
+2006-12-12  Bruno Haible  <bruno@clisp.org>
+
+       Merge these changes.
+       2006-09-05  Bruno Haible  <bruno@clisp.org>
+       * lib/iconvme.c (iconv_string): No need to save and restore errno when
+       iconv_alloc succeeded.
+       (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
+       sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
+       test for " && dest " at the end - dest is always != NULL there. Call
+       iconv with 4xNULL arguments initially, to reset the state. Call iconv
+       with 2xNULL arguments, also to flush the state storage. Handle the
+       IRIX iconv behaviour. Realloc the final result, to throw away unused
+       memory.
+
+2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
+       and fchmodat unconditionally, since glibc 2.4 has them.
+       Problem reported by Arkadiusz Miskiewicz.
+
+2006-12-10  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): Show the include files only for those
+       modules that are copied and specified.
+       Reported by Karl Berry.
+
+2006-12-08  Jim Meyering  <jim@meyering.net>
+
+       * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
+       Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
+
+       * build-aux/announce-gen: Add two new options, both optional:
+       --bootstrap-tools=TOOL_LIST
+             a comma-separated list of tools, e.g.,
+             autoconf,automake,bison,gnulib
+       --gnulib-snapshot-date=DATE
+             if gnulib is in the bootstrap tool list,
+             then report this as the snapshot date.
+             If not specified, use the current date/time.
+             If you specify a date here, be sure it's UTC.
+
+2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * tests/test-argp-2.sh: Fix test to match actual output.
+       (func_compare): Fix sed script to be portable.
+
+2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
+       workaround for this case.  It is not autoconfigured now; offhand
+       it's hard to see how to autoconfigure it.
+
+2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
+       a directory that is about to be chowned.  Such a directory's
+       initial file permissions should permit the owner only and this
+       should not be changed until after the chown, since the group and
+       other bits would be incorrect if they granted permission before
+       the chown.
+
+       Fix porting problem for iswctype reported by Georg Schwarz in:
+       http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
+       * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
+       * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
+       * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
+
+2006-12-03  Jim Meyering  <jim@meyering.net>
+
+       * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
+       p->fts_statp may not yet be defined.
+       (fts_read): Instead, set it in the caller, once p->fts_statp is
+       sure to be defined, and corresponds to a top-level directory.
+       This bug made du -x fail.  Here's the coreutils test case:
+       http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
+       Reported by Mike Frysinger.
+
+2006-12-01  Jim Meyering  <jim@meyering.net>
+
+       * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
+       build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
+       Reported by Simon Josefsson.
+
+2006-11-30  Jim Meyering  <jim@meyering.net>
+
+       * m4/warning.m4: Use the all-permissive copyright notice
+       recommended by RMS (rather than LGPL).
+       * m4/vararrays.m4: Likewise.
+       * m4/flexmember.m4: Likewise.
+
+2006-11-29  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
+       noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
+       using +=.
+       Reported by Simon Josefsson <simon@josefsson.org>.
+
+2006-11-28  James Youngman <jay@gnu.org>
+
+       * README: Advise users that they might find the bug-gnulib@gnu.org
+       and autotools-announce@gnu.org mailing lists useful.
+
+2006-11-28  Bruno Haible  <bruno@clisp.org>
+
+       * m4/ptrdiff_max.m4: Remove file.
+
+2006-11-21  Bruno Haible  <bruno@clisp.org>
+
+       * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
+       _AC_COMPUTE_INT.
+       (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
+       * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
+       _AC_COMPUTE_INT.
+       (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
+       * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
+       _AC_COMPUTE_INT.
+       (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
+
+2006-11-28  Jim Meyering  <jim@meyering.net>
+
+       * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
+       warning from "gcc -Wshadow" about shadowing the builtin.
+
 2006-11-27  Bruno Haible  <bruno@clisp.org>
 
        * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
        noinst_LTLIBRARIES.
 
 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
        if compiling with "gcc -ansi".
        * 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.