+2011-11-07 Eric Blake <eblake@redhat.com>
+
+ maint.mk: silence new syntax check
+ * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
+
+2011-11-06 Bruno Haible <bruno@clisp.org>
+
+ Doc about floating-point and math API.
+ * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
+ * doc/posix-headers/math.texi: Mention problem with math_errhandling.
+
+2011-11-06 Bruno Haible <bruno@clisp.org>
+
+ stdalign tests: Skip the test when compiled by Sun C.
+ * tests/test-stdalign.c (main): Skip the test on Sun C.
+
+2011-11-06 Bruno Haible <bruno@clisp.org>
+
+ ansi-c++-opt: Complete the 2011-06-05 change.
+ * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
+ does not support namespaces, set the variable to "no", not to ":".
+
+2011-11-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
+
+2011-11-06 Bruno Haible <bruno@clisp.org>
+
+ copysignl: Fix result for zero argument on HP-UX 11 with HP C.
+ * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
+ (minus_zerol) [HP-UX]: New macro.
+ (unary_minus) [HP-UX]: New function.
+ (copysignl) [HP-UX]: Use unary_minus function.
+
+2011-11-06 Bruno Haible <bruno@clisp.org>
+
+ ldexp, ldexpf, ldexpl: Enhance tests.
+ * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
+ and tests/test-ldexpl.c.
+ * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
+ LDEXP, MIN_EXP, MAX_EXP): New macros.
+ Include test-ldexp.h.
+ (main): Just call test_function.
+ * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
+ infinity.h, nan.h.
+ (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
+ MAX_EXP): New macros.
+ Include test-ldexp.h.
+ (x, y): Remove variables.
+ (main): Just call test_function.
+ * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
+ infinity.h, nan.h.
+ (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
+ MAX_EXP): New macros.
+ Include test-ldexp.h.
+ (x, y): Remove variables.
+ (main): Just call test_function.
+ * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
+ * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
+ tests/minus-zero.h, tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnand-nolibm, signbit, float.
+ * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
+ tests/minus-zero.h, tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanf-nolibm, signbit, float.
+
+2011-11-06 Bruno Haible <bruno@clisp.org>
+
+ math tests: Cosmetics.
+ * tests/test-math-c++.cc: Reorder declarations.
+
+2011-11-05 Bruno Haible <bruno@clisp.org>
+
+ fma*: Simplify test.
+ * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
+ (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
+
+ Tests for module 'fmal'.
+ * modules/fmal-tests: New file.
+ * tests/test-fmal1.c: New file.
+ * tests/test-fmal2.c: New file.
+
+ New module 'fmal'.
+ * lib/math.in.h (fmal): New declaration.
+ * lib/fmal.c: New file.
+ * m4/fmal.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
+ * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
+ REPLACE_FMAL.
+ * modules/fmal: New file.
+ * doc/posix-functions/fmal.texi: Mention the new module and the various
+ bugs.
+
+ Tests for module 'fmaf'.
+ * modules/fmaf-tests: New file.
+ * tests/test-fmaf1.c: New file.
+ * tests/test-fmaf2.c: New file.
+
+ New module 'fmaf'.
+ * lib/math.in.h (fmaf): New declaration.
+ * lib/fmaf.c: New file.
+ * m4/fmaf.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
+ * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
+ REPLACE_FMAF.
+ * modules/fmaf: New file.
+ * doc/posix-functions/fmaf.texi: Mention the new module and the various
+ bugs.
+
+ Tests for module 'fma'.
+ * modules/fma-tests: New file.
+ * tests/test-fma1.c: New file.
+ * tests/test-fma1.h: New file.
+ * tests/test-fma2.c: New file.
+ * tests/test-fma2.h: New file.
+
+ New module 'fma'.
+ * lib/math.in.h (fma): New declaration.
+ * lib/fma.c: New file.
+ * m4/fma.m4: New file.
+ * m4/fegetround.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
+ * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
+ REPLACE_FMA.
+ * modules/fma: New file.
+ * doc/posix-functions/fma.texi: Mention the new module and the various
+ bugs.
+
+ Extend gl_MATHFUNC.
+ * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
+ Support 'void' as argument type.
+ * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
+
+2011-11-05 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: also prohibit inclusion of dirent.h without use
+ * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
+
+2011-11-05 Bruno Haible <bruno@clisp.org>
+
+ ldexpl tests: Avoid test failure on MSVC 9.
+ * tests/test-ldexpl.c (main): Use a temporary variable for the expected
+ value. Needed in order to enforce the conversion from a value greater
+ than LDBL_MAX to Infinity.
+
+2011-11-05 Bruno Haible <bruno@clisp.org>
+
+ New modules 'at-internal', 'openat-h', split off from module 'openat'.
+ * modules/at-internal: New file, extracted from modules/openat.
+ * modules/openat-h: New file.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
+ invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
+ * modules/openat (Description): Add reference to POSIX function.
+ (Files): Remove lib/openat.h, lib/openat-proc.c.
+ (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
+ intprops, unistd.
+ (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
+ gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
+ gl_FCNTL_MODULE_INDICATOR.
+ (Include): Remove unistd.h, openat.h.
+ * modules/areadlinkat (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
+ openat-die, openat-h, save-cwd.
+ * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
+ openat-die, openat-h, save-cwd, unistd.
+ * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
+ (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
+ openat-h, save-cwd. Remove fcntl-h, openat.
+ * modules/fchmodat (Files): Remove lib/openat.h.
+ (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
+ openat, stdbool, unistd.
+ * modules/fchownat (Files): Remove lib/openat.h.
+ (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
+ openat, stdbool, sys_stat.
+ * modules/fdopendir (Files): Remove lib/openat-priv.h,
+ lib/openat-proc.c.
+ (Depends-on): Add at-internal.
+ (condigure.ac): Remove AC_LIBOBJ of openat-proc.
+ * modules/fstatat (Files): Remove lib/openat.h.
+ (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
+ stdbool, unistd.
+ * modules/fts (Depends-on): Add openat-h.
+ * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
+ openat.
+ * modules/mkdirat (Files): Remove lib/openat.h.
+ (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
+ openat, stdbool, sys_stat.
+ * modules/mkfifoat (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
+ openat-h, save-cwd. Remove fcntl-h, openat.
+ * modules/openat-die (Depends-on): Add openat-h. Remove openat.
+ * modules/readlinkat (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
+ openat-h, save-cwd. Remove fcntl-h, openat.
+ * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
+ openat.
+ * modules/selinux-at (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
+ fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
+ * modules/symlinkat (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
+ openat-h, save-cwd. Remove fcntl-h, openat.
+ * modules/unlinkat (Files): Remove lib/openat.h.
+ (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
+ stdbool.
+ * modules/utimensat (Files): Add lib/at-func.c.
+ (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
+ openat-die, openat-h, save-cwd.
+ * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
+ * modules/fdutimensat-tests (Depends-on): Add openat.
+ * modules/fstatat-tests (Depends-on): Add openat-h.
+ * modules/readlinkat-tests (Depends-on): Add openat.
+ * modules/symlinkat-tests (Depends-on): Add openat.
+
+2011-11-05 Bruno Haible <bruno@clisp.org>
+
+ openat: Include <stdbool.h>.
+ * lib/openat.c: Include <stdbool.h>.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ fchownat, renameat, unlinkat: Fix dependencies.
+ * modules/fchownat (Depends-on): Add fstatat.
+ * modules/renameat (Depends-on): Likewise.
+ * modules/unlinkat (Depends-on): Likewise.
+
+2011-11-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ openat: remove direct dependency on dirent
+ * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
+ and hasn't been needed ever since fdopendir was split into its own
+ module on 2009-08-31.
+ * modules/openat (Depends-on): Remove dirent.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ renameat: Optimize code size.
+ * modules/renameat (configure.ac): Don't compile at-func2.c if
+ REPLACE_RENAMEAT is 1.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ openat tests: Fix file list.
+ * modules/openat-tests (Files): Add tests/test-open.h.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
+ * modules/fchmodat (Depends-on): Add openat-die.
+ * modules/fchownat (Depends-on): Likewise.
+ * modules/linkat (Depends-on): Likewise.
+ * modules/renameat (Depends-on): Likewise.
+ * modules/openat (Depends-on): Add dirent.
+
+2011-11-04 Jim Meyering <meyering@redhat.com>
+
+ at-func*.c: fix comments
+ * lib/at-func2.c: Correct/improve first-line comment.
+ * lib/at-func.c: Correct grammar in first-line comment.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ New module 'mkdirat', split off from module 'openat'.
+ * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
+ Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
+ * modules/mkdirat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/mkdirat.c.
+ (Depends-on): Remove mkdir.
+ (configure.ac): Remove AC_LIBOBJ of mkdirat.
+ (Include): Remove <sys/stat.h>.
+ * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
+ tests/test-mkdir.h.
+ (Depends-on): Remove ignore-value.
+ (Makefile.am): Remove rules for test-mkdirat.
+ * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ closedir: Avoid warning on mingw.
+ * lib/closedir.c: Include <unistd.h>.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ New module 'fstatat', split off from module 'openat'.
+ * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
+ defined.
+ * m4/fstatat.m4: New file. extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
+ gl_FUNC_FSTATAT.
+ (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
+ * modules/fstatat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/fstatat.c.
+ (Depends-on): Remove lstat.
+ (configure.ac): Remove AC_LIBOBJ of fstatat.
+ * modules/fstatat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-fstatat.c,
+ tests/test-lstat.h, tests/test-stat.h.
+ (Depends-on): Remove getcwd-lgpl.
+ (Makefile.am): Remove rules for test-fstatat.
+ * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+ * modules/getcwd (Depends-on): Add fstatat.
+ * modules/linkat (Depends-on): Likewise.
+ * modules/mkfifoat-tests (Depends-on): Likewise.
+ * modules/utimensat (Depends-on): Add fstatat. Remove openat.
+
+2011-11-03 Bruno Haible <bruno@clisp.org>
+
+ New module 'unlinkat', split off from module 'openat'.
+ * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
+ REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
+ * modules/unlinkat: New file, extracted from modules/openat. Correct
+ the dependency conditions.
+ * modules/openat (Files): Remove lib/unlinkat.c.
+ (Depends-on): Remove rmdir, unlink.
+ (configure.ac): Remove AC_LIBOBJ of unlinkat.
+ * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
+ tests/test-rmdir.h, tests/test-unlink.h.
+ (Depends-on): Remove unlinkdir.
+ (Makefile.am): Remove rules for test-unlinkat.
+ * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+ * modules/linkat-tests (Depends-on): Add unlinkat.
+ * modules/mkfifoat-tests (Depends-on): Likewise.
+ * modules/readlinkat-tests (Depends-on): Likewise.
+
+2011-11-02 Bruno Haible <bruno@clisp.org>
+
+ New module 'fchmodat', split off from module 'openat'.
+ * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
+ defined.
+ * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
+ for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
+ * modules/fchmodat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/fchmodat.c.
+ (configure.ac): Remove AC_LIBOBJ of fchmodat.
+ * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
+ (Makefile.am): Remove rules for test-fchmodat.
+ * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+
+2011-11-02 Jim Meyering <meyering@redhat.com>
+
+ putenv: indent #definition of "environ" to placate cppi
+ * lib/putenv.c (environ): Make indentation reflect cpp nesting.
+
+ gitlog-to-changelog: provide a ChangeLog-repair mechanism
+ Git logs are often treated as immutable, because editing them
+ changes the SHA1 checksums of all descendants. Thus, errors in
+ git logs tend to stay there forever. However, when we generate
+ a ChangeLog file -- typically for distribution -- from that git log,
+ we can actually make corrections in the generated file. The key
+ lies in recording in machine-readable/applicable form the desired
+ corrections. See --help for description and an example.
+ * build-aux/gitlog-to-changelog (parse_amend_file): New function.
+ (usage): Describe it; alphabetize option descriptions.
+ (main): Honor the new option, carefully.
+
+2011-11-01 Jim Meyering <meyering@redhat.com>
+
+ gitlog-to-changelog: avoid an infloop
+ * build-aux/gitlog-to-changelog: Don't infloop for a commit log
+ that ends up being empty.
+
+2011-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
+ (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
+ bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
+ contains (possibly-quoted) backslashes. This should avoid
+ all-too-common shell bugs if COMPLICATED contains backslashes in
+ the "wrong" places. Reported by David Evans in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
+ When 'sed' uses character ranges like A-Z, invoke it in the C locale,
+ because we want ASCII ranges. Is there some reason we don't use
+ the C locale everywhere in this script?
+ (func_module, top level): Avoid unwanted pathname expansion when
+ $repo_url_prefix or $repo_url_suffix_repl contain shell
+ metacharacters like '?' and '*'.
+
+2011-11-01 Bruno Haible <bruno@clisp.org>
+
+ fchownat: Improve description.
+ * modules/fchownat (Description): Add link to function.
+
+2011-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
+ mingw supports alignments only up to 8 (!). Reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
+ * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
+
+2011-11-01 Bruno Haible <bruno@clisp.org>
+
+ alignof: Avoid collision with stdalign module.
+ * lib/alignof.h (alignof): Remove macro.
+ * NEWS: Mention the change.
+ Reported by Paul Eggert.
+
+2011-11-01 Bruno Haible <bruno@clisp.org>
+
+ New module 'fchownat', split off from module 'openat'.
+ * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
+ defined.
+ * m4/fchownat.m4: New file, extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
+ invoke gl_FUNC_FCHOWNAT.
+ (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
+ gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
+ * modules/fchownat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/fchownat.c.
+ (Depends-on): Remove lchown.
+ (configure.ac): Remove AC_LIBOBJ of fchownat.
+ * modules/fchownat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-fchownat.c,
+ tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
+ (Depends-on): Remove mgetgroups, usleep, stat-time.
+ (configure.ac): Remove test for getegid.
+ (Makefile.am): Remove rules for test-fchownat.
+ * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+
2011-10-31 Paul Eggert <eggert@cs.ucla.edu>
stdalign: port better to MSVC and to Sun C 5.11
- I think these problems were reported by Bruno Haible, in email
- that I've unfortunately misplaced.
+ This fixes some of the problems reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
* doc/posix-headers/stdalign.texi (stdalign.h): Document more
shortcomings of MSVC and of Sun C 5.11.
* lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis