+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * 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.
+
+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'.
(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>