+2011-08-23 Bruno Haible <bruno@clisp.org>
+
+ tmpdir: Use a good default directory on native Windows.
+ * lib/tmpdir.c: Include <windows.h>, pathmax.h.
+ (P_tmpdir): Default to _P_tmpdir on native Windows.
+ (path_search): On native Windows, try the value returned by GetTempPath
+ before trying P_tmpdir.
+ * modules/tmpdir (Depends-on): Add pathmax.
+ Suggested by John Darrington <john@darrington.wattle.id.au>.
+
+2011-08-20 Reuben Thomas <rrt@sc3d.org>
+
+ doc: fix typo in README-release
+ * top/README-release: Capitalize first word of a sentence.
+
+2011-08-19 Jim Meyering <meyering@redhat.com>
+
+ fts: do not exhaust memory when processing million-entry directories
+ Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
+ directory would require about 256*N bytes of memory. Thus, it was
+ easy to construct a directory too large to be processed by any of
+ those tools. With this change, fts' maximum memory utilization is
+ now limited to around 30MB.
+ * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
+ (fts_read): When we've processed the final entry (i.e., when
+ ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
+ using the parent entry to read any remaining entries. Dispatch
+ depending on what fts_build returns:
+ - NULL+stop, aka failure: stop
+ - NULL otherwise: move up in the dir hierarchy
+ - non-NULL: handle this new entry
+ (fts_build): Declare and use new local, continue_readdir.
+ Prepare to be called from fts_read, when the entries
+ from a partially-read directory have just been exhausted.
+ In that case, we'll skip the opendir and instead use the parent's
+ fts_dirp and derive dir_fd from that.
+ Finally, in the readdir loop, if we read max_entries entries,
+ exit the loop ensuring *not* to call closedir. This is required
+ so that fts_dirp can be reused on a subsequent call.
+ Prompted by Ben England's report of memory exhaustion in find
+ and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
+
+ maint: fts: move decl of `dp' down into while loop; split a long line
+ * lib/fts.c (fts_build): No semantic change.
+
+ fts: add/use new struct member, fts_dirp
+ We are about to use this to manage any directory with
+ too many entries to read all of them into memory at once.
+ To do that, we'll need to save the DIR* pointer in each
+ affected FTSENT struct.
+ * lib/fts_.h: Include <dirent.h>.
+ (struct FTSENT) [fts_dirp]: New member.
+ * lib/fts.c (closedir_and_clear): Define.
+ Use it in place of closedir so that we are sure to
+ clear the new fts_dirp member when done with it.
+ (fts_alloc): Initialize the new member.
+ (fts_lfree): Free, if needed.
+
+ maint: fts: give __opendir2 a new parameter and rename
+ * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
+ than surreptitiously using sole caller's "dir_fd".
+ (fts_opendir): Rename from __opendir2.
+
+ maint: fts.c: remove __opendir2's now-unused parameter, oflag
+ * lib/fts.c (__opendir2): Remove unused parameter, oflag.
+
+ maint: fts.c: correct off-by-one indentation
+ * lib/fts.c (fts_build): Correct indentation, change style
+ of a couple of block comments, and bracing style.
+
+ maint: fts.c: move __opendir2 #define "up" out of function body
+ * lib/fts.c (__opendir2): Move "up". No semantic change.
+
+ maint: fts.c: remove #if-0'd FTS_WHITEOUT code
+ * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code. It's been #if-0'd
+ out for a long time and besides was useful only on BSD systems.
+
+2011-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: port to Stratus OpenVOS
+ * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
+ define to empty, rather than attempting nonportable optimizations.
+ Problem reported by Paul Green in:
+ http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
+ and fix suggested by Eric Blake in:
+ http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
+
+2011-08-17 Eric Blake <eblake@redhat.com>
+
+ getcwd: fix test failures on mingw
+ * lib/getcwd.c (__getcwd): Early exit for ERANGE.
+ * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
+ test if long directory cannot be created, and allow mingw errno.
+
+ getcwd-lgpl: fix m4 to match relaxed test for BSD
+ * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
+ (gl_FUNC_GETCWD_SIGNATURE): New macro.
+ (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
+ * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
+ signature problem.
+
+ getcwd: fix compilation on mingw64
+ * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
+ getcwd.
+ Reported by Marc-André Lureau.
+
+ pipe2: silence compiler warning
+ * lib/pipe2.c (pipe2): Hide label if it is not used.
+
+2011-08-15 Ben Pfaff <blp@cs.stanford.edu>
+
+ relocatable-prog: fix link error
+ * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
+ invoke AC_LIBOBJ([relocatable]). This invocation was previously
+ in the gl_RELOCATABLE_LIBRARY macro. That invocation was moved
+ into modules/relocatable-lib without noticing that
+ modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
+ also needs to build relocatable.c.
+
+2011-08-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ getaddrinfo: fix sh typo in gai_strerrorA decl checking
+ * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
+ shell code: it contained a 'break' that was not in a loop.
+ Apparently the macro assumed that AC_CHECK_DECLS is implemenented
+ via a shell-language loop; this may have been true in old Autoconf
+ versions, but it's not true in Autoconf 2.68. I found this bug
+ when testing coreutils git on Solaris 8, whose shell complains
+ about the syntax error.
+
+2011-08-12 Simon Josefsson <simon@josefsson.org>
+
+ * lib/base64.c: Fix comment to reference RFC 4648.
+ Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
+ <gvtulder@gmail.com>.
+
+2011-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
+
+ po/Makefile.in.in: fix make -q problem
+ * build-aux/po/Makefile.in.in (check-macro-version): Remove this
+ rule, since there's no file named 'check-macro-version' and its
+ use as a file breaks make -q.
+ (all): Don't depend on check-macro-version.
+ (CHECK_MACRO_VERSION): New macro.
+ (stamp-po): Use it.
+
+ configmake: fix make -q problem
+ * modules/configmake (configmake.h): Update configmake.h's time stamp
+ even if the file does not change. Otherwise, 'make -q' fails.
+ Problem reported by Simon Josefsson in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
+
+2011-08-11 Jim Meyering <meyering@redhat.com>
+
+ git-version-gen: correct the advice in a comment
+ * build-aux/git-version-gen: Correct comment.
+ Don't recommend to list .tarball-version in .gitignore.
+
+2011-08-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ base64: fix off-by-one buffer size bug
+ Problem and (trivial) fix reported by Gijs van Tulder in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
+ * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
+ * tests/test-base64.c (main): Catch the bug.
+
+2011-08-10 Eric Blake <eblake@redhat.com>
+
+ closein: correct comments
+ * lib/closein.c (close_stdin): Improve comments.
+
+2011-08-09 Bruno Haible <bruno@clisp.org>
+
+ More tests for 'fseeko'.
+ * tests/test-fseeko3.c: New file, from Eric Blake.
+ * tests/test-fseeko3.sh: New file.
+ * modules/fseeko-tests (Files): Add them.
+ (TESTS): Add test-fseeko3.sh.
+ (check_PROGRAMS): Add test-fseeko3.
+