Use "sizeof VAR", rather than a literal "4".
[gnulib.git] / ChangeLog
index d79ba47..8faa77c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,683 @@
+2008-01-31  Jim Meyering  <meyering@redhat.com>
+
+       Use "sizeof VAR", rather than a literal "4".
+       * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
+       * lib/md4.c (md4_read_ctx): Likewise.
+       * lib/sha1.c (sha1_read_ctx): Likewise.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-sha1.c: New file, based on test-md5.c.
+
+       * modules/crypto/sha1-tests: New file.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
+
+2008-01-31  Jim Meyering  <meyering@redhat.com>
+
+       Prefer "sizeof v" over the equivalent "4".
+       * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
+       * lib/md5.c (set_uint32): Likewise.
+       * lib/sha1.c (set_uint32): Likewise.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/sha1.c (set_uint32): Mark function as static.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       md2: clarify comments to say that alignment is not required.
+       * lib/md2.h: Remove warning about alignment in comment.
+       * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
+       never been required.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       md4: adapt alignment constraint fix from sha1.
+       * lib/md4.c (set_uint32): New function, from sha1.c
+       (md4_read_ctx): Use it.
+       (md4_finish_ctx): Doc fix.
+       * lib/md4.h: Doc fix.
+
+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.
+       * build-aux/config.libpath: Likewise.
+       * build-aux/config.rpath: Likewise.
+
+2008-01-08  Jim Meyering  <meyering@redhat.com>
+           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.
+       Reported by Peter Fales in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
+
+2008-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unictype/category-of (Depends-on): Add
+       unictype/category-none.
+       * modules/unictype/category-and-tests (Depends-on): Add
+       unictype/category-{L,N,Lu,Nd}.
+       * modules/unictype/category-and-not-tests (Depends-on): Likewise.
+       * modules/unictype/category-or-tests (Depends-on): Add
+       unictype/category-{L,N}.
+       * modules/unictype/category-name-tests (Depends-on): Add
+       unictype/category-{Z,Nl}.
+       Reported by Simon Josefsson.
+
+2008-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
+       convention better.
+       * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
+       * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
+       Reported by Peter Miller <millerp@canb.auug.org.au>.
+
+2008-01-08  Eric Blake  <ebb9@byu.net>
+
+       Rewrite memmem to guarantee linear complexity without malloc.
+       * lib/memmem.c (memmem): Use Two-Way rather than
+       Knuth-Morris-Pratt, to allow O(1) space usage.
+       (critical_factorization, two_way_short_needle)
+       (two_way_long_needle): New functions.
+       (knuth_morris_pratt): Delete.
+       * modules/memmem (Depends-on): No longer need malloca or stdbool.
+       Add stdint.
+       * tests/test-memmem.c (main): Add tests for periodic needle and
+       sublinear performance.
+       * doc/functions/memmem.texi (memmem): Document other deficiencies
+       in cygwin and older glibc.
+
+2008-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
+       augmentation.
+
+2008-01-08  Mike Frysinger  <vapier@gentoo.org>
+
+       Add a configure time option: --disable-acl.
+       * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
+       AC_ARG_ENABLE(acl).
+
+2008-01-06  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-localename.c: Don't include obsolete "setenv.h".
+
+       * modules/localename-tests (Depends-on): Need unsetenv.
+
+2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * DEPENDENCIES: Require Texinfo version 4.6 or newer.
+
+2008-01-06  Colin Watson  <cjwatson@debian.org>
+
+       * users.txt: Add man-db.
+
+2008-01-07  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
+       previous section name.
+
+2008-01-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/progname.c (set_program_name): Don't strip off a leading
+       "lt-" prefix outside a .libs directory.
+       Suggested by Paul Eggert.
+
+2008-01-01  Sylvain Beucler  <beuc@gnu.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       Improve memory cleanup in 'relocatable' module.
+       * lib/relocatable.h (compute_curr_prefix): Change return type to
+       'char *'.
+       * lib/relocatable.c (compute_curr_prefix): Change return type to
+       'char *'. Free curr_installdir after use.
+       (relocate): Free curr_prefix_better after use.
+       * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
+
+2008-01-01  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
+       failure on older glibc systems.
+       Reported by Peter Fales <psfales@alcatel-lucent.com>.
+
+2008-01-05  Eric Blake  <ebb9@byu.net>
+
+       Avoid quadratic system memmem.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
+       Reported by Ralf Wildenhues.
+
+       Fix memmem test for mingw.
+       * modules/memmem-tests (configure.ac): Check for alarm.
+       * tests/test-memmem.c (main): Avoid alarm on platforms that lack
+       it.
+       * doc/functions/memmem.texi: New file.
+       * doc/gnulib.texi (Function Substitutes): Add memmem.
+       Reported by Bruno Haible.
+
+2008-01-04  Bruno Haible  <bruno@clisp.org>
+
+       * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
+       Require gl_HEADER_STRINGS_H_DEFAULTS, not
+       gl_HEADER_STRING_H_DEFAULTS.
+
+2008-01-04  Eric Blake  <ebb9@byu.net>
+
+       Shorten duration of memmem test.
+       * tests/test-memmem.c (main): Use alarm to declare failure if test
+       is taking too long.
+       Reported by Ralf Wildenhues.
+
+2007-12-21  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
+       string, needed by strerror.
+
+2008-01-03  Colin Watson  <cjwatson@debian.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-tool.texi (Localization): New section.
+
+2008-01-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
+       variables to 'unsigned char *' type.
+       Reported by Paul Eggert.
+
 2008-01-02  Jim Meyering  <jim@meyering.net>
 
        * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
 2008-01-02  Jim Meyering  <jim@meyering.net>
 
        * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
        Suggested by Ben Pfaff <blp@cs.stanford.edu>.
 
 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
        Suggested by Ben Pfaff <blp@cs.stanford.edu>.
 
 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Avoid using the syntax symbol() in formatted documentation.
        * MODULES.html.sh (func_module): When replacing symbol() with a
 
        Avoid using the syntax symbol() in formatted documentation.
        * MODULES.html.sh (func_module): When replacing symbol() with a
        * m4/uintmax_t.m4: New file.
        * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
 
        * m4/uintmax_t.m4: New file.
        * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
 
-Copyright (C) 1997-2007 Free Software Foundation, Inc.
+Copyright (C) 1997-2008 Free Software Foundation, Inc.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.