fchmodat.c, fchownat.c: fix compile-impeding typos
[gnulib.git] / ChangeLog
index a5aca2f..ac74fdb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,772 @@
+2012-10-15  Jim Meyering  <jim@meyering.net>
+
+       fchmodat.c, fchownat.c: compile-impeding typos
+       * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
+       * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
+       Introduced in commit v0.0-7636-gd202279.
+
+2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fcntl-h: support GNU flags like O_IGNORE_CTTY
+       * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
+       O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
+       systems.  Discovered when using fcntl-h with GNU Emacs, which uses
+       O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
+       * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
+       Define to 0 if not already defined.
+       * tests/test-fcntl-h.c: Test these new flags.
+
+2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       faccessat, etc.: support AT_FDCWD-only use
+       * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
+       this function only if its first argument is AT_FDCWD.
+       Emacs wants faccessat for AT_EACCESS but not for any first-arg
+       values other than AT_FDCWD, so it doesn't want all the openat
+       machinery with fchdir etc.
+       * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
+       * modules/fstatat, modules/mkdirat, modules/openat (Files):
+       * modules/unlinkat (Files):
+       Remove lib/openat-priv.h, as at-internal supplies this file.
+       Removing this file here allows us to support programs like Emacs
+       that avoid at-internal.
+
+       faccessat: speed up 'configure' on mainstream hosts
+       * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
+       Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
+       since it's only on unusual platforms that we need to check for
+       'access', and it's better not to slow 'configure' down on all
+       platforms.
+
+       faccessat: port to Solaris 10
+       * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
+       Needed on Solaris 10, which doesn't have AT_EACCESS,
+       so we need the Gnulib fcntl.h, which defines it.
+
+2012-10-14  Pádraig Brady  <P@draigBrady.com>
+       canonicalize: fix C89 compilation
+       * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
+       declarations so C89 is supported.  Also remove the comment
+       referencing memorty allocation as the suggested feature could
+       not be implemented as suggested.
+       Reported by Michael Goffioul.
+
+2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       group-member: omit unnecessary dependencies
+       This is for Emacs, which has its own allocator and where we
+       don't want to use xalloc.
+       * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
+       since we no longer use xmalloc.  Do not include stdbool.h, since
+       the changes below happen to remove the only use of bool.
+       (GROUPBUF_SIZE): New constant.
+       (struct group_info): Remove n_groups member.  Add groupbuf member.
+       This lets us get the groups without using malloc, usually.
+       (free_group_info, get_group_info): Adjust to this.
+       (get_group_info): Return the number of groups found, or -1 on error.
+       Use plain malloc not xmalloc, and treat its failure as if there
+       are no groups, as the user already loses in case of error.
+       (group_member): Simplify, based on changes to get_group_info.
+       * modules/group-member (Depends-on): Remove dependencies on
+       xalloc and stdbool.  Add dependency on xalloc-oversized.
+
+2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
+
+       gethrxtime: port to C++
+       * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
+
+2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       ptsname: fix macro-name typo
+       * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
+
+2012-10-03  Simon Josefsson  <simon@josefsson.org>
+
+       inttostr: Relax license.
+       * modules/inttostr (License): Change from LGPL to LGPLv2+.
+
+2012-10-03  Eric Blake  <eblake@redhat.com>
+
+       ptsname_r: support ptys returned by FreeBSD posix_openpt
+       * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
+       lives in /dev/pts/.
+
+2012-10-02  Eric Blake  <eblake@redhat.com>
+
+       pselect: reject invalid file descriptors
+       * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
+       * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
+       * modules/pselect (Depends-on): Add dup2.
+       * doc/posix-functions/pselect.texi (pselect): Document this.
+
+       select: reject invalid file descriptors
+       * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
+       * lib/select.c (rpl_select) [!win32]: Work around it.
+       * modules/select (Depends-on): Add dup2.
+       * doc/posix-functions/select.texi (select): Document this.
+
+       select: enhance test
+       * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
+       New functions.
+       (test_function): Enhance test.
+       (do_select_bad_fd): Avoid any stale errno values.
+
+       ptsname: reject invalid file descriptors
+       http://www.austingroupbugs.net/view.php?id=503
+       * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
+       * modules/stdlib (Makefile.am): Replace witness.
+       * lib/stdlib.in.h (ptsname): Allow for replacement.
+       * modules/ptsname (configure.ac): Trigger replacement.
+       * doc/posix-functions/ptsname.texi (ptsname): Document this.
+
+2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
+
+       hash-pjw-bare: new module
+       * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
+       * lib/hash-pjw-bare.h: Likewise.
+       * modules/hash-pjw-bare: New file.
+       * MODULES.html.sh (Misc): Add it.
+
+2012-10-02  Eric Blake  <eblake@redhat.com>
+
+       manywarnings: cater to more gcc infelicities
+       * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
+       -Wuninitialized without -O.
+
+2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
+
+       select, poll tests: Make setsockopt invocation effective.
+       * tests/test-poll.c (open_server_socket): Move setsockopt() call before
+       the bind() call.
+       * tests/test-select.h (open_server_socket): Likewise.
+
+2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sockets, sys_stat: restore AC_C_INLINE
+       This undoes the 2012-09-22 patch.
+       * m4/sockets.m4 (gl_SOCKETS):
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
+       Restore AC_C_INLINE, since MSVC requires __inline or _inline
+       and does not support plain 'inline'.  Reported by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
+
+2012-09-30  Bruno Haible  <bruno@clisp.org>
+
+       localeconv tests: Avoid test failure on OpenIndiana.
+       * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
+       skip the 'grouping' and 'mon_grouping' tests.
+       Reported by Jim Meyering.
+
+2012-09-30  Bruno Haible  <bruno@clisp.org>
+
+       havelib: Follow libtool developments.
+       * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
+       Suggested by Simon Josefsson.
+
+2012-09-29  Jim Meyering  <meyering@redhat.com>
+
+       fstatat.c: fix a compile-impeding typo
+       * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
+       Introduced in commit v0.0-7636-gd202279.
+       Mats Erik Andersson reported the resulting OpenBSD compilation failure.
+
+2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
+
+       extern-inline: provide a -Wundef safe config.h
+       * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
+       "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
+       to produce a -Wundef warning free config.h.
+
+2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       hash-pjw: relax license to LGPLv2+
+       * modules/hash-pjw (License): Relax, with consent of author.
+
+2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: fix strict vs. lazy variable issues with RELEASE
+       * top/maint.mk (_equal): New function.
+       (member_check): Strip the result to avoid spurious spaces.
+       (url_dir_list): Do not use ifeq, which is strict, as it will
+       require RELEASE_TYPE to be defined.
+       (announcement_Cc_, announcement_mail_headers_): Likewise: instead
+       of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
+       (announcement_Cc_alpha,announcement_mail_headers_alpha)
+       (announcement_Cc_beta,announcement_mail_headers_beta)
+       (announcement_Cc_stable,announcement_mail_headers_stable): these.
+       (release): Do not depend on $(release-type), as it forces its
+       evaluation.  Bounce to it.
+
+2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: formatting changes
+       * top/maint.mk: Indent bodies of if's.
+
+2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: factor the validation of RELEASE_TYPE
+       With help from Jim Meyering.
+       http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
+       * top/maint.mk (_empty, _sp): Move their definition earlier.
+       (member-check, release-type): New.
+       Use the latter instead of $(RELEASE_TYPE).
+       Remove now useless local checks.
+
+2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: provide "make upload" to ease uploading
+       See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
+       Do not depend simply on the current $(VERSION), as there may have been
+       new commits since the tarball generation.  Rather, rely on $(RELEASE),
+       as "make release-commit" already does.
+
+       For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
+       "make TYPE".
+
+       * top/maint.mk (upload_command, upload, release): New.
+       (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
+       (VERSION): first word of $(RELEASE) is always right.
+       (emit_upload_commands): Adjust.
+       * top/README-release: Update.
+
+2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: silent rules
+       With help from Stefano Lattarini.
+       * top/maint.mk (writable-files): Use $(AM_V_GEN).
+       (announcement): Use $(AM_V_at).
+
+2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       localename: port gl_locale_name_thread_unsafe to FreeBSD
+       * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
+       and use the simpler FreeBSD implementation on Mac OS X as well.
+       Original idea suggested by Ed Maste in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
+
+2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
+       * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
+       * lib/mbuiter.c, lib/xsize.c: New files.
+       * lib/binary-io.h (BINARY_IO_INLINE):
+       * lib/eealloc.h (EEALLOC_INLINE):
+       * lib/mbfile.h (MBFILE_INLINE):
+       * lib/mbiter.h (MBITER_INLINE):
+       * lib/mbuiter.h (MBUITER_INLINE):
+       * lib/xsize.h (XSIZE_INLINE):
+       New macros.
+       Replace all uses of 'static inline' with them.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/eealloc.m4 (gl_EEALLOC):
+       * m4/mbfile.m4 (gl_MBFILE):
+       * m4/mbiter.m4 (gl_MBITER):
+       * m4/xsize.m4 (gl_XSIZE):
+       Do not require AC_C_INLINE.
+       * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
+       * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
+       * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
+       * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
+       * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
+       * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
+       * modules/binary-io, modules/eealloc, modules/mbfile:
+       * modules/mbiter, modules/mbuiter:
+       (Depends-on): Add extern-inline.
+
+       pipe-filter-gi, pipe-filter-ii: better use of 'inline'
+       * lib/pipe-filter-aux.c: New file.
+       * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
+       Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
+       (filter_retcode): No real need for inline here.
+       * modules/pipe-filter-gi, modules/pipe-filter-ii:
+       (Files): Add lib/pipe-filter-aux.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): Do not require AC_C_INLINE.
+       (lib_SOURCES): Add pipe-filter-aux.c.
+
+       fdutimensat: omit unnecessary AC_C_INLINE
+       * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
+
+       fchmodat, fchownat, fstatat: use extern-inline
+       * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
+       * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
+       * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
+       New macros.
+       * lib/openat.h:
+       Replace all uses of 'static inline' with them.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * modules/fchmodat, modules/fchownat, modules/fstatat:
+       * modules/openat-h:
+       (Depends-on):
+       Add extern-inline.
+       (configure.ac): Remove AC_C_INLINE.
+
+       acl, mbchar, priv-set: use extern-inline
+       * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
+       * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
+       * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
+       New macros.
+       * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
+       Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/acl.m4 (gl_FUNC_ACL):
+       * m4/mbchar.m4 (gl_MBCHAR):
+       * m4/priv-set.m4 (gl_PRIV_SET):
+       Remove AC_C_INLINE, since 'inline' is no longer used directly.
+       * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
+       Add extern-inline.
+
+       sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
+       * m4/sockets.m4 (gl_SOCKETS):
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
+       Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
+       environments where it's already guaranteed to work, so we needn't
+       check for it at 'configure'-time.
+
+       tls-tests: omit unnecessary 'inline'
+       * tests/test-tls.c (perhaps_yield): No longer inline.
+       Simplicity and portability trump efficiency in test cases.
+
+       utimens-tests: avoid unnecessary 'inline'
+       * modules/fdutimensat-tests (configure.ac):
+       * modules/futimens-tests (configure.ac):
+       * modules/utimens-tests (configure.ac):
+       * modules/utimensat-tests (configure.ac):
+       Remove AC_C_INLINE.
+       * tests/test-utimens-common.h (ctime_compare):
+       No longer inline.  Simplicity and portability trump efficiency here.
+
+       misc: don't limit commentary to inline functions
+       * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
+       * lib/xalloc-oversized.h, lib/xsize.h:
+       Contrast macros to functions in general, not just to inline functions,
+       when the commentary does not apply only to inline functions.
+
+2012-09-20  Jim Meyering  <meyering@redhat.com>
+
+       non-recursive-gnulib-prefix-hack: new module
+       * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
+       the file that originated in Bison.
+       * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
+       largely copied from a snippet that resided in bison's configure.ac.
+       * modules/non-recursive-gnulib-prefix-hack: New file.
+       * MODULES.html.sh (Support for maintaining and releasing projects):
+       Add it.
+
+2012-09-18  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: generalize _gl_tight_scope for non-recursive make
+       * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
+       that *.h would describe additional .h files in the directory
+       specified by $(_gl_TS_dir).  I.e., add this...
+       (_gl_TS_other_headers): New variable.
+
+       maint.mk: exempt trailing blanks found in "binary" files
+       * top/maint.mk (sc_trailing_blank): Filter out any matches found in
+       "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
+       in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-17  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
+       * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
+       match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
+       in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-17  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: teach sc_prohibit_magic_number_exit to accept 77
+       * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
+       uses like "exit (77)".  "77" is automake's "skip this test" exit code.
+       It is not in the same category as "exit (0)" or "exit (1)", and
+       besides, I know of no symbolic name for that 77.  Reported by
+       Richard W.M. Jones in
+       http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-17  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
+       * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
+       all uses of #define, not just those that start in column 1.
+       Richard W.M. Jones reported a false positive in
+       http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
+       * lib/localcharset.c (locale_charset) [DARWIN7]:
+       Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
+       as these two values are incompatible.  Problem reported by Max Horn.
+       For more discussion, please see
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
+
+       doc: document sticky-EOF issue
+       * 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):
+       Mention that glibc and default Solaris do not conform to
+       C99 and POSIX-2001 or later, with respect to how getchar
+       etc. behave when feof reports nonzero.
+
+2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
+
+       poll: fix poll(0, NULL, msec)
+       * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
+       but nfd is 0.  In that case poll should behave like select.
+
+2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
+           Paolo Bonzini <bonzini@gnu.org>
+
+       poll: fix for systems that can't recv() on a non-socket
+       * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
+       is readable.  In this case POLLHUP will not be supported.
+       * doc/posix-functions/poll.texi: Document this.
+
+2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
+
+       poll/select: document portability problems not fixed by Gnulib.
+       * doc/posix-functions/poll.texi: poll does not work well on
+       pipes under Windows.  It has the same limitations as select on
+       BeOS.
+       * doc/posix-functions/select.texi: select does not work well
+       on pipes under Windows.
+
+2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
+       * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
+       that caused a GNU tar test failure.  Problem reported by Jez Wain; see
+       <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
+
+2012-09-06  Eric Blake  <eblake@redhat.com>
+
+       net_if: give more details about the bug being fixed
+       * doc/posix-headers/net_if.texi: Add clarification.
+
+2012-09-05  Eric Blake  <eblake@redhat.com>
+
+       net_if: new module
+       * modules/net_if: New module, borrowing ideas from netinet_in.
+       * m4/net_if_h.m4: New file.
+       * lib/net_if.in.h: Likewise.
+       * doc/posix-headers/net_if.texi (net/if.h): Document it.
+       * MODULES.html.sh (lacking POSIX:2008): Likewise.
+       * tests/test-net_if.c: Make function checks conditional.
+       Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
+
+2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
+
+       readutmp: fix non-portable UT_PID use
+       * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
+       Use `UT_PID (u) > 0' as absolute condition.
+
+2012-09-04  Jim Meyering  <meyering@redhat.com>
+
+       fts: reduce two or more trailing spaces to just one, usually
+       * lib/fts.c (fts_open): Upon initialization, if a name ends in two
+       or more slashes, trim all but the final one.  But if a name consists
+       solely of two slashes, don't modify it.  If it consists solely of
+       three or more slashes, strip all but one.
+
+       This is part of the solution to a minor problem with rm:
+       it would print a bogus ELOOP diagnostic when failing to remove
+       the slash-decorated name of a symlink-to-directory:
+
+           $ mkdir d && ln -s d s && env rm -r s/
+           rm: cannot remove 's': Too many levels of symbolic links
+
+       With the change below and a trivial don't-trim-trailing-slashes
+       adjustment to remove.c, it does this:
+
+           $ env rm -r s/
+           rm: cannot remove 's/': Not a directory
+
+       Improved by: Eric Blake
+
+       fts: when there is no risk of overlap, use memcpy, not memmove
+       * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
+
+2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdbool: be more compatible with mixed C/C++ compiles
+       * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
+       Define to bool, true, false, respectively, as GCC's builtin
+       stdbool.h does.  Problem reported by Michael Goffioul in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
+
+2012-08-28  Jim Meyering  <meyering@redhat.com>
+
+       revert last change: it was not needed
+       * tests/test-vc-list-files-git.sh: There's already a test for
+       a working git, just below.
+
+2012-08-28  Jim Meyering  <meyering@redhat.com>
+
+       tests: test-vc-list-files-git.sh: skip if git is not available
+       * tests/test-vc-list-files-git.sh: Skip this test when git is
+       not available.
+
+2012-08-26  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Remove no-op option --no-changelog.
+       * gnulib-tool (func_usage): Don't mention --no-changelog.
+       (do_changelog): Remove variable.
+       Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: remove fdl-1.2.texi
+       It is no longer used or maintained, and its use of @acronym
+       is problematic.  See the thread containing
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
+       * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
+       * doc/old-licenses/fdl-1.2.texi: Remove.
+
+       execinfo: port to FreeBSD
+       * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
+       if needed, as in FreeBSD.  Reported by Bastien Roucariès in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
+       * modules/execinfo (Link): Add $(LIB_EXECINFO).
+
+2012-08-23  Jim Meyering  <meyering@redhat.com>
+
+       xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
+       * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
+       to placate gcc's -Wold-style-declaration.
+
+2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: do not use @acronym
+       * doc/inet_ntoa.texi (inet_ntoa):
+       * doc/parse-datetime.texi (Seconds since the Epoch)
+       (Specifying time zone rules):
+       * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
+       Don't use @acronym.  Problem reported by John Darlington in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
+
+2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdnoreturn: port to newer GCCs
+       * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
+       bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
+       Problem reported by Jim Meyering in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
+       Also, rename the 'test' function to a void a clash with the
+       already-supplied 'main' function; this fixes a bug that incorrectly
+       rejected GCC 4.7.1's <stdnoreturn.h>.
+       * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
+       Document GCC problem.
+
+2012-08-22  Reuben Thomas  <rrt@sc3d.org>
+
+       pipe-filter: fix comment typo
+       * lib/pipe-filter.h: Mention correct function.
+
+2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       execinfo: new module
+       This is for Emacs.  Currently, it provides a no-effect stub
+       on all platforms where it does not already work.
+       It already works on glibc-based systems, and on Solaris 11.
+       * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
+       New files.
+       * doc/glibc-headers/execinfo.texi (execinfo.h):
+       * MODULES.html.sh (Misc): Document it.
+
+2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       extern-inline: support old GCC 'inline'
+       * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
+       if available.  This applies to GCC versions 2.7 through 4.2, or
+       when newer GCC is using -fgnu89-inline.  The goal is to address
+       some of the performance issues mentioned by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
+
+2012-08-20  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: avoid redundant file name in message
+       * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
+       (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
+       (sc_makefile_path_separator_check): Remove bogus $(ME).
+
+2012-08-20  Mike Frysinger <vapier@gentoo.org>
+
+       timer-time: fix link order when static linking on glibc
+       * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
+       _after_ -lrt so that it's significant.
+
+2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       timespec: omit unnecessary AC_C_INLINE
+       * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
+
+       stat-time: omit unnecessary AC_C_INLINE
+       * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
+       Do not require AC_C_INLINE.
+
+       ignore-value: omit unnecessary AC_C_INLINE
+       * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
+
+       sys_select: avoid 'static inline'
+       * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
+
+       mktime: avoid 'static inline'
+       * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
+       * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
+
+2012-08-19  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Improve coding style.
+       * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
+       func_emit_lib_Makefile_am.
+       Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-19  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix indentation.
+       * gnulib-tool (func_import): Fix indentation.
+
+2012-08-19  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Remove old file names from .cvsignore, .gitignore.
+       * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
+       on the list of removed files.
+
+2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       test-parse-datetime: avoid glibc leap-second glitch
+       * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
+       with the 2012 rules.  Problem reported by Bruce Dubbs in
+       <http://bugs.gnu.org/12206>.
+
+2012-08-14  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
+       * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
+       from argument.
+       Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-14  Eric Blake  <eblake@redhat.com>
+
+       ldexp: relax license
+       * modules/ldexp (License): Trivial relax, since the module only
+       provides a permissively licensed m4 file.
+
+2012-08-13  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix persistence of --witness-c-macro option.
+       * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
+       Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-11  Eric Blake  <eblake@redhat.com>
+
+       count-leading-zeros: use a lookup table on non-gcc compilers
+       * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
+       alternate implementation, suggested by Jim Meyering.
+
+2012-08-10  Eric Blake  <eblake@redhat.com>
+
+       count-leading-zeros: new module
+       * modules/count-leading-zeros: New module.
+       * m4/count-leading-zeros.m4: New file.
+       * lib/count-leading-zeros.h: Likewise.
+       * modules/count-leading-zeros-tests: New test.
+       * tests/test-count-leading-zeros.c: New file.
+       * MODULES.html.sh (Integer arithmetic functions): Document it.
+
+2012-08-07  Simon Josefsson  <simon@josefsson.org>
+           Jim Meyering  <meyering@redhat.com>
+
+       maintainer-makefile: Fix syntax error with dash.
+       * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
+       (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
+
+2012-08-05  Jim Meyering  <meyering@redhat.com>
+
+       extern-inline: also ignore -Wmissing-declarations
+       * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
+       required with gcc-4.8.0-to-be.
+
+       maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
+       * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
+       for /error ?([^,]*)/.  This avoids false-positives for strings like
+       "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
+
+2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       gnumakefile: better interaction with Automake-NG
+       * modules/gnumakefile [Makefile.am]: The makefiles generated by
+       Automake-NG always contain a definition of VPATH, even in non-VPATH
+       builds (its value being simply '.' in that case).  So, in the
+       'clean-GNUmakefile' rule, to determine whether running under a
+       VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
+       '$(VPATH)' expands to the empty string.
+
+2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
+
+       base64: Use extern C scope in header file, for C++.
+       * lib/base64.h: Add C++ namespace protection.
+
+2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stat-time, timespec, u64: support naive out-of-dir builds
+       * lib/stat-time.c, lib/timespec.c, lib/u64.c:
+       Use '#include "foo.h"', not '#include <foo.h>', when including
+       one's own interface.  This works better when configuring with
+       out-of-directory builds, since packages need not add an
+       otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
+
+2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens: use extern-inline
+       * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
+       * lib/utimens.h: Add copyright notice, since this is now large enough
+       to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/utimens (Depends-on): Add extern-inline.
+
+       u64: use extern-inline
+       * lib/u64.c: New file.
+       * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/u64 (Files): Add lib/u64.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): No need to require AC_C_INLINE, since extern-inline
+       does that now.
+       (lib_SOURCES): Add u64.c.
+
+       timespec: use extern-inline
+       * lib/timespec.c: New file.
+       * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/timespec (Files): Add lib/timespec.c.
+       (Depends-on): Add extern-inline.
+       (lib_SOURCES): Add timespec.c.
+
+       stat-time: use extern-inline
+       * lib/stat-time.c: New file.
+       * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/stat-time (Files): Add lib/stat-time.c.
+       (Depends-on): Add extern-inline.
+       (lib_SOURCES): Add stat-time.c.
+
+       extern-inline: new module
+       * modules/extern-inline, m4/extern-inline.m4: New files.
+       This is for better support of 'extern inline' a la ISO C99,
+       with a portable alternative on compilers that do not support
+       C99-style 'extern inline'.  Using 'extern inline' shrinks the size
+       of the Emacs executable, when compiled with debugging disabled,
+       which is a typical way that Emacs is built while developing.
+
 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
 
        maint.mk: a "release-commit" wrapper to do-release-commit-and-tag