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