+2010-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ fts, getcwd, glob: audit for dirfd returning -1
+ * lib/fts.c (opendir): Remove #define; no longer used.
+ (opendirat): New arg PDIR_FD. All callers changed.
+ (fts_build, _opendir2): Use new opendirat to avoid the need for
+ dirfd, or for checking whether dirfd returns a negative value.
+ Don't use opendir; always use openat followed by fdopendir.
+ * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
+ it.
+ * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
+ returns -1 here.
+ * modules/fts (Depends-on): Remove dirfd.
+ * modules/getcwd (Depends-on): Likewise.
+
+2010-09-13 Eric Blake <eblake@redhat.com>
+
+ float: fix broken MirBSD header
+ * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
+ * doc/posix-headers/float.texi (float.h): Document it.
+
+2010-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ fts: use O_NOFOLLOW to avoid race condition when opening a directory
+ * lib/fts.c (opendirat): New arg extra_flags.
+ (__opendir2): Use it to avoid following symlinks when opening
+ a directory, if symlinks are not supposed to be followed. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
+
+ fdopendir: preserve argument fd before returning
+ * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
+ (fdopendir_with_dup, fd_clone_opendir): New static functions.
+ (fdopendir): Use them, arranging for FD to be open to the same
+ directory that it was when it started. (It might be temporarily
+ closed while fdopendir is running, so this not thread- or
+ signal-safe.) Be careful to do the right thing even when file
+ descriptors are scarce and dup fails with errno == EMFILE. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
+
+2010-09-10 Paolo Bonzini <bonzini@gnu.org>
+
+ regex: Pass the system regex if its only problem is 32-bit regoff_t.
+ * NEWS: Document change.
+ * m4/regex.m4: Disable test for regoff_t size.
+
+2010-09-13 Jim Meyering <meyering@redhat.com>
+
+ fts: don't operate on an invalid file descriptor after failed dup
+ * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
+ negative file descriptor.
+
+2010-09-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ savedir: add streamsavedir, deprecate fdsavedir
+ * NEWS: Mention deprecation of fdsavedir.
+ * lib/savedir.c (streamsavedir): New extern function, whose name
+ ends in "savedir" to be consistent with the others. This differs
+ from savedirstream in that it doesn't close its argument. The
+ next version of GNU tar will use this instead of fdsavedir, to
+ avoid some race conditions and conserve file descriptors.
+ (savedirstream): Reimplement as a wrapper around streamsavedir.
+ (fdsavedir): Add a comment deprecating this function. As far as
+ I know, only GNU tar used it, and GNU tar doesn't need it any more.
+ * lib/savedir.h (streamsavedir): New decl.
+ (fdsavedir): Add a comment deprecating this.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ langinfo: Fix last commit.
+ * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
+ HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
+ * lib/progreloc.c (O_EXEC): Define fallback.
+
+2010-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
+ * NEWS: Document recent changes to fcntl-h.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Document that
+ O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
+ Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
+ Similarly for O_SEARCH; this last was already true, but not documented.
+ * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
+ * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
+ * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
+ Likewise.
+ * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
+ is zero, not whether it is defined.
+ * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
+ * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
+ * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ langinfo, nl_langinfo: Fix for IRIX 5.3.
+ * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
+ T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
+ HAVE_LANGINFO_YESEXPR.
+ * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
+ HAVE_LANGINFO_YESEXPR.
+ * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
+ HAVE_LANGINFO_T_FMT_AMPM is 0.
+ (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
+ HAVE_LANGINFO_YESEXPR is 0.
+ * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
+ NOEXPR.
+ * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
+ * doc/posix-functions/nl_langinfo.texi: Likewise.
+ Reported by Eric Blake.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
+ * doc/glibc-functions/login_tty.texi: Mention the include file problem
+ on FreeBSD 8.0 and OpenBSD 4.6.
+ * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
+ * m4/pty_h.m4 (gl_PTY_H): Likewise.
+ * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
+ * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
+ Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
+ ac_includes_default.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-09 Eric Blake <eblake@redhat.com>
+
+ strsignal: work around NetBSD bug
+ * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
+ * lib/string.in.h (includes): Likewise.
+ * doc/posix-functions/strsignal.texi (strsignal): Document the
+ bug.
+ Reported by Nelson H. F. Beebe.
+
+ gnulib-tool: work with NetBSD /bin/sh
+ * gnulib-tool (func_cache_var, func_cache_lookup_module)
+ (func_get_description, func_get_comment, func_get_status)
+ (func_get_notice, func_get_applicability, func_get_filelist)
+ (func_get_dependencies, func_get_autoconf_early_snippet)
+ (func_get_autoconf_snippet, func_get_automake_snippet)
+ (func_get_include_directive, func_get_link_directive)
+ (func_get_license, func_get_maintainer, func_import): Avoid
+ shell syntax errors from parsing syntax extensions.
+
+2010-09-09 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
+ * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
+ a reliable way to determine whether the 'alias' command works.
+
2010-09-08 Jim Meyering <meyering@redhat.com>
init.sh: penalize a set-x-impaired shell; don't disqualify it