+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
+ * m4/modf-ieee.m4: New file.
+ * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
+ whether modf works with NaN and Inf. Replace it if not.
+ * lib/math.in.h (modf): New declaration.
+ * lib/modf.c: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
+ * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
+ * modules/modf (Files): Add lib/modf.c.
+ (Depends-on): Add math, isfinite, trunc, isinf.
+ (configure.ac): Addrange to compile lib/modf.c if needed.
+ * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
+ m4/signbit.m4.
+ (configure.ac): Invoke gl_FUNC_MODF_IEEE.
+ * tests/test-math-c++.cc: Check the declaration of modf.
+ * doc/posix-functions/modf.texi: Mention the modf-ieee module.
+
+ Tests for module 'modfl-ieee'.
+ * modules/modfl-ieee-tests: New file.
+ * tests/test-modfl-ieee.c: New file.
+
+ New module 'modfl-ieee'.
+ * modules/modfl-ieee: New file.
+
+ Tests for module 'modf-ieee'.
+ * modules/modf-ieee-tests: New file.
+ * tests/test-modf-ieee.c: New file.
+
+ New module 'modf-ieee'.
+ * modules/modf-ieee: New file.
+
+ Tests for module 'modff-ieee'.
+ * modules/modff-ieee-tests: New file.
+ * tests/test-modff-ieee.c: New file.
+ * tests/test-modf-ieee.h: New file.
+
+ New module 'modff-ieee'.
+ * modules/modff-ieee: New file.
+
+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'fabsl-ieee'.
+ * modules/fabsl-ieee-tests: New file.
+ * tests/test-fabsl-ieee.c: New file.
+
+ New module 'fabsl-ieee'.
+ * modules/fabsl-ieee: New file.
+
+ Tests for module 'fabs-ieee'.
+ * modules/fabs-ieee-tests: New file.
+ * tests/test-fabs-ieee.c: New file.
+
+ New module 'fabs-ieee'.
+ * modules/fabs-ieee: New file.
+
+ Tests for module 'fabsf-ieee'.
+ * modules/fabsf-ieee-tests: New file.
+ * tests/test-fabsf-ieee.c: New file.
+ * tests/test-fabs-ieee.h: New file.
+
+ New module 'fabsf-ieee'.
+ * modules/fabsf-ieee: New file.
+
+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'fmal-ieee'.
+ * modules/fmal-ieee-tests: New file.
+ * tests/test-fmal-ieee.c: New file.
+
+ New module 'fmal-ieee'.
+ * modules/fmal-ieee: New file.
+
+ Tests for module 'fma-ieee'.
+ * modules/fma-ieee-tests: New file.
+ * tests/test-fma-ieee.c: New file.
+
+ New module 'fma-ieee'.
+ * modules/fma-ieee: New file.
+
+ Tests for module 'fmaf-ieee'.
+ * modules/fmaf-ieee-tests: New file.
+ * tests/test-fmaf-ieee.c: New file.
+ * tests/test-fma-ieee.h: New file.
+
+ New module 'fmaf-ieee'.
+ * modules/fmaf-ieee: New file.
+
+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'ldexpl-ieee'.
+ * modules/ldexpl-ieee-tests: New file.
+ * tests/test-ldexpl-ieee.c: New file.
+
+ New module 'ldexpl-ieee'.
+ * modules/ldexpl-ieee: New file.
+
+ Tests for module 'ldexp-ieee'.
+ * modules/ldexp-ieee-tests: New file.
+ * tests/test-ldexp-ieee.c: New file.
+
+ New module 'ldexp-ieee'.
+ * modules/ldexp-ieee: New file.
+
+ Tests for module 'ldexpf-ieee'.
+ * modules/ldexpf-ieee-tests: New file.
+ * tests/test-ldexpf-ieee.c: New file.
+ * tests/test-ldexp-ieee.h: New file.
+
+ New module 'ldexpf-ieee'.
+ * modules/ldexpf-ieee: New file.
+
+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ Refactor frexp*-ieee tests.
+ * tests/test-frexp-ieee.h: New file.
+ * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
+ (main): Just call test_function.
+ * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
+ (main): Just call test_function.
+ * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
+ (main): Just call test_function.
+ * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
+ * modules/frexp-ieee-tests (Files): Likewise.
+ * modules/frexpl-ieee-tests (Files): Likewise.
+
+ Tests for module 'frexpl-ieee'.
+ * modules/frexpl-ieee-tests: New file.
+ * tests/test-frexpl-ieee.c: New file.
+
+ New module 'frexpl-ieee'.
+ * modules/frexpl-ieee: New file.
+
+ Tests for module 'frexp-ieee'.
+ * modules/frexp-ieee-tests: New file.
+ * tests/test-frexp-ieee.c: New file.
+
+ New module 'frexp-ieee'.
+ * modules/frexp-ieee: New file.
+
+ Tests for module 'frexpf-ieee'.
+ * modules/frexpf-ieee-tests: New file.
+ * tests/test-frexpf-ieee.c: New file.
+
+ New module 'frexpf-ieee'.
+ * modules/frexpf-ieee: New file.
+
+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ roundl-ieee tests: More tests.
+ * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanl-nolibm.
+
+ round-ieee tests: More tests.
+ * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnand-nolibm.
+
+ roundf-ieee tests: More tests.
+ * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanf-nolibm.
+
+ truncl-ieee tests: More tests.
+ * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanl-nolibm.
+
+ trunc-ieee tests: More tests.
+ * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnand-nolibm.
+
+ truncf-ieee tests: More tests.
+ * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanf-nolibm.
+
+ ceill-ieee tests: More tests.
+ * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanl-nolibm.
+
+ ceil-ieee tests: More tests.
+ * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnand-nolibm.
+
+ ceilf-ieee tests: More tests.
+ * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanf-nolibm.
+
+ floorl-ieee tests: More tests.
+ * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanl-nolibm.
+
+ floor-ieee tests: More tests.
+ * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnand-nolibm.
+
+ floorf-ieee tests: More tests.
+ * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
+ (main): Add tests for [MX] shaded specification in POSIX.
+ * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
+ (Depends-on): Add isnanf-nolibm.
+
+2012-02-26 Bruno Haible <bruno@clisp.org>
+
+ fpieee: More comments.
+ * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'log10l'.
+ * modules/log10l-tests: New file.
+ * tests/test-log10l.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of log10l.
+
+ New module 'log10l'.
+ * lib/math.in.h (log10l): New declaration.
+ * lib/log10l.c: New file.
+ * m4/log10l.m4: New file.
+ * modules/log10l: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
+ HAVE_DECL_LOG10L.
+ * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
+ HAVE_DECL_LOG10L.
+ * doc/posix-functions/log10l.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ fmodl, remainder*: Avoid wrong results due to rounding errors.
+ * lib/fmodl.c (fmodl): Correct the result if it is not within the
+ expected bounds.
+ * lib/remainderf.c (remainderf): Likewise.
+ * lib/remainder.c (remainder): Likewise.
+ * lib/remainderl.c (remainderl): Likewise.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'remainderl'.
+ * modules/remainderl-tests: New file.
+ * tests/test-remainderl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of remainderl.
+
+ New module 'remainderl'.
+ * lib/math.in.h (remainderl): New declaration.
+ * lib/remainderl.c: New file.
+ * m4/remainderl.m4: New file.
+ * modules/remainderl: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
+ * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
+ HAVE_REMAINDERL.
+ * doc/posix-functions/remainderl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'remainderf'.
+ * modules/remainderf-tests: New file.
+ * tests/test-remainderf.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of remainderf.
+
+ New module 'remainderf'.
+ * lib/math.in.h (remainderf): New declaration.
+ * lib/remainderf.c: New file.
+ * m4/remainderf.m4: New file.
+ * modules/remainderf: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
+ * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
+ HAVE_REMAINDERF.
+ * doc/posix-functions/remainderf.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ remainder: Support for MSVC.
+ * lib/math.in.h (remainder): New declaration.
+ * lib/remainder.c: New file.
+ * m4/remainder.m4: New file.
+ * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
+ (Depends-on): Add math, round, fma.
+ (configure.ac): Use results of gl_FUNC_REMAINDER.
+ * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
+ HAVE_DECL_REMAINDER.
+ * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
+ HAVE_REMAINDER, HAVE_DECL_REMAINDER.
+ * tests/test-math-c++.cc: Check the declaration of remainder.
+ * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
+ problems are fixed.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'fmodl'.
+ * modules/fmodl-tests: New file.
+ * tests/test-fmodl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of fmodl.
+
+ New module 'fmodl'.
+ * lib/math.in.h (fmodl): New declaration.
+ * lib/fmodl.c: New file.
+ * m4/fmodl.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
+ REPLACE_FMODL.
+ * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
+ REPLACE_FMODL.
+ * modules/fmodl: New file.
+ * doc/posix-functions/fmodl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'modfl'.
+ * modules/modfl-tests: New file.
+ * tests/test-modfl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of modfl.
+
+ New module 'modfl'.
+ * lib/math.in.h (modfl): New declaration.
+ * lib/modfl.c: New file.
+ * m4/modfl.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
+ * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
+ * modules/modfl: New file.
+ * doc/posix-functions/modfl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'fabsl'.
+ * modules/fabsl-tests: New file.
+ * tests/test-fabsl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of fabsl.
+
+ New module 'fabsl'.
+ * lib/math.in.h (fabsl): New declaration.
+ * lib/fabsl.c: New file.
+ * m4/fabsl.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
+ REPLACE_FABSL.
+ * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
+ REPLACE_FABSL.
+ * modules/fabsl: New file.
+ * doc/posix-functions/fabsl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ fabs tests: More tests.
+ * tests/test-fabs.c: Include <string.h>, minus-zero.h.
+ (zero): New variable.
+ (main): Add tests for signed zero.
+ * modules/fabs-tests (Files): Add tests/minus-zero.h.
+
+ fabsf tests: More tests.
+ * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
+ (zero): New variable.
+ (main): Add tests for signed zero.
+ * modules/fabsf-tests (Files): Add tests/minus-zero.h.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ atanl: Provide function definition on MSVC.
+ * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
+ function pointer.
+ * lib/math.in.h (atanl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ acosl: Provide function definition on MSVC.
+ * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
+ function pointer.
+ * lib/math.in.h (acosl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ asinl: Provide function definition on MSVC.
+ * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
+ function pointer.
+ * lib/math.in.h (asinl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ tanl: Provide function definition on MSVC.
+ * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
+ function pointer.
+ * lib/math.in.h (tanl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ cosl: Provide function definition on MSVC.
+ * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
+ function pointer.
+ * lib/math.in.h (cosl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ sinl: Provide function definition on MSVC.
+ * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
+ function pointer.
+ * lib/math.in.h (sinl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ logl: Provide function definition on MSVC.
+ * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
+ function pointer.
+ * lib/math.in.h (logl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ expl: Provide function definition on MSVC.
+ * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
+ function pointer.
+ * lib/math.in.h (expl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ sqrtl: Provide function definition on MSVC.
+ * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
+ a function pointer.
+ * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ ceill: Provide function definition on MSVC.
+ * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
+ used as a function pointer.
+ * lib/math.in.h (ceill): Undefine if it is not declared as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ floorl: Provide function definition on MSVC.
+ * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
+ used as a function pointer.
+ * lib/math.in.h (floorl): Undefine if it is not declared as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ ceilf: Provide function definition on MSVC.
+ * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
+ used as a function pointer.
+ * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ floorf: Provide function definition on MSVC.
+ * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
+ used as a function pointer.
+ * lib/math.in.h (floorf): Undefine if it is not declared as a function.
+
+2012-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdnoreturn: new module
+ This implements a replacement for C11's <stdnoreturn.h>.
+ * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
+ * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
+ * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
+ * tests/test-stdnoreturn.c: New files.
+
+2012-02-24 Stanislav Brabec <sbrabec@suse.cz> (tiny change)
+
+ regex: fix false multibyte matches in some regular expressions
+ See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
+ and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
+ * lib/regex_internal.c (re_string_skip_chars):
+ Fix miscomputation of remain_len that may cause incomplete
+ multi-byte character and false match.
+
+2012-02-24 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
+ * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
+ uses with "==" *before* the call, e.g., 0 == strcmp (...)
+ Remove now-unnecessary str''cmp obfuscation.
+ Suggested by Akim Demaille.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ streq: Rename macro.
+ * lib/streq.h (STREQ_OPT): Renamed from STREQ.
+ * NEWS: Mention the change.
+ * lib/mbrtowc.c (mbrtowc): Update.
+ * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
+ * lib/wcwidth.c (wcwidth): Update.
+ Suggested by Akim Demaille and Jim Meyering.
+
+2012-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: fix typo in definition of MIN
+ * lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas
+ Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
+
+2012-02-19 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ acl: Don't use ACL_CNT and similar ops, since they are unreliable.
+ * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
+ entries into a stack-allocated buffer directly.
+ * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
+
+2012-02-19 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ acl: Don't use GETACLCNT and similar ops, since they are unreliable.
+
+ - There were several instances of this pattern:
+
+ for (;;) {
+ n = acl (f, GETACLCNT, 0, NULL);
+ [ allocate an array A of size N ]
+ if (acl (f, GETACL, n, a) == n)
+ break;
+ }
+
+ This loop might never terminate if some other process is constantly
+ manipulating the file's ACL. The loop should be rewritten to
+ terminate.
+
+ - The acl (... GETACLNT ...) call is merely an optimization; its value
+ is merely a hint as to how big to make the array. A better
+ optimization is to avoid the acl (... GETACLNT ...) call entirely,
+ and just guess a reasonably-big size, growing the size and trying
+ again if it's not large enough. This guarantees termination, and
+ saves a system call.
+
+ * lib/acl-internal.h: Include <limits.h>.
+ (MIN, SIZE_MAX): New macros.
+ * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
+ a stack-allocated buffer, and use malloc if it does not fit. Don't
+ use GETACLCNT.
+ * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ acl: Fix endless loop on Solaris with vxfs.
+ * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
+ acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
+ * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
+ * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
+ * tests/test-sameacls.c (main)[Solaris]: Likewise.
+ Reported by Bill Jones in
+ <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ acl: Fix copy-acl test failure on Solaris 11 2011-11.
+ * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
+ (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
+ that this function returns 0 in some more cases.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ acl: Update doc references.
+ * doc/acl-resources.txt: Update links to Solaris documentation.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ Fix test failure in many locales on Solaris 11.
+ * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
+ 'tr' arguments.
+ * tests/test-pipe-filter-ii1.c (main): Likewise.
+ * build-aux/bootstrap (check_versions): Run 'tr' command with range
+ expressions in the C locale.
+ * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
+ * m4/host-os.m4 (gl_HOST_OS): Likewise.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Improve usage message.
+ * gnulib-tool (func_usage): Move doc of --help and --version to the
+ section "Operation modes".
+
+2012-02-18 Reuben Thomas <rrt@sc3d.org>
+
+ README-release: make it easier to execute commands
+ * top/README-release: break commands out on to separate lines.
+
+2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ GNUmakefile: simplify detection of unconfigured trees
+ * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
+ whether the tree make is being run from is already configured or
+ not. Related simplifications.
+
+2012-02-13 Simon Josefsson <simon@josefsson.org>
+
+ * gnulib-tool (func_usage): Document --help and --version.
+
+2012-02-11 Jim Meyering <meyering@redhat.com>
+
+ bootstrap: don't exit 0 upon gnulib-tool failure
+ * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
+ its exit status, not 0.
+