+2008-10-02 Jim Meyering <meyering@redhat.com>
+
+ fts: bug fixes
+ * lib/fts.c: Remove unnecessary "defined" in cpp directive.
+ Include <sys/vfs.h>, not <sys/statfs.h>.
+ * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
+ Include <sys/vfs.h>, not <sys/statfs.h>.
+
+2008-10-01 Bruno Haible <bruno@clisp.org>
+
+ Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
+ * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
+ (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
+ * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
+ * doc/posix-functions/posix_spawnp.texi: Likewise.
+ * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
+ whether posix_spawn actually works.
+ * m4/pipe.m4 (gl_PIPE): Likewise.
+ * modules/execute (Files): Add m4/posix_spawn.m4.
+ * modules/pipe (Files): Add m4/posix_spawn.m4.
+ Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
+
+2008-10-01 Jim Meyering <meyering@redhat.com>
+
+ remove trailing spaces
+ * NEWS: Likewise.
+ * lib/poll.c (poll): Likewise.
+ * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
+ * lib/winsock.c (rpl_close): Likewise.
+ * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
+ * modules/yield: Likewise.
+ * tests/test-poll.c (connect_to_socket, poll1): Likewise.
+ * tests/test-sys_select.c (connect_to_socket): Likewise.
+
+ fts.c: adjust a new interface to be more generally useful
+ * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
+ (fts_build): Adjust caller.
+
+2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+
+ * modules/cond-tests: New file.
+ * tests/test-cond.c: New file.
+
+2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * modules/cond (Dependencies): Add errno, time.
+ * lib/glthread/cond.h: Include <time.h>.
+ (gl_cond_define, gl_cond_define_initialized): Use the same definition
+ across platforms.
+
+2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
+
+2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * modules/tls-tests (Depends-on): Add thread, yield.
+ (configure.ac): Remove all checks.
+ (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
+ * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
+ gl_thread_self): Remove definitions. Include glthread/thread.h and
+ glthread/yield.h instead.
+ (test_tls): Pass an additional NULL argument to gl_thread_join.
+
+2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * modules/lock-tests (Depends-on): Add thread, yield.
+ (configure.ac): Remove all checks.
+ (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
+ * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
+ gl_thread_self): Remove definitions. Include glthread/thread.h and
+ glthread/yield.h instead.
+ (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
+ additional NULL argument to gl_thread_join.
+
+2008-09-30 Bruno Haible <bruno@clisp.org>
+
+ Fix the Win32 implementation of the 'thread' module.
+ * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
+ pointer type.
+ (gl_thread_self): Invoke gl_thread_self_func.
+ (gl_thread_self_func): New declaration.
+ * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
+ (do_init_self_key, init_self_key): New functions.
+ (struct gl_thread_struct): Renamed from 'struct thread_extra'.
+ Remove some fields.
+ (running_threads, running_lock): Remove variables.
+ (get_current_thread_handle): New function.
+ (gl_thread_self_func, wrapper_func, glthread_create_func,
+ glthread_join_func, gl_thread_exit_func): Largely rewritten and
+ simplified.
+
+2008-09-30 Bruno Haible <bruno@clisp.org>
+
+ * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
+ files.
+
+2008-09-30 Jim Meyering <meyering@redhat.com>
+
+ fts.m4: correct the test for statfs.f_type
+ * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
+ when checking for statfs.f_type.
+
+2008-09-15 Simon Josefsson <simon@josefsson.org>
+
+ tests: avoid some compiler warnings
+ * tests/test-memchr.c (main): Pass NULL indirectly.
+ * tests/test-getdate.c (main): Remove unused variable 'ret'.
+
+2008-09-29 Ondřej Vašík <ovasik@redhat.com>
+
+ getdate.y: disallow countable dayshifts like "4 yesterday ago"
+ * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
+ exactly specified dayshifts.
+ (dayshift): New rule.
+ (rel): Add dayshift.
+ (relative_time_table) [tomorrow, yesterday, today, now]:
+ Use tDAY_SHIFT in place of tDAY_UNIT.
+ * tests/test-getdate.c: Add tests for now-disallowed countable
+ dayshifts, e.g., "4 yesterday ago".
+
+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
digits for the exponent.
2008-09-18 Jim Meyering <meyering@redhat.com>
- Bruno Haible <bruno@clisp.org>
+ Bruno Haible <bruno@clisp.org>
* lib/vasnprintf.c (decimal_point_char): Define also if
NEED_PRINTF_INFINITE_LONG_DOUBLE.