README-release: various improvements
[gnulib.git] / ChangeLog
index 2b0dfef..5d6a9a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,852 @@
+2011-12-19  Reuben Thomas  <rrt@sc3d.org>
+
+       README-release: various improvements
+       * top/README-release: Give a command to push changes for the
+       release.  Add "distcheck" to list of other pre-release checks.
+       Fix instance of "make stable" which should be "make TYPE".
+
+2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       maint: replace FSF snail-mail addresses with URLs
+       * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
+       * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
+       * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
+       * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
+       * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
+       * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
+       * lib/check-version.c, lib/check-version.h, lib/config.charset:
+       * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
+       * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
+       * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
+       * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
+       * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
+       * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
+       * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
+       * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
+       * lib/glthread/thread.c, lib/glthread/thread.h:
+       * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
+       * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
+       * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
+       * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
+       * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
+       * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
+       * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
+       * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
+       * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
+       * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
+       * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
+       * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
+       * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
+       * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
+       * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
+       * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
+       * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
+       * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
+       * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
+       * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
+       * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
+       * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
+       * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
+       * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
+       * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
+       * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
+       * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
+       * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
+       * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
+       * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
+       * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
+       * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
+       * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
+       * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
+       * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
+       * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
+       * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
+       * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
+       * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
+       * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
+       * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
+       * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
+       * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
+       * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
+       * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
+       * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
+       * tests/test-poll.c, tests/test-quotearg-simple.c:
+       * tests/test-quotearg.c, tests/test-quotearg.h:
+       * tests/test-round-ieee.c, tests/test-round1.c:
+       * tests/test-roundf-ieee.c, tests/test-roundf1.c:
+       * tests/test-roundl-ieee.c, tests/test-roundl.c:
+       * tests/test-safe-alloc.c, tests/test-sigpipe.c:
+       * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
+       * tests/test-strerror.c, tests/test-strerror_r.c:
+       * tests/test-strsignal.c, tests/test-strverscmp.c:
+       * tests/test-xmemdup0.c:
+       Replace FSF snail mail addresses with URLs, as per GNU coding
+       standards.  See glibc bug
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
+
+2011-12-22  Reuben Thomas  <rrt@sc3d.org>
+
+       README-release: capitalize a word and split a line
+       * top/README-release: Fix punctuation and spacing.
+
+2012-02-08  Akim Demaille  <demaille@gostai.com>
+
+       fatal-signal: use C prototypes (with explicit void).
+       * lib/fatal-signal.c (uninstall_handlers, install_handlers)
+       (init_fatal_signal_set, block_fatal_signals): Fix signatures.
+
+2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: spelling fix
+       * lib/regexec.c: spelling fix
+
+       regex: rely on stdint.h for SIZE_MAX
+       * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
+
+2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: merge glibc changes
+
+       * lib/regcomp.c (init_dfa): Tighten overflow checks to test
+       for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
+       (init_word_char): Work even if bitset words are not exactly 32 or
+       64 bits wide.  Don't assume there are no padding bits.
+       * lib/regex.c [_LIBC]: Do not include <config.h>.
+       [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
+       and -Wtype-limits.
+       * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
+       needless disagreement with glibc.  All uses changed.  Define it to
+       1 only if _GNU_SOURCE, to match glibc.
+       (_REG_RM_NAME): Remove; no longer needed, since the names in
+       question are now all protected by __USE_GNU.
+       (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
+       (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
+       * lib/regex_internal.h (MIN): New macro.
+
+       2012-01-03 Ulrich Drepper <drepper@gmail.com>
+       * lib/regcomp.c (init_word_char): Optimize regex a bit.
+
+       2011-12-30 Jakub Jelinek <jakub@redhat.com>
+       * lib/regex_internal.c (re_string_fetch_byte_case):
+       Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
+       is miscompiled, and it turns out it is because of an incorrect
+       attribute on re_string_fetch_byte_case.  Unlike
+       re_string_peek_byte_case, this one is really not pure, it modifies
+       memory (increments pstr->cur_idx), and with the pure attribute GCC
+       assumed it doesn't and it cached the presumed value of
+       regexp->cur_idx in a variable across the
+        for (;; ++i)
+          {
+            if (i >= BRACKET_NAME_BUF_SIZE)
+              return REG_EBRACK;
+            if (token->type == OP_OPEN_CHAR_CLASS)
+              ch = re_string_fetch_byte_case (regexp);
+            else
+              ch = re_string_fetch_byte (regexp);
+            if (re_string_eoi(regexp))
+              return REG_EBRACK;
+            if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
+              break;
+            elem->opr.name[i] = ch;
+          }
+
+       2011-11-29 Andreas Schwab <schwab@redhat.com>
+       * lib/regcomp.c (build_equiv_class):
+       Fix access after end of search string in regex matcher.
+
+       2011-11-12 Ulrich Drepper <drepper@redhat.com>
+       * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
+
+       2011-10-12 Ulrich Drepper <drepper@redhat.com>
+       * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
+
+       2011-10-11 Ulrich Drepper <drepper@redhat.com>
+       * lib/regcomp.c (parse_branch, parse_sub_exp):
+       More regex memory leak fixes and tests.
+       (parse_sub_exp, parse_bracket_exp):
+       Fix memory leak for some invalid regular expressions.
+
+       2011-05-28 Ulrich Drepper <drepper@gmail.com>
+       * lib/regex_internal.c, lib/regexec.c:
+       Fix unnecessary overallocation due to incomplete character.  When
+       incomplete characters are found at the end of a string the code
+       ran amok and allocated lots of memory.  Stricter limits are now in
+       place.
+
+       2011-05-20 Reuben Thomas <rrt@sc3d.org>
+       * lib/regex.h: Update documentation.
+
+       2011-05-16 Aharon Robbins <arnold@skeeve.com>
+       * lib/regex.h: Update RE_SYNTAX*_AWK constants.
+
+       2010-05-05 Andreas Schwab <schwab@redhat.com>
+       * lib/regexec.c (find_collation_sequence_value):
+       Fix lookup of collation sequence value during regexp matching.
+
+       2010-01-22 Ulrich Drepper <drepper@redhat.com>
+       * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
+
+       2008-01-16 Ulrich Drepper <drepper@redhat.com>
+       * lib/regex.h: Cleanup namespace.
+
+       2007-11-26 Ulrich Drepper <drepper@redhat.com>
+       * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
+
+       2007-08-26 Ulrich Drepper <drepper@redhat.com>
+       * lib/regex_internal.h: Prevent some declarations and definitions
+       to be seen when used in tests.
+
+       2005-05-06 Ulrich Drepper <drepper@redhat.com>
+       * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
+       __libc_lock_* macros if not _LIBC.
+       (struct re_dfa_t): Add lock.
+
+2012-02-07  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: also prohibit lower-case @var@
+       * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
+       lower case, like @top_srcdir@.
+
+2012-02-04  Eric Blake  <eblake@redhat.com>
+
+       canonicalize: avoid uninitialized memory use
+       * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
+       random '/' left in dest.
+       * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       isatty: Fix test failure of ptsname_r on native Windows.
+       * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
+       and don't set errno.
+       (isatty): Test first whether fd is valid. Set errno when returning 0.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       spawn-pipe tests: Fix a NULL program name in a diagnostic.
+       * tests/test-spawn-pipe-main.c: Include progname.h.
+       (main): Invoke set_program_name.
+       * modules/spawn-pipe-tests (Depends-on): Add progname.
+
+       nonblocking-socket tests: Fix a NULL program name in a diagnostic.
+       * tests/test-nonblocking-socket-main.c: Include progname.h.
+       (main): Invoke set_program_name.
+       * modules/nonblocking-socket-tests (Depends-on): Add progname.
+
+       nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
+       * tests/test-nonblocking-pipe-main.c: Include progname.h.
+       (main): Invoke set_program_name.
+       * modules/nonblocking-pipe-tests (Depends-on): Add progname.
+
+2012-02-04  Eric Blake  <eblake@redhat.com>
+
+       canonicalize-lgpl: fix // handling
+       * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
+
+       canonicalize: fix // handling
+       * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
+       /// to //, since only // is special.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       ioctl: Fix test failure on native Windows.
+       * lib/ioctl.c: Include msvc-nothrow.h.
+       (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       fsync: Avoid test failure on native Windows.
+       * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
+       read-only.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Avoid syntax error on OpenBSD 5.0.
+       * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
+       currently being included, just include the system's <sys/select.h>.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Avoid syntax error on OpenBSD 5.0.
+       * lib/sys_select.in.h: Include <signal.h> only after the include_next
+       <sys/select.h>, not before.
+       Reported by Jiri B <jirib@devio.us>.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
+       * tests/test-get-rusage-as.c (main): Assign the malloc() results to
+       global variables.
+       * tests/test-get-rusage-data.c (main): Likewise.
+       Reported by Jim Meyering.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
+       stdioext: Fix last commit.
+       * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
+
+2012-02-03  Bruno Haible  <bruno@clisp.org>
+
+       stdioext: Add tentative support for Plan9.
+       * lib/stdio-impl.h: Include <errno.h>.
+       * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
+       * lib/freadable.c (freadable): Likewise.
+       * lib/fwritable.c (fwritable): Likewise.
+       * lib/fbufmode.c (fbufmode): Likewise.
+       * lib/freading.c (freading): Likewise.
+       * lib/fwriting.c (fwriting): Likewise.
+       * lib/freadptr.c (freadptr): Likewise.
+       * lib/freadseek.c (freadptrinc): Likewise.
+       * lib/freadahead.c (freadahead): Likewise.
+       * lib/fpurge.c (fpurge): Likewise.
+       * lib/fseeko.c (rpl_fseeko): Likewise.
+       * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
+       Reported by Jens Staal <staal1978@gmail.com>.
+
+2012-02-02  Jim Meyering  <meyering@redhat.com>
+
+       file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
+       * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
+       would evoke a new gcc warning.  Given all of the #ifdefs, it is better
+       not even to try to add the attribute.  Instead, add a pragma to suppress
+       the suggestion/warning.
+
+2012-01-31  Karl Berry  <karl@gnu.org>
+
+       setstate doc: typo.
+       * doc/posix-functions/setstate.texi (setstate): { not (.
+
+2012-01-31  Bruno Haible  <bruno@clisp.org>
+
+       popen: Make more robust on Windows.
+       * lib/popen.c: On native Windows, use the _popen based code even if
+       HAVE_POPEN is set.
+       * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
+       environment variable on native Windows.
+
+2012-01-30  Bruno Haible  <bruno@clisp.org>
+
+       pclose: Fix typo.
+       * lib/stdio.in.h (pclose): Fix typo in warning message.
+
+2012-01-30  Bruno Haible  <bruno@clisp.org>
+
+       doc about getlogin_r, setstate.
+       * doc/posix-functions/getlogin_r.texi: List the incompatible
+       declaration problem under "not fixed by gnulib".
+       * doc/posix-functions/setstate.texi: Mention incompatible declaration
+       problem on Solaris 11 and other platforms.
+
+2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
+           Bruno Haible  <bruno@clisp.org>
+
+       poll tests: Make test more robust.
+       * tests/test-poll.c: Include macros.h.
+       (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
+       return value of various I/O operations.
+       * modules/poll-tests (Files): Add tests/macros.h.
+
+2012-01-30  Bruno Haible  <bruno@clisp.org>
+
+       sys_stat: Fix support for mingw64 and MSVC.
+       * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
+       header files already do it.
+       (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
+       stat itself.
+       Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
+
+2012-01-30  Bruno Haible  <bruno@clisp.org>
+
+       wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
+       * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
+
+2012-01-29  Bruno Haible  <bruno@clisp.org>
+
+       quotearg: Fix test failure on MacOS X 10.5.
+       * tests/test-quotearg-simple.c: Include localcharset.h.
+       (main): If the locale encoding is not ASCII, bypass the tests of
+       locale_quoting_style and clocale_quoting_style.
+       * modules/quotearg-tests (Depends-on): Add 'localcharset'.
+
+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
+       * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
+       to enable both --cluster and --no-cluster.  Change variable name,
+       s/\$no_cluster/$cluster/, and reverse usage to match.
+
+       gitlog-to-changelog: use "||", not "or" in expressions
+       * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
+       expressions.
+
+2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       gitlog-to-changelog: new option --no-cluster
+       * build-aux/gitlog-to-changelog: New option --no-cluster, disables
+       clustering of adjacent commit messages.
+
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: spell file systems with two words, not one
+       * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
+       two words, not one.
+
+2012-01-16  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: add a FIXME comment to ensure we eventually remove the hack
+       * build-aux/bootstrap (gnulib_tool_options): Add comment.
+
+2012-01-16  Eric Blake  <eblake@redhat.com>
+
+       bootstrap: cater to autoconf 2.59
+       * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
+       is not available.
+
+       bootstrap: properly check for libtool
+       * build-aux/bootstrap (libtoolize): Also run libtool when older
+       usage is detected.
+
+2012-01-15  Bruno Haible  <bruno@clisp.org>
+
+       Improve support for MSVC 9.
+       * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
+       clashes on MSVC.
+       * lib/fcntl.in.h: Likewise.
+       * lib/stdlib.in.h: Likewise.
+       * lib/sys_stat.in.h: Likewise.
+
+2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       gnupload: we hold the master copy of this script now
+       For motivation and more information, see:
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
+       * build-aux/gnupload: Make it clear in the heading comments that the
+       master copy of this file is maintained by gnulib.  Since we are at
+       it, bump its copyright year and ...
+       ($scriptversion): ... the date in its version.
+       ($usage): Patches and bug reports should be sent to the gnulib list,
+       not the automake one.
+       * config/srclist.txt: Don't try to sync 'gnupload' from automake
+       anymore.
+
+2012-01-15  Bruno Haible  <bruno@clisp.org>
+
+       Fix module 'random'.
+       * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
+       initstate, setstate are declared.
+
+2012-01-14  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'random'.
+       * modules/random-tests: New file.
+       * tests/test-random.c: New file, based on tests/test-random_r.c.
+
+       New module 'random'.
+       * lib/stdlib.in.h (random, srandom, initstate, setstate): New
+       declarations.
+       * lib/random.c: New file, based on glibc/stdlib/random.c.
+       * m4/random.m4: New file.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
+       HAVE_RANDOM.
+       * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
+       * modules/random: New file.
+       * config/srclist.txt: Add an entry for random.c.
+       * doc/posix-functions/random.texi: Mention the 'random' module.
+       * doc/posix-functions/initstate.texi: Likewise.
+       * doc/posix-functions/setstate.texi: Likewise.
+       * doc/posix-functions/srandom.texi: Likewise.
+
+2012-01-12  Bruno Haible  <bruno@clisp.org>
+
+       random_r: Use common idioms.
+       * lib/random_r.c: Include <stdlib.h> first.
+
+       random_r: Override incompatible API on AIX, OSF/1.
+       * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
+       Override the system function if REPLACE_RANDOM_R is 1.
+       * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
+       and OSF/1, set REPLACE_RANDOM_R.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
+       * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
+       * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
+       * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
+       * doc/glibc-functions/random_r.texi: Likewise.
+       * doc/glibc-functions/setstate_r.texi: Likewise.
+
+       random_r: Support for MSVC 9.
+       * lib/random_r.c: Include stdint.h, not inttypes.h.
+
+2012-01-12  Eric Blake  <eblake@redhat.com>
+
+       inet_ntop: guard extra work by IF_LINT
+       * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
+       better code generation when not checking for warnings.
+       Suggested by Paul Eggert and Jim Meyering.
+
+       strptime: fix regression on mingw
+       * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
+       Fix regression.  Reported by Bruno Haible.
+
+2012-01-11  Reuben Thomas  <rrt@sc3d.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       copy-file: add error-code-returning variant.
+       * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
+       (qcopy_file_preserving): New declaration.
+       * lib/copy-file.c (qcopy_file_preserving): Renamed from
+       copy_file_preserving. Change return type to 'int'. Don't emit an error
+       message here.
+       (copy_file_preserving): New function.
+       * tests/test-copy-file.c: Include <stdlib.h>.
+       (main): Test qcopy_file_preserving if the environment variable
+       NO_STDERR_OUTPUT is set.
+       * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
+       with NO_STDERR_OUTPUT
+       * tests/test-copy-file-2.sh: Likewise.
+
+2012-01-10  Bruno Haible  <bruno@clisp.org>
+
+       copy-file: Use 'quote' module consistently.
+       * lib/copy-file.c (copy_file_preserving): Use quote().
+
+       copy-file: Refactor.
+       * lib/copy-file.c: Include quote.h.
+       (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
+       message here.
+       * modules/copy-file (Depends-on): Add quote.
+
+       acl: Export qcopy_acl.
+       * lib/acl.h (qcopy_acl): New declaration.
+       * lib/copy-acl.c (qcopy_acl): Make non-static.
+
+       acl: Rename a local variable.
+       * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
+
+       acl: Align return values of copy_acl and qcopy_acl.
+       * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
+       maybe < -1.
+
 2012-01-11  Eric Blake  <eblake@redhat.com>
 
        strptime: silence gcc warnings