+2007-02-18 Bruno Haible <bruno@clisp.org>
+
+ * lib/readlink.c: Include <unistd.h>.
+ * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
+ HAVE_READLINK.
+ * modules/readlink (Depends-on): Add unistd.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+ (Include): Add <unistd.h>.
+
+ * lib/getlogin_r.h: Remove file.
+ * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
+ * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
+ (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
+ HAVE_DECL_GETLOGIN_R.
+ * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+ (Include): Use <unistd.h> instead of getlogin_r.h.
+
+ * lib/getcwd.h: Remove file.
+ * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
+ * lib/xgetcwd.c: Likewise.
+ * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
+ REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
+ * modules/getcwd (Files): Remove lib/getcwd.h.
+ (Depends-on): Add unistd.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+ (Include): Use <unistd.h> instad of getcwd.h.
+
+ * lib/ftruncate.c: Include <unistd.h> first.
+ * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
+ Set HAVE_FTRUNCATE.
+ * modules/ftruncate (Depends-on): Add unistd.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+
+ * lib/fchdir.c: Include <unistd.h> first.
+ * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
+ * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
+ of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
+ * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+ (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
+
+ * lib/dup2.c: Include <unistd.h> first.
+ * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
+ HAVE_DUP2.
+ * modules/dup2 (Depends-on): Add unistd.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+
+ * lib/chown.c: Include <unistd.h> first. Undefine chown later.
+ * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
+ REPLACE_CHOWN. Don't define chown as a macro here.
+ * modules/chown (Depends-on): Add unistd.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+
+ * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
+ Add definition for GL_LINK_WARNING.
+ (chown, dup2): New declarations.
+ (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
+ link warning.
+ (ftruncate): New declaration.
+ (getcwd): New declaration, taken from old getcwd.h.
+ (getlogin_r): New declaration, taken from old getlogin_r.h.
+ (readlink): New declaration.
+ * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
+ set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
+ (gl_PREREQ_UNISTD): Remove macro.
+ (gl_UNISTD_MODULE_INDICATOR): New macro.
+ (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
+ many new variables. Don't set UNISTD_H.
+ * modules/unistd (Description): Change.
+ (Depends-on): Add link-warning.
+ (configure.ac): Update.
+ (Makefile.am): Create unistd.h always. Substitute many new variables
+ into it.
+
+2007-02-18 Bruno Haible <bruno@clisp.org>
+
+ * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
+ * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
+ HAVE_GETSUBOPT.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
+ GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
+ * lib/getsubopt.h: Remove file.
+ * modules/getsubopt (Files): Remove lib/getsubopt.h.
+ (Depends-on): Add stdlib.
+ (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
+ (Includes): Use <stdlib.h> instead of getsubopt.h.
+ * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
+ Set HAVE_GETSUBOPT.
+ * lib/getsubopt.c: Don't include getsubopt.h.
+
+2007-02-18 Bruno Haible <bruno@clisp.org>
+
+ * modules/fchdir (Depends-on): Add dup2.
+
+2007-02-18 Bruno Haible <bruno@clisp.org>
+
+ * lib/stdlib_.h: Handle glibc's special invocation convention
+ specially.
+
+2007-02-18 Bruno Haible <bruno@clisp.org>
+
+ * modules/stdlib-tests: New file.
+ * tests/test-stdlib.c: New file.
+
+ * modules/mkstemp (Files): Remove lib/mkstemp.h.
+ (Depends-on): Add stdlib.
+ (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
+ (Includes): Use <stdlib.h> instead of mkstemp.h.
+ * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
+ REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
+ * lib/mkstemp.c: Don't include mkstemp.h.
+ * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
+ * lib/stdlib--.h: Don't include mkstemp.h.
+
+ * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
+ (Depends-on): Add stdlib.
+ (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
+ (Includes): Use <stdlib.h> instead of mkdtemp.h.
+ * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
+ HAVE_MKDTEMP.
+ * lib/mkdtemp.c: Don't include mkdtemp.h.
+ * lib/clean-temp.c: Don't include mkdtemp.h.
+
+ * modules/exit (Files): Remove lib/exit.h.
+ (Depends-on): Add stdlib.
+ (Makefile.am): Remove lib_SOURCES.
+ (Include): Use <stdlib.h> instead of exit.h.
+ * lib/argmatch.c: Don't include exit.h.
+ * lib/execute.c: Likewise.
+ * lib/pagealign_alloc.c: Likewise.
+ * lib/pipe.c: Likewise.
+ * lib/wait-process.c: Likewise.
+ * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
+ * lib/exitfail.c: Likewise.
+ * lib/savewd.c: Likewise.
+ * lib/xsetenv.c: Likewise.
+
+ * modules/stdlib: New file.
+ * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
+ and extra comments about mkstemp().
+ * lib/exit.h: Remove file.
+ * lib/mkdtemp.h: Remove file.
+ * lib/mkstemp.h: Remove file.
+ * m4/stdlib_h.m4: New file.
+ * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
+
+2007-02-18 Bruno Haible <bruno@clisp.org>
+
+ * modules/math-tests: New file.
+ * tests/test-math.c: New file.
+
+ * modules/math: New file.
+ * modules/mathl (Files): Remove lib/mathl.h.
+ (Depends-on): Add math.
+ (Makefile.am): Don't mention mathl.h.
+ (Include): Use <math.h> instead of mathl.h.
+ * lib/math_.h: New file.
+ * lib/mathl.h: Remove file.
+ * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
+ mathl.h.
+ * lib/asinl.c: Likewise.
+ * lib/atanl.c: Likewise.
+ * lib/ceill.c: Likewise.
+ * lib/cosl.c: Likewise.
+ * lib/expl.c: Likewise.
+ * lib/floorl.c: Likewise.
+ * lib/frexpl.c: Likewise.
+ * lib/ldexpl.c: Likewise.
+ * lib/logl.c: Likewise.
+ * lib/sincosl.c: Likewise.
+ * lib/sinl.c: Likewise.
+ * lib/sqrtl.c: Likewise.
+ * lib/tanl.c: Likewise.
+ * lib/trigl.c: Likewise.
+ * m4/math_h.m4: New file.
+ * MODULES.html.sh (Mathematics): Add math.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * modules/wctype-tests: New file.
+ * tests/test-wctype.c: New file.
+
+ * modules/wchar-tests: New file.
+ * tests/test-wchar.c: New file.
+
+ * modules/unistd-tests: New file.
+ * tests/test-unistd.c: New file.
+
+ * modules/time-tests: New file.
+ * tests/test-time.c: New file.
+
+ * modules/sysexits-tests: New file.
+ * tests/test-sysexits.c: New file.
+
+ * modules/sys_time-tests: New file.
+ * tests/test-sys_time.c: New file.
+
+ * modules/sys_stat-tests: New file.
+ * tests/test-sys_stat.c: New file.
+
+ * modules/sys_socket-tests: New file.
+ * tests/test-sys_socket.c: New file.
+
+ * modules/sys_select-tests: New file.
+ * tests/test-sys_select.c: New file.
+
+ * modules/string-tests: New file.
+ * tests/test-string.c: New file.
+
+ * modules/stdbool-tests: New file.
+ * tests/test-stdbool.c: New file.
+
+ * modules/netinet_in-tests: New file.
+ * tests/test-netinet_in.c: New file.
+
+ * modules/inttypes-tests: New file.
+ * tests/test-inttypes.c: New file.
+
+ * modules/fcntl-tests: New file.
+ * tests/test-fcntl.c: New file.
+
+ * modules/byteswap-tests: New file.
+ * tests/test-byteswap.c: New file.
+
+ * modules/arpa_inet-tests: New file.
+ * tests/test-arpa_inet.c: New file.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
+ (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
+ if the corresponding module is not enabled. Emit link warnings if
+ the function is used nevertheless.
+ * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
+ Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
+ HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
+ (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
+ * modules/inttypes (Depends-on): Add link-warning.
+ (Makefile.am): Copy the contents of build-aux/link-warning.h into
+ inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
+ GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
+ * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
+ * modules/imaxdiv (configure.ac): Likewise.
+ * modules/strtoimax (configure.ac): Likewise.
+ * modules/strtoumax (configure.ac): Likewise.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
+ gl_STRING_MODULE_INDICATOR_DEFAULTS.
+ (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
+ (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * modules/link-warning: New file.
+ * build-aux/link-warning.h: New file, extracted from lib/string_.h.
+ * lib/string_.h (GL_LINK_WARNING): Remove definition.
+ * modules/string (Depends-on): Add link-warning.
+ (Makefile.am): Copy the contents of build-aux/link-warning.h into
+ string.h.
+ * MODULES.html.sh (Support for building libraries and executables): Add
+ link-warning.
+
+2007-02-17 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
+ strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
+ strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
+ long lines.
+
+2007-02-17 Ben Pfaff <blp@cs.stanford.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ * modules/tmpfile: New file.
+ * lib/tmpfile.c: New file.
+ * m4/tmpfile.m4: New file.
+ * MODULES.html.sh (func_all_modules): New section "Input/output".
+
+2007-02-15 Bruno Haible <bruno@clisp.org>
+
+ * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
+ (supports_delete_on_close): New function.
+ (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
+
+2007-02-14 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbspcasecmp-tests: New file.
+ * tests/test-mbspcasecmp.sh: New file.
+ * tests/test-mbspcasecmp.c: New file.
+
+ New module mbspcasecmp.
+ * modules/mbspcasecmp: New file.
+ * lib/mbspcasecmp.c: New file.
+ * lib/string_.h (strncasecmp): Change warning message.
+ (mbspcasecmp): New declaration.
+ * m4/mbspcasecmp.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSPCASECMP.
+ * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
+ * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
+
+2007-02-14 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbsncasecmp-tests: New file.
+ * tests/test-mbsncasecmp.sh: New file.
+ * tests/test-mbsncasecmp.c: New file.
+
+ New module mbsncasecmp.
+ * modules/mbsncasecmp: New file.
+ * lib/mbsncasecmp.c: New file.
+ * lib/string_.h (mbsncasecmp): New declaration.
+ * m4/mbsncasecmp.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSNCASECMP.
+ * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
+ * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
+
+2007-02-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
+ Verify that it doesn't overlap with our flags.
+ (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
+ do not have the desired effect in multibyte locales; instead, use
+ mbscasecmp.
+ * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
+ Add dependency on xalloc. Depend on fnmatch, not fnmatch-gnu, since
+ we don't require GNU fnmatch ourselves (if our users require it, they
+ should do so explicitly).
+
+ Fix regex code so it doesn't rely on strcasecmp.
+ * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
+ Otherwise, include gnulib's langinfo.h.
+ * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
+ undesirable behavior in non-C locales. Instead, rely on localecharset.
+ * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
+ * modules/regex (FILES): Remove m4/codeset.m4.
+ (Depends-on): Add localcharset. Remove strcase.
+
+2007-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
+ * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
+
+2007-02-13 Bruno Haible <bruno@clisp.org>
+
+ * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-02-12 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
+ strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
+ GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
+ time warning rather than a link error.
+
+2007-02-12 Bruno Haible <bruno@clisp.org>
+
+ * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
+ * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-02-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
+ args, not 2.
+
+2007-02-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ New module 'time', so that apps can include <time.h> as per
+ POSIX and GNU instead of separate include files like time_r.h
+ and timegm.h. This implementation tries out a simpler approach
+ for replacing decls in standard include files (as compared to
+ the string module), somewhat as an experiment.
+
+ * config/srclist.txt: Comment out mktime.c for now.
+ * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
+ since it doesn't apply any more. Use generic wording instead.
+ * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
+ 'time'.
+ * lib/time_.h, m4/time_h.m4, modules/time: New files.
+ * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
+ * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
+ Don't include <sys/types.h>; no longer needed since we assume C89.
+ * lib/mktime.c: Don't include "time_r.h"; no longer needed.
+ * lib/strftime.c: Likewise.
+ * lib/time_r.c: Likewise.
+ * lib/nanosleep.c (nanosleep): #undef after include files, not before.
+ * lib/nanosleep.c: Include <time.h> first, to check interface.
+ * lib/strptime.c: Likewise.
+ * lib/time_r.c: Likewise.
+ * lib/timegm.c: Likewise.
+ * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
+ needed.
+ * lib/timegm.c: Don't include timegm.h; no longer needed.
+ * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
+ time.h now handles any problems in that area.
+ (struct timespec, nanosleep): Remove; time.h now arranges for these.
+ * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
+ that time.h defines struct timespec.
+ * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
+ Set REPLACE_NANOSLEEP. Don't AC_DEFINE nanosleep; the time module now
+ handles that.
+ * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
+ * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
+ needed. Set REPLACE_LOCALTIME.
+ * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
+ * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
+ (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
+ nanosleep; time_h.m4 now does that. Don't require
+ gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
+ module handles this now.
+ * modules/getdate (Depends-on): Remove timespec. Add time.
+ * modules/nanosleep (Depends-on): Likewise.
+ * modules/stat-time (Depends-on): Likewise.
+ * modules/nanosleep (Include): Include time.h, not timespec.h.
+ * modules/strptime (Files): Remove lib/strptime.h.
+ (Depends-on): Add extensions, time.
+ (Include): Include time.h, not strptime.h.
+ * modules/time_r (Files): Remove lib/time_r.h.
+ (Depends-on): Add time.
+ (Include): Include time.h, not time_r.h.
+ * modules/timegm: Likewise.
+ * modules/timespec (Description): Now does timespec-related decls
+ of our own, instead of struct timespec itself.
+ (Depends-on): Add time; remove extensions.
+ (Maintainer): Add self.
+ * modules/utimecmp (Depends-on): Add time; remove timespec.
+ * modules/utimens (Depends-on): Likewise.
+ * modules/xnanosleep (Depends-on): Likewise.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/c-strstr.c: Include allocsa.h.
+ (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+ * lib/c-strcasestr.c: Include allocsa.h.
+ (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+ * lib/strcasestr.c: Include allocsa.h.
+ (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
+ * lib/mbsstr.c: Include allocsa.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
+ allocsa/freesa instead of malloc/free.
+ * lib/mbscasestr.c: Include allocsa.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
+ allocsa/freesa instead of malloc/free.
+ * modules/c-strstr (Depends-on): Add allocsa.
+ * modules/c-strcasestr (Depends-on): Likewise.
+ * modules/strcasestr (Depends-on): Likewise.
+ * modules/mbsstr (Depends-on): Likewise.
+ * modules/mbscasestr (Depends-on): Likewise.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
+
+ * modules/mbsspn-tests: New file.
+ * tests/test-mbsspn.sh: New file.
+ * tests/test-mbsspn.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
+
+ * modules/mbspbrk-tests: New file.
+ * tests/test-mbspbrk.sh: New file.
+ * tests/test-mbspbrk.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
+ unneeded cast.
+
+ * modules/mbscspn-tests: New file.
+ * tests/test-mbscspn.sh: New file.
+ * tests/test-mbscspn.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbscasecmp-tests: New file.
+ * tests/test-mbscasecmp.sh: New file.
+ * tests/test-mbscasecmp.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of mbscasestr.
+ * lib/mbscasestr.c: Include stdbool.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
+ functions.
+ (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
+ the bookkeeping indicates that it's worth it.
+ * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
+
+ * modules/mbscasestr-tests: New file.
+ * tests/test-mbscasestr1.c: New file.
+ * tests/test-mbscasestr2.sh: New file.
+ * tests/test-mbscasestr2.c: New file.
+ * tests/test-mbscasestr3.sh: New file.
+ * tests/test-mbscasestr3.c: New file.
+ * tests/test-mbscasestr4.sh: New file.
+ * tests/test-mbscasestr4.c: New file.
+ * m4/locale-tr.m4: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of mbsstr.
+ * lib/mbsstr.c: Include stdbool.h.
+ (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
+ functions.
+ (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
+ bookkeeping indicates that it's worth it.
+ * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
+
+ * modules/mbsstr-tests: New file.
+ * tests/test-mbsstr1.c: New file.
+ * tests/test-mbsstr2.sh: New file.
+ * tests/test-mbsstr2.c: New file.
+ * tests/test-mbsstr3.sh: New file.
+ * tests/test-mbsstr3.c: New file.
+ * m4/locale-fr.m4: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbsrchr.c (mbsrchr): Fix bug.
+
+ * modules/mbsrchr-tests: New file.
+ * tests/test-mbsrchr.sh: New file.
+ * tests/test-mbsrchr.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * lib/mbschr.c (mbschr): Fix bug.
+
+ * modules/mbschr-tests: New file.
+ * tests/test-mbschr.sh: New file.
+ * tests/test-mbschr.c: New file.
+ * m4/locale-zh.m4: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Support for copying multibyte string iterators.
+ * lib/mbiter.h: Include <string.h>.
+ (mbiter_multi_copy): New function.
+ (mbi_copy): New macro.
+ * lib/mbuiter.h: Include <string.h>.
+ (mbuiter_multi_copy): New function.
+ (mbui_copy): New macro.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ New module mbslen.
+ * modules/mbslen: New file.
+ * lib/mbslen.c: New file.
+ * lib/string_.h (mbslen): New declaration.
+ * m4/mbslen.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSLEN.
+ * modules/string (string.h): Also substitute GNULIB_MBSLEN.
+ * MODULES.html.sh (Internationalization functions): Add mbslen.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of strcasestr substitute.
+ * lib/strcasestr.c: Include stdbool.h.
+ (knuth_morris_pratt): New function.
+ (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
+ bookkeeping indicates that it's worth it.
+ * modules/strcasestr (Depends-on): Add stdbool, strnlen.
+
+ * modules/strcasestr-tests: New file.
+ * tests/test-strcasestr.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of c_strcasestr.
+ * lib/c-strcasestr.c: Include stdbool.h, string.h.
+ (knuth_morris_pratt): New function.
+ (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
+ the bookkeeping indicates that it's worth it.
+ * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
+
+ * modules/c-strcasestr-tests: New file.
+ * tests/test-c-strcasestr.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ Ensure O(n) worst-case complexity of c_strstr.
+ * lib/c-strstr.c: Include stdbool.h, string.h.
+ (knuth_morris_pratt): New function.
+ (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
+ bookkeeping indicates that it's worth it.
+ * modules/c-strstr (Depends-on): Add stdbool, strnlen.
+
+ * lib/c-strstr.c: Complete rewrite for maintainability.
+
+ * modules/c-strstr-tests: New file.
+ * tests/test-c-strstr.c: New file.
+
+2007-02-11 Bruno Haible <bruno@clisp.org>
+
+ * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
+ 5.2.1 and earlier, whereby \055 was treated just like the range
+ delimiter '-'. Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
+
+2007-02-08 Bruno Haible <bruno@clisp.org>
+
+ * modules/regex (Depends-on): Add stdbool.
+ Reported by Dalibor Topic <robilad@kaffe.org>.
+
+2007-02-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
+ Prefer returning from main to exiting from it.
+ Remove unnecessary parens after sizeof.
+
+2007-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module mbssep.
+ * modules/mbssep: New file.
+ * lib/mbssep.c: New file.
+ * lib/string_.h (strsep): Add a conditional link warning.
+ (mbssep): New declaration.
+ * m4/mbssep.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSSEP.
+ * modules/string (string.h): Also substitute GNULIB_MBSSEP.
+ * MODULES.html.sh (Internationalization functions): Add mbssep.
+
+2007-02-05 Bruno Haible <bruno@clisp.org>
+
+ * lib/strsep.c (strsep): Fix actions in case of no delimiters.
+ Optimize search in case of 1 delimiter.
+
+2007-02-05 Paolo Bonzini <bonzini@gnu.org>
+
+ * lib/acl.h: Include sys/types.h before sys/acl.h.
+
+2007-02-05 Paolo Bonzini <bonzini@gnu.org>
+
+ Merge upstream fix for glibc bugzilla #3957:
+
+ 2007-02-05 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
+ bit for RE_HAT_LISTS_NOT_NEWLINE.
+ (build_charclass_op): Remove bogus comment.
+
+2007-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
+
+2007-02-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
+ * lib/memmem.c [!defined _LIBC]: Include config.h.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
+ warning message.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbstok_r.
+ * modules/mbstok_r: New file.
+ * lib/mbstok_r.c: New file.
+ * lib/string_.h (strtok_r): Change argument names to match the
+ comments. Add a conditional link warning.
+ (mbstok_r): New declaration.
+ * m4/mbstok_r.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSTOK_R.
+ * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
+ * MODULES.html.sh (Internationalization functions): Add mbstok_r.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbsspn.
+ * modules/mbsspn: New file.
+ * lib/mbsspn.c: New file.
+ * lib/string_.h (strspn): Add a conditional link warning.
+ (mbsspn): New declaration.
+ * m4/mbsspn.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSSPN.
+ * modules/string (string.h): Also substitute GNULIB_MBSSPN.
+ * MODULES.html.sh (Internationalization functions): Add mbsspn.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbspbrk.
+ * modules/mbspbrk: New file.
+ * lib/mbspbrk.c: New file.
+ * lib/string_.h (strpbrk): Add a conditional link warning.
+ (mbspbrk): New declaration.
+ * m4/mbspbrk.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSPBRK.
+ * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
+ * MODULES.html.sh (Internationalization functions): Add mbspbrk.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbscspn.
+ * modules/mbscspn: New file.
+ * lib/mbscspn.c: New file.
+ * lib/string_.h (strcspn): Add a conditional link warning.
+ (mbscspn): New declaration.
+ * m4/mbscspn.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSCSPN.
+ * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
+ * MODULES.html.sh (Internationalization functions): Add mbscspn.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbscasestr, reduced goal of strcasestr.
+ * modules/mbscasestr: New file.
+ * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
+ (mbscasestr): Renamed from strcasestr.
+ * lib/strcasestr.c: Don't include mbuiter.h.
+ (strcasestr): Remove support for multibyte locales.
+ * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
+ Change the conditional link warning.
+ (mbscasestr): New declaration.
+ * m4/mbscasestr.m4: New file.
+ * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
+ the system does not have strcasestr. Set HAVE_STRCASESTR instead of
+ REPLACE_STRCASESTR.
+ (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+ HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
+ (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
+ * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
+ Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
+ * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
+ (Depends-on): Remove mbuiter.
+ * MODULES.html.sh (Internationalization functions): Add mbscasestr.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ Simplify handling of strncasecmp.
+ * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
+ the conditional link warning.
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+ HAVE_STRCASECMP, not REPLACE_STRCASECMP.
+ (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
+ * modules/strcase (configure.ac): Don't invoke
+ gl_STRING_MODULE_INDICATOR.
+ * modules/string (string.h): Don't substitute GNULIB_STRCASE.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbscasecmp, reduced goal of strcasecmp.
+ * modules/mbscasecmp: New file.
+ * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
+ (mbscasecmp): Renamed from strcasecmp.
+ * lib/strcasecmp.c: Don't include mbuiter.h.
+ (strcasecmp): Remove support for multibyte locales.
+ * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
+ Change the conditional link warning.
+ (mbscasecmp): New declaration.
+ * m4/mbscasecmp.m4: New file.
+ * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
+ the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
+ REPLACE_STRCASECMP.
+ (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSCASECMP.
+ * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
+ Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
+ * modules/strcase (Files): Remove m4/mbrtowc.m4.
+ (Depends-on): Remove mbuiter.
+ * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbsstr. Remove module strstr.
+ * modules/mbsstr: New file.
+ * modules/strstr: Remove file.
+ * lib/mbsstr.c: Renamed from lib/strstr.c.
+ (mbsstr): Renamed from strstr.
+ * lib/string_.h (strstr): Remove declaration. Change the conditional
+ link warning.
+ (mbsstr): New declaration.
+ * m4/mbsstr.m4: New file.
+ * m4/strstr.m4: Remove file.
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
+ REPLACE_STRSTR.
+ (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
+ Don't initialize GNULIB_STRSTR.
+ * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
+ substitute GNULIB_STRSTR and REPLACE_STRSTR.
+ * MODULES.html.sh (Internationalization functions): Add mbsstr.
+ (Support for systems lacking ANSI C 89): Remove strstr.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbsrchr.
+ * modules/mbsrchr: New file.
+ * lib/mbsrchr.c: New file.
+ * lib/string_.h (strrchr): Add a conditional link warning.
+ (mbsrchr): New declaration.
+ * m4/mbsrchr.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSRCHR.
+ * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
+ * MODULES.html.sh (Internationalization functions): Add mbsrchr.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module mbschr.
+ * modules/mbschr: New file.
+ * lib/mbschr.c: New file.
+ * lib/string_.h (strchr): Add a conditional link warning.
+ (mbschr): New declaration.
+ * m4/mbschr.m4: New file.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
+ GNULIB_MBSCHR.
+ * modules/string (string.h): Also substitute GNULIB_MBSCHR.
+ * MODULES.html.sh (Internationalization functions): Add mbschr.
+
+2007-02-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
+
+ * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ New module description section 'configure.ac-early'.
+ * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
+ (func_get_autoconf_early_snippet): New function.
+ (func_import, func_create_testdir): Use it. Remove special cases for
+ modules 'extensions' and 'lock'.
+ * modules/extensions (configure.ac-early): Require
+ gl_USE_SYSTEM_EXTENSIONS.
+ * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
+
+2007-02-04 Bruno Haible <bruno@clisp.org>
+
+ Make use of gcj-4.3's -fsource and -ftarget option.
+ * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
+ and if so try the options -fsource and -ftarget.
+ * lib/javacomp.c (compile_using_gcj): Add fsource_option,
+ source_version, ftarget_option, target_version arguments.
+ (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
+ (is_envjavac_oldgcj_14_14_usable): Renamed from
+ is_envjavac_gcj_14_14_usable.
+ (is_envjavac_oldgcj_14_13_usable): Renamed from
+ is_envjavac_gcj_14_13_usable.
+ (is_gcj_present): Update.
+ (is_gcj_43, is_gcj43_usable): New functions.
+ (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
+ (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
+ (compile_java_class): Test whether gcj is in version >= 4.3, and if so
+ try the options -fsource and -ftarget.
+
+2007-02-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
+ checking code. Set N = ceil (1.5 * N) rather than to a slightly
+ larger value.
+
+2007-02-03 Jim Meyering <jim@meyering.net>
+
+ Give tools a better chance to allocate space for very large buffers.
+ * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
+
+ Make pwd and readlink work also when run with an unreadable parent dir
+ on systems with openat support.
+ * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
+ provided getcwd function, even when we have openat support.
+ Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
+
+2007-02-02 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
+ strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
+ error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
+ portability problems if one of these functions is only used on specific
+ platforms.
+ Reported by Paul Eggert.
+
+2007-02-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid mempcpy in the regex code, as the string.h mempcpy stuff
+ is causing more trouble than it's curing.
+ * lib/regex_internal.h (__mempcpy): Remove.
+ * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
+ (and make the code a tad smaller to boot).
+ * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
+
+2007-02-02 Jim Meyering <jim@meyering.net>
+
+ * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
+ section, not in the Makefile.am: one.
+
+2007-02-02 Eric Blake <ebb9@byu.net>
+
+ * lib/strchrnul.c: Always include config.h first.
+
+ * modules/mountlist (Depends-on): Revert 2007-01-31 change,
+ gnulib strstr is not necessary here.
+
+2007-02-02 Simon Josefsson <simon@josefsson.org>
+
+ * m4/socklen.m4: Fix typo.
+
+2007-02-02 Eric Blake <ebb9@byu.net>
+
+ * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
+ * modules/netinet_in (Makefile.am): Likewise.
+
+2007-02-01 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h (GL_LINK_WARNING): New macro.
+ (strcasecmp, strstr, strcasestr): If provided by the system,
+ conditionally define as a macro that leads to a warning instead of to
+ an error.
+ (strncasecmp): Conditionally define as a macro that leads to a warning.
+
+2007-02-01 Jim Meyering <jim@meyering.net>
+
+ Give tools a better chance to allocate space for very large buffers.
+ * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
+
+2007-02-01 Karl Berry <karl@gnu.org>
+
+ * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
+
+2007-02-01 Bruno Haible <bruno@clisp.org>
+
+ * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
+ renamings.
+
+2007-02-01 Eric Blake <ebb9@byu.net>
+
+ * modules/regex (Depends-on): Revert dependence on mempcpy.
+ * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
+ module's definition of mempcpy.
+ Reported by Paul Eggert.
+
+2007-02-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/string_.h: If the gnulib module XYZ is not present, undefine
+ the symbol XYZ before redefining it. This fixes a problem with
+ programs that don't use XYZ, when compiled on systems that define
+ XYZ to something else.
+
+2007-01-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/mkdir-p.c (make_dir_parents): Close a race condition that
+ occurs when "mkdir -m foo" creates a setgid directory that is (1)
+ writeable to group or other and (2) is intended to have a special
+ mode bit that is set or cleared. In such a case, the directory
+ should be neither group- nor other-writeable until the special
+ mode bits are right.
+
+2007-01-31 Eric Blake <ebb9@byu.net>
+
+ * modules/mountlist (Depends-on): Add strstr.
+
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
+ bug.
+ * modules/string (Makefile.am): Remove redundant replacement.
+ * modules/regex (Depends-on): Add mempcpy.
+
+2007-01-31 Bruno Haible <bruno@clisp.org>
+
+ New module description field 'Link'.
+ * gnulib-tool (func_usage): Document --extract-link-directive.
+ (sed_extract_prog): Recognize 'Link' directive.
+ (func_get_link_directive): New function.
+ (func_import): Show summary of link directives.
+ Handle --extract-link-directive option.
+ * modules/acl (Link): New section.
+ * modules/clock-time (Link): New section.
+ * modules/euidaccess (Link): New section.
+ * modules/gettext (Link): New section.
+ * modules/iconv (Link): New section.
+ * modules/lock (Link): New section.
+ * modules/nanosleep (Link): New section.
+ * modules/readline (Link): New section.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ Enforce the use of gnulib modules for unportable <string.h> functions.
+ * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
+ (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
+ (gl_HEADER_STRING_H_BODY): Require it.
+ * lib/string_.h: If the gnulib module XYZ is not present, redefine
+ the symbol XYZ to one that gives a link error.
+ * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
+ * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
+ * modules/mempcpy (configure.ac): Likewise.
+ * modules/memrchr (configure.ac): Likewise.
+ * modules/stpcpy (configure.ac): Likewise.
+ * modules/stpncpy (configure.ac): Likewise.
+ * modules/strcase (configure.ac): Likewise.
+ * modules/strcasestr (configure.ac): Likewise.
+ * modules/strchrnul (configure.ac): Likewise.
+ * modules/strdup (configure.ac): Likewise.
+ * modules/strndup (configure.ac): Likewise.
+ * modules/strnlen (configure.ac): Likewise.
+ * modules/strpbrk (configure.ac): Likewise.
+ * modules/strsep (configure.ac): Likewise.
+ * modules/strstr (configure.ac): Likewise.
+ * modules/strtok_r (configure.ac): Likewise.
+
+2007-01-31 Jean-Louis Martineau <martineau@zmanda.com> (tiny change)
+
+ * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
+
+2007-01-30 Jim Meyering <jim@meyering.net>
+
+ * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
+
+2007-01-29 Bruno Haible <bruno@clisp.org>
+
+ * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
+ * lib/execute.c: Likewise.
+ * lib/pipe.c: Likewise.
+ * lib/printf-args.h: Likewise.
+ * lib/printf-args.c: Likewise.
+ * lib/printf-parse.c: Likewise.
+ * lib/vasnprintf.c: Likewise.
+
+2007-01-29 Eric Blake <ebb9@byu.net>
+
+ * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
+ declaration.
+
+2007-01-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/strptime.h (strptime): Use 'restrict' for args where
+ POSIX requires this.
+ * lib/strptime.c (strptime): Likewise.
+ Change license notice from LGPL to GPL, since gnulib-tool will
+ change this as needed.
+ Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
+ defined.
+ Include "strptime.h" first, to check interface.
+ Do not #undef _LIBC and _NL_CURRENT.
+ Do not include <stdlib.h>; no longer needed.
+ Include "time_r.h" and declare ptime_locale_status
+ only if _LIBC is not defined.
+ (__P): Remove unused macro.
+ (match_string): Bring back glibc version, but use it only if _LIBC
+ is defined.
+ (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
+ Remove unnecessary assertion and abort() call.
+ Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
+ * m4/strptime.m4: Fix serial number comment.
+ (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
+ * modules/strptime (Files): Add m4/tm_gmtoff.m4.
+ (Depends-on): Add time_r.
+
+2007-01-29 Bruno Haible <bruno@clisp.org>
+
+ * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
+ strptime.
+ * modules/strptime (Depends-on): Add stdbool.
+ * lib/strptime.h: Include <time.h> always. Add comments.
+
+2007-01-29 Yoann Vandoorselaere <yoann@prelude-ids.org>
+
+ * modules/strptime: New file.
+ * lib/strptime.h: New file.
+ * lib/strptime.c: New file.
+ * m4/strptime.m4: New file.
+
+2007-01-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * MODULES.html.sh: New module mpsort.
+ * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
+
+ * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
+ a circularity problem with HP-UX ia64 reported by Bob Proulx in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
+ All uses changed.
+ (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
+ All uses changed.
+ * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
+ to _Restrict_.
+ * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
+ the parameter matches the prototype.
+
+2007-01-28 Jim Meyering <jim@meyering.net>
+
+ * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
+ sys/time.h here, reverting that part of the previous patch:
+ <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
+
+2007-01-28 Bruno Haible <bruno@clisp.org>
+
+ * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
+ value of $(SYS_TIME_H).
+ [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
+ remove it conditionally, too. [added by Jim Meyering]
+ * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
+ * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
+ (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
+ GETTIMEOFDAY_REPLACEMENT to 1.
+
+2007-01-28 Bruno Haible <bruno@clisp.org>
+
+ * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
+ (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
+ * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
+ Set UNISTD_H instead of UNISTD_H2.
+ * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
+
+2007-01-28 Bruno Haible <bruno@clisp.org>
+
+ * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
+ * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
+
+2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
+ (func_create_testdir): Ensure C locale for `grep' and `tr'
+ character ranges.
+ (func_create_megatestdir): Avoid one `grep'. Fix bug in
+ ACLOCAL_AMFLAGS parsing state machine.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ * modules/unistr/base: Update.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
+ u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
+ * modules/unistr/u32-mbtouc-unsafe: Renamed from
+ modules/unistr/u32-mbtouc.
+ * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
+ * lib/unistr.h: Update.
+ * lib/linebreak.c: Update.
+ * modules/unistr/u32-mbtouc: Renamed from
+ modules/unistr/u32-mbtouc-safe.
+ * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
+ * lib/unistr.h: Update.
+ * lib/unistr/u32-to-u8.c: Update.
+ * lib/unistr/u32-to-u16.c: Update.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
+ u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
+ * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
+ * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
+ * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
+ * modules/unistr/u16-mbtouc-unsafe: Renamed from
+ modules/unistr/u16-mbtouc.
+ * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
+ * lib/unistr.h: Update.
+ * lib/linebreak.c: Update.
+ * modules/linebreak: Update.
+ * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
+ * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
+ * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
+ * modules/unistr/u16-mbtouc: Renamed from
+ modules/unistr/u16-mbtouc-safe.
+ * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
+ * lib/unistr.h: Update.
+ * lib/unistr/u16-to-u8.c: Update.
+ * modules/unistr/u16-to-u8: Update.
+ * lib/unistr/u16-to-u32.c: Update.
+ * modules/unistr/u16-to-u32: Update.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
+ u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
+ * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
+ * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
+ * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
+ * modules/unistr/u8-mbtouc-unsafe: Renamed from
+ modules/unistr/u8-mbtouc.
+ * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
+ * lib/unistr.h: Update.
+ * lib/striconveh.c: Update.
+ * modules/striconveh: Update.
+ * lib/linebreak.c: Update.
+ * modules/linebreak: Update.
+ * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
+ * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
+ * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
+ * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
+ * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
+ * lib/unistr.h: Update.
+ * lib/striconveh.c: Update.
+ * modules/striconveh: Update.
+ * lib/unistr/u8-to-u16.c: Update.
+ * modules/unistr/u8-to-u16: Update.
+ * lib/unistr/u8-to-u32.c: Update.
+ * modules/unistr/u8-to-u32: Update.
+
+2007-01-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Sync from Libtool.
+ * lib/argz.c: Do not include strings.h nor memory.h, include
+ string.h unconditionally. Patch by Simon Josefsson.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
+ from gl_HEADER_STRING_H_BODY.
+ (gl_HEADER_STRING_H_BODY): Require it.
+ * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
+ * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
+ * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
+ * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
+ * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
+ * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
+ * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
+ * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
+ * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
+ * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
+ * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
+ * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
+ * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
+ * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
+ * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
+ check_PROGRAMS into noinst_PROGRAMS.
+ (func_emit_tests_Makefile_am): Likewise. Also don't initialize
+ check_PROGRAMS in this case.
+ (func_import): Set for_test to false.
+ (func_create_testdir): Set for_test to true.
+
+2007-01-27 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * modules/strcasestr (Files): Remove lib/strcasestr.h.
+ (Depends-on): Add string.
+ (Includes): Use <string.h> instead of strcasestr.h.
+ * modules/string (Makefile.am): Also substitute the value of
+ REPLACE_STRCASESTR.
+ * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
+ assume strcasestr is declared in <string.h> not <strings.h>. Also
+ set REPLACE_STRCASESTR.
+ * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
+ REPLACE_STRCASESTR.
+ * lib/strcasestr.h: Remove file.
+ * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
+ * lib/string_.h (strcasestr): New declaration.
+
+2007-01-27 Bruno Haible <bruno@clisp.org>
+
+ * lib/string_.h: Use 'extern'.
+
+2007-01-27 Jim Meyering <jim@meyering.net>
+
+ * lib/regex_internal.c (re_string_reconstruct): Remove declaration
+ of set-but-not-used local, "q".
+
+ * lib/mempcpy.c: Include <config.h> before <string.h>.
+ This fixes a compilation error on HP-UX, due to the system's
+ "restrict"-using mempcpy prototype.
+
+2007-01-26 Bruno Haible <bruno@clisp.org>
+
+ Small optimization.
+ * lib/javacomp.c: Include c-strstr.h.
+ (is_envjavac_gcj): Use c_strstr instead of strstr.
+ * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
+
+2007-01-26 Bruno Haible <bruno@clisp.org>
+
+ * MODULES.html.sh (Unicode string functions): Add the new modules.
+
+ * modules/uniconv/u32-strconv-to-locale: New file.
+ * lib/uniconv/u32-strconv-to-locale.c: New file.
+
+ * modules/uniconv/u16-strconv-to-locale: New file.
+ * lib/uniconv/u16-strconv-to-locale.c: New file.
+
+ * modules/uniconv/u8-strconv-to-locale: New file.
+ * lib/uniconv/u8-strconv-to-locale.c: New file.
+
+ * modules/uniconv/u32-strconv-from-locale: New file.
+ * lib/uniconv/u32-strconv-from-locale.c: New file.
+
+ * modules/uniconv/u16-strconv-from-locale: New file.
+ * lib/uniconv/u16-strconv-from-locale.c: New file.
+
+ * modules/uniconv/u8-strconv-from-locale: New file.
+ * lib/uniconv/u8-strconv-from-locale.c: New file.
+
+ * modules/uniconv/u32-strconv-to-enc: New file.
+ * lib/uniconv/u32-strconv-to-enc.c: New file.
+ * modules/uniconv/u32-strconv-to-enc-tests: New file.
+ * tests/uniconv/test-u32-strconv-to-enc.c: New file.
+
+ * modules/uniconv/u16-strconv-to-enc: New file.
+ * lib/uniconv/u16-strconv-to-enc.c: New file.
+ * lib/uniconv/u-strconv-to-enc.h: New file.
+ * modules/uniconv/u16-strconv-to-enc-tests: New file.
+ * tests/uniconv/test-u16-strconv-to-enc.c: New file.
+
+ * modules/uniconv/u8-strconv-to-enc: New file.
+ * lib/uniconv/u8-strconv-to-enc.c: New file.
+ * modules/uniconv/u8-strconv-to-enc-tests: New file.
+ * tests/uniconv/test-u8-strconv-to-enc.c: New file.
+
+ * modules/uniconv/u32-strconv-from-enc: New file.
+ * lib/uniconv/u32-strconv-from-enc.c: New file.
+ * modules/uniconv/u32-strconv-from-enc-tests: New file.
+ * tests/uniconv/test-u32-strconv-from-enc.c: New file.
+
+ * modules/uniconv/u16-strconv-from-enc: New file.
+ * lib/uniconv/u16-strconv-from-enc.c: New file.
+ * modules/uniconv/u16-strconv-from-enc-tests: New file.
+ * tests/uniconv/test-u16-strconv-from-enc.c: New file.
+
+ * modules/uniconv/u8-strconv-from-enc: New file.
+ * lib/uniconv/u8-strconv-from-enc.c: New file.
+ * lib/uniconv/u-strconv-from-enc.h: New file.
+ * modules/uniconv/u8-strconv-from-enc-tests: New file.
+ * tests/uniconv/test-u8-strconv-from-enc.c: New file.
+
+ * modules/uniconv/u32-conv-from-enc: New file.
+ * lib/uniconv/u32-conv-from-enc.c: New file.
+ * modules/uniconv/u32-conv-from-enc-tests: New file.
+ * tests/uniconv/test-u32-conv-from-enc.c: New file.
+
+ * modules/uniconv/u16-conv-from-enc: New file.
+ * lib/uniconv/u16-conv-from-enc.c: New file.
+ * lib/uniconv/u-conv-from-enc.h: New file.
+ * modules/uniconv/u16-conv-from-enc-tests: New file.
+ * tests/uniconv/test-u16-conv-from-enc.c: New file.
+
+ * modules/uniconv/u8-conv-from-enc: New file.
+ * lib/uniconv/u8-conv-from-enc.c: New file.
+ * modules/uniconv/u8-conv-from-enc-tests: New file.
+ * tests/uniconv/test-u8-conv-from-enc.c: New file.
+
+ * modules/uniconv/base: New file.
+ * lib/uniconv.h: New file.
+
+2007-01-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/gnulib-tool.texi (Initial import): Update to match current
+ behavior with strdup module.
+ * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
+ * lib/memmem.h: Remove; all uses removed. This is now done
+ by <string.h>.
+ * lib/mempcpy.h: Likewise.
+ * lib/memrchr.h: Likewise.
+ * lib/stpcpy.h: Likewise.
+ * lib/stpncpy.h: Likewise.
+ * lib/strcase.h: Likewise.
+ * lib/strchrnul.h: Likewise.
+ * lib/strdup.h: Likewise.
+ * lib/strndup.h: Likewise.
+ * lib/strnlen.h: Likewise.
+ * lib/strpbrk.h: Likewise.
+ * lib/strsep.h: Likewise.
+ * lib/strstr.h: Likewise.
+ * lib/strtok_r.h: Likewise.
+ * lib/string_.h: New file.
+ * lib/argp-namefrob.h: Don't include no-longer-existent include files.
+ Rely on <string.h> instead.
+ * lib/canon-host.c: Likewise.
+ * lib/chdir-long.c: Likewise.
+ * lib/concatpath.c: Likewise.
+ * lib/exclude.c: Likewise.
+ * lib/fchdir.c: Likewise.
+ * lib/getaddrinfo.c: Likewise.
+ * lib/getcwd.c: Likewise.
+ * lib/getsubopt.c: Likewise.
+ * lib/glob.c: Likewise.
+ * lib/hard-locale.c: Likewise.
+ * lib/iconvme.c: Likewise.
+ * lib/javacomp.c: Likewise.
+ * lib/mempcpy.c: Likewise.
+ * lib/memrchr.c: Likewise.
+ * lib/regex_internal.h: Likewise.
+ * lib/stpncpy.c: Likewise.
+ * lib/strcasecmp.c: Likewise.
+ * lib/strchrnul.c: Likewise.
+ * lib/strdup.c: Likewise.
+ * lib/striconv.c: Likewise.
+ * lib/striconveh.c: Likewise.
+ * lib/striconveha.c: Likewise.
+ * lib/strncasecmp.c: Likewise.
+ * lib/strndup.c: Likewise.
+ * lib/strnlen.c: Likewise.
+ * lib/strsep.c: Likewise.
+ * lib/strstr.c: Likewise.
+ * lib/strtok_r.c: Likewise.
+ * lib/userspec.c: Likewise.
+ * lib/w32spawn.h: Likewise.
+ * lib/xstrndup.c: Likewise.
+ * lib/mountlist.c (strstr): Remove decl.
+ * m4/string_h.m4: New file.
+ * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
+ * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
+ * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
+ * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
+ * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
+ * m4/strcase.m4 (gl_FUNC_STRCASECMP):
+ Set REPLACE_STRCASECMP if necessary.
+ (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
+ * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
+ * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
+ * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
+ HAVE_DECL_STRDUP if necessary.
+ (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
+ since gl_FUNC_STRNDUP does that now.
+ * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
+ Check for decl here...
+ (gl_PREREQ_STRNLEN): ... not here.
+ * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
+ * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
+ * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
+ * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
+ necessary.
+ * modules/string: New file.
+ * modules/memmem (Files): Remove special-purpose include file.
+ (Depends-on): Add string.
+ (Include): Include <string.h>, not the removed file.
+ * modules/mempcpy: Likewise.
+ * modules/memrchr: Likewise.
+ * modules/stpcpy: Likewise.
+ * modules/stpncpy: Likewise.
+ * modules/strcase: Likewise.
+ * modules/strchrnul: Likewise.
+ * modules/strdup: Likewise.
+ * modules/strndup: Likewise.
+ * modules/strnlen: Likewise.
+ * modules/strpbrk: Likewise.
+ * modules/strsep: Likewise.
+ * modules/strstr: Likewise.
+ * modules/strtok_r: Likewise.
+ * tests/test-dirname.c: Don't include "strdup.h", since
+ <string.h> now suffices.
+ * tests/test-memmem.c: Don't include "memmem.h", since
+ <string.h> now suffices.
+
+2007-01-25 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
+ *resultp is 0.
+
+ * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
+ * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
+ * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
+ * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
+
+ * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
+ * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
+ * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
+ * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
+ * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
+ * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
+
+2007-01-24 Bruno Haible <bruno@clisp.org>
+
+ Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
+ * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
+ * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
+ gl_FUNC_FTS_CORE.
+ (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
+ * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
+ AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
+ * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
+ * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
+ gl_FUNC_FCHOWNAT.
+ * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
+ gl_FUNC_STRFTIME.
+ * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
+ Reported by Ralf Wildenhues.
+
+2007-01-24 Bruno Haible <bruno@clisp.org>
+
+ Drop AC_REQUIRE calls that are redundant with the module dependencies.
+ * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
+ gl_GETADDRINFO.
+ * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
+ gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
+ * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
+
+2007-01-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
+ Don't use 'exit'; just return from 'main'.
+ (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
+
+ * lib/fnmatch_.h: Readjust white space and comments to match
+ glibc, to avoid spurious diffs.
+
+2007-01-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
+ 2004-12-01 change by Jakub Jelinek, since this code won't compile
+ if !LIBC. Problem reported by Bob Proulx.
+
+2007-01-23 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconveh.c: Include c-strcaseeq.h.
+ (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
+ * modules/striconveh (Depends-on): Add c-strcaseeq.
+
+2007-01-23 Bruno Haible <bruno@clisp.org>
+
+ * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
+
+ * modules/c-strcaseeq: New file.
+ * lib/c-strcaseeq.h: New file.
+
+ * modules/streq: New file.
+ * lib/streq.h: New file.
+
+2007-01-23 Bruno Haible <bruno@clisp.org>
+
+ * modules/striconveha-tests: New file.
+ * tests/test-striconveha.c: New file.
+
+ * lib/striconveha.h: Include <stdbool.h>.
+ (mem_iconveha, str_iconveha): Add 'transliterate' argument.
+ * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
+ (mem_iconveha_notranslit): Renamed from mem_iconveha.
+ (mem_iconveha): New function.
+ (str_iconveha_notranslit): Renamed from str_iconveha.
+ (str_iconveha): New function.
+ * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
+ c-strcase.
+
+2007-01-23 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
+ encodings without forgiving before trying any encoding with handler.
+ (str_iconveha): Try all encodings without forgiving before trying any
+ encoding with handler.
+
+2007-01-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Import the following changes from libc.
+
+ 2005-10-14 Ulrich Drepper <drepper@redhat.com>
+
+ * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
+
+ 2004-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
+ normal_bracket label.
+
+ 2004-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #361]
+ * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
+ to normal_bracket after fetching the next character.
+
+2007-01-22 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
+ argument.
+ * lib/striconveh.c (iconv_carefully_1): New function.
+ (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
+ argument.
+ (str_cd_iconveh): Update.
+ * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
+ * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
+ * tests/test-striconveh.c (MAGIC): New macro.
+ (new_offsets): New function.
+ (main): Test call with and without offsets.
+
+2007-01-22 Bruno Haible <bruno@clisp.org>
+
+ * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
+ * modules/sys_select (Makefile.am): Likewise.
+ * modules/sys_socket (Makefile.am): Likewise.
+ * modules/sys_time (Makefile.am): Likewise.
+
+2007-01-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * modules/gettimeofday (License): Change from GPL to LGPL, since
+ gettimeofday is a library function.
+
+2007-01-22 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+
+ * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
+
+2007-01-21 Bruno Haible <bruno@clisp.org>
+
+ * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
+
+2007-01-21 Bruno Haible <bruno@clisp.org>
+
+ * modules/striconveha: New file.
+ * lib/striconveha.h: New file.
+ * lib/striconveha.c: New file.
+ * MODULES.html.sh (Internationalization functions): Add striconveha.
+ * lib/striconv.c (str_iconv): Optimize the case of an empty input
+ string.
+ * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
+
+2007-01-21 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
+ * lib/striconveh.c (str_iconveh): Likewise.
+
+2007-01-21 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconveh.h (mem_iconveh): New declaration.
+ * lib/striconveh.c (mem_iconveh): New function.
+ * tests/test-striconveh.c (main): Add tests for mem_iconveh.
+
+2007-01-21 Bruno Haible <bruno@clisp.org>
+
+ * lib/xstriconv.h (xmem_cd_iconv): Change specification.
+
+ * lib/striconveh.h (mem_cd_iconveh): Change specification.
+ * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
+ original result buffer.
+ (str_cd_iconveh): Update.
+ * tests/test-striconveh.c (main): Update.
+
+ * lib/striconv.h (mem_cd_iconv): Change specification.
+ * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
+ result buffer.
+ (str_cd_iconv): Update.
+ * tests/test-striconv.c (main): Update.
+
+2007-01-21 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
+
+2007-01-20 Jim Meyering <jim@meyering.net>
+
+ * lib/userspec.c (parse_with_separator): If a user or group string
+ starts with "+", skip the corresponding name-to-ID look-up, since
+ such a look-up must fail: user and group names may not include "+".
+
+2007-01-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/poll.c: Include sys/time.h and time.h unconditionally,
+ since we now assume the sys_time module.
+ * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
+ check for sys/time.h; no longer needed.
+ * modules/poll (Depends-on): Depend on sys_time.
+