Convert c-strcasestr to be more efficient.
[gnulib.git] / ChangeLog
index a8f8b4c..467fadb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,704 @@
+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.
+
+2007-12-31  Jim Meyering  <jim@meyering.net>
+
+       Avoid use of private FTS type name.
+       * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
+
+2007-12-30  Karl Berry  <karl@gnu.org>
+
+       * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
+       work around defect in Texinfo and/or the standalone Info browser.
+
+2007-12-30  Bruno Haible  <bruno@clisp.org>
+
+       Unify 5 copies of the KMP code.
+       * lib/str-kmp.h: New file.
+       * lib/c-strcasestr.c: Include str-kmp.h.
+       (knuth_morris_pratt): Remove function.
+       (c_strcasestr): Update.
+       * lib/c-strstr.c: Include str-kmp.h.
+       (knuth_morris_pratt): Remove function.
+       (c_strcasestr): Update.
+       * lib/mbscasestr.c: Include str-kmp.h.
+       (knuth_morris_pratt_unibyte): Remove function.
+       * lib/mbsstr.c: Include str-kmp.h.
+       (knuth_morris_pratt_unibyte): Remove function.
+       * lib/strcasestr.c: Include str-kmp.h.
+       (knuth_morris_pratt): Remove function.
+       (strcasestr): Update.
+       * modules/c-strcasestr (Files): Add lib/str-kmp.h.
+       * modules/c-strstr (Files): Likewise.
+       * modules/mbscasestr (Files): Likewise.
+       * modules/mbsstr (Files): Likewise.
+       * modules/strcasestr (Files): Likewise.
+       Suggested by Paul Eggert.
+
+2007-12-30  Bruno Haible  <bruno@clisp.org>
+
+       * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
+       defined.
+
+2007-12-30  Bruno Haible  <bruno@clisp.org>
+
+       * lib/xmalloca.h: Include xalloc.h.
+       (xnmalloca): New macro.
+
+2007-12-30  Bruno Haible  <bruno@clisp.org>
+
+       * lib/malloca.h (nmalloca): New macro.
+       * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
+       * lib/c-strstr.c (knuth_morris_pratt): Likewise.
+       * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
+       knuth_morris_pratt_multibyte): Likewise.
+       * lib/mbsstr.c (knuth_morris_pratt_unibyte,
+       knuth_morris_pratt_multibyte): Likewise.
+       * lib/memmem.c (knuth_morris_pratt): Likewise.
+       * lib/strcasestr.c (knuth_morris_pratt): Likewise.
+
+2007-12-25  Bruno Haible  <bruno@clisp.org>
+
+       Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
+       * lib/glob.c: Don't include openat.h.
+       (link_exists2_p): Add back the code that deals with the
+       !GLOB_ALTDIRFUNC case.
+       (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
+       let it do the filename concatenation.
+       * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
+       * modules/glob (Depends-on): Remove openat.
+
+2007-12-31  Bruno Haible  <bruno@clisp.org>
+
+       * modules/dirfd (License): Change to LGPLv2+.
+       Approved by Jim Meyering.
+
+2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
+       when multiplying M by sizeof (size_t).
+
+2007-12-10  Martin Lambers  <marlam@marlam.de>
+
+       Override getpagesize on mingw.
+       * lib/getpagesize.c: New file.
+       * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
+       * modules/getpagesize (Files): Add lib/getpagesize.c.
+       * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       REPLACE_GETPAGESIZE.
+       * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
+
+2007-12-25  Bruno Haible  <bruno@clisp.org>
+
+       * modules/localcharset (Notice): New field.
+       (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
+       Suggested by Ben Pfaff <blp@cs.stanford.edu>.
+
+2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+           Bruno Haible  <bruno@clisp.org>
+
+       Avoid using the syntax symbol() in formatted documentation.
+       * MODULES.html.sh (func_module): When replacing symbol() with a
+       hyperlink, remove the parentheses. Show an error if some remain.
+       Recognize and render the '...' syntax.
+       * doc/alloca-opt.texi: Remove parentheses from symbol reference.
+       Rework. Add paragraph about GCC's inlining.
+       * doc/alloca.texi: Likewise.
+       * doc/error.texi: Remove parentheses from symbol reference.
+       * doc/gnulib-intro.texi: Likewise.
+       * doc/gnulib.texi (alloca, alloca-opt): New nodes.
+       * modules/fnmatch (Description): Reword to say "the ... function".
+       * modules/full-read (Description): Likewise.
+       * modules/full-write (Description): Likewise.
+       * modules/safe-read (Description): Likewise.
+       * modules/safe-write (Description): Likewise.
+       * modules/strchrnul (Description): Likewise.
+       * modules/trim (Description): Likewise.
+       * modules/error (Description): Remove parentheses from symbol
+       references.
+       * modules/verror (Description): Likewise.
+       Reported by Karl Berry.
+
+2007-12-25  Bruno Haible  <bruno@clisp.org>
+
+       Fixup after 2007-10-16 commit.
+       * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
+
+2007-12-24  Bruno Haible  <bruno@clisp.org>
+
+       Make --enable-relocatable work with DESTDIR.
+       * build-aux/install-reloc: Accept another argument 'destdir'. Use it
+       to compute installdir from destprog.
+       * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
+       also set the RELOC_DESTDIR variable.
+       Reported by Левашев Иван <octagram@bluebottle.com>.
+
+2007-12-24  Bruno Haible  <bruno@clisp.org>
+
+       Fix link error due to xalloc_die().
+       * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
+       of xreadlink.
+       * lib/relocwrapper.c: Update comments.
+       * build-aux/install-reloc: Remove xreadlink.c from file list.
+       * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
+       xreadlink.c.
+       Reported by Левашев Иван <octagram@bluebottle.com>.
+
+2007-12-24  Bruno Haible  <bruno@clisp.org>
+
+       Split setenv module into setenv and unsetenv. Get rid of setenv.h.
+       * lib/setenv.h: Remove file.
+       * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
+       lib/setenv.h.
+       * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
+       (Depends-on): Add stdlib.
+       (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
+       gl_FUNC_UNSETENV.
+       (Include): Replace setenv.h with <stdlib.h>.
+       * modules/unsetenv: New file.
+       * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
+       * lib/unsetenv.c: Include <stdlib.h> first.
+       * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
+       gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
+       (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
+       HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
+       * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
+       HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
+       HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
+       * doc/functions/unsetenv.texi: Update.
+       * modules/xsetenv (Depends-on): Add unsetenv.
+       * modules/getdate (Depends-on): Likewise.
+       * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
+       * lib/xsetenv.c: Don't include setenv.h.
+       * lib/getdate.y: Likewise.
+       * lib/relocwrapper.c: Likewise.
+       * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
+       (Depends-on): Add stdlib.
+       * NEWS: Mention the changes.
+       Reported by Левашев Иван <octagram@bluebottle.com>.
+
+2007-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/memmem.c (memmem): Use lowercase variable names. Tab
+       indentation.
+
+2007-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/c-strcasestr.c: Add more comments.
+       * lib/c-strstr.c: Likewise.
+       * lib/mbscasestr.c: Likewise.
+       * lib/mbsstr.c: Likewise.
+       * lib/strcasestr.c: Likewise.
+       * lib/memmem.c: Likewise.
+
+2007-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-memmem.c: Include <string.h> first.
+
+2007-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Change $auxdir while generating
+       the contents of $testsbase.
+       Reported by Ralf Wildenhues.
+
+2007-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
+       two variables local_ldadd_before, local_ldadd_last.
+
+2007-12-20  Eric Blake  <ebb9@byu.net>
+
+       Work around circular library issue when cross-compiling.
+       * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
+       that progname.o does not need to pull in rpl_memcmp.
+
+2007-12-19  Eric Blake  <ebb9@byu.net>
+
+       Fix memmem to avoid O(n^2) worst-case complexity.
+       * lib/memmem.c (knuth_morris_pratt): New function.
+       (memmem): Use it if first few naive iterations fail.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
+       * modules/memcmp (License): Set to LGPLv2+, not LGPL.
+       * modules/memchr (License): Likewise.
+       * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
+       malloca.
+       * tests/test-memmem.c: Rewrite, borrowing ideas from
+       test-mbsstr1.c; the old version wouldn't even compile!
+       * modules/memmem-tests: New file.
+       * lib/string.in.h (rpl_memmem): Add declaration.
+       * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
+       REPLACE_MEMMEM.
+
+2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
+       * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
+       before any system include files, and undef after them all.  This
+       should fix a problem on VMS reported by John E. Malmberg in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
+
+2007-12-17  Eric Blake  <ebb9@byu.net>
+
+       Revert addition of verify, for BSD/OS.
+       * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
+       can't handle large files, for the sake of obsolete platforms.
+       * modules/fseeko (Depends-on): Remove verify.
+       * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
+       * doc/functions/ftello.texi (ftello): Likewise.
+       * doc/functions/fgetpos.texi (fgetpos): Likewise.
+       Reported by Larry Jones.
+
+2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
+
+       getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
+       * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
+
 2007-12-17  Jim Meyering  <meyering@redhat.com>
 
        Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
        * 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.