getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
[gnulib.git] / ChangeLog
index 5e1f970..f5676e1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,788 @@
+2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
+       Reported for OS X 10.8.2 by Assaf Gordon in
+       <http://bugs.gnu.org/13516>.
+       * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
+       !HAVE_OPENAT && !HAVE_FDOPENDIR.
+       * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
+       so that they can be kept in sync more easily.  Avoid PATH_MAX
+       test on the Hurd.  Sync from test-getcwd.c for errno tests after
+       mkdir or chdir failure.
+       * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
+       lib/getcwd.c.
+       (test_abort_bug): Do not test for the deep directory bug unless we
+       have openat support.  Avoid PATH_MAX test on the Hurd.
+
+       regex-tests, regex: fix bug: memset undeclared
+       * tests/test-regex.c: Don't include regex.h twice.  Include
+       string.h, to declare memset.  Christensen's report also mentioned
+       this issue.
+       * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
+       test-regex.c, to avoid future problems like this.  Remove
+       AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
+       twice.
+
+       regex-tests: fix link errors on older Solaris
+       These need to link with @LIBINTL@ to get libintl_gettext.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
+       * modules/regex-tests (test_regex_LDADD): New macro.
+
+2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex-tests: new module
+       * modules/regex-tests, tests/test-regex.c: New files.
+
+       regex: fix off-by-one error in configure test
+       * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
+
+2013-01-31  Eric Blake  <eblake@redhat.com>
+
+       regex: avoid infinite configure test
+       * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
+
+2013-01-31  Reuben Thomas  <rrt@sc3d.org>
+
+       openpty: fix bug where HAVE_OPENPTY wasn't defined
+       See the thread starting at:
+       http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
+       * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
+       openpty function exists, not merely when we intend to replace it.
+
+2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sys_time: port to Solaris 2.6
+       There is a circularity problem on Solaris 2.6, where <time.h> includes
+       <sys/time.h> for struct timespec.  The include nesting is gnulib
+       <time.h>, system <time.h>, gnulib <sys/time.h>, system
+       <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
+       <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
+       <sys/siginfo.h>; the last, innermost file needs struct
+       timestruc_t, which is defined in <sys/time.h>, which has not been
+       fully parsed.  Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
+       * lib/sys_select.in.h: Treat Solaris 2.6's problem with
+       <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
+       * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
+       uses split double-inclusion guards.
+
+2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: test for buffer overrun
+       * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
+       for the just-fixed regex bug.
+
+2013-01-29  Andreas Schwab  <schwab@suse.de>
+
+       regex: fix buffer overrun in regexp matcher
+       * lib/regexec.c (extend_buffers): Add parameter min_len.
+       (check_matching): Pass minimum needed length.
+       (clean_state_log_if_needed): Likewise.
+       (get_subexp): Likewise.
+
+2013-01-28  Pádraig Brady  <P@draigBrady.com>
+
+       mountlist: don't consider "devtmpfs" as dummy
+       * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
+       as there is storage associcated with it.
+
+2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       futimens-tests, utimens-tests: Depend on gettext.
+       This works around a problem introduced in my 2013-01-12 patch,
+       which added @LIBINTL@ to these modules.
+       * modules/futimens-tests (Depends-on):
+       * modules/utimens-tests (Depends-on): Add gettext.
+
+2013-01-26  Eric Blake  <eblake@redhat.com>
+
+       test-getpeername: fix typo
+       * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
+
+2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
+
+       bootstrap: remove the need for a sorted .gitignore file
+       * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
+       rename to insert_if_absent(), so that we don't need or generate
+       a sorted .gitignore file.  We do require a .gitignore with no
+       existing duplicate entries and enforce that.
+       (sort_patterns): Remove this function as we now use the simpler
+       technigue of inserting blacklist entries at the top of the file,
+       assuming gnulib won't be inserting !whitelist entries.
+
+2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       readlinkat: don't depend on gl_FUNC_OPENAT
+       * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
+       Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
+       renameat.m4, symlinkat.m4; but one thing at a time.
+
+       statat: new module, split out from fstatat
+       GNU Emacs needs the POSIX-specified fstatat, but not the
+       gnulib-specified statat and lstat.  Split the latter two into a
+       new module 'statat'.
+       * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
+       * lib/openat.h, lib/statat.c (STATAT_INLINE):
+       Rename from FSTATAT_INLINE. All uses changed.
+       * modules/fstatat (Files): Remove lib/statat.c.
+       (gl_MODULE_INDICATOR([fstatat])): Remove.
+       (lib_SOURCES): Remove.
+       (Maintainer): Add self.
+       * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
+       * tests/test-fstatat.c (BASE): Don't define if already defined.
+       (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
+
+2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tests: don't assume fd 99 is closed
+       * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
+       * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
+       * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
+       * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
+       * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
+       * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
+       * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
+       * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
+       * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
+       * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
+       * tests/test-fwrite.c, tests/test-getpeername.c:
+       * tests/test-getsockname.c, tests/test-getsockopt.c:
+       * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
+       * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
+       * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
+       * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
+       * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
+       * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
+       * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
+       * tests/test-symlinkat.c, tests/test-ttyname_r.c:
+       * tests/test-unlinkat.c, tests/test-unlockpt.c:
+       * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
+       Close file descriptor 99, instead of assuming it's already closed.
+
+2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stpncpy: port to OS X 10.8
+       * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
+       Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
+
+2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       unistd: port to recent mingw
+       * lib/unistd.in.h: Remove special invocation convention for mingw,
+       which breaks for the latest mingw version.  See John W. Eaton in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
+
+       largefile: port better to Mac OS X 10.5
+       This patch is backported from Autoconf git.
+       * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
+       AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
+       with ino_t size being different for configuration time versus
+       build/run time.  Problem reported by PHO in
+       <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
+
+2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: clarify -Werror
+       * doc/warnings.texi (warnings): -Werror is not always a bad idea;
+       clarify that it's intended for developers, not for ordinary builds,
+       and mention --enable-gcc-warnings as one possible use.
+
+2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
+
+       stdint: fix build with Android's Bionic fox x86
+       * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
+       was already included as _SSIZE_T_DEFINED_ might also be defined
+       in include/machine/_types.h, which is included by stdio.h
+
+2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       net_if-tests: port to Solaris 7 + GCC 3.4.6
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
+       * tests/test-net_if.c (ni): Move to next the code that uses it,
+       so that it's declared only if needed.
+
+2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       net_if-tests: port to older Solaris
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+       * modules/net_if-tests (NET_IF_LIB): New substitution.
+       (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
+       (HAVE_IF_NAMEINDEX): New C macro.
+       * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
+
+       system-quote-tests: port to older Solaris
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+       * tests/test-system-quote-child.c (fopen, fread): Undef.
+
+       c-xvasprintf etc.: fix link errors on older Solaris
+       These need to link with @LIBINTL@ to get libintl_gettext.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+       * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
+       * modules/readtokens-tests (test_readtokens_LDADD): New macros.
+       * modules/futimens-tests (test_futimens_LDADD):
+       * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
+
+2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       locale: port to Solaris 2.6 and 7 + GNU gettext
+       * lib/locale.in.h: Just include_next <locale.h> when
+       being invoked recursively.  This prevents problems on Solaris 2.6 and 7
+       when combining the localename module with GNU gettext 0.18.2.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
+
+2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdlib: port to Solaris 2.6
+       Also, the code worked on Solaris 7 through 9 only by accident.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
+       * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
+       simply include the system stdlib.h.
+       * lib/getopt.in.h (__need_system_stdlib_h):
+       * lib/pthread.in.h (__need_system_stdlib_h):
+       * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
+       Define when including <stdlib.h>, to avoid problems at least for
+       the pthread case on Solaris 2.6 and 7.  These .h files can get by
+       with the system stdlib.h.
+
+2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: update main copyright year
+       * doc/gnulib.texi: Update copyright date.
+
+       doc: improve ISO 8601 discussion
+       * doc/parse-datetime.texi (Combined date and time of day items):
+       Specify more carefully what formats are supported and what is
+       done with excess precision.
+
+2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: avoid small caps
+       * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
+       they're more trouble than they're worth.  Suggested by Karl Berry
+       in <http://bugs.gnu.org/13360>.
+
+       regex: conform to strict C
+       * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
+       From Aharon Robbins.
+
+       gnulib-tool: fix incompatibility with autopoint 0.18.2
+       * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
+
+2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fprintftime: bring back and reword fwrite comment
+       * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
+
+       stdio: remove now-unnecessary stdio.c
+       Since stdio.in.h no longer uses inline functions, we no longer
+       need to compile the extern versions.
+       * lib/stdio.c: Remove.
+       * modules/stdio (Files): Remove lib/stdio.c.
+       (lib_SOURCES): Remove.
+
+       unicodeio: depend on stdio, not ignore-value
+       * lib/unicodeio.c: Do not include ignore-value.h.
+       (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
+       * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
+
+       fprintftime: depend on stdio, not ignore-value
+       * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
+       (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
+       since the stdio module arranges to silence that warning now.
+       * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
+
+2012-10-04  Simon Josefsson  <simon@josefsson.org>
+
+       stdint-tests: Fix expanded-before-required-warning.
+       * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
+
+2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fwrite: silence __wur only for older glibc versions
+       * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
+       This will help us remove this workaround some time in the far future.
+
+2013-01-03  Eric Blake  <eblake@redhat.com>
+
+       fwrite: silence __wur without using inline
+       * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
+       just gcc, and in a way that avoids inline issues.
+       * modules/stdio (Depends-on): Drop extern-inline.
+
+2013-01-03  Jim Meyering  <jim@meyering.net>
+
+       update-copyright: avoid copyright notice date corruption
+       Given a sequence of copyright year numbers in which the final
+       one was a two-digit number that happened to be a substring of
+       a preceding four-digit year number, we would mistakenly update
+       the substring (from two- to four-digit) rather than the two-digit
+       number at the end, which, combined with the addition of the current
+       4-digit year number would yield two 5-digit year numbers, e.g.,
+       here, it would convert the first "99" to "1999, 2013" rather than
+       the final one:
+         1991, 99
+         11999, 20131, 1999
+       * build-aux/update-copyright: Tighten a regexp.
+       * tests/test-update-copyright.sh: Add a test case to trigger the bug.
+       Reported by Joseph Myers in
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
+
+2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: omit needless signed-pointer casts
+       * lib/regcomp.c (build_charclass, build_charclass_op):
+       Use char *, not unsigned char *, for class name and extra.
+       The char values are always nonnegative so there's no need to
+       insist on unsigned char * here, and using char * removes the need
+       for casts.  Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+       regex: support Gawk, which never uses alloca
+       * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
+       Do not include in this case.  Gawk doesn't supply a substitute
+       alloca.h and doesn't need one.
+
+       regex: port __libc_lock_define usage to C89
+       * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
+       (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
+       does not conform to C89, as it has an empty macro argument.
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+2013-01-01  Eric Blake  <eblake@redhat.com>
+
+       maint: update all copyright year number ranges
+       Run "make update-copyright".
+
+       version-etc: bump copyright year reported in --version
+       * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
+
+2012-12-31  Eric Blake  <eblake@redhat.com>
+
+       sigprocmask-tests: skip test if pid is unexpectedly large
+       * tests/test-sigprocmask.c (main): Add range check.
+
+       git-version-gen: avoid test -z portability glitch
+       * build-aux/git-version-gen: Prefer portable test spelling, since
+       git-version-gen is run on more than just developer machines.
+
+2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
+
+       git-version-gen: add --fallback option to use if git is not present
+       * build-aux/git-version-gen: Add support for the new option --fallback,
+       which comes into play when there is no $tarball_version_file and
+       git is not working.
+       (scriptversion): Update.
+
+       maint.mk: handle missing git with more grace
+       * top/maint.mk (no-submodule-changes, public-submodule-commit):
+       Quietly proceed if git is not present.
+
+2012-12-31  Eric Blake  <eblake@redhat.com>
+
+       dup2: work around cygwin bug
+       * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
+       * lib/dup2.c (rpl_dup2): Work around it.
+       * doc/posix-functions/dup2.texi (dup2): Document it.
+
+2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: remove unnecessary dependency on localcharset.h
+       * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
+       hasn't been needed for years.
+       * modules/regex (Depends-on): Remove localcharset.
+
+       regex: revert single-byte change
+       * lib/regexec.c (check_node_accept_bytes): Revert previous change
+       to this function.  This was alredy fixed in a different way, at
+       bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
+
+       regex: simplify based on Gawk version
+       * lib/regex_internal.c (re_dfa_add_node): Simplify.
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: check that pattern char is single-byte
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regexec.c (check_node_accept_bytes):
+       Return 0 if the pattern string has a multibyte character here.
+
+       regex: implement rational ranges
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regcomp.c (build_range_exp) [!_LIBC]:
+       * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
+       Implement rational ranges.
+
+       regex: avoid redefining __wctype
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
+       #undef before defining.
+
+       regex: port to hosts where malloc (0) == NULL
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regex_internal.c (re_node_set_alloc):
+       Don't assume that malloc (0) yields nonnull.
+       * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
+       * modules/regex (Files): Add m4/eealloc.m4.
+
+       regex: port to C89
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regcomp.c (init_word_char): Declaration before statement.
+
+       regex: merge glibc changes
+       Also, copy the license wording from glibc.  This simplifies
+       merging changes.  gnulib-tool will change the wording to GPL as
+       appropriate, when importing it to other packages.  The only
+       glibc change made since the last merge, which needs merging, is:
+       2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
+       * lib/regex_internal.h (gettext): Remove use of INTUSE.
+
+       * users.txt: Add Emacs.
+
+       doc: omit mention of version when not needed
+       * doc/gnulib-intro.texi (Portability and Application Code):
+       * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
+       Don't mention particular dates or versions when not necessary, so
+       that the documentation won't go out of date so quickly.
+
+       * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
+
+2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
+
+       bootstrap: pass --force to autoreconf.
+       * build-aux/bootstrap (AUTORECONFFLAGS): New.
+       Add "--force" so that Automake's ylwrap and other such tools
+       be updated at each bootstrap invocation.
+       Use it.
+
+2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
+       The earlier patch forgot to update one of the #if conditions, causing
+       a problem on Debian testing i386 reported by Mats Erik Andersson
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
+       * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
+       (__argp_fmtstream_puts, argp_fmtstream_puts)
+       (__argp_fmtstream_write, argp_fmtstream_write)
+       [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
+
+       * doc/gnulib-readme.texi: Minor fixups.
+       (Portability guidelines): Modernize URLs.  Remove some repetition.
+       (Indent with spaces not TABs): Reword to avoid too-long lines.
+       Remove some '@ifset standalone' stuff that isn't used.
+
+       * doc/gnulib-readme.texi (Portability guidelines):
+       ctype.h, not ctime.h.
+
+       Correct name of POSIX.1-2001.
+       * doc/posix-functions/fgetc.texi (fgetc):
+       * doc/posix-functions/fgets.texi (fgets):
+       * doc/posix-functions/fread.texi (fread):
+       * doc/posix-functions/fscanf.texi (fscanf):
+       * doc/posix-functions/getc.texi (getc):
+       * doc/posix-functions/getchar.texi (getchar):
+       * doc/posix-functions/scanf.texi (scanf):
+       POSIX.1-2001, not POSIX-2001.
+
+       doc: move README into manual
+       * README: Move contents to new file doc/gnulib-readme.texi.
+       Replace with a one-line summary.
+       * doc/gnulib.texi (Brief Overview): New section,
+       with old intro preface.  Include gnulib-readme.texi for contents.
+       (Philosophy): Rename from "Introduction", since this
+       section no longer introduces the rest.  Write a new preface.
+       * doc/gnulib-readme.texi: New file, with the old contents of
+       README texinfo-ized.  This way, the README info appears
+       in the online and printed manual.
+
+2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
+
+       c-xvasprintf: Fix "implicit declaration of function" GCC warning.
+       * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
+       c_vasprintf() prototype.
+
+2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
+
+       c-vasprintf: Fix "empty declaration" warning reported by GCC.
+       * lib/c-vasprintf.h: Remove stray semicolon.
+
+2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       gettext: avoid obsolete macro AM_PROG_MKDIR_P
+       It is obsolete and is planned to be removed from Automake 1.14; see
+       <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
+       * build-aux/po/Makefile.in.in (install-data, install-data-yes)
+       (installdirs-data, installdirs-data-yes):
+       Use $(MKDIR_P), not $(mkdir_p).
+       * m4/intl.m4 (AM_INTL_SUBDIR):
+       * m4/po.m4 (AM_PO_SUBDIRS):
+       Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
+
+2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
+       On this platform, we are not optimizing but we are using
+       the substitute for extern inlines, so compile as if
+       C99-style extern inline, or a substitute, is available.
+       * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
+       (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
+       (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
+       (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
+       (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
+       Declare as ARGP_FS_EI, not as extern.
+       * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
+       (__option_is_short, _option_is_end, __option_is_end)
+       [!_LIBC && __USE_EXTERN_INLINES]:
+       Declare as ARGP_EI, not as extern.
+
+2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
+       Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
+       m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
+       ...), as the latter is fatal with older Autoconfs.
+       Problem reported and fix suggested by Eric Blake in thread starting at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
+
+2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       AC_PROG_MKDIR_P: don't workaround if not buggy
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
+       Define only for Autoconf versions before 2.62.
+       (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
+       undocumented m4_PACKAGE_VERSION, for consistency with the
+       abovementioned change to AC_PROG_MKDIR_P.  This should suffice
+       since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
+       was introduced in 2.62.
+
+2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
+
+       New 'c-*printf' modules for formatted output in C locale.
+
+       New module 'c-vasnprintf'.
+       * modules/c-vasnprintf: New file.
+       * lib/c-vasnprintf.c: New file.
+       * lib/c-vasnprintf.h: New file.
+
+       New module 'c-snprintf'.
+        * modules/c-snprintf: New file.
+        * modules/c-snprintf-tests: New file.
+        * lib/c-snprintf.c: New file.
+        * lib/c-snprintf.h: New file.
+        * tests/test-c-snprintf.c: New file.
+        * tests/test-c-snprintf.sh: New file.
+
+       New module 'c-vsnprintf'.
+        * modules/c-vsnprintf: New file.
+        * modules/c-vsnprintf-tests: New file.
+        * lib/c-vsnprintf.c: New file.
+        * lib/c-vsnprintf.h: New file.
+        * tests/test-c-vsnprintf.c: New file.
+        * tests/test-c-vsnprintf.sh: New file.
+
+       New module 'c-vasprintf'.
+        * modules/c-vasprintf: New file.
+        * modules/c-vasprintf-tests: New file.
+        * lib/c-asprintf.c: New file.
+        * lib/c-vasprintf.c: New file.
+        * lib/c-vasprintf.h: New file.
+        * tests/test-c-vasprintf.c  +: New file.
+        * tests/test-c-vasprintf.sh: New file.
+
+       New module 'c-xvasprintf'.
+        * modules/c-xvasprintf: New file.
+        * modules/c-xvasprintf-tests: New file.
+        * lib/c-xasprintf.c: New file.
+        * lib/c-xvasprintf.c: New file.
+        * lib/c-xvasprintf.h: New file.
+        * tests/test-c-xvasprintf.c: New file.
+        * tests/test-c-xvasprintf.sh: New file.
+
+2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       argp: better 'inline'
+       Use extern-inline module to declare extern inline functions.
+       This avoids some bogus warning diagnostics.  Problem discovered
+       when modifying GNU tar to use the manywarnings module.
+       * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
+       * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
+       Define based on extern-inline.
+       * modules/argp (Depends-on): Add extern-inline.
+
+2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       filemode, sys_stat: Handle MPX files a la AIX.
+       * lib/filemode.c (ftypelet): Report 'm' for MPX files.
+       * lib/sys_stat.in.h (S_ISMPX): New macro.
+       * tests/test-sys_stat.c: Add tests for MPX files.
+
+2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
+
+       x-to-1: honor $PERL
+       * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
+       a chance to use his preferred version of Perl.  This is typically
+       required by Darwin users whose default /usr/bin/perl does not have all
+       the libraries required by help2man, and who need to use their MacPorts
+       installation of Perl instead.
+
+2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
+
+       gnu-web-doc-update: add all the new files, even in new directories
+       See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
+       * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
+       Use it.
+       (main): Don't use cvsutils to get the list of unknown files,
+       just add all the existing files and directories.
+
+2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
+
+       gnu-web-doc-update: improve --help
+       * build-aux/gnu-web-doc-update: Move comments into --help.
+
+2012-12-07  Eric Wong  <normalperson@yhbt.net>
+
+       mountlist: recognize more "dummy" file systems
+       * lib/mountlist.c (ME_DUMMY_0):
+       Add these dummy FS names to the list:
+       - "debugfs" virtual filesystem for kernel debugging
+       - "devpts" PTY slave filesystem
+       - "devtmpfs" device filesystem on top of tmpfs/ramfs
+       - "fusectl" control filesystem for FUSE
+       - "mqueue" enumerates POSIX message queues
+       - "rpc_pipefs" kernel <-> userspace bridge for NFS
+       - "sysfs" is for exporting kernel objects
+       - "devfs" device filesystem for Linux 2.4 and FreeBSD
+
+2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       extern-inline: avoid incompatibility with Darwin Libc
+       * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
+       extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
+       Problem reported by Akim Demaille in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+
+2012-12-11  Simon Josefsson  <simon@josefsson.org>
+
+       gnupload: Work with GnuPG using gpg-agent (for smartcards).
+       * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
+       let it handle password prompting.
+
+2012-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+       canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
+       * lib/canonicalize.c (canonicalize_filename_mode):
+       * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
+       fetching the current directory.  Don't overrun the beginning of
+       rpath if there's no slashes after the MS-Windows drive letter.
+
+2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       maint.mk: avoid extra forks
+       * top/maint.mk (_cfg_mk): The GNU make manual documents that
+       "$(wildcard FILE)" expands to empty if FILE doesn't exist.
+       So use that instead of "$(shell test -f FILE && echo FILE)".
+
+2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       vasnprintf: fix ASCII_ONLY typo
+       * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+       * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+       * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+       New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
+
+2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       list, oset, xlist, xoset: fix extern inline issue with C99
+       This was introduced by my recent changes for 'inline'.
+       Problem reported for gettext by Daiki Ueno in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
+       * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
+       (gl_list_nx_create, gl_list_size, gl_list_node_value)
+       (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
+       (gl_list_previous_node, gl_list_get_at)
+       (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
+       (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
+       (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
+       (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
+       (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
+       (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
+       (gl_list_iterator_free, gl_sortedlist_search)
+       (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
+       (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
+       (gl_sortedlist_remove):
+       * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
+       (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
+       (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
+       * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
+       (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
+       (gl_list_add_last, gl_list_add_before, gl_list_add_after)
+       (gl_list_add_at, gl_sortedlist_add):
+       * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
+       Wrap these extern decls inside "#if 0", because they are implemented
+       as inline functions, and extern inline is not what's wanted here.
+       It would simplify these .h files to remove the extern decls entirely,
+       although a downside would be less-clear separation between
+       specification and implementation.
+
 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
 
 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
 
+       sys_stat: no 'static inline'
+       * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
+
+       extern-inline: no 'static inline'
+       * m4/extern-inline.m4 (gl_EXTERN_INLINE):
+       Do not require AC_C_INLINE.
+       (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
+       'static inline', for older compilers.
+
+       snippet/warn-on-use: no 'static inline'
+       * build-aux/snippet/warn-on-use.h:
+       Remove unnecessary 'inline' in comment.
+
+       rbtree-list, rbtreehash-list: no 'static inline'
+       * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
+       * lib/gl_anytree_list2.h (node_at):
+       * lib/gl_anytreehash_list1.h (hash_resize_after_add)
+       (gl_oset_first, add_nodes_to_buckets):
+       Now static, not static inline.
+
+       regex: no 'static inline'
+       * lib/regex_internal.c (calc_state_hash):
+       * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
+       (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
+       (bitset_mask, re_string_char_size_at, re_string_wchar_at):
+       Now static, not static inline.
+       (inline) [__GNUC__ < 3 && _LIBC]:
+       Remove macro; no longer needed.
+
+       xvasprintf: no 'static inline'
+       * lib/xvasprintf.c (xstrcat):
+       Now static, not static inline.
+       * m4/xvasprintf.m4 (gl_XVASPRINTF):
+       Do not require AC_C_INLINE.
+
        parse-datetime, parse-duration: no 'static inline'
        * lib/parse-datetime.y (to_uchar):
        * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
        parse-datetime, parse-duration: no 'static inline'
        * lib/parse-datetime.y (to_uchar):
        * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
 
        poll: do not return 0 on timeout=-1
 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
 
        poll: do not return 0 on timeout=-1
-       * lib/poll.c: Loop with yield if no events occured
+       * lib/poll.c: Loop with yield if no events occurred.
 
 2011-07-06  Eric Blake  <eblake@redhat.com>
 
 
 2011-07-06  Eric Blake  <eblake@redhat.com>
 
 
        assume <ctype.h>, ..., <time.h> exist
        For years gnulib has been assuming the existence of the headers
 
        assume <ctype.h>, ..., <time.h> exist
        For years gnulib has been assuming the existence of the headers
-       <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
+       <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
        <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
        them, since they don't appear to be needed.
        * README (Portability guidelines): Document this.
        <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
        them, since they don't appear to be needed.
        * README (Portability guidelines): Document this.
 
        * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
        declaration for wcwidth.
 
        * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
        declaration for wcwidth.
-       * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
+       * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
 
 2006-06-28  Bruno Haible  <bruno@clisp.org>
 
 
 2006-06-28  Bruno Haible  <bruno@clisp.org>
 
        coding: utf-8
        End:
 
        coding: utf-8
        End:
 
-       Copyright (C) 1997-2012 Free Software Foundation, Inc.
+       Copyright (C) 1997-2013 Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice