maint.mk: exempt trailing blanks found in "binary" files
[gnulib.git] / ChangeLog
index e1ad227..38ad080 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,391 @@
+2012-09-18  Jim Meyering  <meyering@redhat.com>
+
+       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.