Convert c-strcasestr to be more efficient.
[gnulib.git] / ChangeLog
index 472efb3..467fadb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,272 @@
+2008-01-17  Eric Blake  <ebb9@byu.net>
+
+       Convert c-strcasestr to be more efficient.
+       * modules/c-strcasestr (Files): Use Two-Way, not KMP.
+       (Depends-on): Add c-strcase, remove malloca, strnlen.
+       * tests/test-c-strcasestr.c (main): Enhance test.
+       * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
+
+2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
+       Use it in creating po/Makevars.
+
+2008-01-15  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
+       Applications that requires it should initialize libgcrypt
+       manually.
+
+2008-01-16  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
+
+2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problem with getdate on mingw32 reported by Simon Josefsson
+       in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
+       * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
+       tzname", when deciding whether to declare tzname.
+       * lib/strftime.c (tzname): Likewise.
+
+2008-01-15  Bruno Haible  <bruno@clisp.org>
+
+       Work around a MacOS X 10.5 bug in frexpl().
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
+       * doc/functions/frexpl.texi: Document the bug.
+       Reported by Elias Pipping <pipping@gentoo.org>.
+
+2008-01-14  Eric Blake  <ebb9@byu.net>
+
+       Touch up previous patch.
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
+       * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
+
+       Convert strcasestr module to use Two-Way algorithm.
+       * modules/strcasestr-simple: New module, based on the old
+       strcasestr, but with Two-Way rather than KMP.
+       * modules/strcasestr (Depends-on): Change to strcasestr-simple.
+       * lib/string.in.h (rpl_strcasestr): Declare.
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
+       performance.
+       * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
+       * modules/string (Makefile.am): Support strcasestr.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
+       * modules/strcasestr-tests (Depends-on): Check for alarm.
+       * tests/test-strcasestr.c: Augment test.
+       * lib/str-two-way.h: Clean up stray macro.
+       * NEWS: Document new module.
+       * MODULES.html.sh (string handling): Likewise.
+       * doc/functions/strcasestr.texi: New file.
+       * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
+       here, since it is not a POSIX function.
+
+2008-01-14  Colin Watson  <cjwatson@debian.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
+       works fine; if not, set REPLACE_STRSIGNAL.
+       (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+       REPLACE_STRSIGNAL.
+       * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
+       * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
+       * tests/test-strsignal.c (main): Check out-of-range signal numbers.
+
+2008-01-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/strsignal (Include): Change to <string.h>.
+
+2008-01-14  Colin Watson  <cjwatson@debian.org>
+
+       * modules/argp (Notice): Add a notice recommending to change
+       XGETTEXT_OPTIONS.
+       (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
+
+2008-01-13  Colin Watson  <cjwatson@debian.org>
+
+       * modules/strsignal-tests: New file.
+       * tests/test-strsignal.c: New file.
+
+       * lib/strsignal.c: New file, from glibc with modifications.
+       * lib/siglist.h: New file, from glibc with modifications.
+       * lib/string.in.h (strsignal): New declaration.
+       * m4/strsignal.m4: New file.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+       GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
+       * modules/strsignal: New file.
+       * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
+       HAVE_DECL_STRSIGNAL.
+
+2008-01-13  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
+       locale encoding is not ASCII. Needed for OpenBSD 4.0.
+       * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
+       * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+
+2008-01-13  Bruno Haible  <bruno@clisp.org>
+
+       * lib/argp-fmtstream.h (__attribute__): Don't redefine if
+       __STRICT_ANSI__ is set: it's not needed by any version of gcc.
+       * lib/argp.h (__attribute__): Likewise.
+       * lib/c-stack.c (__attribute__): Likewise.
+       * lib/error.h (__attribute__): Likewise.
+       * lib/fts.c (__attribute__): Likewise.
+       * lib/openat.h (__attribute__): Likewise.
+       * lib/stdio.in.h (__attribute__): Likewise.
+       * lib/string.in.h (__attribute__): Likewise.
+       * lib/utimens.c (__attribute__): Likewise.
+       * lib/vasnprintf.h (__attribute__): Likewise.
+       * lib/xalloc.h (__attribute__): Likewise.
+       * lib/xprintf.h (__attribute__): Likewise.
+       * lib/xstrtol.h (__attribute__): Likewise.
+       * lib/xvasprintf.h (__attribute__): Likewise.
+
+2008-01-12  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
+       * doc/glibc-headers/a.out.texi: New file.
+       * doc/glibc-headers/aliases.texi: New file.
+       * doc/glibc-headers/alloca.texi: New file.
+       * doc/glibc-headers/ar.texi: New file.
+       * doc/glibc-headers/argp.texi: New file.
+       * doc/glibc-headers/argz.texi: New file.
+       * doc/glibc-headers/byteswap.texi: New file.
+       * doc/glibc-headers/crypt.texi: New file.
+       * doc/glibc-headers/endian.texi: New file.
+       * doc/glibc-headers/envz.texi: New file.
+       * doc/glibc-headers/err.texi: New file.
+       * doc/glibc-headers/error.texi: New file.
+       * doc/glibc-headers/execinfo.texi: New file.
+       * doc/glibc-headers/fpu_control.texi: New file.
+       * doc/glibc-headers/fstab.texi: New file.
+       * doc/glibc-headers/fts.texi: New file.
+       * doc/glibc-headers/getopt.texi: New file.
+       * doc/glibc-headers/ieee754.texi: New file.
+       * doc/glibc-headers/ifaddrs.texi: New file.
+       * doc/glibc-headers/libintl.texi: New file.
+       * doc/glibc-headers/mcheck.texi: New file.
+       * doc/glibc-headers/mntent.texi: New file.
+       * doc/glibc-headers/obstack.texi: New file.
+       * doc/glibc-headers/paths.texi: New file.
+       * doc/glibc-headers/printf.texi: New file.
+       * doc/glibc-headers/pty.texi: New file.
+       * doc/glibc-headers/resolv.texi: New file.
+       * doc/glibc-headers/shadow.texi: New file.
+       * doc/glibc-headers/sysexits.texi: New file.
+       * doc/glibc-headers/ttyent.texi: New file.
+
+2008-01-12  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: emit Gnulib's git-based version string.
+       * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
+       New option --gnulib-version=V, where V is expected to be
+       the output of running git describe in the gnulib directory.
+       (get_tool_versions): Request feedback on xdelta.  I suspect it's
+       not useful, and plan to stop publishing an xdelta file with each
+       coreutils release.
+
+       * build-aux/announce-gen: Also check for lzma-compressed files.
+
+2008-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-memmem.c (main): Increase maximum allowed time.
+       * tests/test-strstr.c (main): Likewise.
+
+2008-01-11  Bruno Haible  <bruno@clisp.org>
+
+       * doc/functions/memmem.texi: Add more precisions about platforms.
+       * doc/functions/strstr.texi: Likewise.
+
+2008-01-10  Eric Blake  <ebb9@byu.net>
+
+       * m4/strstr.m4: Delete cruft from copy-n-paste.
+       Reported by Bruno Haible.
+
+2008-01-10  Bruno Haible  <bruno@clisp.org>
+
+       Make c-strstr rely on strstr.
+       * lib/c-strstr.c: Don't include str-kmp.h.
+       (c_strstr): Define in terms of strstr.
+       * modules/c-strstr (Files): Remove lib/str-kmp.h.
+       (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
+
+2008-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib.texi (String Functions in C Locale): New section.
+       * doc/c-ctype.texi: New file.
+       * doc/c-strcase.texi: New file.
+       * doc/c-strcaseeq.texi: New file.
+       * doc/c-strcasestr.texi: New file.
+       * doc/c-strstr.texi: New file.
+       * doc/c-strtod.texi: New file.
+       * doc/c-strtold.texi: New file.
+
+2008-01-10  Eric Blake  <ebb9@byu.net>
+
+       * lib/relocatable.h: Fix a comment.
+
+2008-01-10  Eric Blake  <ebb9@byu.net>
+
+       Share two-way algorithm.
+       * lib/str-two-way.h: New file, merged from...
+       * lib/memmem.c: ...here...
+       * lib/strstr.c: ...and here.
+       * modules/memmem (Files): Use it.
+       * modules/strstr (Files): Likewise.
+
+       Avoid quadratic strstr implementations.
+       * lib/strstr.c: New file.
+       * m4/strstr.m4: Likewise.
+       * modules/strstr: Likewise.
+       * modules/strstr-tests: Likewise.
+       * tests/test-strstr.c: Likewise.
+       * lib/string.in.h (rpl_strstr): Declare.
+       (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
+       * modules/string (Makefile.am): Likewise.
+       * MODULES.html.sh (string handling): Mention new module.
+       * doc/functions/strstr.texi (strstr): Document the bug.
+
+2008-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/relocatable.h (relocate): State whether result is freshly
+       allocated or not.
+       * lib/relocatable.c (relocate): Return a freshly allocated string
+       instead of a pointer to a privately held string.
+       Reported by Sylvain Beucler <beuc@gnu.org>.
+
+2008-01-10  Colin Watson  <cjwatson@debian.org>
+
+       * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
+       s/S_ISNLK/S_ISLNK/.
+
+2008-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * doc/functions/memmem.texi: Use the same structure as snprintf.texi
+       and other files.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
+       if it's only a guess.
+       * modules/memmem: Simplify by depending on memmem-simple.
+
+2008-01-09  Bruno Haible  <bruno@clisp.org>
+
+       Work around OpenBSD 4.0 tdelete() bug.
+       * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
+       * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
+       macros and don't redefine the enum values.
+       * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
+       * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
+       * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
+
+2008-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
+       (main): Don't perform the tests if setlocale did not install a UTF-8
+       locale. Needed on OpenBSD 4.0.
+       * modules/wcwidth-tests (Depends-on): Add localcharset.
+
 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
 
        gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
        * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
        Reported by Peter Miller <millerp@canb.auug.org.au>.
 
-2008-01-08  Bruno Haible  <bruno@clisp.org>
-
-       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also U+3000. Needed to
-       detect bug on OpenBSD 4.0.
-       * doc/functions/wcwidth.texi: Document the OpenBSD bug.
-
 2008-01-08  Eric Blake  <ebb9@byu.net>
 
        Rewrite memmem to guarantee linear complexity without malloc.