spawn: Avoid #define replacements in C++ mode.
[gnulib.git] / ChangeLog
index 4f4ffb1..6759222 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,586 @@
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       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.