+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.
+ * 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