maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
[gnulib.git] / ChangeLog
index dc34bb5..c6a99f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,323 @@
+2012-01-29  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
+       * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
+       detect uses of canonicalize_file_name.
+
+2012-01-28  Bruno Haible  <bruno@clisp.org>
+
+       test-framework-sh: Fix test failure with AIX 7.1 diff.
+       * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
+       in column 1, like 'diff -c' does.
+       * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
+       whether 'diff -u' is used. Instead, test whether the output contains
+       some '@' character.
+
+2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       strtoimax: eliminate need for stdint.h, inttypes.h checks
+       * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
+       gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
+       the prerequisites for a recently-introduced strtoimax test.
+       I guess this might cause strtoimax to be replaced when not
+       strictly necessary on older hosts, but this shouldn't introduce
+       any bugs and it should make Emacs 'configure' faster on typical
+       modern hosts.  Problem discovered when importing the latest gnulib
+       to an Emacs test version.
+       * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
+
+2012-01-28  Bruno Haible  <bruno@clisp.org>
+
+       sys_time: Override 'struct timeval' on some native Windows platforms.
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
+       has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
+       (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
+       * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
+       needs to be overridden.
+       (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
+       * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
+       * tests/test-sys_select.c: Check that the tv_sec member has the same
+       size as a 'time_t'.
+       * tests/test-sys_time.c: Likewise.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
+       is set, set also REPLACE_GETTIMEOFDAY.
+       * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
+       convert the resulting 'struct timeval' before returning.
+       * lib/select.c: Include <sys/time.h>.
+       (select, timeval): Undefine at the right place.
+       * modules/select (Depends-on): Add sys_time.
+       * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
+       some Windows platforms.
+       Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
+
+2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
+
+       accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
+       * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
+       an integer.
+       * lib/fcntl.c (dupfd): Likewise.
+       * lib/w32sock.h (SOCKET_TO_FD): Likewise.
+
+2012-01-28  Bruno Haible  <bruno@clisp.org>
+
+       fcntl: Avoid compilation error on native Windows.
+       * modules/fcntl (Depends-on): Add 'close'.
+
+2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
+
+       select, poll, isatty: Avoid warnings on x86_64 mingw64.
+       * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
+       pointer to an integer.
+       * lib/poll.c (IsConsoleHandle): Likewise.
+       * lib/isatty.c (IsConsoleHandle): Likewise.
+
+2012-01-28  Jim Meyering  <meyering@redhat.com>
+
+       doc: clarify README-release
+       * top/README-release: Clarify: you should make a point to have
+       the latest stable versions of build tools in your PATH, and the
+       reference to buildreq is solely for its list of tool names, not
+       for its minimal-functional version numbers.
+       Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
+
+       maint.mk: use more readable (yet functionally equivalent) quoting
+       It is common to quote a single quote in a single quoted string like
+       this:  '...'\''...'.  Unless you know the idiom, that looks like
+       gibberish, so prefer to double-quote the string when possible.
+       Then you can use a more readable, lone single quote: "...'..."
+       * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
+       "don't" is more readable than the equivalent 'don'\''t'.
+       (sc_cast_of_x_alloc_return_value): Likewise.
+       (sc_cast_of_alloca_return_value): Likewise.
+       (sc_makefile_path_separator_check): Similar: use ":" in '...',
+       rather than '\'':'\''.
+
+2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdalign: relax _Alignof and tighten _Alignas test
+       * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
+       as it was too strict: alignof must divide offsetof, but it need
+       not equal offsetof.  Inspired by Joseph S. Myers's comment
+       <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
+       Conversely, tighten the _Alignas test a bit, as the resulting
+       alignment must be exactly 8.
+
+2012-01-27  Bruno Haible  <bruno@clisp.org>
+
+       stdalign: Document the last change.
+       * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
+
+2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdalign: check that alignof and offsetof are consistent
+       * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
+       Problem reported for gnulib by Richard W.M. Jones in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
+
+2012-01-27  Jim Meyering  <meyering@redhat.com>
+
+       update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
+       * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
+       convert a sequence with gaps to the minimal containing range.
+       For example, convert 2000, 2004-2007, 2009 to 2000-2009.
+       * tests/test-update-copyright.sh: Test for this.
+       The FSF confirmed it is ok to do this, assuming there is at
+       least one significant change per year in the affected range:
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
+
+2012-01-26  Bruno Haible  <bruno@clisp.org>
+
+       pipe2: refine doc about thread-safety
+       * doc/glibc-functions/pipe2.texi: Clarify the extent of the
+       multithread-safety problem.
+       * doc/glibc-functions/accept4.texi: Likewise.
+
+2012-01-26  Bruno Haible  <bruno@clisp.org>
+
+       posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
+       * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
+       In the test program, include <fcntl.h>, for O_RDONLY.
+
+2012-01-26  Eric Blake  <eblake@redhat.com>
+
+       pipe2: document lack of thread-safety in replacement
+       * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
+       issue in replacement.
+       * doc/glibc-functions/accept4.texi (accept4): Likewise.
+       Based on a report by Eric Wong.
+
+2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
+           Bruno Haible  <bruno@clisp.org>
+
+       malloca: Avoid warnings on x86_64 mingw64.
+       * lib/malloca.c: Include <stdint.h>.
+       (mmalloca, freea): Use uintptr_t to convert pointers to integers.
+       * modules/malloca (Depends-on): Add stdint.
+       * modules/relocatable-prog-wrapper (Depends-on): Likewise.
+
+2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       obstack: remove __STDC__ conditionals
+       * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
+       S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
+       This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
+       m4/include_next.m4 as the only gnulib-maintained places that still
+       refer to __STDC__.
+
+2012-01-24  Bruno Haible  <bruno@clisp.org>
+
+       havelib: Modern quoting.
+       * build-aux/config.rpath: Quote 'like this', not `like this', as per
+       the recent change to the GNU coding standards.
+
+2012-01-24  Bruno Haible  <bruno@clisp.org>
+
+       stdint: Improve support for Android.
+       * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
+       Reported by Simon Josefsson <simon@josefsson.org>.
+
+2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: omit trailing empty lines from INSTALL etc.
+       * doc/Makefile (INSTALL): Omit trailing empty lines.
+       (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
+       omit trailing empty lines.  This simplifies the build procedure.
+
+2012-01-23  Jim Meyering  <meyering@redhat.com>
+
+       tests: avoid spurious warnings about gl_sockets_startup
+       Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
+       would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
+       reporting a "statement with no effect".
+       * tests/test-accept.c (main): Mark as "(void)".
+       * tests/test-accept4.c (main): Likewise.
+       * tests/test-bind.c (main): Likewise.
+       * tests/test-connect.c (main): Likewise.
+       * tests/test-getpeername.c (main): Likewise.
+       * tests/test-getsockname.c (main): Likewise.
+       * tests/test-getsockopt.c (main): Likewise.
+       * tests/test-listen.c (main): Likewise.
+       * tests/test-recv.c (main): Likewise.
+       * tests/test-recvfrom.c (main): Likewise.
+       * tests/test-send.c (main): Likewise.
+       * tests/test-sendto.c (main): Likewise.
+       * tests/test-setsockopt.c (main): Likewise.
+       * tests/test-shutdown.c (main): Likewise.
+
+2012-01-21  Bruno Haible  <bruno@clisp.org>
+
+       locale-fr.m4: Fix for Android.
+       * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
+       failure of the test program on Bionic libc.
+
+2012-01-21  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: fail when bootstrap_post_import_hook fails
+       Otherwise, it's far too easy to miss diagnostics emitted
+       between gnulib-tool's output and that of running configure.
+       * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable sc_trailing_blank
+       * build-aux/pmccabe.css: Remove trailing blanks.
+       * doc/acl-cygwin.txt: Likewise.
+       * doc/gnu-oids.texi: Likewise
+       * cfg.mk: Enable sc_trailing_blank.
+       Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable sc_prohibit_openat_without_use
+       * cfg.mk: Enable sc_prohibit_openat_without_use.
+       Exempt lib/selinux-at.c.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable sc_prohibit_cloexec_without_use
+       * cfg.mk: Enable sc_prohibit_cloexec_without_use.
+       * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable sc_prohibit_intprops_without_use
+       * cfg.mk: Enable sc_prohibit_intprops_without_use
+       * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable sc_prohibit_hash_pjw_without_use
+       * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
+       * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
+       to match any use of \<hash_pjw\>, i.e., not necessarily with a
+       following " (".
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable double-word-prohibiting rule
+       * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
+       Exempt three files.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: remove empty lines at EOF, but excluding modules/*
+       Apply syntax rules at home as well as abroad.  Most changes
+       were induced by running this:
+         make srcdir=. _build-aux=build-aux -f top/maint.mk \
+           sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
+           | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
+       * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
+       Exempt modules/* and two binary files.
+       Also exempt doc/INSTALL*, per request from Bruno Haible.
+       * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
+       * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
+       * doc/Copyright/request-assign.future: Likewise.
+       * doc/Copyright/request-disclaim.changes: Likewise.
+       * doc/INSTALL: Likewise.
+       * doc/INSTALL.ISO: Likewise.
+       * doc/INSTALL.UTF-8: Likewise.
+       * doc/acl-cygwin.txt: Likewise.
+       * doc/acl-resources.txt: Likewise.
+       * doc/fdl-1.2.texi: Likewise.
+       * doc/fdl-1.3.texi: Likewise.
+       * doc/fdl.texi: Likewise.
+       * lib/argp-pin.c: Likewise.
+       * lib/round.c: Likewise.
+       * lib/unicase/u16-totitle.c: Likewise.
+       * lib/unictype/block_test.c: Likewise.
+       * lib/uninorm/canonical-decomposition.c: Likewise.
+       * m4/README: Likewise.
+       * m4/relocatable-lib.m4: Likewise.
+       * tests/test-isnand-nolibm.c: Likewise.
+       * tests/test-isnand.c: Likewise.
+       * tests/uninorm/NormalizationTest.txt: Likewise.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: add framework to run syntax-check rules against gnulib sources
+       * cfg.mk: New file, to disable all currently-failing tests.
+       We'll enable them one by one, as they are made to pass.
+       * Makefile (sc_maint): New rule.
+
+2012-01-21  Bruno Haible  <bruno@clisp.org>
+
+       stdint: Add support for Android.
+       * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
+       include the system's <stdint.h>.
+       Reported by Simon Josefsson <simon@josefsson.org>.
+
+2012-01-19  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: add bootstrap_post_import_hook
+       Bison does still need something like the gnulib_mk_hook whose
+       invocation I had to remove along with slurp in commit 767ccd40.
+       Technically, we could get along without it, but doing so would
+       have required living with a warning and a mandatory post-bootstrap
+       automake rerun.
+       * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
+       (bootstrap_post_import_hook): New function.
+       Invoke it after gnulib-tool --import and before autoreconf.
+
 2012-01-18  Jim Meyering  <meyering@redhat.com>
 
        gitlog-to-changelog: don't use "no_"-prefixed variable name