wctype: Avoid #define replacements in C++ mode.
[gnulib.git] / ChangeLog
index 355a601..28eab58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,882 @@
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       wctype: Avoid #define replacements in C++ mode.
+       * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
+       (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
+       iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
+       In C++, define a namespaced alias symbol.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
+       * modules/wctype (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
+       rule.
+
+       wchar: Avoid #define replacements in C++ mode.
+       * lib/wchar.in.h: Include c++defs.h.
+       (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
+       wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
+       symbol.
+       (wcwidth): Likewise. Fix prototype to be POSIX compliant.
+       * modules/wchar (Depends-on): Add c++defs.
+       (Makefile.am): Update wchar.h rule.
+
+       unistd: Avoid #define replacements in C++ mode.
+       * lib/unistd.in.h: Include c++defs.h.
+       (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
+       fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
+       getgroups, gethostname, getlogin, getlogin_r, getpagesize,
+       getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
+       pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
+       unlink, unlinkat, usleep, write): In C++, define a namespaced alias
+       symbol.
+       (environ): Update.
+       * modules/unistd (Depends-on): Add c++defs.
+       (Makefile.am): Update unistd.h rule.
+
+       time: Avoid #define replacements in C++ mode.
+       * lib/time.in.h: Include c++defs.h, warn-on-use.h.
+       (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
+       define a namespaced alias symbol.
+       * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
+       (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
+       GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
+       * modules/time (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Update time.h rule.
+       * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
+       * modules/nanosleep (configure.ac): Likewise.
+       * modules/strptime (configure.ac): Likewise.
+       * modules/timegm (configure.ac): Likewise.
+
+       sys_time: Avoid #define replacements in C++ mode.
+       * lib/sys_time.in.h: Include c++defs.h.
+       (gettimeofday): In C++, define a namespaced alias symbol.
+       * modules/sys_time (Depends-on): Add c++defs.
+       (Makefile.am): Update sys/time.h rule.
+
+       sys_stat: Avoid #define replacements in C++ mode.
+       * lib/sys_stat.in.h: Include c++defs.h.
+       (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
+       mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
+       namespaced alias symbol.
+       In C++, define a namespaced alias symbol.
+       * modules/sys_stat (Depends-on): Add c++defs.
+       (Makefile.am): Update sys/stat.h rule.
+
+       sys_socket: Avoid #define replacements in C++ mode.
+       * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
+       Include c++defs.h. Include warn-on-use.h earlier. Enable the function
+       definitions also when the system has a <sys/socket.h>.
+       (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
+       listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
+       In C++, define a namespaced alias symbol.
+       * modules/sys_socket (Depends-on): Add c++defs.
+       (Makefile.am): Update sys/socket.h rule.
+
+       sys_select: Avoid #define replacements in C++ mode.
+       * lib/sys_select.in.h: Include c++defs.h. Enable the function
+       definitions also when the system has a <sys/select.h>.
+       (select): In C++, define a namespaced alias symbol.
+       * modules/sys_select (Depends-on): Add c++defs.
+       (Makefile.am): Update sys/select.h rule.
+
+       sys_ioctl: Avoid #define replacements in C++ mode.
+       * lib/sys_ioctl.in.h: Include c++defs.h.
+       (ioctl): In C++, define a namespaced alias symbol.
+       * modules/sys_ioctl (Depends-on): Add c++defs.
+       (Makefile.am): Update sys/ioctl.h rule.
+
+       string: Avoid #define replacements in C++ mode.
+       * lib/string.in.h: Include c++defs.h.
+       (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
+       (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
+       strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
+       strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
+       strsignal, strverscmp): In C++, define a namespaced alias symbol.
+       * modules/string (Depends-on): Add c++defs.
+       (Makefile.am): Update string.h rule.
+
+       stdlib: Avoid #define replacements in C++ mode.
+       * lib/stdlib.in.h: Include c++defs.h.
+       (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
+       mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
+       srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
+       strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
+       symbol.
+       * modules/stdlib (Depends-on): Add c++defs.
+       (Makefile.am): Update stdlib.h rule.
+
+       stdio: Avoid #define replacements in C++ mode.
+       * lib/stdio.in.h: Include c++defs.h.
+       (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
+       freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
+       obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
+       puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
+       vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
+       namespaced alias symbol.
+       * modules/stdio (Depends-on): Add c++defs.
+       (Makefile.am): Update stdio.h rule.
+
+       spawn: Avoid #define replacements in C++ mode.
+       * lib/spawn.in.h: Include c++defs.h.
+       (posix_spawn, posix_spawnp, posix_spawnattr_init,
+       posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
+       posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
+       posix_spawnattr_setsigmask, posix_spawnattr_getflags,
+       posix_spawnattr_setflags, posix_spawnattr_getpgroup,
+       posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
+       posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
+       posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
+       posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
+       posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
+       In C++, define a namespaced alias symbol.
+       * modules/spawn (Depends-on): Add c++defs.
+       (Makefile.am): Update spawn.h rule.
+
+       signal: Avoid #define replacements in C++ mode.
+       * lib/signal.in.h: Include c++defs.h.
+       (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
+       sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
+       namespaced alias symbol.
+       * modules/signal (Depends-on): Add c++defs.
+       (Makefile.am): Update signal.h rule.
+
+       search: Avoid #define replacements in C++ mode.
+       * lib/search.in.h: Include c++defs.h.
+       (_gl_search_compar_fn, _gl_search_action_fn): New types.
+       (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
+       symbol.
+       * modules/search (Depends-on): Add c++defs.
+       (Makefile.am): Update search.h rule.
+
+       math: Avoid #define replacements in C++ mode.
+       * lib/math.in.h: Include c++defs.h.
+       (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
+       frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
+       trunc, truncl): In C++, define a namespaced alias symbol.
+       * modules/math (Depends-on): Add c++defs.
+       (Makefile.am): Update math.h rule.
+
+       locale: Avoid #define replacements in C++ mode.
+       * lib/locale.in.h: Include c++defs.h.
+       (duplocale): In C++, define a namespaced alias symbol.
+       * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
+       * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
+       * modules/locale (Depends-on): Add c++defs.
+       (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
+
+       langinfo: Avoid #define replacements in C++ mode.
+       * lib/langinfo.in.h: Include c++defs.h.
+       (nl_langinfo): In C++, define a namespaced alias symbol.
+       * modules/langinfo (Depends-on): Add c++defs.
+       (Makefile.am): Update langinfo.h rule.
+
+       iconv-h: Avoid #define replacements in C++ mode.
+       * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
+       (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
+       symbol.
+       * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
+       whenever iconv is present.
+       * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Update iconv.h rule.
+
+       glob: Avoid #define replacements in C++ mode.
+       * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
+       (_gl_glob_errfunc_fn): New type.
+       (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
+       symbol.
+       * modules/glob (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Update glob.h rule.
+
+       fcntl-h: Avoid #define replacements in C++ mode.
+       * lib/fcntl.in.h: Include c++defs.h.
+       (fcntl, open, openat): In C++, define a namespaced alias symbol.
+       * modules/fcntl-h (Depends-on): Add c++defs.
+       (Makefile.am): Update fcntl.h rule.
+
+       dirent: Avoid #define replacements in C++ mode.
+       * lib/dirent.in.h: Include c++defs.h.
+       (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
+       namespaced alias symbol.
+       (dirfd): Update declaration.
+       * modules/dirent (Depends-on): Add c++defs.
+       (Makefile.am): Update dirent.h rule.
+
+       ctype: Make it usable in C++ code.
+       * lib/ctype.in.h: Include c++defs.h.
+       (isblank): Declare as extern "C".
+       * modules/ctype (Depends-on): Add c++defs.
+       (Makefile.am): Update ctype.h rule.
+
+       New module 'c++defs'.
+       * modules/c++defs: New file.
+       * build-aux/c++defs.h: New file.
+       Reported by John W. Eaton <jwe@gnu.org>.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       logb: Provide missing declaration for Cygwin.
+       * lib/math.in.h (logb): New declaration.
+       * m4/logb.m4: New file.
+       * modules/logb (Files): Add m4/logb.m4.
+       (Depends-on): Add math.
+       (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
+       * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
+       * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
+       * doc/posix-functions/logb.texi: Mention the Cygwin bug.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix test-cond link error.
+       * tests/test-cond.c: Include <stdio.h>.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix test-dirent-safer link error.
+       * modules/dirent-safer-tests (Makefile.am): Define
+       test_dirent_safer_LDADD.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
+       among default module list.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix link error on platforms with GNU libiconv.
+       * modules/unistr/u8-strcoll-tests (Makefile): Define
+       test_u8_strcoll_LDADD.
+       * modules/unistr/u16-strcoll-tests (Makefile): Define
+       test_u16_strcoll_LDADD.
+       * modules/unistr/u32-strcoll-tests (Makefile): Define
+       test_u32_strcoll_LDADD.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Use POSIX declarations for socket functions.
+       * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
+       rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
+       rpl_sendto): Change declaration to match POSIX.
+       * lib/connect.c (rpl_connect): Likewise.
+       * lib/accept.c (rpl_accept): Likewise.
+       * lib/bind.c (rpl_bind): Likewise.
+       * lib/getpeername.c (rpl_getpeername): Likewise.
+       * lib/getsockname.c (rpl_getsockname): Likewise.
+       * lib/recv.c (rpl_recv): Likewise.
+       * lib/send.c (rpl_send): Likewise.
+       * lib/recvfrom.c (rpl_recvfrom): Likewise.
+       * lib/sendto.c (rpl_sendto): Likewise.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Clarify access, euidaccess, faccessat.
+       * doc/posix-functions/faccessat.texi: Mention security problem under
+       "Other problems", not "Portability problems".
+       * doc/posix-functions/access.texi: Likewise. Mention a related security
+       problem.
+       * doc/glibc-functions/euidaccess.texi: Mention security problems.
+       * lib/euidaccess.c: Add comments about platforms.
+       * lib/unistd.in.h (access, euidaccess): Add warnings.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
+       * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
+       (POSIX_SPAWN_SETSCHEDULER): Likewise.
+       (POSIX_SPAWN_USEVFORK): Define in a way that works when
+       POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
+       (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
+       declare when POSIX_SPAWN_SETSCHEDULER is zero.
+       (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
+       declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
+       * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
+       POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
+       * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
+       replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
+       * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
+       * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
+       replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
+       * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
+       * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
+       nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
+       * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
+       Likewise.
+       * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
+       nothing if POSIX_SPAWN_SETSCHEDULER is zero.
+       * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
+       Likewise.
+       * tests/test-spawn.c (main): Make it work when
+       POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix incorrect Makefile.am generation in German locale.
+       * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
+       Execute sed command with character range in C locale.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'iconv-h'.
+       * modules/iconv-h-tests: New file.
+       * tests/test-iconv-h.c: New file.
+
+       New module 'iconv-h'.
+       * modules/iconv-h: New file.
+       * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
+       (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
+       (configure.ac): Remove gl_ICONV_H.
+       (Makefile.am): Remove rule for iconv.h.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       More consistent naming of *.m4 files.
+       * m4/wctype_h.m4: Renamed from m4/wctype.m4.
+       * modules/wctype (Files): Update.
+
+       More consistent naming of *.m4 files.
+       * m4/wchar_h.m4: Renamed from m4/wchar.m4.
+       * modules/wchar (Files): Update.
+
+2010-03-06  Jim Meyering  <meyering@redhat.com>
+
+       euidaccess: relax license to LGPLv2+
+       * modules/euidaccess (License): Relax to LGPLv2+.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Prefer lib_SOURCES over unconditional AC_LIBOBJ.
+       * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
+       (Makefile.am): Augment lib_SOURCES instead.
+
+2010-03-04  Jim Meyering  <meyering@redhat.com>
+
+       utime: remove obsolete module
+       This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
+       unnecessary for years, and has been marked as obsolete for 10 months.
+       * modules/utime: Remove file.
+       * lib/utime.c: Remove file.
+       * m4/utime.m4: Remove file.
+       * m4/utimes-null.m4: Remove file.
+       * doc/posix-functions/utime.texi (utime): Remove reference to
+       the module.  Move the sole "fixed by gnulib" item into the
+       "problems not fixed by Gnulib" list.
+       * MODULES.html.sh (func_all_modules): Remove reference to "utime".
+
+2010-03-05  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/exit (License): Relax license to LGPLv2+.
+       (Status): Mark as obsolete.
+       * NEWS: Mention deprecated 'exit' module.
+       * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
+       of now obsolete 'exit'.
+
+2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       fts-lgpl: remove unused module
+       * modules/fts-lgpl: Remove.
+       * MODULES.html.sh (func_all_modules): Adjust.
+       * check-module (find_included_lib_files): Adjust.
+       * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
+
+2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
+
+       copy-acl: enhance Solaris ACL error handling
+       * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+
+2010-03-02  Bruno Haible  <bruno@clisp.org>
+
+       spawn: Don't override the system defined values on FreeBSD 8.
+       * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
+       POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
+       POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
+       if HAVE_POSIX_SPAWN is 1.
+       Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
+
+2010-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-tool.texi (Initial import): Clarify the requirements
+       regarding Automake.
+
+2010-02-25  Bruno Haible  <bruno@clisp.org>
+
+       Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
+       * gnulib-tool: Define 'echo' as a function only before the ksh alias
+       setting, not afterwards.
+       Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
+
+2010-02-24  Eric Blake  <eblake@redhat.com>
+
+       bootstrap, git-version-gen: use timestamp
+       * build-aux/git-version-gen (scriptversion): Force UTC.
+       * build-aux/bootstrap (scriptversion): New variable.
+
+       bootstrap: allow older git
+       * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
+       older than 1.6.4.  Requested by the libvirt project.
+
+2010-02-23  Eric Blake  <eblake@redhat.com>
+
+       warn-on-use: work with old autoconf
+       * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
+       AS_VAR semantics of autoconf 2.60.
+       Reported by Bruno Haible.
+
+       bootstrap: improve some comments
+       * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
+       clarification comments.
+
+       gettimeofday: provide correct function
+       * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
+       when replacement is declared, otherwise provide gettimeofday.
+       Reported by Michael Goffioul.
+
+2010-02-23  Jim Meyering  <meyering@redhat.com>
+
+       lib-ignore: relax license to "unlimited", not LGPLv2+
+       * modules/lib-ignore (License): Relax to "unlimited".
+
+2010-02-23  Jim Meyering  <meyering@redhat.com>
+
+       lib-ignore: relax license to LGPLv2+
+       * modules/lib-ignore (License): Relax to LGPLv2+.
+
+2010-02-22  Eric Blake  <eblake@redhat.com>
+
+       lseek: avoid bash 3.2 broken pipe bug
+       * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
+       warning from bash 3.2.
+       Reported by Ben Pfaff, with analysis from Bruno Haible.
+
+       bootstrap: support non-FSF copyright holder
+       * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
+       bootstrap.conf override of COPYRIGHT_HOLDER.
+       (MSGID_BUGS_ADDRESS): Allow URL rather than email.
+
+       bootstrap: interoperate with gettext 0.14.1
+       * build-aux/bootstrap (slurp): Fix typo when using older gettext.
+
+       bootstrap: allow for alternate submodule location
+       * build-aux/bootstrap (gnulib_path): New variable; use instead of
+       hardcoding submodule location.
+       (gnulib_mk): Allow direct use of Makefile.am.
+
+       bootstrap: use GNULIB_SRCDIR to reduce disk usage
+       * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
+       rather than reconfiguring where the submodule points.
+
+       gettimeofday: restore support for platforms that lack function
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
+       replacement if function is missing.
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
+       * modules/sys_time (Makefile.am): Substitute it.
+       * lib/sys_time.in.h (gettimeofday): Check it.
+       Reported by Michael Goffioul.
+
+2010-02-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio.in.h (obstack_printf): Fix typo.
+
+2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
+
+       vc-list-files: use bzr ls's -R option
+       * build-aux/vc-list-files: Invoke bazaar to generate a recursive
+       list of versioned files based on 'dir' (usage of -R in 'bzr ls').
+
+2010-02-21  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: fix EXEEXT shims to work also for names like test-prog
+       * tests/init.sh: Re-exec a better shell, when needed.
+       If the current shell lacks support for posix $(...), an init.sh-using
+       test will now try to find a shell that supports that.  If EXEEXT is
+       nonempty, we also require support for hyphen-in-alias-name and shell
+       substitutions like ${var#glob}.  Failure to find such a shell results
+       in a skipped test.
+
+2010-02-21  Bruno Haible  <bruno@clisp.org>
+
+       Really work around around "broken pipe" error message from bash 3.2.
+       * gnulib-tool (func_reset_sigpipe): Remove function.
+       (echo): In bash 3.2, define to a function that uses printf.
+       Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
+
+2010-02-20  Bruno Haible  <bruno@clisp.org>
+
+       Restore support for automake 1.9.6 with autoconf 2.61.
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
+       Reported by James Youngman <jay@gnu.org>.
+
+2010-02-20  Bruno Haible  <bruno@clisp.org>
+
+       Improve *printf warning condition.
+       * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
+       also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
+       and the function is overridden due to SIGPIPE emulation.
+
+2010-02-20  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio.in.h: Tweak comments.
+
+2010-02-19  Bruno Haible  <bruno@clisp.org>
+
+       Make it easier to find modules. New gnulib-tool option '--find'.
+       * gnulib-tool: New option --find.
+       (func_usage): Document it.
+       (func_sanitize_modulelist): New function, extracted from
+       func_all_modules.
+       (func_all_modules): Invoke it.
+       * doc/gnulib-tool.texi (Which modules?): New node.
+
+2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
+
+       * lib/sys_select.in.h: Provide select replacement even if
+       sys/select.h exists on a system, for Interix.
+
+2010-02-18  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: don't use $(...) just yet
+       * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
+       to accommodate e.g., Solaris' /bin/sh.
+
+2010-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
+       Reported by Ludovic Courtès <ludo@gnu.org>.
+
+2010-02-16  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/userspec-tests (test_userspec_LDADD): Add variable, for
+       linking with -lintl.
+
+2010-02-17  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
+       if not provided by the system's netdb.h.  Reported by
+       ludo@gnu.org (Ludovic Courtès).
+
+2010-02-15  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: improve portability and efficiency
+       * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
+       "dummy" in a for loop.
+       Use '!', not '^' to select the complement of a character set used
+       in a "case" statement.
+       Use shell variable manipulation, a la ${...%.exe}, rather than sed.
+       Suggestions from Eric Blake.
+
+       init.sh: automatically accommodate programs with the .exe suffix
+       Automatically arrange for an invocation of "prog" to execute the
+       program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
+       may use the simpler "prog", yet still work when built on a system
+       that requires specifying the added suffix.
+       Do this by constructing a function named "prog" that invokes
+       "prog.exe" for each .exe file in selected directories.
+       * tests/init.sh (find_exe_basenames_): New function.
+       (create_exe_shim_functions_): New function.
+       (path_prepend_): Use it.
+
+       maint.mk: mark syntax-check sc_*.m rules as .PHONY
+       * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
+       "make -t syntax-check" doesn't create a ton of sc_*.m files.
+
+2010-02-14  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: prohibit inclusion of "hash-pjw.h" without_use
+       * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
+       (sc_prohibit_hash_pjw_without_use): New rule.
+
+       maint.mk: allow the default upload destination dir to be overridden
+       * top/maint.mk (upload_dest_dir_): Define with a default that
+       preserves the status quo.
+       (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
+       Reported by Peter Simons.
+
+       maint.mk: prohibit inclusion of "hash.h" without_use
+       * top/maint.mk (sc_prohibit_hash_without_use): New rule.
+
+2010-02-10  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: prohibit inclusion of "ignore-value.h" without_use
+       * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
+
+2010-02-09  Eric Blake  <ebb9@byu.net>
+       and Bruno Haible  <bruno@clisp.org>
+
+       obstack-printf-posix: ensure declaration
+       * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
+       extracted from gl_FUNC_OBSTACK_PRINTF.
+       (gl_FUNC_OBSTACK_PRINTF): Invoke it.
+       * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
+       Likewise.
+       * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
+       if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
+       0.
+
+2010-02-08  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix typo in 2010-02-07 commit.
+       * gnulib-tool (func_get_dependencies): Fix typo in last commit.
+       Reported by Eric Blake.
+
+2010-02-07  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix up caching patches.
+       * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
+       option --no-cache. Use associative arrays when supported by the shell.
+       (sed_comments): New variable.
+       (modcache): Renamed from do_cache.
+       (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
+       abbreviate unnecessarily.
+       (have_associative): New variable.
+       (func_cache_var): Define correctly for bash 1.x. Define in an optimized
+       way also for ksh and zsh.
+       (func_init_sed_convert_to_cache_statements): New function, extracted
+       from func_cache_lookup_module. Add support for associative arrays.
+       Don't set the c_MODULE_cached variable here. Ignore all lines before
+       the first field header. Remove only the final newline, not all trailing
+       newlines. Support empty fields correctly. Limit the use of 'eval' to
+       assignments.
+       (func_get_description, func_get_status, func_get_notice,
+       func_get_applicability, func_get_filelist, func_get_dependencies,
+       func_get_autoconf_early_snippet, func_get_autoconf_snippet,
+       func_get_automake_snippet, func_get_include_directive,
+       func_get_link_directive, func_get_license, func_get_maintainer):
+       Update documentation. List the unoptimized code first. Add support for
+       associative arrays. Limit the use of 'eval' to assignments.
+       (func_get_applicability): Undo stylistic pessimisations.
+       (func_get_automake_snippet, func_get_include_directive): Reduce code
+       duplication.
+       (func_modules_transitive_closure, func_modules_add_dummy,
+       func_modules_notice, func_modules_to_filelist, func_add_file,
+       func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
+       func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
+       func_create_testdir, func_create_megatestdir): Update documentation.
+
+2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_cache_lookup_module): Store the module name
+       belonging to the cache variable; error out if two different
+       module names map to the same cache variable name.
+
+2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       gnulib-tool: Make caching optional.
+       * gnulib-tool: Accept option --no-cache, turning off $do_cache.
+       Update matching short versions of --no-changelog.
+       (func_usage): Update.
+       (sed_extract_cache_prog): Renamed from ...
+       (sed_extract_prog): ... this; revert to old extraction script.
+       (func_get_description, func_get_status)
+       (func_get_notice, func_get_applicability, func_get_filelist)
+       (func_get_dependencies, func_get_autoconf_early_snippet)
+       (func_get_autoconf_snippet, func_get_automake_snippet)
+       (func_get_include_directive, func_get_link_directive)
+       (func_get_license, func_get_maintainer): If $do_cache is false,
+       use old, non-caching extraction scripts.
+       Suggestion by Bruno Haible.
+
+2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       gnulib-tool: cache module metainformation.
+       * gnulib-tool (sed_extract_prog): Match newline before each
+       header, and rewrite header to a shell variable suffix.
+       (func_cache_var, func_cache_lookup_module): New functions,
+       to turn a module name into a cache variable prefix, and to
+       look up and cache module metainformation.
+       (func_get_description, func_get_status)
+       (func_get_notice, func_get_applicability, func_get_filelist)
+       (func_get_dependencies, func_get_autoconf_early_snippet)
+       (func_get_autoconf_snippet, func_get_automake_snippet)
+       (func_get_include_directive, func_get_link_directive)
+       (func_get_license, func_get_maintainer): Use
+       func_cache_lookup_module.
+
+2010-02-07  Bruno Haible  <bruno@clisp.org>
+
+       fnctl: Fix missing dependency.
+       * modules/fcntl (Depends-on): Add getdtablesize.
+       Reported by John W. Eaton <jwe@gnu.org>.
+
+2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Argp: fix recognition of short alias options.
+
+       * lib/argp-parse.c (convert_options): Fix improper use of
+       `|' between character values.
+       * tests/test-argp.c (group1_option): New alias option
+       --read (-r).
+       (group1_parser): Special handling for 'r'.
+       (test15): New test case.
+       (test_fun): Add test15.
+       * tests/test-argp-2.sh: Update expected --help and --usage
+       outputs.
+
+2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * tests/test-argp.c: Fix indentation.
+
+2010-02-04  Eric Blake  <ebb9@byu.net>
+
+       gettimeofday: expose type of second argument
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
+       of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
+       * tests/test-gettimeofday.c: Use it to silence warning.
+       * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
+       the issue.
+
+2010-02-03  Jim Meyering  <meyering@redhat.com>
+
+       regcomp.c: avoid the sole warning from gcc's -Wtype-limits
+       * lib/regcomp.c (TYPE_SIGNED): Define.
+       (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
+
+       regcomp.c: avoid a new -Wshadow warning
+       * lib/regcomp.c (create_initial_state): Do not shadow local "err".
+
+2010-02-01  Jim Meyering  <meyering@redhat.com>
+
+       removing useless parentheses in cpp #define directives
+       For motivation, see commit c0221df4, "define STREQ(a,b)
+       consistently, removing useless parentheses"
+       * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
+       * lib/mountlist.c (MNT_IGNORE): Likewise.
+       * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
+
+2010-02-01  Eric Blake  <ebb9@byu.net>
+
+       sys_time: use link-warning
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
+       (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
+       (gl_SYS_TIME_MODULE_INDICATOR): New macro.
+       * modules/sys_time (Depends-on): Add warn-on-use.
+       (Makefile.am): Always build replacement.
+       (configure.ac): Update substitutions.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
+       (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
+       bother with SYS_TIME_H.
+       * modules/gettimeofday (configure.ac): Declare indicator.
+       * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
+       in use.
+
+       closein-tests: silence compiler warning
+       * tests/test-closein.c (main): Ignore fread result.
+       * modules/closein-tests (Depends-on): Add ignore-value.
+
+       tests: silence warning about system return
+       * tests/test-areadlink-with-size.c (main): Ignore system result.
+       * tests/test-areadlink.c (main): Likewise.
+       * tests/test-areadlinkat-with-size.c (main): Likewise.
+       * tests/test-areadlinkat.c (main): Likewise.
+       * tests/test-canonicalize-lgpl.c (main): Likewise.
+       * tests/test-canonicalize.c (main): Likewise.
+       * tests/test-chown.c (main): Likewise.
+       * tests/test-fchownat.c (main): Likewise.
+       * tests/test-fdutimensat.c (main): Likewise.
+       * tests/test-fstatat.c (main): Likewise.
+       * tests/test-futimens.c (main): Likewise.
+       * tests/test-lchown.c (main): Likewise.
+       * tests/test-link.c (main): Likewise.
+       * tests/test-linkat.c (main): Likewise.
+       * tests/test-lstat.c (main): Likewise.
+       * tests/test-mkdir.c (main): Likewise.
+       * tests/test-mkdirat.c (main): Likewise.
+       * tests/test-mkfifo.c (main): Likewise.
+       * tests/test-mkfifoat.c (main): Likewise.
+       * tests/test-mknod.c (main): Likewise.
+       * tests/test-readlink.c (main): Likewise.
+       * tests/test-remove.c (main): Likewise.
+       * tests/test-rename.c (main): Likewise.
+       * tests/test-renameat.c (main): Likewise.
+       * tests/test-rmdir.c (main): Likewise.
+       * tests/test-symlink.c (main): Likewise.
+       * tests/test-symlinkat.c (main): Likewise.
+       * tests/test-unlink.c (main): Likewise.
+       * tests/test-unlinkat.c (main): Likewise.
+       * tests/test-utimens.c (main): Likewise.
+       * tests/test-utimensat.c (main): Likewise.
+       * modules/areadlink-tests (Depends-on): Add ignore-value.
+       * modules/areadlink-with-size-tests (Depends-on): Likewise.
+       * modules/areadlinkat-tests (Depends-on): Likewise.
+       * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
+       * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
+       * modules/canonicalize-tests (Depends-on): Likewise.
+       * modules/chown-tests (Depends-on): Likewise.
+       * modules/fdutimensat-tests (Depends-on): Likewise.
+       * modules/futimens-tests (Depends-on): Likewise.
+       * modules/lchown-tests (Depends-on): Likewise.
+       * modules/link-tests (Depends-on): Likewise.
+       * modules/linkat-tests (Depends-on): Likewise.
+       * modules/lstat-tests (Depends-on): Likewise.
+       * modules/mkdir-tests (Depends-on): Likewise.
+       * modules/mkfifo-tests (Depends-on): Likewise.
+       * modules/mkfifoat-tests (Depends-on): Likewise.
+       * modules/mknod-tests (Depends-on): Likewise.
+       * modules/openat-tests (Depends-on): Likewise.
+       * modules/readlink-tests (Depends-on): Likewise.
+       * modules/remove-tests (Depends-on): Likewise.
+       * modules/rename-tests (Depends-on): Likewise.
+       * modules/renameat-tests (Depends-on): Likewise.
+       * modules/rmdir-tests (Depends-on): Likewise.
+       * modules/symlink-tests (Depends-on): Likewise.
+       * modules/symlinkat-tests (Depends-on): Likewise.
+       * modules/unlink-tests (Depends-on): Likewise.
+       * modules/utimens-tests (Depends-on): Likewise.
+       * modules/utimensat-tests (Depends-on): Likewise.
+
+2010-01-31  Bruno Haible  <bruno@clisp.org>
+
+       Perform the same test for many <math.h> functions.
+       * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
+       gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
+       * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
+       of gl_MATHFUNC.
+       * modules/acos (configure.ac): Likewise.
+       * modules/asin (configure.ac): Likewise.
+       * modules/atan (configure.ac): Likewise.
+       * modules/atan2 (configure.ac): Likewise.
+       * modules/cbrt (configure.ac): Likewise.
+       * modules/copysign (configure.ac): Likewise.
+       * modules/cos (configure.ac): Likewise.
+       * modules/cosh (configure.ac): Likewise.
+       * modules/erf (configure.ac): Likewise.
+       * modules/erfc (configure.ac): Likewise.
+       * modules/exp (configure.ac): Likewise.
+       * modules/fmod (configure.ac): Likewise.
+       * modules/hypot (configure.ac): Likewise.
+       * modules/j0 (configure.ac): Likewise.
+       * modules/j1 (configure.ac): Likewise.
+       * modules/jn (configure.ac): Likewise.
+       * modules/lgamma (configure.ac): Likewise.
+       * modules/log (configure.ac): Likewise.
+       * modules/log10 (configure.ac): Likewise.
+       * modules/log1p (configure.ac): Likewise.
+       * modules/pow (configure.ac): Likewise.
+       * modules/remainder (configure.ac): Likewise.
+       * modules/sin (configure.ac): Likewise.
+       * modules/sinh (configure.ac): Likewise.
+       * modules/tan (configure.ac): Likewise.
+       * modules/tanh (configure.ac): Likewise.
+       * modules/y0 (configure.ac): Likewise.
+       * modules/y1 (configure.ac): Likewise.
+       * modules/yn (configure.ac): Likewise.
+       Suggested by Paolo Bonzini.
+
+2010-01-31  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
+
 2010-01-31  Bruno Haible  <bruno@clisp.org>
 
-       Avoid redundant symbol replacement.
-       * m4/getline.m4 (gl_FUNC_GETLINE): Set REPLACE_GETLINE only when the
-       function was found.
+       Work around getdelim() bug on FreeBSD 8.0.
+       * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
+       initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
+       not work.
+       * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
+       is 1.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
+       * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
+       * tests/test-getdelim.c (main): Also test result for a NULL buffer and
+       a non-zero size.
+       * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
 
 2010-01-31  Bruno Haible  <bruno@clisp.org>
 
        * tests/test-xalloc-die.sh: Use $EXEEXT.
 
 2010-01-12  Simon Josefsson  <simon@josefsson.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        getlogin, getlogin_r: Avoid test failure.
        * tests/test-getlogin.c: Include <stdio.h>.