md5: adapt alignment constraint fix from sha1.
[gnulib.git] / ChangeLog
index bd4daf8..2ac4484 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,494 @@
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * md5: adapt alignment constraint fix from sha1.
+       * lib/md5.c (set_uint32): New function, from sha1.c
+       (md5_read_ctx): Use it.
+       (md5_finish_ctx): Doc fix.
+       * lib/md5.h: Doc fix.
+
+2008-01-30  Peter Palfrader  <weasel@debian.org>
+
+       sha1: remove the result buffer alignment constraint
+       * lib/sha1.c (set_uint32): New function.
+       (sha1_read_ctx): Rewrite to remove the result buffer alignment
+       constraint.
+       (sha1_finish_ctx): Remove comment warning about alignment constraint.
+       * lib/sha1.h: Likewise.
+
+2008-01-30  Andreas Schwab  <schwab@suse.de>
+            Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
+       correct definition of LDBL_MIN_EXP.
+
+2008-01-30  Karl Berry  <karl@gnu.org>
+
+       * config/srclist-update: try to preserve x bit on updates.
+       * config/srclistvars.sh: update for karl.
+
+2008-01-29  Jim Meyering  <meyering@redhat.com>
+
+       vasnprintf.c: Avoid warning about unused label
+       * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
+       "overflow" label definition and associated code with the
+       same cpp condition that guards the sole use of that label.
+
+2008-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
+       gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
+       * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
+       * lib/isnanl-nolibm.h (isnanl): Likewise.
+       Reported by Paul Eggert <eggert@cs.ucla.edu>.
+
+2008-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
+       * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
+
+2008-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
+       GCC >= 4.0 built-in.
+       * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
+
+2008-01-26  Bruno Haible  <bruno@clisp.org>
+
+       Rename isnan, applicable to 'double' only, to isnand.
+       * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
+       (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
+       (configure.ac): Update.
+       (Include): Replace "isnan.h" with "isnand.h".
+       * m4/isnand.m4: Renamed from m4/isnan.m4.
+       (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
+       HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
+       instead of isnan.c.
+       * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
+       instead of HAVE_ISNAN_IN_LIBC.
+       (isnand): Renamed from isnan.
+       * lib/isnand.c: New file.
+       * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
+       (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
+       (Makefile.am): Update.
+       * tests/test-isnand.c: Renamed from tests/test-isnan.c.
+       Include isnand.h instead of isnan.h.
+       (main): Test isnand instead of isnan.
+       * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
+       isnan-nolibm.
+       * modules/frexp (Depends-on): Likewise.
+       * modules/frexp-tests (Depends-on): Likewise.
+       * modules/frexp-nolibm (Depends-on): Likewise.
+       * modules/frexp-nolibm-tests (Depends-on): Likewise.
+       * modules/isfinite (Depends-on): Likewise.
+       * modules/round-tests (Depends-on): Likewise.
+       * modules/signbit (Depends-on): Likewise.
+       * modules/signbit-tests (Depends-on): Likewise.
+       * modules/snprintf-posix (Depends-on): Likewise.
+       * modules/sprintf-posix (Depends-on): Likewise.
+       * modules/trunc-tests (Depends-on): Likewise.
+       * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
+       * modules/vasnprintf-posix (Depends-on): Likewise.
+       * modules/vasprintf-posix (Depends-on): Likewise.
+       * modules/vfprintf-posix (Depends-on): Likewise.
+       * modules/vsnprintf-posix (Depends-on): Likewise.
+       * modules/vsprintf-posix (Depends-on): Likewise.
+       * lib/frexp.c: Include isnand.h instead of isnan.h.
+       (ISNAN): Set to isnand instead of isnan.
+       * lib/isfinite.c: Include isnand.h instead of isnan.h.
+       (gl_isfinited): Use isnand instead of isnan.
+       * lib/signbitd.c: Include isnand.h instead of isnan.h.
+       (gl_signbitd): Use isnand instead of isnan.
+       * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
+       (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
+       * tests/test-frexp.c: Include isnand.h instead of isnan.h.
+       (main): Use isnand instead of isnan.
+       * tests/test-round1.c: Include isnand.h.
+       (main): Use isnand instead of isnan.
+       * tests/test-round2.c: Include isnand.h instead of isnan.h.
+       (ISNAN): Set to isnand instead of isnan.
+       * tests/test-trunc1.c: Include isnand.h.
+       (main): Use isnand instead of isnan.
+       * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
+       (equal): Use isnand instead of isnan.
+       * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
+       isnand-nolibm.
+       * NEWS: Mention the change.
+
+2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
+            Bruno Haible  <bruno@clisp.org>
+
+       * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
+       the GCC builtins for signbits are present and set
+       REPLACE_SIGNBIT_USING_GCC if so.
+       * lib/math.in.h (signbit): Define using GCC builtins if
+       REPLACE_SIGNBIT_USING_GCC is set.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
+       REPLACE_SIGNBIT_USING_GCC.
+       * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
+
+2008-01-25  Jim Meyering  <meyering@redhat.com>
+
+       Prefer <config.h> over "config.h".  See autoconf doc for explanation.
+       * lib/poll.c: Include <config.h>, not "config.h".
+       * tests/test-getaddrinfo.c: Likewise.
+
+2008-01-25  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/sockets-tests: New file.
+
+2008-01-24  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/sockets: New module, can be used to call WSA_Startup and
+       WSA_Cleanup when needed.
+
+       * lib/sockets.h, lib/sockets.c: New files.
+
+       * m4/sockets.m4: New file.
+
+       * tests/test-sockets.c: New file.
+
+2008-01-19  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers: Renamed from doc/headers.
+       * doc/posix-functions: Renamed from doc/functions.
+       * doc/gnulib.texi: Update.
+
+2008-01-19  Bruno Haible  <bruno@clisp.org>
+
+       * doc/glibc-functions/strcasestr.texi: Include contents of
+       doc/functions/strcasestr.texi, fixing the list of platforms.
+       * doc/functions/strcasestr.texi: Remove file.
+
+2008-01-19  Bruno Haible  <bruno@clisp.org>
+
+       * doc/glibc-functions/memmem.texi: Include contents of
+       doc/functions/memmem.texi.
+       * doc/functions/memmem.texi: Remove file.
+
+2008-01-18  Bruno Haible  <bruno@clisp.org>
+
+       * doc/glibc-functions/*.texi: New files.
+       * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
+       to use the new files.
+
+2008-01-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-gethostname.c (main): Fix printf statement.
+
+2008-01-17  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/gethostname-tests: New file.
+
+       * tests/test-gethostname.c: New file.
+
+2008-01-17  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gethostname.c: Include string.h unconditionally, strncpy is
+       used by the UNAME case.  Reported by Bruno Haible
+       <bruno@clisp.org>.
+
+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.
+       See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
+       * NEWS: announce this.
+       * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
+
+2008-01-09  Simon Josefsson  <simon@josefsson.org>
+       and Eric Blake  <ebb9@byu.net>
+
+       Add memmem-simple module.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
+       (gl_FUNC_MEMMEM): Separate performance from presence checks.
+       * modules/memmem-simple: New file.
+       * modules/memmem (Description): Tweak.
+       * MODULES.html.sh (string handling): Mention new module.
+       * doc/functions/memmem.texi (memmem): Distinguish which flaws are
+       addressed by memmem-simple.
+       * NEWS: Document the difference.
+
+2008-01-09  Eric Blake  <ebb9@byu.net>
+
+       Give gcc some memmem optimization hints.
+       * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
+       (strcasestr): Declare as pure.
+       * modules/memmem (Maintainer): Claim my implementation.
+
 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        Support AIX 6.1 and higher.
@@ -5,7 +496,7 @@
        * build-aux/config.rpath: Likewise.
 
 2008-01-08  Jim Meyering  <meyering@redhat.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
        on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
        * 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.
        Suggested by Paul Eggert.
 
 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Improve memory cleanup in 'relocatable' module.
        * lib/relocatable.h (compute_curr_prefix): Change return type to