+2010-11-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ fdopendir: fix bug on MacOS X when low on file descriptors
+
+ * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
+ (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
+ All callers changed.
+ (fdopendir): Invoke save_cwd at the top level, not after using
+ multiple dup() calls to use up file descriptors. Then retry
+ fdopendir_with_dup. This avoids failure with EMFILE if FD is 1
+ less than the maximum number of open file descriptors, because
+ save_cwd fails with errno == EMFILE. Problem reported by tsteven4
+ on Mac OS X 10.6.4 for tar 1.24
+ <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
+ <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
+ and for tar 1.25
+ <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
+
+2010-11-07 Bruno Haible <bruno@clisp.org>
+
+ vasnprintf: Support I flag on glibc systems.
+ * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
+ * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
+ * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
+ snprintf function.
+ * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
+ glibc systems.
+ * tests/test-vasnprintf-posix3.c: New file.
+ * modules/vasnprintf-posix-tests (Files): Add it.
+ (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
+
+2010-11-05 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
+
+ [html] Fix copy/paste bug: Use unique name for compiler warnings.
+ * MODULES.html.sh: For compiler warnings, use name
+ `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
+
+2010-11-05 Eric Blake <eblake@redhat.com>
+
+ ceil, floor: avoid spurious failure with icc
+ * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
+ [denormals-as-zero] when optimizing without -mieee-fp option.
+ * tests/test-floorf2.c (floorf_reference): Likewise.
+ * tests/test-ceilf1.c (dummy): New function.
+ (main): Use it to outsmart icc's optimization.
+ * tests/test-floorf1.c (dummy, main): Likewise.
+
+ tests: require working signbit
+ * modules/ceilf-tests (Depends-on): Add signbit.
+ * modules/ceill-tests (Depends-on): Likewise.
+ * modules/floorf-tests (Depends-on): Likewise.
+ * modules/floorl-tests (Depends-on): Likewise.
+ * modules/round-tests (Depends-on): Likewise.
+ * modules/roundf-tests (Depends-on): Likewise.
+ * modules/roundl-tests (Depends-on): Likewise.
+ * modules/trunc-tests (Depends-on): Likewise.
+ * modules/truncf-tests (Depends-on): Likewise.
+ * modules/truncl-tests (Depends-on): Likewise.
+
+ strtod: work around icc bug
+ * lib/strtod.c (minus_zero): Define to working value.
+ (strtod): Use it to avoid icc bug.
+
+ copysign: enhance tests
+ * modules/copysign-tests (Files): Add minus-zero.h.
+ * tests/test-copysign.c (main): Also test zeros.
+
+2010-11-04 Eric Blake <eblake@redhat.com>
+
+ ceil, floor, round, trunc: enhance tests of -0
+ * tests/test-ceilf1.c (main): Ensure correct sign of result.
+ * tests/test-ceill.c (main): Likewise.
+ * tests/test-floorf1.c (main): Likewise.
+ * tests/test-floorl.c (main): Likewise.
+ * tests/test-round1.c (main): Likewise.
+ * tests/test-roundf1.c (main): Likewise.
+ * tests/test-roundl.c (main): Likewise.
+ * tests/test-trunc1.c (main): Likewise.
+ * tests/test-truncf1.c (main): Likewise.
+ * tests/test-truncl.c (main): Likewise.
+
+2010-11-04 Eric Blake <eblake@redhat.com>
+
+ frexp, tests: work around ICC bug with -zero
+ * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
+ works with more compilers.
+ * tests/minus-zero.h: New file.
+ * modules/ceilf-tests (Files): Include it.
+ * modules/ceill-tests (Files): Likewise.
+ * modules/floorf-tests (Files): Likewise.
+ * modules/floorl-tests (Files): Likewise.
+ * modules/frexp-nolibm-tests (Files): Likewise.
+ * modules/frexp-tests (Files): Likewise.
+ * modules/frexpl-nolibm-tests (Files): Likewise.
+ * modules/frexpl-tests (Files): Likewise.
+ * modules/isnan-tests (Files): Likewise.
+ * modules/isnand-nolibm-tests (Files): Likewise.
+ * modules/isnand-tests (Files): Likewise.
+ * modules/isnanf-nolibm-tests (Files): Likewise.
+ * modules/isnanf-tests (Files): Likewise.
+ * modules/isnanl-nolibm-tests (Files): Likewise.
+ * modules/isnanl-tests (Files): Likewise.
+ * modules/round-tests (Files): Likewise.
+ * modules/roundf-tests (Files): Likewise.
+ * modules/roundl-tests (Files): Likewise.
+ * modules/ldexpl-tests (Files): Likewise.
+ * modules/signbit-tests (Files): Likewise.
+ * modules/snprintf-posix-tests (Files): Likewise.
+ * modules/sprintf-posix-tests (Files): Likewise.
+ * modules/strtod-tests (Files): Likewise.
+ * modules/trunc-tests (Files): Likewise.
+ * modules/truncf-tests (Files): Likewise.
+ * modules/truncl-tests (Files): Likewise.
+ * modules/vsnprintf-posix-tests (Files): Likewise.
+ * modules/vsprintf-posix-tests (Files): Likewise.
+ * modules/vasnprintf-posix-tests (Files): Likewise.
+ * modules/vasprintf-posix-tests (Files): Likewise.
+ * tests/test-ceilf1.c (main): Use it.
+ * tests/test-ceill.c (main): Likewise.
+ * tests/test-floorf1.c (main): Likewise.
+ * tests/test-floorl.c (main): Likewise.
+ * tests/test-frexp.c (main): Likewise.
+ * tests/test-frexpl.c (main): Likewise.
+ * tests/test-isnan.c (main): Likewise.
+ * tests/test-isnand.h (main): Likewise.
+ * tests/test-isnanf.h (main): Likewise.
+ * tests/test-isnanl.h (main): Likewise.
+ * tests/test-ldexpl.c (main): Likewise.
+ * tests/test-round.c (main): Likewise.
+ * tests/test-roundf.c (main): Likewise.
+ * tests/test-roundl.c (main): Likewise.
+ * tests/test-signbit.c (test_signbitf, test_signbitd)
+ (test_signbitl): Likewise.
+ * tests/test-snprintf-posix.h (test_function): Likewise.
+ * tests/test-sprintf-posix.h (test_function): Likewise.
+ * tests/test-strtod.c (main): Likewise.
+ * tests/test-trunc1.c (main): Likewise.
+ * tests/test-truncf1.c (main): Likewise.
+ * tests/test-truncl.c (main): Likewise.
+
+ isnanl: work around icc bug
+ * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
+
+2010-11-03 Eric Blake <eblake@redhat.com>
+
+ tests: fix compiler warnings
+ * tests/test-getopt.h (test_getopt): Fix condition.
+ * tests/test-getopt_long.h (test_getopt_long): Likewise.
+ * tests/test-pipe2.c (main): Likewise.
+ * tests/test-quotearg-simple.c (main): Avoid icc warning.
+
+ utimens: fix broken m4 test
+ * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
+
+2010-10-28 Bruno Haible <bruno@clisp.org>
+
+ posix_spawn*, getdtablesize: Relax license.
+ * modules/posix_spawn (License): Change to LGPLv2+.
+ * modules/posix_spawnp (License): Likewise.
+ * modules/posix_spawn-internal (License): Likewise.
+ * modules/posix_spawnattr_init (License): Likewise.
+ * modules/posix_spawnattr_getflags (License): Likewise.
+ * modules/posix_spawnattr_setflags (License): Likewise.
+ * modules/posix_spawnattr_getpgroup (License): Likewise.
+ * modules/posix_spawnattr_setpgroup (License): Likewise.
+ * modules/posix_spawnattr_getschedparam (License): Likewise.
+ * modules/posix_spawnattr_setschedparam (License): Likewise.
+ * modules/posix_spawnattr_getschedpolicy (License): Likewise.
+ * modules/posix_spawnattr_setschedpolicy (License): Likewise.
+ * modules/posix_spawnattr_getsigdefault (License): Likewise.
+ * modules/posix_spawnattr_setsigdefault (License): Likewise.
+ * modules/posix_spawnattr_getsigmask (License): Likewise.
+ * modules/posix_spawnattr_setsigmask (License): Likewise.
+ * modules/posix_spawnattr_destroy (License): Likewise.
+ * modules/posix_spawn_file_actions_init (License): Likewise.
+ * modules/posix_spawn_file_actions_addclose (License): Likewise.
+ * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
+ * modules/posix_spawn_file_actions_addopen (License): Likewise.
+ * modules/posix_spawn_file_actions_destroy (License): Likewise.
+ * modules/getdtablesize (License): Likewise.
+ Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
+
+2010-10-26 Bruno Haible <bruno@clisp.org>
+
+ unistd: Refine workaround from 2009-12-23 against Cygwin bug.
+ * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
+ Cygwin and mingw.
+ Suggested by Eric Blake.
+
+2010-10-26 Bruno Haible <bruno@clisp.org>
+
+ stdio: Work around compilation error due to renameat() on Solaris 10.
+ * lib/stdio.in.h: Include <unistd.h> on Solaris.
+ * lib/renameat.c: Don't include <unistd.h> here.
+ * doc/posix-functions/renameat.texi: Mention the Solaris problem.
+ Reported by Paul Eggert and Eric Blake.
+
+2010-10-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ renameat: port to Solaris 10, which declares renameat in unistd.h
+
+ * lib/renameat.c: Include unistd.h before stdio.h, because
+ Solaris 10 declares renameat in unistd.h. Problem encountered
+ when building GNU tar 1.24 on Solaris 10.
+
+2010-10-26 Christian Weisgerber <naddy@mips.inka.de> (tiny change)
+
+ fdopendir: fix C89 compilation
+ * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
+ compilers.
+
+2010-10-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ inttostr: simplify by removing unnecessary redundancy
+ * lib/anytostr.c: Don't include verify.h.
+ (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
+ inttype_is_signed. Instead, disable the bogus GCC warnings, so that
+ there's no need for inttype_is_signed and for calling TYPE_SIGNED.
+ * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
+ * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
+ Likewise.
+ * modules/inttostr (Depends-on): Remove 'verify'.
+
+2010-10-23 Bruno Haible <bruno@clisp.org>
+
+ nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
+ * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
+ Reported by Eric Blake.
+
+2010-10-23 Bruno Haible <bruno@clisp.org>
+
+ Tests: Fix LOCALE_JA on MirBSD 10.
+ * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
+ to an UTF-8 locale.
+ * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
+ * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+ Reported by Eric Blake.
+
+2010-10-21 Bruno Haible <bruno@clisp.org>
+
+ nl_langinfo test: Avoid test failure on NetBSD 5.
+ * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
+ Reported by Eric Blake.
+
+2010-10-21 Eric Blake <eblake@redhat.com>
+
+ c-stack: work around libsigsegv 2.8 bug
+ * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
+ overflow on at least PowerPC64.
+
+2010-10-17 Bruno Haible <bruno@clisp.org>
+
+ userspec: Drop redundant file.
+ * modules/userspec (Files): Remove lib/inttostr.h.
+
+2010-10-17 Bruno Haible <bruno@clisp.org>
+
+ nl_langinfo tests: Silence some warnings.
+ * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
+ Reported by Jim Meyering.
+
+2010-10-17 Bruno Haible <bruno@clisp.org>
+
+ Make use of GCC's attribute __alloc_size__.
+ * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
+ (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
+ xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
+ * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
+ __alloc_size__.
+ * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
+ Suggested by Jim Meyering.
+
+2010-10-16 Joel E. Denny <joeldenny@joeldenny.org>
+
+ bootstrap: anchor .gitignore entries.
+ * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
+ with...
+ (insert_vc_ignore): ... this new function, which prepends `/' to
+ all .gitignore entries before passing them to
+ insert_sorted_if_absent.
+
+2010-10-16 Bruno Haible <bruno@clisp.org>
+
+ nextafter: Fix configure check.
+ * modules/nextafter (configure.ac): Correct expected prototype.
+
+2010-10-16 Bruno Haible <bruno@clisp.org>
+
+ termios: Update documentation.
+ * doc/posix-headers/termios.texi: Mention remaining mingw problems.
+
+2010-10-16 Bruno Haible <bruno@clisp.org>
+
+ tests: Make them compile with TinyCC.
+ * tests/test-strstr.c (main): Remove parentheses around array
+ initializer.
+
+2010-10-15 Eric Blake <eblake@redhat.com>
+
+ ignore-value: make header idempotent
+ * lib/ignore-value.h: Add double-inclusion guards.
+ Reported by Stefan Berger.
+
+2010-10-15 Jim Meyering <meyering@redhat.com>
+
+ GNUmakefile: handle "stable" target, not "major"
+ * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
+ lists in maint.mk and announce-gen. Without this, "make stable"
+ would fail to ensure that $(VERSION) is up to date.
+
+2010-10-15 Ludovic Courtès <ludo@gnu.org>
+
+ * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
+ & co.
+
+2010-10-14 Bruno Haible <bruno@clisp.org>
+
+ vasnprintf: Don't set errno to 0.
+ * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
+ block that sets it to 0.
+ Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
+
+2010-10-14 Bruno Haible <bruno@clisp.org>
+
+ socketlib: Fix.
+ * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
+ gl_PREREQ_SYS_H_WINSOCK2.
+ Reported by Ian Beckwith <ianb@erislabs.net>.
+
+2010-10-13 Jim Meyering <meyering@redhat.com>
+
+ test-select-stdin.c: avoid warn_unused_result warnings
+ * tests/test-select-stdin.c: Include "macros.h".
+ ASSERT that read and fflush succeed.
+
+2010-10-13 Jim Meyering <meyering@redhat.com>
+
+ git-version-gen: do require git-VC'd files in cwd
+ * build-aux/git-version-gen: Reject a git version string
+ if there are no commits associated with the current directory.
+ This avoids an unlikely false-positive (unrelated dir whose parent
+ repository also contains a tag matching v*), as pointed out
+ by Giuseppe Scrivano in
+ http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
+
+2010-10-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ argv-iter: omit nonconforming declaration
+ * lib/argv-iter.h (enum argv_iter_err): Omit the useless
+ enum arg_iter_err declaration, which doesn't conform to C99.
+ Solaris 10 cc warns about this.
+
+2010-10-13 Eric Blake <eblake@redhat.com>
+
+ termios: fix compilation on mingw
+ * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
+ (gl_TERMIOS_H): Adjust it on mingw.
+ * modules/termios (Makefile.am): Substitute new key.
+ * lib/termios.in.h (includes): Make include_next conditional.
+ * doc/posix-headers/termios.texi (termios.h): Update
+ documentation.
+ Reported by Daniel P. Berrange.
+
+2010-10-13 Jim Meyering <meyering@redhat.com>
+
+ git-version-gen: don't require that .git/ be in the current dir
+ * build-aux/git-version-gen: Adjust this script so that it works
+ when run from any working directory beneath the top-level .git/-
+ containing directory. Inspired by a patch from Giuseppe Scrivano,
+ http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
+
+ test-select: avoid warn_unused_result warnings
+ * tests/test-select.c: Include "macros.h".
+ ASSERT that each call to read, write, and pipe succeeds.
+ While not technically required, also check each "close".
+ * modules/select-tests (Files): Add tests/macros.h.
+
+ test-symlinkat: remove declaration of unused local
+ * tests/test-symlinkat.c (main): Remove unused local, "buf".
+
+ test-inttostr: avoid shadowing warnings
+ * tests/test-inttostr.c (main): Rename local, "buf" to "b",
+ and use malloc rather than the stack for the same reason as
+ mentioned in the comment justifying the other allocation.
+
+2010-10-11 Bruno Haible <bruno@clisp.org>
+
+ stdlib: Allow multiple gnulib generated replacements to coexist.
+ * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
+ Reported by Sam Steingold <sds@gnu.org>.
+
+2010-10-11 Jim Meyering <meyering@redhat.com>
+
+ fix a documentation typo
+ * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
+
+2010-10-11 Eric Blake <eblake@redhat.com>
+
+ futimens: work around Solaris 11 bug
+ * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
+ * tests/test-futimens.h (test_futimens): Enhance, rather than
+ weaken test.
+ * doc/posix-functions/futimens.texi (futimens): Document the bug.
+
+2010-10-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Indentation.
+ * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
+ higher-level operators more to the left.
+
+2010-10-11 Jim Meyering <meyering@redhat.com>
+
+ test-futimens: avoid unwarranted test failure on Solaris 5.11
+ * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
+ invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
+ because it tries to dereference the NULL name argument.
+
+2010-10-11 Bruno Haible <bruno@clisp.org>
+
+ Indentation.
+ * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
+ indentation.
+
+2010-10-11 Jim Meyering <meyering@redhat.com>
+
+ spawn.in.h: make indentation consistent with parentheses
+ * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
+ Make indentation consistent with parentheses.
+
+2010-10-11 Gary V. Vaughan <gary@gnu.org>
+
+ Fix mismatched parens in previous commit
+ * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
+ parens.
+
+2010-10-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
+
+ * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
+ (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
+ * lib/malloca.c: Include "verify.h".
+ (verify1): Remove, replacing with a verify call.
+ * lib/relocwrapper.c (verify1): Likewise.
+ * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
+ Likewise.
+ * modules/malloca (Depends-on): Add 'verify'.
+ * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
+ * modules/vasnprintf (Depends-on): Add 'verify'.
+ * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
+
+ prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
+
+ Formerly the style was sometimes 2*X - 1, because the C standard
+ was wrongly thought to disallow ?: in integral constant expressions.
+ * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
+ * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
+ * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
+ * lib/stdint.in.h (_verify_intmax_size): Likewise.
+ * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
+ 2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
+ verify that time_t cannot be floating.
+
+2010-10-08 Eric Blake <eblake@redhat.com>
+
+ time: enforce recent POSIX ruling that time_t is integral
+ * lib/time.in.h (__time_t_must_be_integral): Detect any
+ problematic systems, allowing the rest of gnulib to assume POSIX.
+
+2010-10-08 Jim Meyering <meyering@redhat.com>
+
+ fdopendir: fix a bug on systems lacking openat and /proc support
+ OpenBSD 4.7 is one such system. The most noticeable effect was
+ failure of any application making nontrivial use of fts: rm, du,
+ chown, chmod etc. E.g., "mkdir -p a/b; ./rm -rf a" would fail with
+ ./rm: traversal failed: `a': Bad file descriptor
+ Debugging that, you see that even though FD 6 was closed just
+ prior to the opendir call in fd_clone_opendir, its resulting
+ dir->dd_fd was 8, rather than the expected value of 6:
+
+ Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
+ 93 close (fd);
+ (gdb) n
+ 94 dir = fd_clone_opendir (dupfd);
+ (gdb) n
+ 95 saved_errno = errno;
+ (gdb) p dir->dd_fd
+ $11 = 8
+
+ Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
+ The problem is that on OpenBSD, fd_clone_opendir has to resort
+ to using the old-style save/restore CWD mechanism, due to its
+ lack of openat/proc support, and *that* would steal the FD (6)
+ that opendir was supposed to use.
+
+ The fix is to squirrel away the desired FD so that save_cwd uses a
+ different one, and then free the dest FD right before calling opendir.
+ That guarantees opendir will use the required file descriptor.
+
+ * lib/fdopendir.c (fd_clone_opendir): Handle the above.
+
+2010-10-08 Bruno Haible <bruno@clisp.org>
+
+ sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
+ * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
+
+2010-10-08 Bruno Haible <bruno@clisp.org>
+
+ nanosleep: Make replacement POSIX compliant.
+ * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
+ is out of range.
+ Reported by Jim Meyering.
+
+2010-10-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ bootstrap: add hook for altering gnulib.mk, for Bison
+ * build-aux/bootstrap (gnulib_mk_hook): New function, so that
+ the Bison bootstrapping process can rewrite file names and variables
+ in this file before later parts of 'bootstrap' use the file.
+ Bison wants to include lib/gnulib.mk from the top-level makefile,
+ so it needs the file names in this file to be relative to the top
+ level, not relative to lib; plus it needs variable names to be
+ rewritten.
+ (slurp): Use the new function.
+
+ bootstrap: reformat for readability
+ * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
+
+2010-10-08 Eric Blake <eblake@redhat.com>
+
+ docs: update cygwin progress
+ * doc/posix-functions/cacos.texi (cacos): Added after cygwin
+ 1.7.7.
+ * doc/posix-functions/cacosf.texi (cacosf): Likewise.
+ * doc/posix-functions/cacosh.texi (cacosh): Likewise.
+ * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
+ * doc/posix-functions/carg.texi (carg): Likewise.
+ * doc/posix-functions/cargf.texi (cargf): Likewise.
+ * doc/posix-functions/casin.texi (casin): Likewise.
+ * doc/posix-functions/casinf.texi (casinf): Likewise.
+ * doc/posix-functions/casinh.texi (casinh): Likewise.
+ * doc/posix-functions/casinhf.texi (casinhf): Likewise.
+ * doc/posix-functions/catan.texi (catan): Likewise.
+ * doc/posix-functions/catanf.texi (catanf): Likewise.
+ * doc/posix-functions/catanh.texi (catanh): Likewise.
+ * doc/posix-functions/catanhf.texi (catanhf): Likewise.
+ * doc/posix-functions/ccos.texi (ccos): Likewise.
+ * doc/posix-functions/ccosf.texi (ccosf): Likewise.
+ * doc/posix-functions/ccosh.texi (ccosh): Likewise.
+ * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
+ * doc/posix-functions/cexp.texi (cexp): Likewise.
+ * doc/posix-functions/cexpf.texi (cexpf): Likewise.
+ * doc/posix-functions/cimag.texi (cimag): Likewise.
+ * doc/posix-functions/cimagf.texi (cimagf): Likewise.
+ * doc/posix-functions/clog.texi (clog): Likewise.
+ * doc/posix-functions/clogf.texi (clogf): Likewise.
+ * doc/posix-functions/conj.texi (conj): Likewise.
+ * doc/posix-functions/conjf.texi (conjf): Likewise.
+ * doc/posix-functions/cpow.texi (cpow): Likewise.
+ * doc/posix-functions/cpowf.texi (cpowf): Likewise.
+ * doc/posix-functions/cproj.texi (cproj): Likewise.
+ * doc/posix-functions/cprojf.texi (cprojf): Likewise.
+ * doc/posix-functions/creal.texi (creal): Likewise.
+ * doc/posix-functions/crealf.texi (crealf): Likewise.
+ * doc/posix-functions/csin.texi (csin): Likewise.
+ * doc/posix-functions/csinf.texi (csinf): Likewise.
+ * doc/posix-functions/csinh.texi (csinh): Likewise.
+ * doc/posix-functions/csinhf.texi (csinhf): Likewise.
+ * doc/posix-functions/csqrt.texi (csqrt): Likewise.
+ * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
+ * doc/posix-functions/ctan.texi (ctan): Likewise.
+ * doc/posix-functions/ctanf.texi (ctanf): Likewise.
+ * doc/posix-functions/ctanh.texi (ctanh): Likewise.
+ * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
+ * doc/posix-headers/complex.texi (complex.h): Likewise.
+
+2010-10-07 Jim Meyering <meyering@redhat.com>
+
+ parse-datetime: avoid compilation failure on OpenBSD 4.7
+ * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
+ This works around a compilation failure on OpenBSD 4.7:
+ http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
+
+2010-10-07 Eric Blake <eblake@redhat.com>
+
+ docs: update cygwin progress
+ * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
+ 1.7.6.
+ * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
+ * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
+ * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
+ * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
+ * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
+ Likewise.
+ * doc/posix-functions/fegetround.texi (fegetround): Likewise.
+ * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
+ * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
+ Likewise.
+ * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
+ * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
+ Likewise.
+ * doc/posix-functions/fesetround.texi (fesetround): Likewise.
+ * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
+ * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
+ * doc/glibc-functions/feenableexcept.texi (feenableexcept):
+ Likewise.
+ * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
+ Likewise.
+ * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
+
+ docs: update parse-datetime history
+ * doc/parse-datetime.texi (Authors of parse_datetime): Better
+ documentation of this function's history and alternatives.
+
+ cygwin: use more robust version check
+ * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
+ exclude an eventual cygwin 1.9.1.
+ * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
+ * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
+ (gl_FUNC_STRCASESTR): Likewise.
+ Reported by Bruno Haible.
+
+2010-10-06 Bruno Haible <bruno@clisp.org>
+
+ string, sys_select: Avoid #including large headers unless necessary.
+ * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
+ * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
+ OSF/1, BeOS, Haiku.
+ Reported by Jim Meyering.
+
2010-10-05 Eric Blake <eblake@redhat.com>
memmem, strstr, strcasestr: fix bug with long periodic needle