+2011-06-06 Bruno Haible <bruno@clisp.org>
+
+ spawn-pipe tests: Rename program.
+ * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
+ * tests/test-spawn-pipe-child.c: Update comment.
+ * tests/test-spawn-pipe.sh: Update.
+ * modules/spawn-pipe-tests (Files, Makefile.am): Update.
+
+ spawn-pipe tests: Like the child program only against libc.
+ * tests/test-spawn-pipe-child.c: New file, extracted from
+ tests/test-spawn-pipe.c.
+ (main): Expect only one argument.
+ (is_open): New function, copied from tests/test-pipe.c.
+ * tests/test-spawn-pipe.c: Don't include <errno.h>.
+ (child_main): Remove function.
+ (test_pipe): Pass only one argument to the child program.
+ (main): Remove child process code. Expect the child program's name as
+ first argument.
+ * tests/test-spawn-pipe.sh: Pass the child program's name as first
+ argument.
+ * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
+ (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
+ test-spawn-pipe-child against no libraries.
+
+2011-06-06 Bruno Haible <bruno@clisp.org>
+
+ careadlinkat: Avoid mismatch between ssize_t and int.
+ * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
+ * lib/careadlinkat.c (careadlinkatcwd): Define always.
+
+2011-06-06 Jim Meyering <meyering@redhat.com>
+
+ gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
+ * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
+ _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ ansi-c++-opt: Interoperability with libtool.
+ * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
+ set the variable to "no", not to ":".
+ * NEWS: Mention the change.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ acl: Fix test failure on AIX 7.
+ * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
+ Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ pipe-filter-ii: Fix test failure on AIX and IRIX.
+ * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
+ with EAGAIN, retry with a smaller buffer size.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ localename: Fix link dependencies.
+ * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
+ * modules/localename-tests (Makefile.am): Link test-localename with
+ $(LIBTHREAD).
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ error: Avoid gcc warning.
+ * lib/error.c (strerror_r): Declare also when its return type is 'int'.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ unsetenv: Avoid gcc warning.
+ * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ setenv: Avoid gcc warning.
+ * lib/setenv.c (setenv): Provide declaration if system lacks it.
+
+2011-06-05 Bruno Haible <bruno@clisp.org>
+
+ sys_select: Ensure memset is declared also on AIX 7.
+ * lib/sys_select.in.h: Include <string.h> also on AIX.
+ * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
+ self-contained also on AIX 7.1.
+
+2011-06-04 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
+ * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
+ function name, "error".
+ (_gl_translatable_diag_func_re): New configurable variable.
+
+2011-06-04 Bruno Haible <bruno@clisp.org>
+
+ getopt: Avoid gcc warning.
+ * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
+
+2011-06-04 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Fix comments.
+ * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
+ commit.
+
+2011-06-04 Bruno Haible <bruno@clisp.org>
+
+ perror: Fix compilation error.
+ * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
+ Undefine fprintf, not sprintf.
+ * modules/perror (Depends-on): Remove intprops, verify.
+
+2011-06-04 Bruno Haible <bruno@clisp.org>
+
+ setlocale: Enable replacement on Cygwin 1.5.
+ * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
+ Cygwin 1.5.x.
+ * doc/posix-functions/setlocale.texi: Mention that the problem with the
+ LC_CTYPE category also exists on Cygwin 1.5.x.
+
+2011-06-04 Bruno Haible <bruno@clisp.org>
+
+ strerror-override: Don't disable symbol renamings.
+ * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
+ * lib/strerror-override.c: Include config.h.
+ (strerror_override): Don't undefine.
+
+2011-06-03 Bruno Haible <bruno@clisp.org>
+
+ Copyright: Use LGPL 2.1 instead of LGPL 2.0.
+ * lib/localename.h: Update copyright header.
+ * lib/localename.c: Likewise.
+ * lib/relocatable.h: Likewise.
+ * lib/relocatable.c: Likewise.
+
+2011-06-02 Bruno Haible <bruno@clisp.org>
+
+ doc: Fix a module name.
+ * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
+
+2011-06-02 Bruno Haible <bruno@clisp.org>
+
+ pipe2: Remove dependency on 'nonblocking' module.
+ * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
+ O_NONBLOCK is defined by gnulib.
+ (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
+ is zero.
+ * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
+ * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
+ defined by gnulib.
+ (get_nonblocking_flag): New function.
+ (main): Test O_NONBLOCK flag only if it is nonzero.
+ * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
+
+2011-06-03 Jim Meyering <meyering@redhat.com>
+
+ maint: three new prohibit-header-without-use rules
+ Prohibit use of cloexec.h, posixver.h, same.h without use.
+ * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
+ (sc_prohibit_posixver_without_use): Likewise.
+ (sc_prohibit_same_without_use): Likewise.
+
+2011-06-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ allocator: 'die' routine is now given requested size
+ * lib/allocator.h (struct allocator.die): New size arg.
+ * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
+ If the actual problem is an ssize_t limitation, not a size_t or
+ malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
+
+2011-06-01 Eric Blake <eblake@redhat.com>
+
+ strerror: drop strerror_r dependency
+ * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
+ * lib/strerror-override.c (strerror_override): ...to new file.
+ * lib/strerror-override.h: Add prototype.
+ * lib/strerror-impl.h: Delete.
+ * lib/strerror.c (strerror): New implementation.
+ * modules/errno (Files): Add new files.
+ (configure.ac): Compile new file as appropriate.
+ * modules/strerror (Files): Drop unused file.
+ (Depends-on): Drop strerror_r-posix.
+ * MODULES.html.sh: Document strerror_r-posix.
+ Requested by Sam Steingold.
+
+ perror: call strerror_r directly
+ * modules/perror (Files): Drop strerror-impl.h.
+ * lib/perror.c (perror): Use our own stack buffer, rather than
+ calling a wrapper that uses static storage.
+ * doc/posix-functions/perror.texi (perror): Document a limitation
+ of our replacement.
+
+ strerror_r: fix includes for FreeBSD
+ * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
+ since we use abort on some platforms.
+ Reported by Matthias Bolte.
+
+2011-05-31 Bruno Haible <bruno@clisp.org>
+
+ Fix link errors in tests: openat-die uses gettext-h.
+ * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
+ against $(LIBINTL).
+ * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
+ against $(LIBINTL).
+ * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
+ $(LIBINTL).
+ * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
+ against $(LIBINTL).
+ * modules/linkat-tests (Makefile.am): Link test-linkat against
+ $(LIBINTL).
+ * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
+ $(LIBINTL).
+ * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
+ against $(LIBINTL).
+ * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
+ test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
+ * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
+ $(LIBINTL).
+ * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
+ $(LIBINTL).
+ * modules/utimensat-tests (Makefile.am): Link test-utimensat against
+ $(LIBINTL).
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-05-31 Bruno Haible <bruno@clisp.org>
+
+ Fix link errors in tests: wait-process uses gettext-h.
+ * modules/nonblocking-pipe-tests (Makefile.am): Set
+ test_nonblocking_pipe_main_LDADD.
+ * modules/nonblocking-socket-tests (Makefile.am): Link
+ test-nonblocking-socket-main against $(LIBINTL).
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-05-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ assert-h: work around 'verify' incompatibility
+ * lib/verify.h: Use @...@ directives, not ifdef.
+ * modules/assert-h (assert.h): Implement the directives.
+ (assert.h): Substitute the symbol-prefix more consistently.
+
+2011-05-29 Jim Meyering <meyering@redhat.com>
+
+ trim: remove three superfluous assignments
+ * lib/trim.c (trim2): Remove three superfluous assignments
+ and correct brace positioning.
+
+2011-05-29 Bruno Haible <bruno@clisp.org>
+
+ wctype-h: Avoid namespace pollution on Solaris 2.6.
+ * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
+ identifiers.
+ * doc/posix-headers/wctype.texi: Mention the problem.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-05-28 Jim Meyering <meyering@redhat.com>
+
+ parse-datetime.y: accommodate -Wstrict-overflow
+ * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
+ placate -Wstrict-overflow.
+
+ trim: avoid a warning from -O2 -Wstrict-overflow
+ * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
+
+2011-05-29 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Fix bug in yesterday's commit.
+ * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
+ twice.
+
+2011-05-29 Bruno Haible <bruno@clisp.org>
+
+ Allow multiple gnulib generated include files to be combined.
+ * gnulib-tool (func_compute_include_guard_prefix): New function.
+ (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
+ ${gl_include_guard_prefix} references.
+ (func_import, func_create_testdir): Invoke
+ func_compute_include_guard_prefix.
+ * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
+ * lib/ctype.in.h: Likewise.
+ * lib/dirent.in.h: Likewise.
+ * lib/errno.in.h: Likewise.
+ * lib/fcntl.in.h: Likewise.
+ * lib/float.in.h: Likewise.
+ * lib/getopt.in.h: Likewise.
+ * lib/iconv.in.h: Likewise.
+ * lib/langinfo.in.h: Likewise.
+ * lib/locale.in.h: Likewise.
+ * lib/math.in.h: Likewise.
+ * lib/netdb.in.h: Likewise.
+ * lib/netinet_in.in.h: Likewise.
+ * lib/poll.in.h: Likewise.
+ * lib/pthread.in.h: Likewise.
+ * lib/pty.in.h: Likewise.
+ * lib/sched.in.h: Likewise.
+ * lib/se-selinux.in.h: Likewise.
+ * lib/search.in.h: Likewise.
+ * lib/signal.in.h: Likewise.
+ * lib/spawn.in.h: Likewise.
+ * lib/stdarg.in.h: Likewise.
+ * lib/stddef.in.h: Likewise.
+ * lib/stdint.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_time.in.h: Likewise.
+ * lib/sys_times.in.h: Likewise.
+ * lib/sys_uio.in.h: Likewise.
+ * lib/sys_utsname.in.h: Likewise.
+ * lib/sys_wait.in.h: Likewise.
+ * lib/sysexits.in.h: Likewise.
+ * lib/termios.in.h: Likewise.
+ * lib/time.in.h: Likewise.
+ * lib/unistd.in.h: Likewise.
+ * lib/wchar.in.h: Likewise.
+ * lib/wctype.in.h: Likewise.
+ * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
+ * modules/ctype (Makefile.am): Likewise.
+ * modules/dirent (Makefile.am): Likewise.
+ * modules/errno (Makefile.am): Likewise.
+ * modules/fcntl-h (Makefile.am): Likewise.
+ * modules/float (Makefile.am): Likewise.
+ * modules/getopt-posix (Makefile.am): Likewise.
+ * modules/iconv-h (Makefile.am): Likewise.
+ * modules/langinfo (Makefile.am): Likewise.
+ * modules/locale (Makefile.am): Likewise.
+ * modules/math (Makefile.am): Likewise.
+ * modules/netdb (Makefile.am): Likewise.
+ * modules/netinet_in (Makefile.am): Likewise.
+ * modules/poll-h (Makefile.am): Likewise.
+ * modules/pthread (Makefile.am): Likewise.
+ * modules/pty (Makefile.am): Likewise.
+ * modules/sched (Makefile.am): Likewise.
+ * modules/search (Makefile.am): Likewise.
+ * modules/selinux-h (Makefile.am): Likewise.
+ * modules/signal (Makefile.am): Likewise.
+ * modules/spawn (Makefile.am): Likewise.
+ * modules/stdarg (Makefile.am): Likewise.
+ * modules/stddef (Makefile.am): Likewise.
+ * modules/stdint (Makefile.am): Likewise.
+ * modules/stdio (Makefile.am): Likewise.
+ * modules/stdlib (Makefile.am): Likewise.
+ * modules/string (Makefile.am): Likewise.
+ * modules/strings (Makefile.am): Likewise.
+ * modules/sys_file (Makefile.am): Likewise.
+ * modules/sys_ioctl (Makefile.am): Likewise.
+ * modules/sys_select (Makefile.am): Likewise.
+ * modules/sys_socket (Makefile.am): Likewise.
+ * modules/sys_stat (Makefile.am): Likewise.
+ * modules/sys_time (Makefile.am): Likewise.
+ * modules/sys_times (Makefile.am): Likewise.
+ * modules/sys_uio (Makefile.am): Likewise.
+ * modules/sys_utsname (Makefile.am): Likewise.
+ * modules/sys_wait (Makefile.am): Likewise.
+ * modules/sysexits (Makefile.am): Likewise.
+ * modules/termios (Makefile.am): Likewise.
+ * modules/time (Makefile.am): Likewise.
+ * modules/unistd (Makefile.am): Likewise.
+ * modules/wchar (Makefile.am): Likewise.
+ * modules/wctype-h (Makefile.am): Likewise.
+ * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
+
+2011-05-29 Bruno Haible <bruno@clisp.org>
+
+ assert-h: Allow multiple gnulib generated replacements to coexist.
+ * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
+
+2011-05-29 Bruno Haible <bruno@clisp.org>
+
+ argp: Allow coexistence with strerror_r-posix module.
+ * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
+ (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
+ by gnulib's <string.h> replacement), assume it has the POSIX signature,
+ not the glibc signature.
+
+2011-05-28 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Alternative structure of testdirs, similar to --import.
+ * gnulib-tool: New option --single-configure.
+ (func_usage): Document it.
+ (single_configure): New variable.
+ (func_modules_transitive_closure_separately,
+ func_modules_transitive_closure_separately,
+ func_determine_use_libtests, func_modules_add_dummy_separately,
+ func_modules_to_filelist_separately): New functions, extracted from
+ func_import.
+ (func_emit_tests_Makefile_am): Handle $single_configure = true case.
+ (func_import): Use the new functions.
+ (func_create_testdir): Set final_modules. Handle $single_configure =
+ true case.
+
+2011-05-28 Bruno Haible <bruno@clisp.org>
+
+ getloadavg: Remove an unreliable safety check.
+ * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
+ getloadavg.c is in place.
+ * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
+ Reported by Sam Steingold <sds@gnu.org>.
+
+2011-05-28 Bruno Haible <bruno@clisp.org>
+
+ doc: Cleanup yet another file produced by texinfo.tex.
+ * doc/Makefile (mostlyclean): Remove also gnulib.cn.
+
+2011-05-28 Bruno Haible <bruno@clisp.org>
+
+ Finish the conditional dependencies mechanism.
+ * gnulib-tool: New option --no-conditional-dependencies.
+ (func_usage): Document it. Don't mark --conditional-dependencies as
+ experimental.
+ (cond_dependencies): The possible values can now be true, false, empty.
+ (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
+ (func_import): Store setting in gnulib-cache.m4 and read it from there.
+ * doc/gnulib-tool.texi (Conditional dependencies): New section.
+
+2011-05-28 Bruno Haible <bruno@clisp.org>
+
+ doc: Use a recent texinfo.tex.
+ * doc/Makefile (tex_opts): New variable.
+ (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
+
+2011-05-28 Jim Meyering <meyering@redhat.com>
+
+ intprops.h: adjust comment to match code change
+ * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
+ only once, it *may* have side effects. Also fix an unrelated typo.
+ (_GL_INT_SIGNED): Likewise.
+
+2011-05-26 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
+
+2011-05-26 Bruno Haible <bruno@clisp.org>
+
+ mbsrchr: Avoid collision with system function on Interix.
+ * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
+ Reported by Markus Duft <mduft@gentoo.org>.
+
+2011-05-15 James Youngman <jay@gnu.org>
+
+ getopt: for ambiguous options, enumerate the possibilities.
+ * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
+ the ambiguous options when an ambiguous prefix is given. This was
+ http://sourceware.org/bugzilla/show_bug.cgi?id=7101. The merged
+ glibc change was
+ http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
+
+2011-05-25 Eric Blake <eblake@redhat.com>
+
+ getcwd: work around mingw bug
+ * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
+ * doc/posix-functions/getcwd.texi (getcwd): Document it.
+ Reported by Matthias Bolte.
+
+2011-05-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ test-intprops: disable -Wtype-limits diagnostics
+ * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
+ diagnostics. Otherwise, the integer overflow macros generate many
+ diagnostics. Reported by Jim Meyering in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
+
+ intprops: shorten, to pacify gcc -Woverlength-strings
+ * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
+ (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
+ so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
+ likely to run afoul of C compiler limits for string constant lengths.
+ See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
+
+2011-05-24 Eric Blake <eblake@redhat.com>
+
+ docs: document recently fixed glibc printf bug
+ * doc/posix-functions/fprintf.texi (fprintf): Document it.
+ * doc/posix-functions/printf.texi (printf): Likewise.
+ * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
+ * doc/posix-functions/vprintf.texi (vprintf): Likewise.
+
+ closein-tests: convert to init.sh
+ * modules/closein-tests (Files): Add init.sh
+ * tests/test-closein.sh Use it.
+
+ yesno-tests: convert to init.sh
+ * modules/yesno-tests (Files): Add init.sh.
+ * tests/test-yesno.sh: Use it.
+
+ atexit-tests: ensure reliable exit status
+ * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
+ Reported by Bruno Haible.
+
+2011-05-24 Bruno Haible <bruno@clisp.org>
+
+ strerror_r-posix: Respect rules for use of AC_LIBOBJ.
+ * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
+ gl_PREREQ_STRERROR_R invocations from here...
+ * modules/strerror_r-posix (configure.ac): ... to here.
+
+2011-05-24 Eric Blake <eblake@redhat.com>
+
+ strerror_r: fix missing header
+ * lib/strerror_r.c: Avoid compiler warning about snprintf.
+
+ strerror_r: fix AIX test failures
+ * lib/strerror_r.c (strerror_r): Convert silent truncation to
+ ERANGE failure.
+
+ strerror_r: fix Solaris test failures
+ * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
+ failures.
+ * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
+
+ strerror_r: enforce POSIX recommendations
+ * lib/strerror_r.c (safe_copy): New helper method.
+ (strerror_r): Guarantee a non-empty string.
+ * tests/test-strerror_r.c (main): Enhance tests to incorporate
+ recent POSIX rulings and to match our strerror guarantees.
+ * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
+
+2011-05-24 Jim Meyering <meyering@redhat.com>
+
+ test-perror2.c: avoid warning about unused variable
+ * tests/test-perror2.c (main): Remove declaration of unused "fp".
+
+2011-05-24 Eric Blake <eblake@redhat.com>
+
+ perror: avoid spurious test failure on HP-UX
+ * tests/test-perror.sh: Use Exit to avoid wrong exit status.
+
+ tests: fix logic bug in init.sh
+ * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
+ shell.
+
+2011-05-24 Jim Meyering <meyering@redhat.com>
+
+ utimensat: do not reference an out-of-scope buffer
+ Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
+ declared in an inner scope, yet "times" would be dereferenced outside
+ the scope in which "ts" was valid.
+ * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
+ of ts[2] "out/up", so that the use of aliased "times" (via
+ "times = ts;") does not end up referencing an out-of-scope "ts"
+
+ opendir-safer.c: don't clobber errno; don't close negative FD
+ * lib/opendir-safer.c (opendir_safer):
+ [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
+ file descriptor, and more importantly, don't clobber the
+ offending errno value with EINVAL. Before, upon failure
+ of dup_safer, we would pass the negative file descriptor to
+ fdopendir, which would clobber errno.
+
+2011-05-23 Bruno Haible <bruno@clisp.org>
+
+ idcache: Fix module description.
+ * modules/idcache (Include): Set to "idcache.h".
+
+2011-05-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ gnulib-tool: fix portability problem with MacOS sed
+ A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
+ before the "}". Problem reported by Leo in
+ <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
+ * gnulib-tool (func_modules_transitive_closure): Insert newlines in
+ sed_extract_condition1, sed_extract_condition2.
+
+2011-05-23 Bruno Haible <bruno@clisp.org>
+
+ hash: Simplify autoconf macro.
+ * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
+
+2011-05-23 Bruno Haible <bruno@clisp.org>
+
+ getugroups: Fix module description.
+ * modules/getugroups (Include): Set to "getugroups.h".
+
+2011-05-23 Bruno Haible <bruno@clisp.org>
+
+ linkat: Simplify autoconf macro.
+ * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
+
+2011-05-23 Bruno Haible <bruno@clisp.org>
+ Eric Blake <eblake@redhat.com>
+
+ linkat, renameat: Update dependencies.
+ * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
+ * modules/linkat (Depends-on): Likewise. Remove also readlink,
+ symlinkat.
+
+2011-05-23 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: more tight_scope improvements
+ * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
+ (_gl_TS_headers): Define only in if-0'd block.
+ (_gl_TS_dir): Omit the $(srcdir)/ prefix. Sometimes we need it,
+ sometimes we must *not* use it. Adjust uses accordingly.
+ (sc_tight_scope): Use much simpler grep-based test to determine
+ whether we skip this rule.
+
+ maint.mk: generalize/improve the tight-scope rule
+ * top/maint.mk: Emit a warning when the test is skipped.
+ (_gl_TS_dir): Add $(srcdir)/ prefix.
+ (_gl_TS_function_match): Simplify, rather than trying
+ to enumerate common types. Otherwise, it would fail to match an
+ "extern unsigned char const *" declaration in idutils.
+ (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
+ a way to support use of that type of macro.
+ (_gl_TS_var_match): Simplify regexp.
+ (_gl_TS_obj_files): New configurable variable.
+ (_gl_TS_headers): Likewise.
+
+2011-05-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ verify: fix bug when gnulib <assert.h> is also included
+ * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
+ is defined, not if _GL_STATIC_ASSERT_H is not defined.
+ Perhaps there's a better way, but this fixes the immediate problem.
+ Problem reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
+
+2011-05-22 Bruno Haible <bruno@clisp.org>
+
+ xgetcwd: Simplify autoconf macro.
+ * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
+
+2011-05-22 Bruno Haible <bruno@clisp.org>
+
+ New module 'mktime-internal'.
+ * modules/mktime-internal: New file.
+ * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
+ * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
+ mktime_internal as a C macro if libc has __mktime_internal.
+ * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
+ conditions.
+ * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
+
+2011-05-22 Bruno Haible <bruno@clisp.org>
+
+ timegm: Correct mktime replacement statements.
+ * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
+ defining mktime as a C macro. This completes a 2009-07-28 commit.
+
+2011-05-22 Bruno Haible <bruno@clisp.org>
+
+ timegm: Simplify autoconf macro.
+ * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
+
+2011-05-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ clock-time: change to LGPLv2+.
+ * modules/clock-time: Change from GPL to LGPLv2+. Actually, it's
+ BSD-like but we have no mark for that; this is good enough for now.
+
+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ strerror_r: Fix comments.
+ * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
+
+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ relocatable-prog-wrapper: Fix possible link error.
+ * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
+ HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
+ (gl_FUNC_SETENV): ... to here.
+ * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
+ * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
+
+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ relocatable-prog-wrapper: Assume strerror() exists.
+ * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
+ m4/strerror.m4.
+ (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
+ * lib/relocwrapper.c: Remove mention of strerror module.
+ * lib/strerror.c: Assume REPLACE_STRERROR is 1.
+ * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
+ (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
+ C macro.
+
+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ select: Simplify replacement idiom.
+ * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
+ Win32 platforms.
+ * lib/sys_select.in.h (select): Simplify accordingly.
+ * modules/select (Depends-on): Likewise.
+
+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ mkdir-p: Simplify autoconf macro.
+ * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
+ gl_FUNC_LCHOWN.
+
+2011-05-21 Eric Blake <eblake@redhat.com>
+
+ strerror_r: avoid clobbering strerror on cygwin
+ * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
+ fall back instead to sys_errlist.
+ * modules/strerror (configure.ac): Add witness.
+ * tests/test-strerror_r.c (main): Enhance test.
+ * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
+ * tests/test-perror2.c (main): Free memory before exit.
+
+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ mkdtemp: Use gnulib naming conventions.
+ * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
+ * modules/mkdtemp (configure.ac): Update.
+
+2011-05-20 Eric Blake <eblake@redhat.com>
+
+ strerror_r: avoid corrupting errno on Solaris
+ * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
+ * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
+
+ strerror_r: avoid compiler warning
+ * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
+
+ strerror_r: simplify AIX code
+ * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
+
+ test-perror: avoid spurious failure on FreeBSD
+ * modules/perror-tests (Depends-on): Add strerror, now that
+ strerror_r no longer pulls it in.
+
+2011-05-20 Bruno Haible <bruno@clisp.org>
+
+ strerror_r-posix: Remove unused dependencies.
+ * modules/strerror_r-posix (Depends-on): Remove strerror.
+ Reported by Eric Blake.
+
+2011-05-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ intprops: remove assumption about A|B representation
+ * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
+ is a valid integer if both A and B are. Although this is true for
+ all known practical hosts, the C standard doesn't guarantee it,
+ and the code need not assume it. Also, this change may work around
+ HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
+
+2011-05-20 Eric Blake <eblake@redhat.com>
+
+ perror: work around FreeBSD bug
+ * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
+ is broken. Move AC_LIBOBJ...
+ * modules/perror (configure.ac): Here.
+ * doc/posix-functions/perror.texi (perror): Document this.
+ * tests/test-perror2.c (main): Enhance test.
+
+ test-perror: check for strerror interactions
+ * tests/macros.h (STREQ): Add macro.
+ * modules/perror-tests (Files): Add second test.
+ * tests/test-perror2.c (main): New file.
+ * doc/posix-functions/perror.texi (perror): Document glibc bug.
+
+ test-perror: rewrite to use init script
+ * modules/perror-tests (Files): Add init.sh.
+ * tests/test-perror.sh: Use temporary directory.
+
+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.
+
+2011-05-17 Jim Meyering <meyering@redhat.com>
+
+ warnings.m4: don't usurp save_CPPFLAGS variable name
+ * m4/warnings.m4: Prefix local temporary variable name with gl_.
+
+ doc: fix typo
+ * doc/gnulib-intro.texi (Target Platforms): s/is/are/
+
+2011-05-16 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ doc: Tweak recent change.
+ * README (Portability guidelines): Tweak new text.
+ * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
+ Interix 6.1.
+
+2011-05-16 Eric Blake <eblake@redhat.com>
+
+ inttypes: avoid autoconf warning
+ * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
+ * m4/stdint.m4 (gl_STDINT_H): Likewise.
+
+2011-05-16 Sam Steingold <sds@gnu.org>
+ and Eric Blake <eblake@redhat.com>
+
+ vc-list-files: accept multiple directory operands
+ * build-aux/vc-list-files: Iterate over all remaining operands.
+
+2011-05-16 Bruno Haible <bruno@clisp.org>
+
+ Fix confusion regarding deprecated modules.
+ * modules/calloc (Status, Notice): Mark module as deprecated, not
+ obsolete.
+ * modules/fnmatch-posix (Status, Notice): Likewise.
+ * modules/getdate (Status, Notice): Likewise.
+ * modules/getopt (Status, Notice): Likewise.
+ * modules/malloc (Status, Notice): Likewise.
+ * modules/pipe (Status, Notice): Likewise.
+ * modules/realloc (Status, Notice): Likewise.
+ * modules/rename-dest-slash (Status, Notice): Likewise.
+ * modules/unictype/bidicategory-all (Status, Notice): Likewise.
+ * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
+ * modules/unictype/bidicategory-name (Status, Notice): Likewise.
+ * modules/unictype/bidicategory-of (Status, Notice): Likewise.
+ * modules/unictype/bidicategory-test (Status, Notice): Likewise.
+
+2011-05-16 Bruno Haible <bruno@clisp.org>
+
+ doc: List the target platforms.
+ * doc/gnulib-intro.texi (Target Platforms): New section.
+ * doc/gnulib.texi (Introduction): Update menu.
+ * README (Portability guidelines): Refer to the new section. Update
+ statement about oldest supported environment. Remove rationale why
+ <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
+ unportable C89 function.
+ Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
+ Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
+
+2011-05-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
+
+2011-05-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ intprops-tests: new module
+ * modules/intprops-tests, tests/test-intprops.c: New files.
+
+ intprops: add safe, portable integer overflow checking
+ * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
+ (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
+ (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
+ (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
+ (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
+ (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
+ (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
+ (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
+ (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
+ (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
+ (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
+
+2011-05-12 James Youngman <jay@gnu.org>
+
+ Add a test for glibc's Bugzilla bug #12378.
+ * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
+ doesn't allow the literal matching of a lone "[" (which is
+ required by POSIX).
+ * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
+
+2011-05-11 Ulrich Drepper <drepper@gmail.com>
+
+ Sync glibc change fixing Bugzilla bug #12378.
+ * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
+ beginning and fall back to matching as normal character if the
+ string ends before the matching ']' is found. This is what POSIX
+ requires.
+
+2011-05-13 Eric Blake <eblake@redhat.com>
+
+ getcwd-lgpl: relax test for FreeBSD
+ * doc/posix-functions/getcwd.texi (getcwd): Document portability
+ issue.
+ * tests/test-getcwd-lgpl.c (main): Relax test.
+ Reported by Matthias Bolte.
+
+2011-05-11 Eric Blake <eblake@redhat.com>
+
+ test-fflush: silence compiler warning
+ * tests/test-fflush.c (main): Don't fclose a NULL pointer.
+
+2011-05-11 Bruno Haible <bruno@clisp.org>
+
+ canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
+ * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
+ * modules/canonicalize (Depends-on): Add 'nocrash'.
+ * modules/canonicalize-lgpl (Depends-on): Likewise.
+ * doc/posix-functions/realpath.texi: Update platforms list.
+ Reported by Ryan Schmidt <ryandesign@macports.org>.
+
+2011-05-11 Bruno Haible <bruno@clisp.org>
+
+ group-member: Declare function in <unistd.h>.
+ * lib/unistd.in.h (group_member): New declaration.
+ * lib/group-member.h: Remove file.
+ * lib/group-member.c: Include <unistd.h> instead of group-member.h.
+ * tests/test-unistd-c++.cc: Check signature of group_member.
+ * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
+ gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
+ * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
+ (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
+ HAVE_GROUP_MEMBER.
+ * modules/group-member (Files): Remove lib/group-member.h.
+ (Depends-on): Add unistd. Specify conditions.
+ (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
+ (Include): Change to <unistd.h>.
+ * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
+ HAVE_GROUP_MEMBER.
+ * NEWS: Mention the change.
+ * lib/euidaccess.c: Don't include group-member.h.
+
+2011-05-11 Bruno Haible <bruno@clisp.org>
+
+ group-member: Document module.
+ * doc/glibc-functions/group_member.texi: Mention the 'group-member'
+ module.
+
+2011-05-11 Bruno Haible <bruno@clisp.org>
+
+ fclose: Fix mistake earlier today.
+ * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
+
+2011-05-11 Eric Blake <eblake@redhat.com>
+
+ fclose: preserve fflush errors
+ * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
+ Reported by Jim Meyering.
+
+ bootstrap: support a prereq of 'rpcgen -' on RHEL5
+ * build-aux/bootstrap (check_versions): When no specific version
+ is required, merely check that the app produces an exit status
+ that indicates its existence.
+
+ maint.mk: drop redundant check
+ * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
+ the same but better.
+
+2011-05-11 Bruno Haible <bruno@clisp.org>
+
+ fclose: Fix possible link error.
+ * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
+ unregister_shadow_fd. Improve comments.
+ * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
+ Eric Blake.
+
+2011-05-11 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: improve "can not" detection and generalize rule name
+ * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
+ sc_prohibit_can_not, since we'll probably add a few more word pairs here.
+ Use the same technique as in sc_prohibit_doubled_word, so that
+ we recognize "can not" also when the words are separated by a newline.
+ Suggested by Eric Blake.
+ (perl_filename_lineno_text_): Define. Factored out of...
+ (prohibit_doubled_word_): ...here. Use the new definition.
+ (prohibit_undesirable_word_seq_): New var. Use it here, too.
+ (prohibit_undesirable_word_seq_RE_): New overridable variable.
+ (ignore_undesirable_word_sequence_RE_): New overridable variable.
+
+2011-05-10 Eric Blake <eblake@redhat.com>
+
+ fclose: avoid double close race when possible
+ * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
+ all but WINDOWS_SOCKETS.
+
+2011-05-10 Bastien Roucariès <roucaries.bastien@gmail.com>
+
+ openat: correct new comment
+ * lib/openat-proc.c (openat_proc_name): Correct the comment.
+
+2011-05-10 Jim Meyering <meyering@redhat.com>
+
+ openat: add comments
+ * lib/openat-proc.c (openat_proc_name): Add comments,
+ mostly from Eric Blake.
+