maint.mk: add strncpy-prohibiting syntax-check rule
[gnulib.git] / ChangeLog
index de58612..1252100 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,352 @@
+2012-05-25  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: add strncpy-prohibiting syntax-check rule
+       * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
+
+2012-05-24  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: compute $(gpg_key_ID) more portably
+       * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
+       That use of sed is not portable to some fringe systems.
+       Reported by Paul Eggert in
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
+
+2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mktime: sync from glibc
+       * config/srclist.txt: Uncomment mktime.c.
+       * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
+       First, indent with tabs, since glibc uses tabs and doesn't want to
+       change and we'd rather be identical to glibc.  Also, two small
+       coding changes:
+       (isdst_differ): Use &&, not &, as && is the usual style.
+       (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
+       for clarity.
+
+2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
+
+       announce-gen: du -h is more portable than du --human
+       * build-aux/announce-gen (sizes): Invoke du with -h instead
+       of --human.  Accept leading white space in its output.
+
+2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
+
+       announce-gen: Improve diagnostics.
+       * build-aux/announce-gen: When parsing command line options,
+       prefer "announce-gen: option --release-type requires an argument"
+       to "Option release-type requires an argument".
+
+2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: gpg_key_ID: use sed more portably
+       * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
+       the closing brace.
+       (refresh-po): Fuse two sed invocations into one.
+
+2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
+
+       gitlog-to-changelog: support the log message format used in Bison.
+       * build-aux/gitlog-to-changelog: Support --strip-tab and
+       --strip-cherry-picked.
+
+2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       poll/select: prevent busy-waiting.  SwitchToThread() only gives away
+       the rest of the current time slice to another thread in the current
+       process. So if the thread that feeds the file decscriptor we're
+       polling is not in the current process, we get busy-waiting.
+       * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
+       Patch from Theodore Leblond.
+       * lib/select.c: Split polling out of the loop that sets the output
+       fd_sets.  Check for zero result and loop if the wait timeout is
+       infinite.
+
+2012-05-21  Simon Josefsson  <simon@josefsson.org>
+
+       select: Fix build error on IRIX 6.5.
+       * lib/select.c: Include stddef.h for NULL.
+
+2012-05-21  Simon Josefsson  <simon@josefsson.org>
+
+       gc: fix libgcrypt detection on older machines.
+       * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
+       copyright years because the file has been distributed every year
+       since it was created.
+
+2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       crypto: fix bug in large buffer handling
+       Problem reported by Serge Belyshev for glibc in
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
+       * lib/md4.c (md4_process_block):
+       * lib/md5.c (md5_process_block):
+       * lib/sha1.c (sha1_process_block):
+       * lib/sha256.c (sha256_process_block):
+       Don't assume the buffer length is less than 2**32.
+       * lib/sha512.c (sha512_process_block): Likewise.
+       Here, the bug is present only in the rare case where the host does
+       not support uint64_t or where size_t is wider than 64 bits.
+       Use u64size to work around the problems.
+       * lib/u64.h (u64size): New macro.
+
+2012-05-15  Pádraig Brady  <P@draigBrady.com>
+
+       fsusage: fix block size returned on older Linux 2.6
+
+       * lib/fsusage.c: Fall back to (struct statfs).f_frsize
+       which is available since Linux 2.6.
+       * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
+       when the member is available so it can be used as a fallback.
+       * doc/posix-functions/statvfs.texi: Mention the hang issue
+       on Linux < 2.6.36.
+
+2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       bootstrap: suppress stderr chatter
+       * build-aux/bootstrap (insert_sorted_if_absent, main program):
+       Omit unnecessary chatter to stderr.  The main program chatter
+       was there only inadvertantly.
+
+       bootstrap: .gitignore files created by autopoint, libtool
+       I ran into this problem when bootstrapping the latest diffutils.
+       After './bootstrap', 'git status' reported lots of untracked files
+       m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
+       autopoint and do not need to be version-controlled.
+       * build-aux/bootstrap: Put into .gitignore the files that
+       autopoint and libtool create, by keeping track of files that exist
+       after but not before these programs are run.
+       (version_controlled_file): Move up.  2nd arg is now full file
+       name, not base name; this is more convenient.  Put CVS at the end,
+       as it's now somewhat deprecated.
+
+2012-05-14  Jim Meyering  <meyering@redhat.com>
+
+       ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
+       * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
+       definition.  Reported by Bruno Haible.
+
+2012-05-13  Bruno Haible  <bruno@clisp.org>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       binary-io: Define set_binary_mode function.
+       * lib/binary-io.h (set_binary_mode): New function.
+       (SET_BINARY): Define in terms of set_binary_mode.
+       * modules/binary-io (configure.ac): Require AC_C_INLINE.
+       * tests/test-binary-io.c (main): Accept an argument, and test either
+       set_binary_mode or SET_BINARY depending on the argument.
+       * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
+       argument. Clean up also t-bin-out0.tmp.
+
+2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       bootstrap: take advantage of POSIX shell features
+
+       The 'bootstrap' script offered by Gnulib script already uses POSIX
+       shell features (like $((...)) arithmetic expansions) that are not
+       supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
+       means that bootstrap must already be run using a proper POSIX shell,
+       which will thus provide more features, like ${var#pattern} parameter
+       expansion or inversion of a command exit status with '!'.  We can
+       thus use these features to improve the clarity and the performances
+       of the bootstrap script.
+
+       Suggested by Eric Blake.
+
+       * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
+       of sed/expr plus command substitutions, to save some forks.  While
+       we are at it, prefer the POSIX $(...) form of command substitution,
+       rather than the legacy form `...` (since the former is visually
+       clearer and interacts better with quoting), and prefer the idiom:
+         "if ! CMD; then ACTION ..."
+       over the idiom:
+         "if CMD; then :; else ACTION ..."
+       which was required by legacy Bourne shells not supporting '!'.
+
+2012-05-12  Bruno Haible  <bruno@clisp.org>
+
+       system-quote: Add more comments.
+       * lib/system-quote.h: Add more comments about wilcards and limitations.
+       Suggested by Eli Zaretskii <eliz@gnu.org>.
+
+       sh-quote, system-quote: Add comments about wildcards.
+       * lib/sh-quote.h: Clarify what happens with wildcard characters.
+       * lib/system-quote.h: Likewise.
+       Reported by Eli Zaretskii <eliz@gnu.org>.
+
+2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fsusage: check for GNU/Linux statvfs problem dynamically
+       * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
+       Define STAT_STATFS2_BSIZE too, since in this case the code now
+       checks dynamically whether statvfs is reliable, falling back on
+       Linux-style statfs otherwise.
+       (statvfs_works): New function, for dynamically testing statvfs.
+       (get_fs_usage) [STAT_STATVFS]: Use it.
+       * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
+       statvfs on GNU/Linux hosts, since it's now done dynamically.
+
+2012-05-10  Bruno Haible  <bruno@clisp.org>
+
+       system-quote, execute, spawn-pipe: Escape '?' on Windows.
+       * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
+       '?' character.
+       * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
+       * tests/test-system-quote-main.c (check_all): Check also strings like
+       "??????????".
+       Reported by Eli Zaretskii <eliz@gnu.org>.
+
+2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       _Noreturn: port config.h to gcc -Wundef
+       * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
+       defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
+
+2012-05-10  Bruno Haible  <bruno@clisp.org>
+
+       system-quote: Refactor.
+       * lib/system-quote.h (system_quote_copy): Fix comment.
+       * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
+       New functions, extracted from system_quote_copy.
+       (system_quote_length, system_quote_copy): Use these functions.
+       Reported by Paul Eggert.
+
+2012-05-08  Bruno Haible  <bruno@clisp.org>
+
+       execute, spawn-pipe: Escape '*' characters in arguments on Windows.
+       * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
+
+2012-05-08  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'system-quote'.
+       * modules/system-quote-tests: New file.
+       * tests/test-system-quote.sh: New file.
+       * tests/test-system-quote-main.c: New file.
+       * tests/test-system-quote-child.c: New file.
+
+       New module 'system-quote'.
+       * lib/system-quote.h: New file.
+       * lib/system-quote.c: New file.
+       * modules/system-quote: New file.
+
+2012-05-08  Bruno Haible  <bruno@clisp.org>
+
+       sh-quote: Make C++ safe and allow multiple inclusion.
+       * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
+       declarations in extern "C".
+
+2012-05-08  Bruno Haible  <bruno@clisp.org>
+
+       sh-quote tests: Make tests stricter.
+       * tests/test-sh-quote.c (check_one): Check the return value of
+       shell_quote_copy.
+       (main): Check a string with a CR character. Check a string that
+       contains UCHAR_MAX.
+
+2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
+
+       warnings.m4: provide a means to specify the program to compile.
+       * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
+       (gl_WARN_ADD): here.
+       Use gl_AS_VAR_APPEND.
+       Support an argument to specify the program to compile.
+       (gl_WARN_ADD): Accept an argument to specify the program to compile.
+       AC_SUBST the WARN_CFLAGS when they are used.
+       * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
+       leave this to gl_WARN_ADD.
+
+2012-05-08  Eric Blake  <eblake@redhat.com>
+
+       doc: recommendations on gettext version
+       * doc/gnulib-tool.texi (gettextize and autopoint): Document the
+       choice between versions.
+       * DEPENDENCIES (gettext): Cover both approaches.
+
+2012-05-08  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: explain why EXEEXT support uses aliases rather than functions
+       * tests/init.sh: Add a comment.
+
+       init.sh: don't let bash aliases interfere with tests
+       * tests/init.sh: Undefine any pre-defined aliases if the selected shell
+       is bash.  This avoids problems for those who alias standard commands to
+       non-conforming uses, like those reported in http://bugs.gnu.org/11256.
+       Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
+
+2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdint: be more consistent with glibc, SunOS libc
+       * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
+       (gl_int_fast16_t, gl_uint_fast16_t)
+       (gl_int_fast32_t, gl_uint_fast32_t)
+       (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
+       (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
+       (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
+       Be consistent with glibc by default, and with SunOS 5.10 and later
+       if __sun is defined.  This lessens the likelihood of clashes if
+       code compiled for older hosts is combined with code compiled for
+       newer ones.  Problem reported by Niels Möller in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
+
+2012-05-07  Eric Blake  <eblake@redhat.com>
+
+       isatty: relax license to LGPLv2+
+       * modules/isatty (License): Relax license.
+
+2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stat-size: comment fix
+       * lib/stat-size.h: Remove obsolete comment about indenting.
+
+2012-05-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'sh-quote'.
+       * modules/sh-quote-tests: New file.
+       * tests/test-sh-quote.c: New file.
+
+2012-05-06  Bruno Haible  <bruno@clisp.org>
+
+       sh-quote: Improve shell_quote_argv's signature.
+       * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
+       * lib/sh-quote.c (shell_quote_argv): Likewise.
+
+2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdint: document issues with int_fast8_t etc.
+       * doc/posix-headers/stdint.texi (stdint.h): Say that other
+       stdint.h substitutes may define these types differently.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
+
+2012-05-05  Bruno Haible  <bruno@clisp.org>
+
+       nanosleep: Avoid guessing wrong when cross-compiling to Linux.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
+       cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
+       or 'guessing no (mishandles large arguments)'.
+
+2012-05-05  Bruno Haible  <bruno@clisp.org>
+
+       link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
+       * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
+       AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
+       set gl_cv_func_link_follows_symlink to "guessing no".
+
+2012-05-05  Bruno Haible  <bruno@clisp.org>
+
+       tzset: Avoid guessing wrong when cross-compiling to glibc systems.
+       * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
+       cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
+       "guessing no".
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
+
+2012-05-05  Bruno Haible  <bruno@clisp.org>
+
+       d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
+       * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
+       AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
+       set gl_cv_struct_dirent_d_ino to "guessing yes".
+
 2012-05-05  Bruno Haible  <bruno@clisp.org>
 
        fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.