error, strerror-override: Support new errno values from POSIX:2008.
[gnulib.git] / ChangeLog
index f602966..559f455 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,297 @@
+2012-06-03  Bruno Haible  <bruno@clisp.org>
+
+       error, strerror-override: Support new errno values from POSIX:2008.
+       * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
+       ENOTRECOVERABLE.
+       * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
+       platforms.
+       * lib/strerror-override.c (strerror_override): Conditionalize the
+       EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
+       * lib/strerror-override.h (strerror_override): Declare also if
+       GNULIB_defined_EOWNERDEAD is defined.
+       * tests/test-errno.c (e130, e131): New variables.
+       * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
+       ENOTRECOVERABLE.
+       Reported by Paolo Bonzini.
+
+2012-05-31  Jim Meyering  <meyering@redhat.com>
+
+       savewd: add missing dependency on sys_wait module
+       * modules/savewd (Depends-on): Add sys_wait, needed at least
+       for MSVC.  Report and suggested change by Michael Goffioul.
+
+2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       system-quote-tests: port to CentOS 5
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
+       * tests/test-system-quote-child.c (fclose, fprintf): Undef.
+
+2012-05-29  Jim Meyering  <meyering@redhat.com>
+
+       maint: fix typos in comments and ChangeLog
+       Culprits identified and fixed mostly automatically using these commands:
+       git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
+       's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
+       using http://github.com/lyda/misspell-check
+       * ChangeLog: Fix typos.
+       * doc/solaris-versions: Likewise.
+       * lib/regexec.c (re_search_stub): Likewise.
+       * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
+
+2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       manywarnings: remove duplicate -Wmultichar entry
+       * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
+       entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
+       so keep the entry marked as documented.
+
+2012-05-27  Karl Berry  <karl@gnu.org>
+
+       * config/srclist.txt (mktime.c): remove last libc sync,
+       perhaps just temporarily.
+
+2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: don't assume uint64_t or uint32_t
+       * lib/regcomp.c (init_word_char): Don't assume that the types
+       uint64_t and uint32_t exist.  The C standard doesn't guarantee
+       them, and on some 32-bit compilers there is no uint64_t.
+       Problem reported by Gianluigi Tiesi in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
+
+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.
 2012-05-08  Bruno Haible  <bruno@clisp.org>
 
        sh-quote: Make C++ safe and allow multiple inclusion.
        behavior match Linux.
        * tests/test-c-stack.c (main): Prefer NULL for pointers.
 
        behavior match Linux.
        * tests/test-c-stack.c (main): Prefer NULL for pointers.
 
-       stdbool-tests: accomodate Haiku
+       stdbool-tests: accommodate Haiku
        * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
 
        binary-io: fix O_TEXT on Haiku
        * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
 
        binary-io: fix O_TEXT on Haiku
        * tests/test-sys_wait.c (main): Relax test.
        * tests/test-stdlib.c (main): Likewise.
 
        * tests/test-sys_wait.c (main): Relax test.
        * tests/test-stdlib.c (main): Likewise.
 
-       init.sh: accomodate directory with no .exes
+       init.sh: accommodate directory with no .exes
        * tests/init.sh: Accomodate directory containing only scripts.
 
        tests: avoid compiler warning
        * tests/init.sh: Accomodate directory containing only scripts.
 
        tests: avoid compiler warning
 
 2009-11-14  John W. Eaton  <jwe@gnu.org>
 
 
 2009-11-14  John W. Eaton  <jwe@gnu.org>
 
-       strftime.h: wrap funtion declaration in extern "C" block
+       strftime.h: wrap function declaration in extern "C" block
        * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
 
 2009-11-13  Eric Blake  <ebb9@byu.net>
        * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
 
 2009-11-13  Eric Blake  <ebb9@byu.net>
        reversed sense of yes and no in prior patch.  Avoid confusing
        compilation failure with desired semantics.
 
        reversed sense of yes and no in prior patch.  Avoid confusing
        compilation failure with desired semantics.
 
-       link-follow: accomodate mingw and cross-compilation
+       link-follow: accommodate mingw and cross-compilation
        * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
        (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
        cross-compilation results to -1, to make linkat easier to
        * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
        (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
        cross-compilation results to -1, to make linkat easier to
 
        test-getaddrinfo: fix usage of skip return code 77
        * tests/test-gettaddrinfo.c: Return skip code 77 only
 
        test-getaddrinfo: fix usage of skip return code 77
        * tests/test-gettaddrinfo.c: Return skip code 77 only
-       for first occurance of skip (4x77 is not 77)
+       for first occurrence of skip (4x77 is not 77)
 
 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
 
 
 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
 
 2007-12-01  Eric Blake  <ebb9@byu.net>
 
        * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
 2007-12-01  Eric Blake  <ebb9@byu.net>
 
        * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
-       accomodate fix in cygwin 1.5.25.
+       accommodate fix in cygwin 1.5.25.
 
 2007-12-01  Jim Meyering  <meyering@redhat.com>
 
 
 2007-12-01  Jim Meyering  <meyering@redhat.com>
 
        (SIZE): New macro.
        (FUNC): Compare only SIZE bytes of the value.
        * lib/vasnprintf.c: Include float+.h.
        (SIZE): New macro.
        (FUNC): Compare only SIZE bytes of the value.
        * lib/vasnprintf.c: Include float+.h.
-       (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
+       (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
        SIZEOF_LDBL or SIZEOF_DBL bytes.
        * modules/isnan-nolibm (Files): Add lib/float+.h.
        * modules/isnanl-nolibm (Files): Add lib/float+.h.
        SIZEOF_LDBL or SIZEOF_DBL bytes.
        * modules/isnan-nolibm (Files): Add lib/float+.h.
        * modules/isnanl-nolibm (Files): Add lib/float+.h.
        (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
        not being INT_MAX.
        (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
        (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
        not being INT_MAX.
        (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
-       Use pc_rels_seen to decide whther a date is absolute.
+       Use pc_rels_seen to decide whether a date is absolute.
 
        * lib/getdate.y (number): Don't overwrite year.
        (get_date): Initialize pc.year.digits to 0, not 4, to enable above
 
        * lib/getdate.y (number): Don't overwrite year.
        (get_date): Initialize pc.year.digits to 0, not 4, to enable above