* lib/mempcpy.c: Include <config.h> before <string.h>.
[gnulib.git] / ChangeLog
index 87ccd6f..e66395c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2007-01-27  Jim Meyering  <jim@meyering.net>
+
+       * 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 "stdup.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>
 
 
 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.
        * 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.