Tests for module 'mbspcasecmp'.
[gnulib.git] / ChangeLog
index c521d86..0058718 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,246 @@
+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.