nonblocking tests: Fix test failure on Linux/IA-64.
[gnulib.git] / ChangeLog
index dedd5cb..5c31c25 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,812 @@
+2011-10-01  Bruno Haible  <bruno@clisp.org>
+
+       nonblocking tests: Fix test failure on Linux/IA-64.
+       * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
+       Set to 270000.
+
+2011-10-01  Bruno Haible  <bruno@clisp.org>
+
+       mkfifoat tests: Fix a test failure on mingw.
+       * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
+       with error ENOSYS.
+
+2011-09-30  Bruno Haible  <bruno@clisp.org>
+
+       float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
+       * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
+       'long double'. Set REPLACE_ITOLD.
+       * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
+       * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
+       * lib/itold.c: New file.
+       * modules/float (Files): Add lib/itold.c.
+       (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
+       (Makefile.am): Substitute REPLACE_ITOLD.
+       * modules/math (Depends-on): Add float.
+       (Makefile.am): Substitute REPLACE_ITOLD.
+       * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
+       * doc/posix-headers/math.texi: Likewise.
+       * doc/posix-functions/logl.texi: Likewise.
+
+2011-09-30  Bruno Haible  <bruno@clisp.org>
+
+       nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
+       * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
+       Set to 140000.
+
+2011-09-30  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
+       * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
+       invocation, say "right after AC_PROG_CC_STDC", not "right after
+       AC_PROG_CC".
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2011-09-30  Bruno Haible  <bruno@clisp.org>
+
+       Centralize C99 requirement.
+       * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
+       * modules/stdarg (configure.ac-early): Invoke it instead of
+       AC_PROG_CC_STDC.
+       Reported by Gary V. Vaughan and Paul Eggert.
+
+2011-09-29  Bruno Haible  <bruno@clisp.org>
+
+       float: Fix LDBL_MAX value on Linux/PowerPC.
+       * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
+       on Linux/PowerPC.
+       * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
+       * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
+       * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
+       platform.
+       Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
+
+2011-09-29  Bruno Haible  <bruno@clisp.org>
+
+       doc: Improve doc about gl_EARLY.
+       * doc/gnulib-tool.texi (Initial import): Mention where to place an
+       AC_PROG_CC_STDC invocation.
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2011-09-28  Bruno Haible  <bruno@clisp.org>
+
+       fgetc, fputc, fread, fwrite tests: Fix link error.
+       * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
+       on non-MSVC platforms.
+       * tests/test-fputc.c (main): Likewise.
+       * tests/test-fread.c (main): Likewise.
+       * tests/test-fwrite.c (main): Likewise.
+       Reported by Jim Meyering.
+
+2011-09-27  Bruno Haible  <bruno@clisp.org>
+
+       fputc, fwrite tests: Avoid test failure on MSVC.
+       * tests/test-fgetc.c: Include msvc-inval.h.
+       (main): Invoke gl_msvc_inval_ensure_handler.
+       * tests/test-fputc.c: Include msvc-inval.h.
+       (main): Invoke gl_msvc_inval_ensure_handler.
+       * tests/test-fread.c: Include msvc-inval.h.
+       (main): Invoke gl_msvc_inval_ensure_handler.
+       * tests/test-fwrite.c: Include msvc-inval.h.
+       (main): Invoke gl_msvc_inval_ensure_handler.
+       * modules/fgetc-tests (Depends-on): Add msvc-inval.
+       * modules/fputc-tests (Depends-on): Likewise.
+       * modules/fread-tests (Depends-on): Likewise.
+       * modules/fwrite-tests (Depends-on): Likewise.
+
+2011-09-27  Bruno Haible  <bruno@clisp.org>
+
+       raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
+       * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
+       (raise): Remove older, duplicated declaration.
+       (_gl_raise_SIGPIPE): New declaration.
+       * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
+       (rpl_raise): Remove function.
+       * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
+       a gnulib-defined SIGPIPE here.
+       * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
+       'sigprocmask' has detected missing signal-blocking and the module
+       'sigpipe' is enabled.
+       Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
+
+2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
+
+       base64-tests: avoid memory leak
+       * tests/test-base64.c (main): Plug memory leak.
+
+       base32: new module
+       * modules/base32: New module.
+       * lib/base32.c: New file.
+       * lib/base32.h: Likewise.
+       * m4/base32.m4: Likewise.
+       * modules/base32-tests: New test.
+       * tests/test-base32.c: Likewise.
+       * MODULES.html.sh (Misc): Mention it.
+
+2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       gnulib: use more-standard license notice wording
+       * gnulib-tool (func_emit_copyright_notice): When emitting a
+       license notice into a file, use the standard wording as suggested
+       by the current information for GNU maintainers, except say "file"
+       rather than "program".  The new wording gives a license version
+       number, which addresses an issue raised by Glenn Morris in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
+       * m4/onceonly.m4: Use that same wording here, too.
+
+       dup2: minor simplification
+       * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
+       as lib/dup2.c no longer uses 'inline'.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       strings: Fix compilation error on MSVC.
+       * lib/strings.in.h: Include <stddef.h> for size_t.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       fflush et al.: Document limitation on MSVC.
+       * doc/posix-functions/fflush.texi: Document possible crash in handling
+       mode other than DEFAULT_HANDLING.
+       * doc/posix-functions/fgetc.texi: Likewise.
+       * doc/posix-functions/fputc.texi: Likewise.
+       * doc/posix-functions/fread.texi: Likewise.
+       * doc/posix-functions/fwrite.texi: Likewise.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       msvc-inval: Allow three invalid parameter handling modes.
+       * lib/msvc-inval.h: Don't include <stdlib.h> here.
+       (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
+       macros.
+       (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
+       DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
+       SANE_LIBRARY_HANDLING as a no-op.
+       * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
+       <stdlib.h>.
+       (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       msvc-inval: Make handler multithread-safe.
+       * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
+       (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
+       declarations.
+       (gl_msvc_inval_current): New declaration.
+       (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
+       Operate on the structure returned by gl_msvc_inval_current().
+       * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
+       Remove varaiables.
+       (tls_index, tls_initialized): New variables.
+       (not_per_thread): New variable.
+       (gl_msvc_inval_current): New function.
+       (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
+       returned by gl_msvc_inval_current().
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       msvc-inval: Install handler globally.
+       * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
+       !_MSC_VER.
+       (gl_msvc_invalid_parameter_handler): Remove declaration.
+       (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
+       declarations.
+       (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
+       Install the handler globally, don't uninstall it.
+       * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
+       (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
+       currently valid, call RaiseException instead.
+       (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
+       for !_MSC_VER.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       strerror_r-posix: Fix for MSVC 9.
+       * lib/strerror_r.c (local_snprintf): New function.
+       (snprintf): Define to local_snprintf, not to _snprintf.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       ftruncate: Support for MSVC 9.
+       * lib/ftruncate.c: Include errno.h, msvc-inval.h.
+       (chsize_nothrow): New function.
+       (chsize): Redefine as a macro.
+       * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
+       * modules/ftruncate (Depends-on): Add msvc-inval.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       New module 'fstat'.
+       * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
+       * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
+       * lib/fchdir.c (rpl_fstat): Remove function.
+       * m4/fstat.m4: New file.
+       * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
+       declared.
+       (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
+       * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
+       * modules/fstat: New file.
+       * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
+       * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
+       is set.
+       * doc/posix-functions/fstat.texi: Mention the new module and the
+       problem on MSVC.
+       * NEWS: Mention the change.
+       * modules/acl (Depends-on): Add fstat.
+       * modules/chdir-safer (Depends-on): Likewise.
+       * modules/chown (Depends-on): Likewise.
+       * modules/copy-file (Depends-on): Likewise.
+       * modules/fchdir (Depends-on): Likewise.
+       * modules/fdopendir (Depends-on): Likewise.
+       * modules/fopen (Depends-on): Likewise.
+       * modules/fts (Depends-on): Likewise.
+       * modules/getcwd (Depends-on): Likewise.
+       * modules/isapipe (Depends-on): Likewise.
+       * modules/linkat (Depends-on): Likewise.
+       * modules/lseek (Depends-on): Likewise.
+       * modules/mkdir-p (Depends-on): Likewise.
+       * modules/open (Depends-on): Likewise.
+       * modules/openat (Depends-on): Likewise.
+       * modules/read-file (Depends-on): Likewise.
+       * modules/renameat (Depends-on): Likewise.
+       * modules/utimens (Depends-on): Likewise.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       linkat: Fix compilation on MSVC 9.
+       * lib/linkat.c: Don't include <stdint.h>.
+
+2011-09-25  Bruno Haible  <bruno@clisp.org>
+
+       fclose: Support for MSVC 9.
+       * lib/fclose.c: Include msvc-inval.h.
+       (fclose_nothrow): New function.
+       (rpl_fclose): Use it.
+       * modules/fclose (Depends-on): Add msvc-inval.
+       * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
+
+2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       dup2: minor simplifications
+       * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
+       that it's a performance win.
+       (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
+       ! defined __CYGWIN__)" to "ifdef F_GETFL".
+
+2011-09-24  Jim Meyering  <meyering@redhat.com>
+
+       test-futimens: avoid a warning from gcc -Wshadow
+       * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
+       to avoid a shadowing warning.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       fdopen: Support for MSVC 9.
+       * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
+       HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
+       * lib/fdopen.c: Include msvc-inval.h.
+       (fdopen_nothrow): New function.
+       (rpl_fdopen): Use it.
+       * modules/fdopen (Depends-on): Add msvc-inval.
+       * modules/fclose-tests (Depends-on): Add fdopen.
+       * modules/fflush-tests (Depends-on): Likewise.
+       * modules/fgetc-tests (Depends-on): Likewise.
+       * modules/fputc-tests (Depends-on): Likewise.
+       * modules/fread-tests (Depends-on): Likewise.
+       * modules/freopen-tests (Depends-on): Likewise.
+       * modules/fseeko-tests (Depends-on): Likewise.
+       * modules/ftello-tests (Depends-on): Likewise.
+       * modules/fwrite-tests  (Depends-on): Likewise.
+       * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
+       * modules/fgetc-tests (Depends-on): Add unistd.
+       * modules/fputc-tests (Depends-on): Likewise.
+       * modules/fread-tests (Depends-on): Likewise.
+       * modules/fwrite-tests (Depends-on): Likewise.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       dup: Simplify autoconf test.
+       * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
+       on gl_MSVC_INVAL's result.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       Tests for function fwrite().
+       * modules/fwrite-tests: New file.
+       * tests/test-fwrite.c: New file.
+       * modules/stdio-tests (Depends-on): Add fwrite-tests.
+
+       Tests for function fread().
+       * modules/fread-tests: New file.
+       * tests/test-fread.c: New file.
+       * modules/stdio-tests (Depends-on): Add fread-tests.
+
+       Activate fputc tests.
+       * modules/stdio-tests (Depends-on): Add fputc-tests.
+
+       Enhance fgetc, fputc tests.
+       * tests/test-fgetc.c (main): Also test the stream's error indicator.
+       * tests/test-fputc.c (main): Likewise.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       write: Support for MSVC 9.
+       * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
+       is not 1.
+       * lib/write.c (write_nothrow): New function.
+       (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
+       not 1. Use write_nothrow.
+       * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
+       invalid parameter handler.
+       (gl_PREREQ_WRITE): New macro.
+       * modules/write (Depends-on): Add msvc-inval.
+       (configure.ac): Invoke gl_PREREQ_WRITE.
+       * doc/posix-functions/write.texi: Mention the problem on MSVC.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       read: Fix last commit.
+       * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
+
+2011-09-24  Bruno Haible  <bruno@clisp.org>
+
+       dup2: Fix last commit.
+       * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
+       (rpl_dup2): Disable fcntl workaround on native Windows.
+
+       sigprocmask: Make code safer.
+       * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
+       section that changes macro definitions for this compilation unit.
+
+2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       dup2: clarify by coalescing Windows-specific material
+       * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
+       "msvc-nothrow.h"' to the Windows-specific section, so that the
+       Emacs source need not contain these include files.
+       (ms_windows_dup2): Rename from dup2_nothrow, and move all the
+       Windows-specific fixes into this function rather than just the
+       nothrow fix, as this shortens and clarifies the code.  Always
+       define as a function, as that's a bit cleaner than having it be
+       sometimes a function and sometimes a macro.
+       (rpl_dup2): Move the Windows-specific stuff out of here and into
+       ms_windows_dup2.  Don't protect the Haiku-related fix with
+       "#if !defined __linux__", as the same code also works around
+       a Linux kernel bug, and it doesn't add any system calls on any
+       platform.  Add comment about FreeBSD 6.1.
+
+       sigprocmask: move #include directive
+       * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
+       Windows-specific section, so that the Emacs source need not
+       contain msvc-inval.h.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       read: Support for MSVC 9.
+       * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
+       is not 1.
+       * lib/read.c (read_nothrow): New function.
+       (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
+       read_nothrow.
+       * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
+       invalid parameter handler.
+       (gl_PREREQ_READ): New macro.
+       * modules/read (Depends-on): Add msvc-inval.
+       (configure.ac): Invoke gl_PREREQ_READ.
+       * doc/posix-functions/read.texi: Mention the problem on MSVC.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       close: Support for MSVC 9.
+       * lib/close.c: Include <errno.h>, msvc-inval.h.
+       (close_nothrow): New function.
+       (rpl_close): Use it.
+       * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
+       invalid parameter handler.
+       * modules/close (Depends-on): Add msvc-inval.
+       * modules/dup2-tests (Depends-on): Add close.
+       * modules/dup3-tests (Depends-on): Likewise.
+       * modules/fcntl-tests (Depends-on): Likewise.
+       * modules/spawn-pipe-tests (Depends-on): Likewise.
+       * modules/unistd-safer-tests (Depends-on): Likewise.
+       * doc/posix-functions/close.texi: Mention the problem on MSVC.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       New module 'dup'.
+       * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
+       Allow replacement.
+       * lib/dup.c: New file.
+       * lib/fchdir.c (rpl_dup): Remove function.
+       * m4/dup.m4: New file.
+       * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
+       (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
+       * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
+       * modules/dup: New file.
+       * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
+       'dup' module is in use.
+       * modules/fdopendir (Depends-on): Add dup.
+       * modules/fdutimensat-tests (Depends-on): Likewise.
+       * modules/fts (Depends-on): Likewise.
+       * modules/futimens-tests (Depends-on): Likewise.
+       * modules/posix_spawnp-tests (Depends-on): Likewise.
+       * modules/unistd-safer-tests (Depends-on): Likewise.
+       * modules/utimens-tests (Depends-on): Likewise.
+       * doc/posix-functions/dup.texi: Mention the new module and the problem
+       on MSVC.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       getdtablesize: Support for MSVC 9.
+       * lib/getdtablesize.c: Include msvc-inval.h.
+       (_setmaxstdio_nothrow): New function.
+       (_setmaxstdio): Redefine it.
+       * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
+       * modules/getdtablesize (Depends-on): Add msvc-inval.
+       (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       signal-h: Rename from signal.
+       * modules/signal-h: Renamed from modules/signal.
+       * modules/pthread_sigmask (Depends-on): Update.
+       * modules/raise (Depends-on): Likewise.
+       * modules/sigaction (Depends-on): Likewise.
+       * modules/sigpipe (Depends-on): Likewise.
+       * modules/sigprocmask (Depends-on): Likewise.
+       * modules/sys_select (Depends-on): Likewise.
+       * modules/signal-h-tests: Renamed from modules/signal-tests.
+       (Files, Depends-on, Makefile.am): Update.
+       * tests/test-signal-h.c: Renamed from tests/test-signal.c.
+       * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
+       (Files, Makefile.am): Update.
+       * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
+       * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
+       * modules/signal: New placeholder file.
+       * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
+       * doc/posix-headers/signal.texi: Update.
+       * NEWS: Mention the change.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       sigprocmask: Avoid crashes through signal() on MSVC 9.
+       * lib/sigprocmask.c: Include msvc-inval.h.
+       (signal_nothrow): New function.
+       (signal): Redefine it.
+       * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
+       * modules/sigprocmask (Depends-on): Add msvc-inval.
+       * doc/posix-functions/signal.texi: Mention the problem on MSVC.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'raise'.
+       * modules/raise-tests: New file.
+       * tests/test-raise.c: New file.
+
+       raise: Support for MSVC.
+       * lib/signal.in.h (raise): New declaration.
+       * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
+       for native Windows platforms.
+       * m4/raise.m4: New file.
+       * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
+       HAVE_RAISE, REPLACE_RAISE.
+       * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
+       REPLACE_RAISE.
+       * modules/raise (Status, Notice): Remove fields.
+       (Files): Add m4/raise.m4.
+       (Depends-on): Add signal, msvc-inval.
+       (configure.ac): Use the common idioms.
+       (Maintainer): Add me.
+       * tests/test-signal-c++.cc: Check the signature of raise.
+       * doc/posix-functions/raise.texi: Mention the problem on MSVC.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       pipe2: Fix compilation on pre-C99 compilers.
+       * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
+       * lib/msvc-nothrow.h: New file.
+       * lib/msvc-nothrow.c: New file.
+       * m4/msvc-nothrow.m4: New file.
+       * modules/msvc-nothrow: New file.
+       * lib/dup2.c: Include msvc-nothrow.h.
+       (rpl_dup2): No need to protect _get_osfhandle call here.
+       * lib/accept4.c: Include msvc-nothrow.h.
+       * lib/error.c: Likewise.
+       * lib/fcntl.c: Likewise.
+       * lib/lseek.c: Likewise.
+       * lib/nonblocking.c: Likewise.
+       * lib/poll.c: Likewise.
+       * lib/read.c: Likewise.
+       * lib/select.c: Likewise.
+       * lib/sockets.h: Likewise.
+       * lib/sockets.c: Likewise.
+       * lib/stdio-read.c: Likewise.
+       * lib/stdio-write.c: Likewise.
+       * lib/write.c: Likewise.
+       * lib/w32sock.h: Likewise.
+       * lib/w32spawn.h: Likewise.
+       * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
+       * lib/fsync.c: Likewise.
+       * lib/isapipe.c: Likewise.
+       * modules/dup2 (Depends-on): Add msvc-nothrow.
+       * modules/accept4 (Depends-on): Likewise.
+       * modules/error (Depends-on): Likewise.
+       * modules/fcntl (Depends-on): Likewise.
+       * modules/lseek (Depends-on): Likewise.
+       * modules/nonblocking (Depends-on): Likewise.
+       * modules/poll (Depends-on): Likewise.
+       * modules/read (Depends-on): Likewise.
+       * modules/select (Depends-on): Likewise.
+       * modules/sockets (Depends-on): Likewise.
+       * modules/sigpipe (Depends-on): Likewise.
+       * modules/write (Depends-on): Likewise.
+       * modules/accept (Depends-on): Likewise.
+       * modules/bind (Depends-on): Likewise.
+       * modules/connect (Depends-on): Likewise.
+       * modules/gethostname (Depends-on): Likewise.
+       * modules/getpeername (Depends-on): Likewise.
+       * modules/getsockname (Depends-on): Likewise.
+       * modules/getsockopt (Depends-on): Likewise.
+       * modules/ioctl (Depends-on): Likewise.
+       * modules/listen (Depends-on): Likewise.
+       * modules/recv (Depends-on): Likewise.
+       * modules/recvfrom (Depends-on): Likewise.
+       * modules/send (Depends-on): Likewise.
+       * modules/sendto (Depends-on): Likewise.
+       * modules/setsockopt (Depends-on): Likewise.
+       * modules/shutdown (Depends-on): Likewise.
+       * modules/socket (Depends-on): Likewise.
+       * modules/execute (Depends-on): Likewise.
+       * modules/spawn-pipe (Depends-on): Likewise.
+       * modules/flock (Depends-on): Likewise.
+       * modules/fsync (Depends-on): Likewise.
+       * modules/isapipe (Depends-on): Likewise.
+       * tests/test-cloexec.c: Include msvc-nothrow.h.
+       * tests/test-dup-safer.c: Likewise.
+       * tests/test-dup2.c: Likewise.
+       * tests/test-dup3.c: Likewise.
+       * tests/test-fcntl.c: Likewise.
+       * tests/test-pipe.c: Likewise.
+       * tests/test-pipe2.c: Likewise.
+       * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
+       * modules/unistd-safer-tests (Depends-on): Likewise.
+       * modules/dup2-tests (Depends-on): Likewise.
+       * modules/dup3-tests (Depends-on): Likewise.
+       * modules/fcntl-tests (Depends-on): Likewise.
+       * modules/pipe-posix-tests (Depends-on): Likewise.
+       * modules/pipe2-tests (Depends-on): Likewise.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       dup2: Make code more maintainable.
+       * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
+       (rpl_dup2): Use it.
+       * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
+       * modules/dup2 (configure.ac): Invoke it.
+       Reported by Paul Eggert.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       msvc-inval: Fix compilation error.
+       * lib/msvc-inval.h: Include <excpt.h>.
+
+2011-09-23  Bruno Haible  <bruno@clisp.org>
+
+       mkdir: Tweak for MSVC 9.
+       * lib/sys_stat.in.h: Update comments.
+       * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
+
+       Tests for module 'chdir'.
+       * modules/chdir-tests: New file.
+       * tests/test-chdir.c: New file.
+
+       New module 'chdir'.
+       * modules/chdir: New file.
+       * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
+       (chdir): New declaration.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
+       (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
+       * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
+       * tests/test-unistd-c++.cc: Check signature of chdir.
+       * doc/posix-functions/chdir.texi: Mention problem on native Windows.
+       * modules/chdir-long (Depends-on): Add chdir.
+       * modules/fchdir (Depends-on): Likewise.
+       * modules/rename (Depends-on): Likewise.
+       * modules/savewd (Depends-on): Likewise.
+
+       rmdir: Support for mingw, MSVC 9.
+       * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
+       * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
+
+       getcwd: Tweak for MSVC 9.
+       * lib/unistd.in.h: Update comments.
+       * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
+
+2011-09-22  Bruno Haible  <bruno@clisp.org>
+
+       strerror_r-posix: Avoid a link error on MSVC.
+       * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
+       * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
+
+2011-09-22  Bruno Haible  <bruno@clisp.org>
+
+       select: Avoid link errors on MSVC.
+       * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
+       * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
+       * modules/pselect (Link): Likewise.
+       * NEWS: Mention the change.
+       * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
+       test-select-stdin against $(LIB_SELECT).
+       * modules/pselect-tests (Makefile.am): Link test-pselect against
+       $(LIB_SELECT).
+
+2011-09-22  Bruno Haible  <bruno@clisp.org>
+
+       select: Avoid compilation error on MSVC.
+       * lib/select.c: Don't include <stdbool.h>.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       Consolidate all uses of PATH_MAX in *.m4 files.
+       * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
+       macros.
+       * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
+       and gl_PATHMAX_SNIPPET.
+       * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
+       * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
+       * modules/chdir-long (Files): Add m4/pathmax.m4.
+       * modules/getcwd (Files): Likewise.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       ftruncate: Un-deprecate, concentrate on Win32 support.
+       * modules/ftruncate (Status, Notice): Remove sections.
+       (Depends-on): Add largefile.
+       * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
+       non-mingw platforms.
+       * lib/ftruncate.c: Remove code for the older platforms. For Win32,
+       include <io.h>.
+       * modules/perror-tests (Depends-on): Add ftruncate.
+       * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
+       'ftruncate' module.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       Add dependencies to new dirent related modules.
+       * modules/opendir (Depends-on): Add closedir.
+       * modules/getcwd (Depends-on): Add opendir, closedir.
+       * modules/dirent-safer-tests (Depends-on): Likewise.
+       * modules/fdopendir-tests (Depends-on): Likewise.
+       * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
+       * modules/renameat-tests (Depends-on): Likewise.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       opendir: Avoid compilation error on mingw.
+       * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
+       * modules/opendir (Depends-on): Add unistd.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       ftruncate tests: Avoid a test failure on mingw.
+       * tests/test-ftruncate.c (main): Allow a failure with EACCES.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       select tests: Avoid test failures on OSF/1 5.1 and mingw.
+       * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
+       native Windows.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       New module 'fdopen'.
+       * lib/stdio.in.h (fdopen): New declaration.
+       * lib/fdopen.c: New file.
+       * m4/fdopen.m4: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
+       REPLACE_FDOPEN.
+       * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
+       REPLACE_FDOPEN.
+       * modules/fdopen: New file.
+       * modules/stdio-tests (Depends-on): Remove fdopen-tests.
+       * tests/test-stdio-c++.cc: Check signature of fdopen.
+       * doc/posix-functions/fdopen.texi: Mention the new module.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt tests: Avoid test failure on NetBSD 5.1.
+       * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
+       * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
+
+2011-09-21  Bruno Haible  <bruno@clisp.org>
+
+       getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
+       * tests/test-getlogin.c (main): Allow a failure with EINVAL.
+       * tests/test-getlogin_r.c (main): Likewise.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       time tests: Don't require pid_t.
+       * doc/posix-headers/time.texi: Revert last change.
+       * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
+       * tests/test-time.c: Comment out the check for pid_t.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       fsync tests: Avoid a test failure on mingw.
+       * tests/test-fsync.c (main): Allow a failure with EIO.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       euidaccess: Update comments.
+       * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       Ensure EBADF returns for socket functions on mingw.
+       * lib/accept.c (rpl_accept): Fail with error EBADF if the file
+       descriptor is invalid.
+       * lib/bind.c (rpl_bind): Likewise.
+       * lib/connect.c (rpl_connect): Likewise.
+       * lib/getpeername.c (rpl_getpeername): Likewise.
+       * lib/getsockname.c (rpl_getsockname): Likewise.
+       * lib/getsockopt.c (rpl_getsockopt): Likewise.
+       * lib/listen.c (rpl_listen): Likewise.
+       * lib/recv.c (rpl_recv): Likewise.
+       * lib/recvfrom.c (rpl_recvfrom): Likewise.
+       * lib/send.c (rpl_send): Likewise.
+       * lib/sendto.c (rpl_sendto): Likewise.
+       * lib/setsockopt.c (rpl_setsockopt): Likewise.
+       * lib/shutdown.c (rpl_shutdown): Likewise.
+
 2011-09-20  Bruno Haible  <bruno@clisp.org>
 
+       select tests: EBADF tests.
+       * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
+       test_bad_fd): New functions.
+       (test_function): Invoke also test_bad_fd.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'posix_spawn_file_actions_addopen.
+       * modules/posix_spawn_file_actions_addopen-tests: New file.
+       * tests/test-posix_spawn_file_actions_addopen.c: New file.
+
+       Tests for module 'posix_spawn_file_actions_adddup2'.
+       * modules/posix_spawn_file_actions_adddup2-tests: New file.
+       * tests/test-posix_spawn_file_actions_adddup2.c: New file.
+
+       Tests for module 'posix_spawn_file_actions_addclose'.
+       * modules/posix_spawn_file_actions_addclose-tests: New file.
+       * tests/test-posix_spawn_file_actions_addclose.c: New file.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'unlockpt'.
+       * modules/unlockpt-tests: New file.
+       * tests/test-unlockpt.c: New file.
+       * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
+
+       Tests for module 'grantpt'.
+       * modules/grantpt-tests: New file.
+       * tests/test-grantpt.c: New file.
+       * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
+
+2011-09-20  Bruno Haible  <bruno@clisp.org>
+
+       freopen tests: EBADF tests.
+       * tests/test-freopen.c: Include errno.h, unistd.h.
+       (main): Add tests for EBADF, commented out for the moment.
+
        fclose tests: EBADF tests.
        * tests/test-fclose.c (main): Add tests for EBADF.