+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * modules/wctype-tests: New file.
+ * tests/test-wctype.c: New file.
+
+ * modules/wchar-tests: New file.
+ * tests/test-wchar.c: New file.
+
+ * modules/unistd-tests: New file.
+ * tests/test-unistd.c: New file.
+
+ * modules/time-tests: New file.
+ * tests/test-time.c: New file.
+
+ * modules/sysexits-tests: New file.
+ * tests/test-sysexits.c: New file.
+
+ * modules/sys_time-tests: New file.
+ * tests/test-sys_time.c: New file.
+
+ * modules/sys_stat-tests: New file.
+ * tests/test-sys_stat.c: New file.
+
+ * modules/sys_socket-tests: New file.
+ * tests/test-sys_socket.c: New file.
+
+ * modules/sys_select-tests: New file.
+ * tests/test-sys_select.c: New file.
+
+ * modules/string-tests: New file.
+ * tests/test-string.c: New file.
+
+ * modules/stdbool-tests: New file.
+ * tests/test-stdbool.c: New file.
+
+ * modules/netinet_in-tests: New file.
+ * tests/test-netinet_in.c: New file.
+
+ * modules/inttypes-tests: New file.
+ * tests/test-inttypes.c: New file.
+
+ * modules/fcntl-tests: New file.
+ * tests/test-fcntl.c: New file.
+
+ * modules/byteswap-tests: New file.
+ * tests/test-byteswap.c: New file.
+
+ * modules/arpa_inet-tests: New file.
+ * tests/test-arpa_inet.c: New file.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
+ (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
+ if the corresponding module is not enabled. Emit link warnings if
+ the function is used nevertheless.
+ * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
+ Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
+ HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
+ (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
+ * modules/inttypes (Depends-on): Add link-warning.
+ (Makefile.am): Copy the contents of build-aux/link-warning.h into
+ inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
+ GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
+ * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
+ * modules/imaxdiv (configure.ac): Likewise.
+ * modules/strtoimax (configure.ac): Likewise.
+ * modules/strtoumax (configure.ac): Likewise.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
+ gl_STRING_MODULE_INDICATOR_DEFAULTS.
+ (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
+ (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * modules/link-warning: New file.
+ * build-aux/link-warning.h: New file, extracted from lib/string_.h.
+ * lib/string_.h (GL_LINK_WARNING): Remove definition.
+ * modules/string (Depends-on): Add link-warning.
+ (Makefile.am): Copy the contents of build-aux/link-warning.h into
+ string.h.
+ * MODULES.html.sh (Support for building libraries and executables): Add
+ link-warning.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
+ strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
+ strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
+ long lines.
+
+2007-02-17 Ben Pfaff <blp@cs.stanford.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ * modules/tmpfile: New file.
+ * lib/tmpfile.c: New file.
+ * m4/tmpfile.m4: New file.
+ * MODULES.html.sh (func_all_modules): New section "Input/output".
+
+2007-02-15 Bruno Haible <bruno@clisp.org>
+
+ * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
+ (supports_delete_on_close): New function.
+ (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
+
+2007-02-14 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbspcasecmp-tests: New file.
+ * tests/test-mbspcasecmp.sh: New file.
+ * tests/test-mbspcasecmp.c: New file.
+
+ New module mbspcasecmp.
+ * modules/mbspcasecmp: New file.
+ * lib/mbspcasecmp.c: New file.
+ * lib/string_.h (strncasecmp): Change warning message.
+ (mbspcasecmp): New declaration.
+ * m4/mbspcasecmp.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSPCASECMP.
+ * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
+ * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
+
+2007-02-14 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbsncasecmp-tests: New file.
+ * tests/test-mbsncasecmp.sh: New file.
+ * tests/test-mbsncasecmp.c: New file.
+
+ New module mbsncasecmp.
+ * modules/mbsncasecmp: New file.
+ * lib/mbsncasecmp.c: New file.
+ * lib/string_.h (mbsncasecmp): New declaration.
+ * m4/mbsncasecmp.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSNCASECMP.
+ * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
+ * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
+
+2007-02-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
+ Verify that it doesn't overlap with our flags.
+ (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
+ do not have the desired effect in multibyte locales; instead, use
+ mbscasecmp.
+ * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
+ Add dependency on xalloc. Depend on fnmatch, not fnmatch-gnu, since
+ we don't require GNU fnmatch ourselves (if our users require it, they
+ should do so explicitly).
+
+ Fix regex code so it doesn't rely on strcasecmp.
+ * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
+ Otherwise, include gnulib's langinfo.h.
+ * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
+ undesirable behavior in non-C locales. Instead, rely on localecharset.
+ * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
+ * modules/regex (FILES): Remove m4/codeset.m4.
+ (Depends-on): Add localcharset. Remove strcase.
+
+2007-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
+ * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
+
+2007-02-13 Bruno Haible <bruno@clisp.org>
+
+ * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-02-12 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
+ strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
+ GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
+ time warning rather than a link error.
+
+2007-02-12 Bruno Haible <bruno@clisp.org>
+
+ * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
+ * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-02-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
+ args, not 2.
+
+2007-02-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ New module 'time', so that apps can include <time.h> as per
+ POSIX and GNU instead of separate include files like time_r.h
+ and timegm.h. This implementation tries out a simpler approach
+ for replacing decls in standard include files (as compared to
+ the string module), somewhat as an experiment.
+
+ * config/srclist.txt: Comment out mktime.c for now.
+ * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
+ since it doesn't apply any more. Use generic wording instead.
+ * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
+ 'time'.
+ * lib/time_.h, m4/time_h.m4, modules/time: New files.
+ * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
+ * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
+ Don't include <sys/types.h>; no longer needed since we assume C89.
+ * lib/mktime.c: Don't include "time_r.h"; no longer needed.
+ * lib/strftime.c: Likewise.
+ * lib/time_r.c: Likewise.
+ * lib/nanosleep.c (nanosleep): #undef after include files, not before.
+ * lib/nanosleep.c: Include <time.h> first, to check interface.
+ * lib/strptime.c: Likewise.
+ * lib/time_r.c: Likewise.
+ * lib/timegm.c: Likewise.
+ * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
+ needed.
+ * lib/timegm.c: Don't include timegm.h; no longer needed.
+ * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
+ time.h now handles any problems in that area.
+ (struct timespec, nanosleep): Remove; time.h now arranges for these.
+ * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
+ that time.h defines struct timespec.
+ * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
+ Set REPLACE_NANOSLEEP. Don't AC_DEFINE nanosleep; the time module now
+ handles that.
+ * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
+ * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
+ needed. Set REPLACE_LOCALTIME.
+ * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
+ * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
+ (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
+ nanosleep; time_h.m4 now does that. Don't require
+ gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
+ module handles this now.
+ * modules/getdate (Depends-on): Remove timespec. Add time.
+ * modules/nanosleep (Depends-on): Likewise.
+ * modules/stat-time (Depends-on): Likewise.
+ * modules/nanosleep (Include): Include time.h, not timespec.h.
+ * modules/strptime (Files): Remove lib/strptime.h.
+ (Depends-on): Add extensions, time.
+ (Include): Include time.h, not strptime.h.
+ * modules/time_r (Files): Remove lib/time_r.h.
+ (Depends-on): Add time.
+ (Include): Include time.h, not time_r.h.
+ * modules/timegm: Likewise.
+ * modules/timespec (Description): Now does timespec-related decls
+ of our own, instead of struct timespec itself.
+ (Depends-on): Add time; remove extensions.
+ (Maintainer): Add self.
+ * modules/utimecmp (Depends-on): Add time; remove timespec.
+ * modules/utimens (Depends-on): Likewise.
+ * modules/xnanosleep (Depends-on): Likewise.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/c-strstr.c: Include allocsa.h.
+ (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+ * lib/c-strcasestr.c: Include allocsa.h.
+ (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+ * lib/strcasestr.c: Include allocsa.h.
+ (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+ * lib/mbsstr.c: Include allocsa.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
+ allocsa/freesa instead of malloc/free.
+ * lib/mbscasestr.c: Include allocsa.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
+ allocsa/freesa instead of malloc/free.
+ * modules/c-strstr (Depends-on): Add allocsa.
+ * modules/c-strcasestr (Depends-on): Likewise.
+ * modules/strcasestr (Depends-on): Likewise.
+ * modules/mbsstr (Depends-on): Likewise.
+ * modules/mbscasestr (Depends-on): Likewise.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
+
+ * modules/mbsspn-tests: New file.
+ * tests/test-mbsspn.sh: New file.
+ * tests/test-mbsspn.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
+
+ * modules/mbspbrk-tests: New file.
+ * tests/test-mbspbrk.sh: New file.
+ * tests/test-mbspbrk.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
+ unneeded cast.
+
+ * modules/mbscspn-tests: New file.
+ * tests/test-mbscspn.sh: New file.
+ * tests/test-mbscspn.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbscasecmp-tests: New file.
+ * tests/test-mbscasecmp.sh: New file.
+ * tests/test-mbscasecmp.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of mbscasestr.
+ * lib/mbscasestr.c: Include stdbool.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
+ functions.
+ (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
+ the bookkeeping indicates that it's worth it.
+ * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
+
+ * modules/mbscasestr-tests: New file.
+ * tests/test-mbscasestr1.c: New file.
+ * tests/test-mbscasestr2.sh: New file.
+ * tests/test-mbscasestr2.c: New file.
+ * tests/test-mbscasestr3.sh: New file.
+ * tests/test-mbscasestr3.c: New file.
+ * tests/test-mbscasestr4.sh: New file.
+ * tests/test-mbscasestr4.c: New file.
+ * m4/locale-tr.m4: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of mbsstr.
+ * lib/mbsstr.c: Include stdbool.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
+ functions.
+ (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
+ bookkeeping indicates that it's worth it.
+ * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
+
+ * modules/mbsstr-tests: New file.
+ * tests/test-mbsstr1.c: New file.
+ * tests/test-mbsstr2.sh: New file.
+ * tests/test-mbsstr2.c: New file.
+ * tests/test-mbsstr3.sh: New file.
+ * tests/test-mbsstr3.c: New file.
+ * m4/locale-fr.m4: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbsrchr.c (mbsrchr): Fix bug.
+
+ * modules/mbsrchr-tests: New file.
+ * tests/test-mbsrchr.sh: New file.
+ * tests/test-mbsrchr.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbschr.c (mbschr): Fix bug.
+
+ * modules/mbschr-tests: New file.
+ * tests/test-mbschr.sh: New file.
+ * tests/test-mbschr.c: New file.
+ * m4/locale-zh.m4: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Support for copying multibyte string iterators.
+ * lib/mbiter.h: Include <string.h>.
+ (mbiter_multi_copy): New function.
+ (mbi_copy): New macro.
+ * lib/mbuiter.h: Include <string.h>.
+ (mbuiter_multi_copy): New function.
+ (mbui_copy): New macro.
+
2007-02-11 Bruno Haible <bruno@clisp.org>
New module mbslen.