A new test for posix_spawn.
[gnulib.git] / ChangeLog
index 96a122d..76c7363 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
+       * tests/test-posix_spawn1.in.sh: Renamed from
+       tests/test-posix_spawn.in.sh.
+       * tests/test-posix_spawn2.c: New file.
+       * tests/test-posix_spawn2.in.sh: New file.
+       * modules/posix_spawnp-tests (Files): Update.
+       (Makefile.am): Update. Add test-posix_spawn2 to the tests.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       Propagate effects of putenv/setenv/unsetenv to child processes.
+       * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
+       * lib/pipe.c (create_pipe): Likewise.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       Enable use of shell scripts as executables in mingw.
+       * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
+       run the program as a shell script.
+       * lib/pipe.c (create_pipe): Likewise.
+       * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
+       resulting array.
+
+2008-09-29  Eric Blake  <ebb9@byu.net>
+
+       * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
+
+2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/posix-functions/accept.texi: Update mingw problems.
+       * doc/posix-functions/bind.texi: Update mingw problems.
+       * doc/posix-functions/close.texi: Update mingw problems.
+       * doc/posix-functions/connect.texi: Update mingw problems.
+       * doc/posix-functions/getpeername.texi: Update mingw problems.
+       * doc/posix-functions/getsockname.texi: Update mingw problems.
+       * doc/posix-functions/getsockopt.texi: Update mingw problems.
+       * doc/posix-functions/ioctl.texi: Update mingw problems.
+       * doc/posix-functions/listen.texi: Update mingw problems.
+       * doc/posix-functions/recv.texi: Update mingw problems.
+       * doc/posix-functions/recvfrom.texi: Update mingw problems.
+       * doc/posix-functions/select.texi: Update mingw problems.
+       * doc/posix-functions/send.texi: Update mingw problems.
+       * doc/posix-functions/sendto.texi: Update mingw problems.
+       * doc/posix-functions/setsockopt.texi: Update mingw problems.
+       * doc/posix-functions/socket.texi: Update mingw problems.
+
+2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_select.in.h: Include sys/time.h.
+       * m4/sys_select.h.m4: Test that struct timeval is fully defined.
+       * modules/sys_select: Depend on sys_time.
+       * tests/test-sys_select.c: Test that sys/select.h defines struct
+       timeval fully.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
+       * lib/sys_select.in.h: Likewise.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
+       Set LIBSOCKET instead of augmenting LIBS.
+       * modules/sockets (Link): New section.
+       * modules/sockets-tests (test_sockets_LDADD): New variable.
+       * modules/sys_select-tests (test_sys_select_LDADD): New variable.
+       * modules/poll-tests (test_poll_LDADD): New variable.
+       * NEWS: Document the change.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
+       * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
+       ARPA_INET_H directly.
+       * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
+       from gl_HEADER_SYS_SOCKET.
+       (gl_HEADER_SYS_SOCKET): Invoke it.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
+       * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
+       Needed on OSF/1 4.0.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       Override open more carefully.
+       * lib/open.c (orig_open): New function.
+       (rpl_open): Use orig_open instead of open.
+       * lib/fcntl.in.h: Add special invocation convention.
+       * m4/open.m4 (gl_PREREQ_OPEN): New macro.
+       (gl_FUNC_OPEN): Invoke it.
+
+       Override freopen more carefully.
+       * lib/freopen.c (orig_freopen): New function.
+       (rpl_freopen): Use orig_freopen instead of freopen.
+       * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
+       (gl_FUNC_FREOPEN): Invoke it.
+
+       Override fopen more carefully.
+       * lib/fopen.c (orig_fopen): New function.
+       (rpl_fopen): Use orig_fopen instead of fopen.
+       * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
+       (gl_FUNC_FOPEN): Invoke it.
+       Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
+       SIGPIPE.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-sigaction.c (handler, main): Disable the check whether
+       SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
+       glibc systems with LinuxThreads.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
+
+       * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
+       with AIX xlc.
+       * lib/fcntl.in.h (open): Likewise.
+       Reported by Rainer Tammer <tammer@tammer.net>.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/posix_spawnp-tests: New file.
+       * tests/test-posix_spawn.c: New file.
+       * tests/test-posix_spawn.in.sh: New file.
+
+       New module 'posix_spawnp'.
+       * modules/posix_spawnp: New file.
+       * lib/spawnp.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnp.texi: Mention the new module.
+
+       New module 'posix_spawn'.
+       * modules/posix_spawn: New file.
+       * lib/spawn.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawn.texi: Mention the new module.
+
+       New module 'posix_spawnattr_destroy'.
+       * modules/posix_spawnattr_destroy: New file.
+       * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_setsigmask'.
+       * modules/posix_spawnattr_setsigmask: New file.
+       * lib/spawnattr_setsigmask.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getsigmask'.
+       * modules/posix_spawnattr_getsigmask: New file.
+       * lib/spawnattr_getsigmask.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setsigdefault'.
+       * modules/posix_spawnattr_setsigdefault: New file.
+       * lib/spawnattr_setdefault.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getsigdefault'.
+       * modules/posix_spawnattr_getsigdefault: New file.
+       * lib/spawnattr_getdefault.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setschedpolicy'.
+       * modules/posix_spawnattr_setschedpolicy: New file.
+       * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getschedpolicy'.
+       * modules/posix_spawnattr_getschedpolicy: New file.
+       * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setschedparam'.
+       * modules/posix_spawnattr_setschedparam: New file.
+       * lib/spawnattr_setschedparam.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getschedparam'.
+       * modules/posix_spawnattr_getschedparam: New file.
+       * lib/spawnattr_getschedparam.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setpgroup'.
+       * modules/posix_spawnattr_setpgroup: New file.
+       * lib/spawnattr_setpgroup.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_getpgroup'.
+       * modules/posix_spawnattr_getpgroup: New file.
+       * lib/spawnattr_getpgroup.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_setflags'.
+       * modules/posix_spawnattr_setflags: New file.
+       * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_getflags'.
+       * modules/posix_spawnattr_getflags: New file.
+       * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_init'.
+       * modules/posix_spawnattr_init: New file.
+       * lib/spawnattr_init.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
+       module.
+
+       New module 'posix_spawn_file_actions_destroy'.
+       * modules/posix_spawn_file_actions_destroy: New file.
+       * lib/spawn_faction_destroy.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_addopen'.
+       * modules/posix_spawn_file_actions_addopen: New file.
+       * lib/spawn_faction_addopen.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_adddup2'.
+       * modules/posix_spawn_file_actions_adddup2: New file.
+       * lib/spawn_faction_adddup2.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_addclose'.
+       * modules/posix_spawn_file_actions_addclose: New file.
+       * lib/spawn_faction_addclose.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_init'.
+       * modules/posix_spawn_file_actions_init: New file.
+       * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
+       new module.
+
+       New module 'posix_spawn-internal'.
+       * modules/posix_spawn-internal: New file.
+       * lib/spawn_int.h: New file, from GNU libc with modifications.
+       * lib/spawni.c: New file, from GNU libc with modifications.
+       * m4/posix_spawn.m4: New file.
+
+       New module 'spawn'.
+       * modules/spawn: New file.
+       * lib/spawn.in.h: New file, from GNU libc with modifications.
+       * m4/spawn_h.m4: New file.
+       * doc/posix-headers/spawn.texi: Mention the new module.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sched-tests: New file.
+       * tests/test-sched.c: New file.
+
+       New module 'sched'.
+       * modules/sched: New file.
+       * lib/sched.in.h: New file.
+       * m4/sched_h.m4: New file.
+       * doc/posix-headers/sched.texi: Mention the new module.
+
+2008-09-27  Eric Blake  <ebb9@byu.net>
+
+       Fix previous patch, and tweak references to $0.
+       * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
+       (func_version, func_gnulib_dir): Don't call this program
+       gnulib-tool.
+       (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
+       with using $0 in function.
+       * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
+       (func_fatal_error): Reuse the name the user invoked us with.
+
+2008-09-27  Bruno Haible  <bruno@clisp.org>
+
+       * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
+       (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
+       (gl_ICONV_H): Not here.
+       * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
+       instead of assigning ICONV_H directly.
+
+       * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
+       WCHAR_H directly.
+
+2008-09-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
+       * modules/arpa_inet (Depends-on): Add link-warning.
+       (Makefile.am): Insert the definition of GL_LINK-WARNING.
+       * modules/unistd (Makefile.am): Likewise.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
+       variables.
+       (func_version): Essentially copied from gnulib-tool.
+       (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
+       func_readlink): Copied from gnulib-tool.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_version): Change directory to $gnulib_dir before
+       invoking git-version-gen.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * posix-modules: Update to directory names changed on 2008-01-19.
+       Remove commas in output before splitting into words. No more need to
+       avoid 'ftruncate' since 2007-02-19.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
+       * modules/fwriteerror (Depends-on): Add errno.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
+       * tests/test-vc-list-files-cvs.sh: Likewise.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/sys_resource.texi: Reorder items.
+
+2008-09-26  Jim Meyering  <meyering@redhat.com>
+
+       fts: tweak inode comparison function
+       * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
+       inode numbers, as documented.
+
+       fts: sort dirent entries on inode number before traversing
+       This avoids a quadratic, seek-related performance penalty when
+       operating on a directory containing many entries (measurable at 10k;
+       3.5 hours at 2 million entries with a cold cache) on certain types
+       of file systems, including ext3 and ext4, but not tmpfs.
+       * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
+       (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
+       (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
+       (fs_handles_readdir_ordered_dirents_efficiently): New function.
+       (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
+       (fts_build): Set the stat.st_ino member from D_INO.
+       If it is likely to be useful, sort dirent entries on inode number.
+
+       * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
+       and the struct statfs.f_type member.
+       * modules/fts (Depends-on): Add d-ino.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sigpipe-die (Depends-on): Add sigpipe.
+
+       * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
+       putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
+       and GNULIB_STDIO_H_SIGPIPE are set.
+       * lib/stdio-write.c: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
+       GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
+       GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
+       REPLACE_STDIO_WRITE_FUNCS.
+       (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
+       GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
+       GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
+       GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
+       * modules/stdio (Files): Add lib/stdio-write.c.
+       (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
+       GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
+       GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
+       GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
+       * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
+       REPLACE_FPRINTF_POSIX.
+       * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
+       REPLACE_PRINTF_POSIX.
+       * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
+       REPLACE_VFPRINTF_POSIX.
+       * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
+       REPLACE_VPRINTF_POSIX.
+       * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
+       SIGPIPE issue.
+       * doc/posix-functions/fputc.texi: Likewise.
+       * doc/posix-functions/fputs.texi: Likewise.
+       * doc/posix-functions/fwrite.texi: Likewise.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/putc.texi: Likewise.
+       * doc/posix-functions/putchar.texi: Likewise.
+       * doc/posix-functions/puts.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+
+       * modules/safe-write (Depends-on): Add write.
+
+       * modules/sigpipe-tests: New file.
+       * tests/test-sigpipe.c: New file.
+       * tests/test-sigpipe.sh: New file.
+
+       * modules/write: New file.
+       * lib/unistd.in.h: Include <sys/types.h>.
+       (write): New declaration.
+       * lib/write.c: New file.
+       * m4/write.m4: New file.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
+       * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
+       GNULIB_WRITE, REPLACE_WRITE.
+       * doc/posix-functions/write.texi: Mention the write, sigpipe modules
+       and the SIGPIPE issue.
+
+       * lib/signal.in.h (SIGPIPE): Define to a replacement value.
+       (raise): New declaration.
+       * lib/sigprocmask.c (SIGPIPE_handler): New variable.
+       (ext_signal): New function.
+       (rpl_raise): New function.
+       * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
+       GNULIB_SIGNAL_H_SIGPIPE.
+       * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
+       * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
+
+       * modules/sigpipe: New file.
+       * m4/sigpipe.m4: New file.
+
+2008-09-25  Derek Price  <derek@ximbiot.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): Report all license incompatibilities, not
+       just the first one.
+
+2008-09-25  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): When computing the edits, consider not
+       only the Makefile.ams that exist but also those that will be generated.
+
+2008-09-25  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/sys_select-tests (Depends-on): Remove sys_select itself,
+       fixes gnulib-tool --test warning about duplicate dependency.
+
+2008-09-25  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool: Don't ask the user to perform edits in the generated
+       Makefile.ams.
+       (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
+       apply to the Makefile.am being generated.
+       (func_emit_tests_Makefile_am): Execute edits that apply to the
+       Makefile.am being generated.
+       (func_import): Setup list of Makefile.am edits before emitting the
+       Makefile.ams, not at the end.
+       (func_create_testdir): Update.
+       Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
+
+2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
+
+       * gnulib-tool (func_import): Store the --tests-base option in the
+       comment in gnulib-cache.m4.
+
+2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       * NEWS: Document increased portability that sys_select now provides.
+
+       * lib/sys_select.in.h: Install select wrapper.
+       * lib/sys_socket.in.h: Use more descriptive name when there is no
+       select wrapper.
+       * lib/winsock-select.c: New.
+       * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
+       Require gl_HEADER_SYS_SOCKET.
+       * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
+       * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
+       * tests/test-sys_select.c: Add functional tests.
+
+2008-09-24  Eric Blake  <ebb9@byu.net>
+
+       open, fopen: close fd leak in last patch
+       * lib/open.c (rpl_open): Close fd before returning error.
+       * lib/fopen.c (rpl_fopen): Close fd before returning error.
+       * doc/posix-functions/open.texi (open): Document that Irix also
+       has the bug.
+       * doc/posix-functions/fopen.texi (fopen): Likewise.
+       Reported by Paolo Bonzini.
+
+2008-09-24  Bruno Haible  <bruno@clisp.org>
+
+       Ensure that a filename ending in a slash cannot be used to access a
+       non-directory.
+       * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
+       to check whether it's really a directory.
+       * lib/fopen.c: Include fcntl.h, unistd.h.
+       (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
+       and fdopen().
+       * modules/fopen (Depends-on): Add unistd.
+       * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
+       * tests/test-fopen.c (main): Likewise.
+       * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
+       * doc/posix-functions/fopen.texi: Likewise.
+       Reported by Eric Blake.
+
+2008-09-23  Eric Blake  <ebb9@byu.net>
+
+       c-stack: avoid compiler optimizations when provoking overflow
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
+       recursion harder to optimize, to ensure a stack overflow occurs.
+       * tests/test-c-stack.c (recurse): Likewise.
+       Borrowed from libsigsegv.
+
+       c-stack: work around Irix sigaltstack bug
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
+       whether sigaltstack uses wrong end of stack_t (copied in part from
+       libsigsegv).
+       * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
+       Irix bug, without requiring an over-allocation.
+       * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
+       bug.
+
+       fopen: document mingw bug on directories
+       * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
+       not allowing a stream visiting a directory, even though reading
+       from such a stream is not portable.
+
+2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * lib/poll.c: Rewrite.
+       * modules/poll: Depend on alloca.
+
+2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
+       instead define prototypes for a full set of wrappers.  Ensure
+       that Cygwin does not use the compatibility code, which is only
+       for MinGW.
+       * lib/winsock.c: New.
+       * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
+       * modules/sys_socket: Add lib/winsock.c.
+
+       * modules/poll-tests: Add errno and perror.
+       * tests/test-poll.c: Use ioctl, not ioctlsocket.
+
+2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tests/test-poll.c: Downgrade minimum needed Winsock version.
+
+2008-09-23  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
+       * doc/glibc-functions/*: Likewise.
+
+2008-09-23  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
+       success.
+
+2008-09-22  Eric Blake  <ebb9@byu.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
+       * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
+       supply %A but mishandle pseudo-NaN.
+       Reported by Simon Josefsson.
+
+2008-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-lock.c (main): Tweak skip message.
+       * tests/test-tls.c (main): Likewise.
+
+2008-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
+       whether 'struct sigaction' has sa_sigaction here...
+       (gl_PREREQ_SIG_HANDLER_H): ... not here.
+       (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
+
+2008-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
+       section.
+       (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
+       strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
+       the new section.
+       (Support for obsolete systems lacking POSIX:2001): New section.
+       (String handling <string.h>): Move strdup to the new section.
+       Suggested by Simon Josefsson and Paolo Bonzini.
+
+2008-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
+       exponents in %e and %g results on 'long double'. Needed for mingw's
+       improved *printf functions.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * tests/test-snprintf-posix.h (test_function): Likewise.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       Reported by Eric Blake.
+
+2008-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+
+2008-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/getpass (Depends-on): Add strdup-posix.
+
+       New module 'strdup-posix'.
+       * modules/strdup-posix: New file.
+       * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
+       * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
+       REPLACE_STRDUP.
+       * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
+       * doc/posix-functions/strdup.texi: Mention module strdup-posix.
+       * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
+       strdup-posix.
+
+       * modules/strdup (Depends-on): Remove malloc-posix.
+
+2008-09-20  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
+       Wildenhues.
+
+2008-09-20  Bruno Haible  <bruno@clisp.org>
+
+       Ensure that wint_t gets defined on IRIX 5.3.
+       * lib/wchar.in.h (wint_t): Define if not defined by the system.
+       * lib/wctype.in.h (wint_t): Likewise.
+       (__wctype_wint_t): Remove type.
+       (isw*): Use wint_t instead of __wctype_wint_t.
+       * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
+       * modules/wchar (Files): Add m4/wint_t.m4.
+       (Makefile.am): Substitute HAVE_WINT_T.
+       * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
+       * tests/test-wctype.c: Check that wint_t is defined.
+       * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
+       * doc/posix-headers/wctype.texi: Likewise.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
 2008-09-18  Bruno Haible  <bruno@clisp.org>
 
+       * gnulib-tool (func_exit): Update comment.
+
+2008-09-18  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/getaddrinfo (Depends-on): Remove strdup, this module
+       assumes strdup exists and does not depend on strdup to return
+       ENOMEM on out of memory conditions.
+
+2008-09-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
+       NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
+       digits for the exponent.
+
+2008-09-18  Jim Meyering  <meyering@redhat.com>
+           Bruno Haible  <bruno@clisp.org>
+
        * lib/vasnprintf.c (decimal_point_char): Define also if
        NEED_PRINTF_INFINITE_LONG_DOUBLE.
-       (VASNPRINTF): When printing ±0.0L in NEED_PRINTF_INFINITE_LONG_DOUBLE
-       case with 'e' format, always use two digits for the exponent.
-       Reported by Jim Meyering.
 
 2008-09-16  Bruno Haible  <bruno@clisp.org>
        and Eric Blake  <ebb9@byu.net>