+2011-05-20 Jim Meyering <meyering@redhat.com>
+
+ maint: replace misused "a" with "an"
+ * doc/intprops.texi: "a integer"
+ * doc/regex.texi: "a explanation"
+ * lib/alignof.h: "a object"
+ * lib/argmatch.h: "a explanation"
+ * lib/argp-help.c: "a option" and "a OPTION_DOC"
+ * lib/stdint.in.h: "a integer"
+ * lib/userspec.c: "a owner"
+ * doc/gnulib.texi: Fix "a idea", and reword.
+
+2011-05-19 Jim Meyering <meyering@redhat.com>
+
+ maint: correct misuse of "a" and "an"
+ * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
+ * lib/argp-help.c: "an docum...": s/an/a/
+ * lib/argp-parse.c: "An vector": s/An/A/
+ * lib/execute.c: "an native": s/an/a/
+ * lib/spawn-pipe.c: Likewise.
+ * lib/gc.h: "an Gc_rc": s/an/a/
+ * lib/unigbrk.in.h: "an grapheme": s/an/a/
+ * lib/fts.c: "an stat.st_dev": s/an/a/
+
+2011-05-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ intprops-tests: work around HP-UX 11.23 cc bug with constants
+ * tests/test-intprops.c (VERIFY): New macro.
+ (main): Use it, instead of verify, to work around the compiler bug; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
+
+ intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
+ See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
+ * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
+ (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
+ (_GL_REMAINDER_OVERFLOW): Use it.
+
+ intprops-tests: revert unsigned part of previous change
+ * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
+ Remove; they weren't actually needed. All uses of U0 and U1 removed,
+ and other casts to 'unsigned int' reverted to 'u' suffixes. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
+
+2011-05-19 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
+ * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
+ strerror_r() returned without filling the buffer.
+ Reported by Eric Blake.
+
+2011-05-19 Eric Blake <eblake@redhat.com>
+
+ strerror_r: guarantee unchanged errno
+ * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
+ * lib/strerror-impl.h (strerror): Set errno to match strerror_r
+ failure.
+ * tests/test-strerror_r.c (main): Enhance test.
+
+2011-05-19 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Reorder #if blocks.
+ * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
+ for consistency with the previous commit.
+
+2011-05-19 Bruno Haible <bruno@clisp.org>
+
+ perror: Avoid clobbering the strerror buffer when possible.
+ * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
+ * lib/strerror.c: Include it.
+ * modules/strerror (Files): Add lib/strerror-impl.h.
+ * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
+ (my_strerror): New function, defined through lib/strerror-impl.h.
+ (perror): Use it instead of strerror.
+ * modules/perror (Files): Add lib/strerror-impl.h.
+ (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
+
+2011-05-19 Eric Blake <eblake@redhat.com>
+
+ strerror_r: fix on newer cygwin
+ * lib/strerror_r.c (strerror_r): Cygwin now has
+ __xpg_strerror_r, use it.
+
+2011-05-19 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Avoid clobbering the strerror buffer when possible.
+ * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
+ (sys_nerr, sys_errlist): New declarations.
+ (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
+ HP-UX, native Win32, IRIX, and 32-bit Solaris.
+ * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
+
+2011-05-19 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Fix test failure on mingw.
+ * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
+ EXTEND_STRERROR_R.
+ * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
+ macros from errno.in.h instead.
+
+2011-05-19 Eric Blake <eblake@redhat.com>
+
+ strerror: relax test for Solaris
+ * tests/test-strerror.c (main): Permit Solaris behavior.
+ * tests/test-strerror_r.c (main): Likewise.
+
+ strerror: enforce POSIX ruling on strerror(0)
+ * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
+ * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
+ * lib/strerror_r.c (rpl_strerror_r): Work around it.
+ * doc/posix-functions/strerror.texi (strerror): Document it.
+ * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
+ * tests/test-strerror.c (main): Strengthen test.
+ * tests/test-strerror_r.c (main): Likewise.
+
+2011-05-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ intprop-tests: port to older and more-pedantic compilers
+ * modules/intprops-tests (Files): Add tests/macros.h.
+ * tests/test-intprops.c: Include macros.h.
+ (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
+ it's no longer documented to expand to an integer constant expression.
+ (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
+ argument is floating point, as it's no longer documented to expand
+ to an integer constant expression in that case.
+ (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
+ compiler bugs reported by Bruno Haible. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
+ (U0, U1): New constants, to work around the same bugs. Also,
+ in tests, use e.g., "(unsigned int) 39" rather than "39u".
+
+ intprops: work around C compiler bugs
+ * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
+ bug in Sun C 5.11 2010/08/13 and other compilers; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
+
+ intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
+ * doc/intprops.texi (Integer Type Determination): Fix
+ documentation for TYPE_IS_INTEGER: it returns an constant
+ expression, not an integer constant expression. Fix doc for
+ TYPE_SIGNED: it returns an integer constant expression only if its
+ argument is an integer type. (TYPE_IS_INTEGER is the same, but is
+ hardly worth documented that way....)
+
+2011-05-18 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Avoid clobbering the strerror buffer when possible.
+ * lib/strerror_r.c (strerror_r): Merge the three implementations.
+ Handle gnulib defined errno values here. When strerror() returns NULL
+ or an empty string, return EINVAL.
+ * lib/strerror.c (strerror): Always call strerror_r. Don't handle
+ gnulib defined errno values here.
+ * modules/strerror (Depends-on): Add verify, strerror_r-posix.
+
+2011-05-18 Eric Blake <eblake@redhat.com>
+
+ fnmatch: avoid compiler warning
+ * lib/fnmatch_loop.c (FCT): Use correct type.
+ Reported by Matthias Bolte.
+
+2011-05-13 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: three new prohibit_<HDR>_without_use rules
+ * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
+ (sc_prohibit_stdio-safer_without_use): Likewise.
+ (sc_prohibit_xfreopen_without_use): Likewise.
+
+2011-05-17 Jim Meyering <meyering@redhat.com>
+
+ announce-gen: fail if the NEWS delta is empty
+ If there's nothing noteworthy in NEWS, then either you forgot
+ or you shouldn't be releasing.
+ * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
+
+2011-05-17 Pádraig Brady <P@draigBrady.com>
+
+ * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
+ reserved symbols starting with double underscore from the check.
+
+2011-05-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ intprops: add doc
+ * doc/intprops.texi: New file, documenting intprops.
+ * doc/gnulib.texi (Particular Modules): Include it.
+
+ verify: add doc to gnulib manual and fix example
+ * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
+ * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
+ (Compile-time Assertions): Fix example so it can't overflow.
+