obstack-printf-posix: ensure declaration
[gnulib.git] / ChangeLog
index 69cd50d..928d846 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,889 @@
+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>
+
+       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>
+
+       Work around getline() bug on FreeBSD 8.0.
+       * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
+       and a non-zero size.
+       * tests/test-getline.c (main): Likewise.
+       * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
+       Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
+
+2010-01-28  Eric Blake  <ebb9@byu.net>
+
+       regex: fix build failure
+       * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
+       platforms.
+
+2010-01-28  Jim Meyering  <meyering@redhat.com>
+
+       regex: do not ignore memory allocation failure
+       * lib/regex_internal.c (create_cd_newstate): Detect
+       re_node_set_init_copy failure.   Extracted from glibc commit
+       2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
+
+       regex: sync more white-space changes from libc
+       * lib/regex_internal.c: White-space only changes.
+       * lib/regexec.c: Likewise.
+
+       regex: add many uses of __attribute_warn_unused_result__
+       * lib/regex_internal.c: Use __attribute_warn_unused_result__.
+       * lib/regexec.c: Likewise.
+       Extracted from a messy glibc commit.
+
+       regcomp.c: spelling and merge-artifact from glibc
+       * lib/regcomp.c: Merge remainder of glibc's
+       2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
+
+       regcomp.c: sync white-space changes from glibc
+       * lib/regcomp.c: Merge to accommodate white space
+       changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
+
+       regcomp.c: do not ignore internal return values
+       * lib/regcomp.c: Do not ignore internal return values.
+       This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
+       but without its white-space changes and spelling fixes.
+
+       regex_internal.h: define __attribute_warn_unused_result__
+       * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
+
+       maint: add a syntax-check rule to check for vulnerable Makefile.in
+       * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
+
+2010-01-27  Jim Meyering  <meyering@redhat.com>
+
+       ncftpput-ftp: clean up spaces
+       * build-aux/ncftpput-ftp: Make Copyright line consistent.
+       Remove trailing blanks.
+
+2010-01-27  Simon Josefsson  <simon@josefsson.org>
+
+       * build-aux/git-version-gen: Fix copyright statement.
+       * build-aux/gnupload: Likewise.
+       * tests/test-arcfour.c: Likewise.
+       * tests/test-arctwo.c: Likewise.
+       * tests/test-count-one-bits.c: Likewise.
+       * tests/test-crc.c: Likewise.
+       * tests/test-des.c: Likewise.
+       * tests/test-gc-arcfour.c: Likewise.
+       * tests/test-gc-arctwo.c: Likewise.
+       * tests/test-gc-des.c: Likewise.
+       * tests/test-gc-hmac-md5.c: Likewise.
+       * tests/test-gc-hmac-sha1.c: Likewise.
+       * tests/test-gc-md2.c: Likewise.
+       * tests/test-gc-md4.c: Likewise.
+       * tests/test-gc-md5.c: Likewise.
+       * tests/test-gc-pbkdf2-sha1.c: Likewise.
+       * tests/test-gc-rijndael.c: Likewise.
+       * tests/test-gc-sha1.c: Likewise.
+       * tests/test-gc.c: Likewise.
+       * tests/test-gethostname.c: Likewise.
+       * tests/test-gettimeofday.c: Likewise.
+       * tests/test-hash.c: Likewise.
+       * tests/test-hmac-md5.c: Likewise.
+       * tests/test-hmac-sha1.c: Likewise.
+       * tests/test-md2.c: Likewise.
+       * tests/test-md4.c: Likewise.
+       * tests/test-md5.c: Likewise.
+       * tests/test-memchr.c: Likewise.
+       * tests/test-memchr2.c: Likewise.
+       * tests/test-memcmp.c: Likewise.
+       * tests/test-memmem.c: Likewise.
+       * tests/test-memrchr.c: Likewise.
+       * tests/test-rawmemchr.c: Likewise.
+       * tests/test-read-file.c: Likewise.
+       * tests/test-rijndael.c: Likewise.
+       * tests/test-sockets.c: Likewise.
+       * tests/test-strchrnul.c: Likewise.
+       * tests/test-strstr.c: Likewise.
+       * tests/test-strtod.c: Likewise.
+       * build-aux/ncftpput-ftp: Likewise.
+
+2010-01-26  Eric Blake  <ebb9@byu.net>
+
+       ignore-value: update recommended header name
+       * modules/ignore-value (Include): Only use <> for headers that
+       exist in glibc.
+
+2010-01-26  Jim Meyering  <meyering@redhat.com>
+
+       test-userspec.c: avoid compiler warnings
+       * tests/test-userspec.c (main): Avoid shadowing ("uid"),
+       and "initialization discards qualifiers..." warnings.
+       Put the first "uid" in its own scope, and make char* members "const".
+
+2010-01-25  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Make warning diagnostics consistent.
+       * gnulib-tool (func_warning): New function.
+       Use it everywhere where gnulib-tool produces output to stderr and it is
+       not a fatal error.
+
+2010-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Fix test dependencies.
+       * modules/xstrtol-tests (Depends-on): Add inttypes.
+       * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
+
+2010-01-25 Pádraig Brady <P@draigBrady.com>
+
+       syntax-check: detect incorrect boolean macro values in config.h
+       * modules/maintainer-makefile (configure.ac): Parameterize the location
+       of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
+       The logic is from Eric Blake and the location indicated by Jim Meyering.
+       Note the more natural CONFIG_HEADER name is prohibited by automake
+       for backwards compatibility reasons.
+       * top/maint.mk (sc_Wundef_boolean): New rule.
+
+2010-01-25  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: detect MacOS 10.6's shasum, too
+       * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
+       Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
+
+2010-01-23  Jim Meyering  <meyering@redhat.com>
+
+       xstrtoll: new module
+       * modules/xstrtoll: New file.
+       * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
+       * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
+       * lib/xstrtoll.c, lib/xstrtoull.c: New files.
+       ./configure fails if you use this module and lack "long long".
+       * modules/xstrtoll-tests: New module.
+       * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
+       * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
+       new init.sh-based test framework.
+
+2010-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'yn'.
+       * modules/yn-tests: New file.
+       * tests/test-yn.c: New file.
+
+       Tests for module 'y1'.
+       * modules/y1-tests: New file.
+       * tests/test-y1.c: New file.
+
+       Tests for module 'y0'.
+       * modules/y0-tests: New file.
+       * tests/test-y0.c: New file.
+
+       Tests for module 'tanh'.
+       * modules/tanh-tests: New file.
+       * tests/test-tanh.c: New file.
+
+       Tests for module 'tan'.
+       * modules/tan-tests: New file.
+       * tests/test-tan.c: New file.
+
+       Tests for module 'sqrt'.
+       * modules/sqrt-tests: New file.
+       * tests/test-sqrt.c: New file.
+
+       Tests for module 'sinh'.
+       * modules/sinh-tests: New file.
+       * tests/test-sinh.c: New file.
+
+       Tests for module 'sin'.
+       * modules/sin-tests: New file.
+       * tests/test-sin.c: New file.
+
+       Tests for module 'rint'.
+       * modules/rint-tests: New file.
+       * tests/test-rint.c: New file.
+
+       Tests for module 'remainder'.
+       * modules/remainder-tests: New file.
+       * tests/test-remainder.c: New file.
+
+       Tests for module 'pow'.
+       * modules/pow-tests: New file.
+       * tests/test-pow.c: New file.
+
+       Tests for module 'nextafter'.
+       * modules/nextafter-tests: New file.
+       * tests/test-nextafter.c: New file.
+
+       Tests for module 'modf'.
+       * modules/modf-tests: New file.
+       * tests/test-modf.c: New file.
+
+       Tests for module 'logb'.
+       * modules/logb-tests: New file.
+       * tests/test-logb.c: New file.
+
+       Tests for module 'log1p'.
+       * modules/log1p-tests: New file.
+       * tests/test-log1p.c: New file.
+
+       Tests for module 'log10'.
+       * modules/log10-tests: New file.
+       * tests/test-log10.c: New file.
+
+       Tests for module 'log'.
+       * modules/log-tests: New file.
+       * tests/test-log.c: New file.
+
+       Tests for module 'lgamma'.
+       * modules/lgamma-tests: New file.
+       * tests/test-lgamma.c: New file.
+
+       Tests for module 'ldexp'.
+       * modules/ldexp-tests: New file.
+       * tests/test-ldexp.c: New file.
+
+       Tests for module 'jn'.
+       * modules/jn-tests: New file.
+       * tests/test-jn.c: New file.
+
+       Tests for module 'j1'.
+       * modules/j1-tests: New file.
+       * tests/test-j1.c: New file.
+
+       Tests for module 'j0'.
+       * modules/j0-tests: New file.
+       * tests/test-j0.c: New file.
+
+       Tests for module 'hypot'.
+       * modules/hypot-tests: New file.
+       * tests/test-hypot.c: New file.
+
+       Tests for module 'fmod'.
+       * modules/fmod-tests: New file.
+       * tests/test-fmod.c: New file.
+
+       Tests for module 'fabs'.
+       * modules/fabs-tests: New file.
+       * tests/test-fabs.c: New file.
+
+       Tests for module 'exp'.
+       * modules/exp-tests: New file.
+       * tests/test-exp.c: New file.
+
+       Tests for module 'erfc'.
+       * modules/erfc-tests: New file.
+       * tests/test-erfc.c: New file.
+
+       Tests for module 'erf'.
+       * modules/erf-tests: New file.
+       * tests/test-erf.c: New file.
+
+       Tests for module 'cosh'.
+       * modules/cosh-tests: New file.
+       * tests/test-cosh.c: New file.
+
+       Tests for module 'cos'.
+       * modules/cos-tests: New file.
+       * tests/test-cos.c: New file.
+
+       Tests for module 'copysign'.
+       * modules/copysign-tests: New file.
+       * tests/test-copysign.c: New file.
+
+       Tests for module 'cbrt'.
+       * modules/cbrt-tests: New file.
+       * tests/test-cbrt.c: New file.
+
+       Tests for module 'atan2'.
+       * modules/atan2-tests: New file.
+       * tests/test-atan2.c: New file.
+
+       Tests for module 'atan'.
+       * modules/atan-tests: New file.
+       * tests/test-atan.c: New file.
+
+       Tests for module 'asin'.
+       * modules/asin-tests: New file.
+       * tests/test-asin.c: New file.
+
+       Tests for module 'acos'.
+       * modules/acos-tests: New file.
+       * tests/test-acos.c: New file.
+
+2010-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Fix tests for common <math.h> functions.
+       * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
+       code snippet that references the function pointer, rather than merely
+       calling the function. Substitute the FUNC_LIBM variable.
+       * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
+       * 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/fabs (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/ldexp (configure.ac): Likewise.
+       * modules/lgamma (configure.ac): Likewise.
+       * modules/log (configure.ac): Likewise.
+       * modules/log10 (configure.ac): Likewise.
+       * modules/log1p (configure.ac): Likewise.
+       * modules/logb (configure.ac): Likewise.
+       * modules/modf (configure.ac): Likewise.
+       * modules/nextafter (configure.ac): Likewise.
+       * modules/pow (configure.ac): Likewise.
+       * modules/remainder (configure.ac): Likewise.
+       * modules/rint (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.
+
+2010-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Tests: Defeat inlining of math functions by GCC >= 4.3.0.
+       * tests/test-acosl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-asinl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-atanl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-cosl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-expl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-logl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-sinl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-sqrtl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+       * tests/test-tanl.c (x): New variable.
+       (main): Store argument in x and fetch it from x.
+
+2010-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
+       * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
+       assignments to the initial TESTS_ENVIRONMENT.
+       * doc/gnulib.texi (Unit test modules): Document it.
+       * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
+       TESTS_ENVIRONMENT.
+       * modules/btowc-tests (Makefile.am): Likewise.
+       * modules/c-stack-tests (Makefile.am): Likewise.
+       * modules/c-strcase-tests (Makefile.am): Likewise.
+       * modules/copy-file-tests (Makefile.am): Likewise.
+       * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
+       * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
+       * modules/mbrtowc-tests (Makefile.am): Likewise.
+       * modules/mbscasecmp-tests (Makefile.am): Likewise.
+       * modules/mbscasestr-tests (Makefile.am): Likewise.
+       * modules/mbschr-tests (Makefile.am): Likewise.
+       * modules/mbscspn-tests (Makefile.am): Likewise.
+       * modules/mbsinit-tests (Makefile.am): Likewise.
+       * modules/mbsncasecmp-tests (Makefile.am): Likewise.
+       * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
+       * modules/mbspbrk-tests (Makefile.am): Likewise.
+       * modules/mbspcasecmp-tests (Makefile.am): Likewise.
+       * modules/mbsrchr-tests (Makefile.am): Likewise.
+       * modules/mbsrtowcs-tests (Makefile.am): Likewise.
+       * modules/mbsspn-tests (Makefile.am): Likewise.
+       * modules/mbsstr-tests (Makefile.am): Likewise.
+       * modules/nl_langinfo-tests (Makefile.am): Likewise.
+       * modules/unicase/locale-language-tests (Makefile.am): Likewise.
+       * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
+       * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
+       * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
+       * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
+       * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
+       * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
+       * modules/wcrtomb-tests (Makefile.am): Likewise.
+       * modules/wcsnrtombs-tests (Makefile.am): Likewise.
+       * modules/wcsrtombs-tests (Makefile.am): Likewise.
+       * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
+       assignments from TESTS_ENVIRONMENT.
+       * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
+       augmentation.
+       * modules/argp-version-etc-tests (Makefile.am): Likewise.
+       * modules/atexit-tests (Makefile.am): Likewise.
+       * modules/binary-io-tests (Makefile.am): Likewise.
+       * modules/closein-tests (Makefile.am): Likewise.
+       * modules/dprintf-posix-tests (Makefile.am): Likewise.
+       * modules/exclude-tests (Makefile.am): Likewise.
+       * modules/fflush-tests (Makefile.am): Likewise.
+       * modules/fpending-tests (Makefile.am): Likewise.
+       * modules/fprintf-posix-tests (Makefile.am): Likewise.
+       * modules/freadahead-tests (Makefile.am): Likewise.
+       * modules/freadptr-tests (Makefile.am): Likewise.
+       * modules/freadseek-tests (Makefile.am): Likewise.
+       * modules/fseek-tests (Makefile.am): Likewise.
+       * modules/fseeko-tests (Makefile.am): Likewise.
+       * modules/ftell-tests (Makefile.am): Likewise.
+       * modules/ftello-tests (Makefile.am): Likewise.
+       * modules/idpriv-drop-tests (Makefile.am): Likewise.
+       * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
+       * modules/lseek-tests (Makefile.am): Likewise.
+       * modules/parse-duration-tests (Makefile.am): Likewise.
+       * modules/perror-tests (Makefile.am): Likewise.
+       * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
+       * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
+       * modules/pipe-tests (Makefile.am): Likewise.
+       * modules/pread-tests (Makefile.am): Likewise.
+       * modules/printf-posix-tests (Makefile.am): Likewise.
+       * modules/select-tests (Makefile.am): Likewise.
+       * modules/sigpipe-tests (Makefile.am): Likewise.
+       * modules/tsearch-tests (Makefile.am): Likewise.
+       * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
+       * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
+       * modules/uniname/uniname-tests (Makefile.am): Likewise.
+       * modules/uniwidth/width-tests (Makefile.am): Likewise.
+       * modules/vdprintf-posix-tests (Makefile.am): Likewise.
+       * modules/version-etc-tests (Makefile.am): Likewise.
+       * modules/vfprintf-posix-tests (Makefile.am): Likewise.
+       * modules/vprintf-posix-tests (Makefile.am): Likewise.
+       * modules/xalloc-die-tests (Makefile.am): Likewise.
+       * modules/xprintf-posix-tests (Makefile.am): Likewise.
+       * modules/xstrtoimax-tests (Makefile.am): Likewise.
+       * modules/xstrtol-tests (Makefile.am): Likewise.
+       * modules/xstrtoumax-tests (Makefile.am): Likewise.
+       * modules/yesno-tests (Makefile.am): Likewise.
+       Suggested by Jim Meyering.
+
+2010-01-24  Bruno Haible  <bruno@clisp.org>
+
+       More documentation.
+       * doc/gnulib.texi (Writing modules): New chapter.
+       (Miscellaneous Notes): Move sections "Comments" and "Header files" to
+       the new chapter.
+
+2010-01-24  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: do not prepend "./" after filtering
+       * top/maint.mk (_prepend_srcdir_prefix): New variable
+       (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
+       "./" when $(srcdir) is ".".
+
+       define STREQ(a,b) consistently, removing useless parentheses
+       #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
+       since the only risk is that "a" or "b" contains an unparenthesized
+       comma, but if either did that, STREQ would have 3 or more arguments.
+       Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
+       * lib/fts.c (STREQ): Remove unnecessary parentheses.
+       * lib/hash-triple.c (STREQ): Likewise.
+       * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
+       * lib/getugroups.c (STREQ): Likewise.
+
+2010-01-23  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: fix syntax-check in a non-srcdir build directory
+       * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
+       introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
+
+2010-01-22  Jim Meyering  <meyering@redhat.com>
+
+       userspec: add unit tests
+       * tests/test-userspec.c: New file.
+       * modules/userspec-tests: Likewise.
+
+2010-01-21  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: handle source file names containing "." robustly
+       * top/maint.mk (_dot_escaped_srcdir): Define.
+       (VC_LIST): Use it in LHS of sed substitution.
+
+2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
+
+       maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
+       * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
+       $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
+       from a non-srcdir build.
+
+2010-01-20  Eric Blake  <ebb9@byu.net>
+
+       warn-on-use: use instead of link-warning
+       * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
+       * modules/unistd (Depends-on, Makefile.am): Likewise.
+       * modules/arpa_inet (Depends-on): Replace link-warning with
+       warn-on-use.
+       (Makefile.am): Update rules accordingly.
+       * modules/ctype (Depends-on, Makefile.am): Likewise.
+       * modules/dirent (Depends-on, Makefile.am): Likewise.
+       * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
+       * modules/inttypes (Depends-on, Makefile.am): Likewise.
+       * modules/langinfo (Depends-on, Makefile.am): Likewise.
+       * modules/locale (Depends-on, Makefile.am): Likewise.
+       * modules/math (Depends-on, Makefile.am): Likewise.
+       * modules/search (Depends-on, Makefile.am): Likewise.
+       * modules/signal (Depends-on, Makefile.am): Likewise.
+       * modules/spawn (Depends-on, Makefile.am): Likewise.
+       * modules/stdlib (Depends-on, Makefile.am): Likewise.
+       * modules/string (Depends-on, Makefile.am): Likewise.
+       * modules/strings (Depends-on, Makefile.am): Likewise.
+       * modules/sys_file (Depends-on, Makefile.am): Likewise.
+       * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
+       * modules/sys_select (Depends-on, Makefile.am): Likewise.
+       * modules/sys_socket (Depends-on, Makefile.am): Likewise.
+       * modules/sys_stat (Depends-on, Makefile.am): Likewise.
+       * modules/sys_times (Depends-on, Makefile.am): Likewise.
+       * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
+       * modules/wchar (Depends-on, Makefile.am): Likewise.
+       * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
+       should be poisoned.
+       * m4/ctype.m4 (gl_CTYPE_H): Likewise.
+       * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
+       * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
+       * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
+       * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
+       * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
+       * m4/math_h.m4 (gl_MATH_H): Likewise.
+       * m4/search_h.m4 (gl_SEARCH_H): Likewise.
+       * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
+       * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
+       * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
+       * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
+       * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
+       * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
+       * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
+       * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
+       * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
+       * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
+       * m4/wchar.m4 (gl_WCHAR_H): Likewise.
+       * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
+       GL_LINK_WARNING.
+       * lib/ctype.in.h: Likewise.
+       * lib/dirent.in.h: Likewise.
+       * lib/fcntl.in.h: Likewise.
+       * lib/inttypes.in.h: Likewise.
+       * lib/langinfo.in.h: Likewise.
+       * lib/locale.in.h: Likewise.
+       * lib/math.in.h: Likewise.
+       * lib/search.in.h: Likewise.
+       * lib/signal.in.h: Likewise.
+       * lib/spawn.in.h: Likewise.
+       * lib/stdio.in.h: Likewise.
+       * lib/stdlib.in.h: Likewise.
+       * lib/string.in.h: Likewise.
+       * lib/strings.in.h: Likewise.
+       * lib/sys_file.in.h: Likewise.
+       * lib/sys_ioctl.in.h: Likewise.
+       * lib/sys_select.in.h: Likewise.
+       * lib/sys_socket.in.h: Likewise.
+       * lib/sys_stat.in.h: Likewise.
+       * lib/sys_times.in.h: Likewise.
+       * lib/sys_utsname.in.h: Likewise.
+       * lib/unistd.in.h: Likewise.
+       * lib/wchar.in.h: Likewise.
+
+2010-01-20  Bruno Haible  <bruno@clisp.org>
+
+       Avoid duplicate -lm.
+       * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
+       * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
+       * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
+       * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
+       * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
+       * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
+       * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
+       * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
+       * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
+       * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
+       * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
+       * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
+       Reported by Paolo Bonzini.
+
+2010-01-19  Bruno Haible  <bruno@clisp.org>
+
+       langinfo, nl_langinfo: Relicense under LGPLv2+.
+       * modules/langinfo (License): Change to LGPLv2+.
+       * modules/nl_langinfo (License): Likewise.
+       Patch by David Lutterkort <lutter@redhat.com>.
+
 2010-01-19  Bruno Haible  <bruno@clisp.org>
 
        Avoid compilation error with cc on OSF/1 5.1.
        * 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>.