passfd: fix test regression on Linux
[gnulib.git] / ChangeLog
index c5e4086..c9f717e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2011-04-21  Eric Blake  <eblake@redhat.com>
+
+       passfd: fix test regression on Linux
+       * modules/passfd-tests (configure.ac): Correct socketpair check.
+
+       passfd: speed up configure and drop unused code
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
+       * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
+       its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
+       Instead of probing at configure for unix_scm_rights_bsd44_way,
+       instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
+       check to a struct member probe.
+       * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
+       (sendfd, recvfd): Update preprocessor checks.
+       * modules/passfd (Files): Reflect rename, and drop unused file.
+       (Depends-on): Drop unused dependency.
+
+       passfd: allow compilation on mingw
+       * modules/sys_socket (Depends-on): Add sys_uio.
+       * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
+       iovec and a minimal struct msghdr.
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
+       * tests/test-sys_socket.c (main): Enhance test.
+       * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
+       guaranteed to provide what we need.
+       (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
+       * modules/passfd-tests (Depends-on): Add sys_wait.
+       * tests/test-passfd.c (main): Skip test on mingw, for now.
+       * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
+       partial 'struct msghdr' implementation.
+
+       sys_uio: new module
+       * modules/sys_uio: New module.
+       * modules/sys_uio-tests: Likewise.
+       * lib/sys_uio.in.h: New file.
+       * m4/sys_uio_h.m4: Likewise.
+       * tests/test-sys_uio.c: Likewise.
+       * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
+       * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
+
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       useless-if-before-free: avoid false-positive
+       * build-aux/useless-if-before-free: Adjust regexp for the non-brace
+       disjunct so that it too requires a terminating ";".  Without that,
+       this script would identify as useless one statement from gcc that
+       was not:
+         if (aligned_ptr)
+           free (((void **) aligned_ptr) [-1]);
+
+2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
+
+       doc: update users.txt.
+       * users.txt: Add barcode.
+
+2011-04-19  Bruno Haible  <bruno@clisp.org>
+
+       ioctl: Remove link dependency on native Windows.
+       * lib/fd-hook.h: Renamed from lib/close-hook.h.
+       (gl_close_fn, gl_ioctl_fn): New types.
+       (struct fd_hook): Renamed from struct close_hook. Change type of
+       private_close_fn field. Add private_ioctl_fn field.
+       (close_hook_fn): Add parameter for primary close method.
+       (execute_close_hooks, execute_all_close_hooks): Likewise.
+       (ioctl_hook_fn): New type.
+       (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
+       (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
+       argument.
+       (unregister_fd_hook): Renamed from unregister_close_hook.
+       * lib/fd-hook.c: Renamed from lib/close-hook.c.
+       Don't include <unistd.h>.
+       (close): Remove undef.
+       (anchor): Update.
+       (execute_close_hooks): Add argument for primary close method.
+       (execute_all_close_hooks): Likewise.
+       (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
+       (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
+       argument. Allow each argument to be NULL.
+       (unregister_fd_hook): Renamed from unregister_close_hook.
+       * lib/close.c (rpl_close): Pass 'close' function pointer to
+       execute_all_close_hooks.
+       * lib/ioctl.c: Include <errno.h>, fd-hook.h.
+       (primary_ioctl): New function.
+       (ioctl): Don't call ioctlsocket here. Instead, call
+       execute_all_ioctl_hooks.
+       * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
+       close method.
+       (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
+       (fd_sockets_hook): Renamed from close_sockets_hook.
+       (gl_sockets_startup, gl_sockets_cleanup): Update.
+       * modules/fd-hook: Renamed from modules/close-hook. Update.
+       * modules/close (Depends-on): Add fd-hook, remove close-hook.
+       * modules/sockets (Depends-on): Likewise.
+       * modules/ioctl (Depends-on): Add fd-hook.
+       * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
+       GNULIB_SOCKET.
+
+2011-04-19  Bruno Haible  <bruno@clisp.org>
+
+       Move the support of O_NONBLOCK in open() to the 'open' module.
+       * modules/nonblocking (Depends-on): Remove 'open'.
+       * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
+       gl_cv_have_open_O_NONBLOCK.
+       * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
+       O_NONBLOCK support.
+       * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
+
+2011-04-17  Bruno Haible  <bruno@clisp.org>
+
+       pipe2: Simplify code.
+       * lib/pipe2.c (pipe2): Reduce code duplication.
+
+2011-04-17  Bruno Haible  <bruno@clisp.org>
+
+       nonblocking: Add comment.
+       * lib/fcntl.in.h (O_NONBLOCK): Add comment.
+
+2011-04-17  Bruno Haible  <bruno@clisp.org>
+
+       nonblocking: Add tests for sockets.
+       * tests/test-nonblocking-socket.sh: New file.
+       * tests/test-nonblocking-socket-main.c: New file.
+       * tests/test-nonblocking-socket-child.c: New file.
+       * tests/test-nonblocking-socket.h: New file.
+       * tests/socket-server.h: New file.
+       * tests/socket-client.h: New file.
+       * modules/nonblocking-socket-tests: New file.
+       * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
+
+2011-04-17  Bruno Haible  <bruno@clisp.org>
+
+       nonblocking: Add tests for pipes.
+       * tests/test-nonblocking-pipe.sh: New file.
+       * tests/test-nonblocking-pipe-main.c: New file.
+       * tests/test-nonblocking-pipe-child.c: New file.
+       * tests/test-nonblocking-pipe.h: New file.
+       * tests/test-nonblocking-writer.h: New file.
+       * tests/test-nonblocking-reader.h: New file.
+       * tests/test-nonblocking-misc.h: New file.
+       * modules/nonblocking-pipe-tests: New file.
+       * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
+
+2011-04-16  Bruno Haible  <bruno@clisp.org>
+
+       gettext: Clarify the needed programmer actions.
+       * modules/gettext (Notice): New field.
+       Suggested by Ben Pfaff <blp@cs.stanford.edu>.
+
+2011-04-16  Bruno Haible  <bruno@clisp.org>
+
+       strchrnul: Tweak last commit.
+       * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
+       bug.
+       * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
+       as in _GL_FUNCDECL_SYS.
+       * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
+       AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
+
+2011-04-15  Eric Blake  <eblake@redhat.com>
+
+       strchrnul: work around cygwin bug
+       * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
+       * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
+       * modules/string (Makefile.am): Substitute it.
+       * lib/string.in.h (strchrnul): Use it.
+
+2011-04-15  Bruno Haible  <bruno@clisp.org>
+
+       Don't require lib/stdio-write.c when only module 'stdio' is used.
+       * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
+       invocation.
+       Reported by Rob Vermaas <rob.vermaas@gmail.com>.
+
+2011-04-14  Bruno Haible  <bruno@clisp.org>
+
+       Support non-blocking pipe I/O in read() on native Windows.
+       * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
+       (read): New declaration.
+       * lib/read.c: New file.
+       * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
+       _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
+       (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
+       vscanf): New declarations.
+       * lib/stdio-read.c: New file.
+       * m4/read.m4: New file.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
+       REPLACE_READ.
+       * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
+       GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
+       GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
+       desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
+       (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
+       GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
+       GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
+       * modules/read: New file.
+       * modules/nonblocking (Files): Add lib/stdio-read.c.
+       * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
+       * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
+       GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
+       GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
+       * modules/pread (Depends-on): Add read.
+       * modules/safe-read (Depends-on): Likewise.
+       * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
+       gets, scanf, vfscanf, vscanf): Verify signatures.
+       * doc/posix-functions/read.texi: Mention 'nonblocking' module and
+       problem with non-blocking pipes.
+       * doc/posix-functions/fgetc.texi: Likewise.
+       * doc/posix-functions/fgets.texi: Likewise.
+       * doc/posix-functions/fread.texi: Likewise.
+       * doc/posix-functions/fscanf.texi: Likewise.
+       * doc/posix-functions/getc.texi: Likewise.
+       * doc/posix-functions/getchar.texi: Likewise.
+       * doc/posix-functions/gets.texi: Likewise.
+       * doc/posix-functions/scanf.texi: Likewise.
+       * doc/posix-functions/vfscanf.texi: Likewise.
+       * doc/posix-functions/vscanf.texi: Likewise.
+
+2011-04-14  Bruno Haible  <bruno@clisp.org>
+
+       Support non-blocking pipe I/O in write() on native Windows.
+       * lib/write.c (rpl_write): Split a write request that failed merely
+       because the byte count was larger than the pipe buffer's size.
+       * doc/posix-functions/write.texi: Mention the problem with large byte
+       counts.
+
+2011-04-14  Bruno Haible  <bruno@clisp.org>
+
+       wchar: Ensure that wchar_t gets defined on uClibc.
+       * lib/wchar.in.h: On uClibc, include <stddef.h>.
+       Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
+
+2011-04-13  Bruno Haible  <bruno@clisp.org>
+
+       safe-write, full-read: Avoid unnecessary compilation units.
+       * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
+       (Depends-on): Remove safe-read. Add ssize_t.
+       * modules/full-read (Files): Add lib/full-write.c.
+       (Depends-on): Add full-write.
+
+2011-04-13  Bruno Haible  <bruno@clisp.org>
+
+       Support non-blocking pipe I/O and SIGPIPE in pwrite().
+       * modules/pwrite (Depends-on): Add 'write'.
+
+2011-04-13  Bruno Haible  <bruno@clisp.org>
+
+       Support non-blocking pipe I/O in write() on native Windows.
+       * lib/unistd.in.h (write): Enable replacement also if
+       GNULIB_UNISTD_H_NONBLOCKING is 1.
+       * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
+       (rpl_write): When failing to write on a non-blocking pipe, change
+       errno from ENOSPC to EAGAIN.
+       * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
+       putchar, puts, vfprintf, vprintf): Enable replacement also if
+       GNULIB_STDIO_H_NONBLOCKING is 1.
+       * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
+       (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
+       (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
+       CALL_WITH_SIGPIPE_EMULATION.
+       (CALL_WITH_SIGPIPE_EMULATION): Use them.
+       * m4/nonblocking.m4: New file.
+       * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
+       for non-blocking I/O support.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       GNULIB_UNISTD_H_NONBLOCKING.
+       * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
+       required for non-blocking I/O support.
+       (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
+       * modules/nonblocking (Files): Add m4/nonblocking.m4,
+       lib/stdio-write.c, m4/asm-underscore.m4.
+       (Depends-on): Add stdio, unistd.
+       (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
+       Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
+       * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
+       * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
+       * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
+       problem with non-blocking pipes.
+       * doc/posix-functions/fputc.texi: Likewise.
+       * doc/posix-functions/fputs.texi: Likewise.
+       * doc/posix-functions/fwrite.texi: Likewise.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/putc.texi: Likewise.
+       * doc/posix-functions/putchar.texi: Likewise.
+       * doc/posix-functions/puts.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+       * doc/posix-functions/write.texi: Likewise.
+
+2011-04-10  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: prohibit doubled words
+       Detect them also when they're separated by a newline.
+       There are 3 ways to customize it:
+         - disable the test on a per file basis, as usual with rules using
+           $(VC_LIST_EXCEPT)
+         - replace the default doubled-word-selecting regexp (affects all files)
+         - ignore a particular file-vs-doubled-word match
+       I nearly used that last one to ignore the "is is" match in
+       coreutils' NEWS file, since the text was "ls -is is ..."
+       To do that, I would have added this line to cfg.mk:
+         ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
+       but it would have ignored any "is is" match in NEWS.
+       Low probability, but still...
+       Instead, I changed the text, slightly:
+         -  ls -is is now consistent with ls -lis in ignoring values returned
+         +  "ls -is" is now consistent with ls -lis in ignoring values returned
+       * top/maint.mk (prohibit_double_word_RE_): Provide default.
+       (prohibit_doubled_word_): Define.
+       (sc_prohibit_doubled_word): New rule.
+       (sc_prohibit_the_the): Remove.  Subsumed by the above.
+
+2011-04-10  Jim Meyering  <meyering@redhat.com>
+
+       maint: fix doubled-word typo in comment
+       * m4/gethostname.m4: s/is is/it is/
+       * m4/getdomainname.m4: Likewise.
+
+2011-04-10  Jim Meyering  <meyering@redhat.com>
+
+       maint: remove doubled word: s/it it/it/
+       * lib/stat-time.h (get_stat_birthtime): s/it it/it/
+
+2011-04-10  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: remove useless semicolon and backslash
+       * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
+       semicolon and backslash.
+
+2011-04-10  Bruno Haible  <bruno@clisp.org>
+
+       stdint test: Fix compilation failure on OSF/1 with DTK compiler.
+       * modules/stdint-tests (Depends-on): Add wchar.
+
+2011-04-10  Jim Meyering  <meyering@redhat.com>
+
+       maint: remove doubled words in comments, e.g., s/a a/a/
+       * lib/strptime.c (day_of_the_week): s/the the/the/
+       * tests/test-chown.h (test_chown): s/a a/a/
+
+       test-chown.h: correct a cast
+       * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
+       when the destination is a stat.st_gid.
+
+2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
+
+       getaddrinfo: Fix test for sa_len member.
+       * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
+       include <sys/types.h> before <sys/socket.h>.
+
+2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       maint: change "can not" to "cannot"
+       * doc/posix-functions/iconv.texi (iconv): This one crossed line
+       boundaries.
+
+2011-04-09  Jim Meyering  <meyering@redhat.com>
+
+       maint: change "a a" to "a"
+       * tests/test-lchown.h (test_lchown): s/a a/a/
+
+       maint.mk: prohibit \<the the\>
+       * top/maint.mk (sc_prohibit_the_the): New rule.
+
+       maint: fix "the the" in comment
+       * lib/count-one-bits.h: s/the the/the/
+
+       maint: change "can not" to "cannot"
+       But do not change the occurrences in maintain.texi or in
+       build-aux/po/Makefile.in.in, which I presume comes from gettext.
+       * doc/gnulib-tool.texi: s/can not/cannot/
+       * doc/posix-functions/accept.texi (accept): Likewise.
+       * doc/posix-functions/socket.texi (socket): Likewise.
+       * lib/mbrtowc.c: Likewise.
+
+       maint.mk: prohibit use of "can not"
+       * top/maint.mk (sc_prohibit_can_not): New rule.
+       Writing "can not" (rather than "cannot") is too common.  Prohibit it.
+
+2011-04-09  Bruno Haible  <bruno@clisp.org>
+
+       careadlinkat: Guard against misuse of careadlinkatcwd.
+       * lib/careadlinkat.c: Include <stdlib.h>.
+       (careadlinkatcwd): Check that the fd argument is as expected.
+
+2011-04-09  Bruno Haible  <bruno@clisp.org>
+
+       careadlinkat: Use common coding style.
+       * lib/careadlinkat.c: Move gnulib includes after system includes.
+
+2011-04-09  Bruno Haible  <bruno@clisp.org>
+
+       careadlinkat: Clarify specification.
+       * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
+       (careadlinkatcwd): Add comment.
+       * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
+
+2011-04-09  Bruno Haible  <bruno@clisp.org>
+
+       areadlinkat: Avoid link error on many platforms.
+       * modules/areadlinkat (Depends-on): Add areadlink.
+
+2011-04-09  Bruno Haible  <bruno@clisp.org>
+
+       allocator, careadlinkat: Fix double-inclusion guard.
+       * lib/allocator.h: Fix double-inclusion guard.
+       * lib/careadlinkat.h: Likewise.
+
+2011-04-09  Bruno Haible  <bruno@clisp.org>
+
+       relocatable-prog-wrapper: Update after module 'areadlink' changed.
+       * lib/relocwrapper.c: Update dependencies hierarchy.
+       * build-aux/install-reloc: Update list of files to be compiled.
+       * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
+       lib/allocator.[hc].
+
+2011-04-08  Eric Blake  <eblake@redhat.com>
+
+       strftime: silence gnulib-tool warning
+       * modules/strftime-tests (Depends-on): Drop automatic dependency.
+
+2011-04-08  Bruno Haible  <bruno@clisp.org>
+
+       verify: Fix syntax error with GCC 4.6 in C++ mode.
+       * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
+       (HAVE_STATIC_ASSERT): New macro.
+       (verify_true, verify): Use 'static_assert' if it is supported and
+       '_Static_assert' is not supported.
+
+2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       allocator: New module.
+       * modules/allocator, lib/allocator.c: New files.
+       * lib/allocator.h (stdlib_allocator): New decl.
+       * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
+       Remove.  Do not include <stdlib.h>.
+       (careadlinkat): Use stdlib_allocator instead of rolling our own.
+       * modules/careadlinkat (Files): Remove lib/allocator.h.
+       (Depends-on): Add allocator.
+
+       stdlib: let modules use system malloc, realloc
+       * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
+       if !_GL_USE_STDLIB_ALLOC.
+       (malloc, realloc): Limit this change to a smaller scope.
+
+       * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
+       (malloc, realloc): Don't #undef; no longer needed.
+       * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+       * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+       * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
+       * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+       * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+       * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+       * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+       * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
+
+       careadlinkat: rename members to avoid problem
+       * lib/allocator.h (struct allocator): Rename members from
+       malloc/realloc to allocate/reallocate, to avoid problems if malloc
+       and realloc are #define'd.  Reported by Eric Blake in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
+       * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
+
+2011-04-08  Eric Blake  <eblake@redhat.com>
+
+       nonblocking: reduce dependency
+       * tests/test-nonblocking.c: Only test sockets when in use.
+       * modules/nonblocking-tests (Depends-on): Drop socket.
+       (Makefile.am): Link even if sockets are not present.
+       * modules/pipe2-tests (Makefile.am): Likewise.
+       * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
+
+       pipe2: fix O_NONBLOCK support on mingw
+       * modules/pipe2 (Depends-on): Add nonblocking.
+       * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
+       * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
+       * tests/test-nonblocking.c (main): Likewise.
+       * modules/pipe2-tests (Makefile.am): Avoid link failure.
+
+       fcntl-h: fix O_ACCMODE on cygwin
+       * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
+       * lib/fcntl.in.h (O_ACCMODE): Fix it.
+
+       pipe-filter: drop O_NONBLOCK workarounds
+       * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
+       * modules/pipe-filter-ii (Depends-on): Likewise.
+       * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
+
+       nonblocking: provide O_NONBLOCK for mingw
+       * modules/nonblocking (Depends-on): Add open.
+       (configure.ac): Set new witness macro.
+       * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
+       * modules/fcntl-h (Makefile.am): Substitute it.
+       * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
+       nonblocking module is in use.
+       * lib/nonblocking.c: Adjust portability test.
+       * lib/open.c (open): Don't let native open see gnulib flag.
+       * tests/test-fcntl-h.c (main): Enhance test.
+       * tests/test-open.h (test_open): Likewise.
+       * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
+
+       careadlinkat: fix compilation error on mingw
+       * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
+       within struct allocator.
+
+2011-04-06  Eric Blake  <eblake@redhat.com>
+
+       binary-io: relicense under LGPLv2+
+       * modules/binary-io (License): Relax to LGPLv2+.
+       Requested for libvirt, and required by pipe2.
+
+2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       verify: use _Static_assert if available
+       * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
+       (verify_true, verify): Use it if available.  This generates better
+       diagnostics with GCC 4.6.0 and later.
+
+2011-04-05  Bruno Haible  <bruno@clisp.org>
+
+       Remove leftover generated .h files after config.status changed.
+
+       * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
+       GL_GENERATE_ALLOCA_H.
+       * modules/alloca-opt (Makefile.am): Remove alloca.h if
+       GL_GENERATE_ALLOCA_H evaluates to false.
+
+       * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
+       GL_GENERATE_ARGZ_H.
+       * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
+       evaluates to false.
+
+       * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
+       GL_GENERATE_BYTESWAP_H.
+       * modules/byteswap (Makefile.am): Remove byteswap.h if
+       GL_GENERATE_BYTESWAP_H evaluates to false.
+
+       * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
+       GL_GENERATE_ERRNO_H.
+       * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
+       evaluates to false.
+
+       * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
+       GL_GENERATE_FLOAT_H.
+       * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
+       evaluates to false.
+
+       * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
+       GL_GENERATE_FNMATCH_H.
+       * modules/fnmatch (Makefile.am): Remove fnmatch.h if
+       GL_GENERATE_FNMATCH_H evaluates to false.
+
+       * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
+       GL_GENERATE_GLOB_H.
+       * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
+       evaluates to false.
+
+       * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
+       automake conditional GL_GENERATE_ICONV_H.
+       * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
+       evaluates to false.
+
+       * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
+       GL_GENERATE_NETINET_IN_H.
+       * modules/netinet_in (Makefile.am): Remove netinet/in.h if
+       GL_GENERATE_NETINET_IN_H evaluates to false.
+
+       * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
+       conditional GL_GENERATE_PTHREAD_H.
+       (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
+       * modules/pthread (Makefile.am): Remove pthread.h if
+       GL_GENERATE_PTHREAD_H evaluates to false.
+
+       * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
+       GL_GENERATE_SCHED_H.
+       * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
+       evaluates to false.
+
+       * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
+       conditional GL_GENERATE_SELINUX_CONTEXT_H.
+       * modules/selinux-h (Makefile.am): Remove selinux/context.h if
+       GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
+
+       * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
+       GL_GENERATE_STDARG_H.
+       * modules/stdarg (Makefile.am): Remove stdarg.h if
+       GL_GENERATE_STDARG_H evaluates to false.
+
+       * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
+       GL_GENERATE_STDBOOL_H.
+       * modules/stdbool (Makefile.am): Remove stdbool.h if
+       GL_GENERATE_STDBOOL_H evaluates to false.
+
+       * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
+       conditional GL_GENERATE_STDDEF_H.
+       (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
+       * modules/stddef (Makefile.am): Remove stddef.h if
+       GL_GENERATE_STDDEF_H evaluates to false.
+
+       * m4/stdint.m4 (gl_STDINT_H): New automake conditional
+       GL_GENERATE_STDINT_H.
+       * modules/stdint (Makefile.am): Remove stdint.h if
+       GL_GENERATE_STDINT_H evaluates to false.
+
+       * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
+       GL_GENERATE_SYSEXITS_H.
+       * modules/sysexits (Makefile.am): Remove sysexits.h if
+       GL_GENERATE_SYSEXITS_H evaluates to false.
+
+       Reported by Karl Berry and Ralf Wildenhues.
+
+2011-04-05  Bruno Haible  <bruno@clisp.org>
+
+       Ensure to rebuild generated .h files when config.status has changed.
+       * modules/arpa_inet (Makefile.am): Add dependency from .h file to
+       config.status.
+       * modules/ctype (Makefile.am): Likewise.
+       * modules/dirent (Makefile.am): Likewise.
+       * modules/errno (Makefile.am): Likewise.
+       * modules/fcntl-h (Makefile.am): Likewise.
+       * modules/float (Makefile.am): Likewise.
+       * modules/getopt-posix (Makefile.am): Likewise.
+       * modules/glob (Makefile.am): Likewise.
+       * modules/iconv-h (Makefile.am): Likewise.
+       * modules/inttypes (Makefile.am): Likewise.
+       * modules/langinfo (Makefile.am): Likewise.
+       * modules/locale (Makefile.am): Likewise.
+       * modules/math (Makefile.am): Likewise.
+       * modules/netdb (Makefile.am): Likewise.
+       * modules/netinet_in (Makefile.am): Likewise.
+       * modules/poll-h (Makefile.am): Likewise.
+       * modules/pthread (Makefile.am): Likewise.
+       * modules/pty (Makefile.am): Likewise.
+       * modules/sched (Makefile.am): Likewise.
+       * modules/search (Makefile.am): Likewise.
+       * modules/selinux-h (Makefile.am): Likewise.
+       * modules/signal (Makefile.am): Likewise.
+       * modules/spawn (Makefile.am): Likewise.
+       * modules/stdarg (Makefile.am): Likewise.
+       * modules/stdbool (Makefile.am): Likewise.
+       * modules/stddef (Makefile.am): Likewise.
+       * modules/stdint (Makefile.am): Likewise.
+       * modules/stdio (Makefile.am): Likewise.
+       * modules/stdlib (Makefile.am): Likewise.
+       * modules/string (Makefile.am): Likewise.
+       * modules/strings (Makefile.am): Likewise.
+       * modules/sys_file (Makefile.am): Likewise.
+       * modules/sys_ioctl (Makefile.am): Likewise.
+       * modules/sys_select (Makefile.am): Likewise.
+       * modules/sys_socket (Makefile.am): Likewise.
+       * modules/sys_stat (Makefile.am): Likewise.
+       * modules/sys_time (Makefile.am): Likewise.
+       * modules/sys_times (Makefile.am): Likewise.
+       * modules/sys_utsname (Makefile.am): Likewise.
+       * modules/sys_wait (Makefile.am): Likewise.
+       * modules/sysexits (Makefile.am): Likewise.
+       * modules/termios (Makefile.am): Likewise.
+       * modules/time (Makefile.am): Likewise.
+       * modules/unistd (Makefile.am): Likewise.
+       * modules/wchar (Makefile.am): Likewise.
+       * modules/wctype-h (Makefile.am): Likewise.
+       Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
+
+2011-04-05  Bruno Haible  <bruno@clisp.org>
+
+       pipe2: Relicense under LGPLv2+.
+       * modules/pipe2 (License): Change to LGPLv2+.
+       Requested by Eric Blake, for libvirt.
+
+2011-04-05  Bruce Korb  <bkorb@gnu.org>
+
+       bootstrap: compute gnulib_extra_files after updating build_aux
+       * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
+       change build_aux or also supply gnulib_extra_files.  Handle correctly.
+
+2011-04-05  Eric Blake  <eblake@redhat.com>
+
+       bootstrap: preserve git whitelist item sorting
+       * build-aux/bootstrap (sort_patterns): New function.
+       (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
+
+2011-04-05  Simon Josefsson  <simon@josefsson.org>
+
+       * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
+       sc_space_tab check.
+
+2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       areadlink, areadlinkat: rewrite in terms of careadlinkat
+       * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
+       instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
+       (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
+       (malloc, realloc): Remove #undefs.
+       (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
+       * modules/areadlink (Depends-on): Add careadlinkat.  Remove
+       readlink, ssize_t, stdint, unistd.
+       * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
+       areadlink, stdint.
+
+       careadlinkat: new module
+       * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
+       * modules/careadlinkat: New files, written by me with
+       a review and feedback from Ben Pfaff in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
+
+2011-04-01  Bruno Haible  <bruno@clisp.org>
+
+       wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
+       * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
+       _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
+       systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
+       Reported by Bruce Korb <bruce.korb@gmail.com>.
+
+2011-04-01  Bruno Haible  <bruno@clisp.org>
+
+       wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
+       * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
+       * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
+       * modules/wcpcpy (Depends-on): Add extensions.
+       * modules/wcpncpy (Depends-on): Likewise.
+       * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
+       systems.
+       * doc/posix-functions/wcpncpy.texi: Likewise.
+       * doc/posix-functions/wcwidth.texi: Likewise.
+
+2011-03-31  Eric Blake  <eblake@redhat.com>
+
+       nonblocking: fix mingw test failures
+       * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
+       non-blocking flag on regular file.
+       (get_nonblocking_flag): Set errno on invalid fd.
+       * tests/test-nonblocking.c (main): Avoid test failure on
+       directories if fchdir is not active.
+       * modules/nonblocking-tests (Depends-on): Drop unused dependency.
+
+2011-03-31  Bruno Haible  <bruno@clisp.org>
+
+       Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
+       * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
+       gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
+       Reported by Simon Josefsson <simon@josefsson.org>.
+
+2011-03-31  Bruno Haible  <bruno@clisp.org>
+       and Eric Blake  <eblake@redhat.com>
+
+       nonblocking: new module
+       * modules/nonblocking: New module.
+       * modules/nonblocking-tests: Likewise.
+       * lib/nonblocking.h: New file.
+       * lib/nonblocking.c: Likewise.
+       * tests/test-nonblocking.c: New test.
+       * lib/ioctl.c (ioctl) [mingw]: Update comment.
+
+2011-03-30  Bruno Haible  <bruno@clisp.org>
+
+       stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
+       * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
+       instead of 'printf' format for GCC >= 4.4.
+       (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
+       (fprintf, printf, vfprintf, vprintf): Declare with
+       _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
+       the system's vfprintf() function.
+       Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
+
+2011-03-30  Eric Blake  <eblake@redhat.com>
+
+       passfd: fix scoping bug
+       * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
+       before sendmsg/recvmsg.
+
+       passfd: standardize coding conventions
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
+       can be learned at compile time.
+       * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
+       ifdefs.
+       (sendfd, recvfd): Follow gnulib code conventions.
+
+       passfd: fix incorrect sendmsg arguments
+       * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
+       incorrect msg_controllen value.
+       * modules/passfd-tests (Depends-on): Check for alarm.
+       * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
+       Reported by Bastien ROUCARIES.
+
+2011-03-30  Bruno Haible  <bruno@clisp.org>
+
+       c-strcasestr: Relicense under LGPLv2+.
+       * modules/c-strcasestr (License): Change to LGPLv2+.
+       Requested by Eric Blake, for libvirt.
+
+2011-03-30  Simon Josefsson  <simon@josefsson.org>
+
+       * users.txt: Add libidn2.  Fix libtasn1 link.
+
+2011-03-30  Jim Meyering  <meyering@redhat.com>
+
+       tests: readlink* ("",... fails with EINVAL on newer kernels
+       readlink and readlinkat have typically failed with ENOENT for
+       the invalid, empty file name,  "".  However, with the advent
+       of linux-2.6.39, they fail with EINVAL.
+       * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
+       when operating on the empty file name.
+       * tests/test-readlink.h (test_readlink): Likewise.
+
+2011-03-29  Bruno Haible  <bruno@clisp.org>
+
+       Relicense some modules under LGPLv2+, for libidn2.
+       * modules/array-mergesort (License): Change to LGPLv2+.
+       * modules/c-strcaseeq (License): Likewise.
+       * modules/striconveh (License): Likewise.
+       * modules/striconveha (License): Likewise.
+       * modules/uniconv/base (License): Likewise.
+       * modules/uniconv/u8-conv-from-enc (License): Likewise.
+       * modules/uniconv/u8-strconv-from-enc (License): Likewise.
+       * modules/uniconv/u8-strconv-from-locale (License): Likewise.
+       * modules/unictype/base (License): Likewise.
+       * modules/unictype/bidiclass-of (License): Likewise.
+       * modules/unictype/category-M (License): Likewise.
+       * modules/unictype/category-none (License): Likewise.
+       * modules/unictype/category-of (License): Likewise.
+       * modules/unictype/category-test (License): Likewise.
+       * modules/unictype/category-test-withtable (License): Likewise.
+       * modules/unictype/combining-class (License): Likewise.
+       * modules/unictype/joiningtype-of (License): Likewise.
+       * modules/unictype/scripts (License): Likewise.
+       * modules/uninorm/base (License): Likewise.
+       * modules/uninorm/canonical-decomposition (License): Likewise.
+       * modules/uninorm/composition (License): Likewise.
+       * modules/uninorm/decompose-internal (License): Likewise.
+       * modules/uninorm/decomposition-table (License): Likewise.
+       * modules/uninorm/nfc (License): Likewise.
+       * modules/uninorm/nfd (License): Likewise.
+       * modules/uninorm/u32-normalize (License): Likewise.
+       * modules/unistr/base (License): Likewise.
+       * modules/unistr/u32-cpy (License): Likewise.
+       * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
+       * modules/unistr/u32-to-u8 (License): Likewise.
+       * modules/unistr/u32-uctomb (License): Likewise.
+       * modules/unistr/u8-check (License): Likewise.
+       * modules/unistr/u8-mblen (License): Likewise.
+       * modules/unistr/u8-mbtouc (License): Likewise.
+       * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
+       * modules/unistr/u8-mbtoucr (License): Likewise.
+       * modules/unistr/u8-prev (License): Likewise.
+       * modules/unistr/u8-strlen (License): Likewise.
+       * modules/unistr/u8-to-u32 (License): Likewise.
+       * modules/unistr/u8-uctomb (License): Likewise.
+       * modules/unitypes (License): Likewise.
+       Requested by Simon Josefsson.
+
+2011-03-29  Simon Josefsson  <simon@josefsson.org>
+
+       lib-symbol-visibility: Add a notice.
+       * modules/lib-symbol-visibility (Notice): New field.
+
+2011-03-29  Bruno Haible  <bruno@clisp.org>
+
+       getaddrinfo: Doc fix.
+       * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
+       section "fixed in Gnulib".
+
+2011-03-28  Simon Josefsson  <simon@josefsson.org>
+
+       * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
+       Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/property-byname: Reduce the number of load-time relocations.
+       * lib/unictype/pr_byname.c: Include <stdlib.h>.
+       (UC_PROPERTY_INDEX_*): New enumeration values.
+       (uc_property_byname): Convert an index from the lookup table to an
+       uc_property_t.
+       * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
+       values.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/property-byname: Allow omitted word separators and aliases.
+       * lib/unictype/pr_byname.gperf: Add property names without word
+       separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
+       for 'space'.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/joininggroup-byname: Allow hyphens, omitted word separators.
+       * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
+       also hyphens to space.
+       * lib/unictype/joininggroup_byname.gperf: Recognize the names also
+       without spaces.
+       * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/joiningtype-byname: Recognize long names as well.
+       * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
+       a long name.
+       * lib/unictype/joiningtype_byname.c: Include <string.h>,
+       unictype/joiningtype_byname.h.
+       (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
+       * lib/unictype/joiningtype_byname.gperf: New file.
+       * modules/unictype/joiningtype-byname (Files): Add
+       lib/unictype/joiningtype_byname.gperf.
+       (Depends-on): Add gperf.
+       (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
+       * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
+       long names.
+
+       Tests for module 'unictype/joiningtype-longname'.
+       * modules/unictype/joiningtype-longname-tests: New file.
+       * tests/unictype/test-joiningtype_longname.c: New file.
+
+       New module 'unictype/joiningtype-longname'.
+       * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
+       * lib/unictype/joiningtype_longname.c: New file.
+       * modules/unictype/joiningtype-longname: New file.
+       * modules/unictype/joiningtype-all (Depends-on): Add
+       unictype/joiningtype-longname.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/bidiclass-byname: Recognize long names as well.
+       * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
+       name.
+       * lib/unictype/bidi_byname.c: Include <string.h>,
+       unictype/bidi_byname.h.
+       (uc_bidi_class_byname): Use uc_bidi_class_lookup.
+       * lib/unictype/bidi_byname.gperf: New file.
+       * modules/unictype/bidiclass-byname (Files): Add
+       lib/unictype/bidi_byname.gperf.
+       (Depends-on): Add gperf.
+       (Makefile.am): Add rule for generating unictype/bidi_byname.h.
+       * tests/unictype/test-bidi_byname.c (main): Test the recognition of
+       long names.
+
+       Tests for module 'unictype/bidiclass-longname'.
+       * modules/unictype/bidiclass-longname-tests: New file.
+       * tests/unictype/test-bidi_longname.c: New file.
+
+       New module 'unictype/bidiclass-longname'.
+       * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
+       * lib/unictype/bidi_longname.c: New file.
+       * modules/unictype/bidiclass-longname: New file.
+       * modules/unictype/bidiclass-all (Depends-on): Add
+       unictype/bidiclass-longname.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/bidi*: Rename modules.
+       * modules/unictype/bidiclass-all: Renamed from
+       modules/unictype/bidicategory-all.
+       * modules/unictype/bidiclass-name: Renamed from
+       modules/unictype/bidiclass-name.
+       (Description): Update.
+       * modules/unictype/bidiclass-name-tests: Renamed from
+       modules/unictype/bidicategory-name-tests.
+       * modules/unictype/bidiclass-byname: Renamed from
+       modules/unictype/bidicategory-byname.
+       (Description): Update.
+       * modules/unictype/bidiclass-byname-tests: Renamed from
+       modules/unictype/bidicategory-byname-tests.
+       * modules/unictype/bidiclass-of: Renamed from
+       modules/unictype/bidicategory-of.
+       (Description): Update.
+       * modules/unictype/bidiclass-of-tests: Renamed from
+       modules/unictype/bidicategory-of-tests.
+       * modules/unictype/bidiclass-test: Renamed from
+       modules/unictype/bidicategory-test.
+       (Description): Update.
+       * modules/unictype/bidiclass-test-tests: Renamed from
+       modules/unictype/bidicategory-test-tests.
+       * modules/unictype/bidicategory-all: New file, a simple redirection.
+       * modules/unictype/bidicategory-name: Likewise.
+       * modules/unictype/bidicategory-byname: Likewise.
+       * modules/unictype/bidicategory-of: Likewise.
+       * modules/unictype/bidicategory-test: Likewise.
+       * modules/unictype/property-bidi-* (Dependencies): Update.
+       * lib/unictype/bidi_*.c: Update comment.
+
+2011-03-26  Bruno Haible  <bruno@clisp.org>
+
+       unictype/bidi*: Rename functions, part 2.
+       * modules/unictype/bidicategory-name (configure.ac): Update required
+       libunistring version.
+       * modules/unictype/bidicategory-byname (configure.ac): Likewise.
+
+2011-03-25  Bruno Haible  <bruno@clisp.org>
+
+       New module 'unictype/combining-class-all'.
+       * modules/unictype/combining-class-all: New file.
+
+       Tests for module 'unictype/combining-class-byname'.
+       * modules/unictype/combining-class-byname-tests: New file.
+       * tests/unictype/test-combiningclass_byname.c: New file.
+
+       New module 'unictype/combining-class-byname'.
+       * lib/unictype.in.h (uc_combining_class_byname): New declaration.
+       * lib/unictype/combiningclass_byname.c: New file.
+       * lib/unictype/combiningclass_byname.gperf: New file.
+       * modules/unictype/combining-class-byname: New file.
+
+       Tests for module 'unictype/combining-class-longname'.
+       * modules/unictype/combining-class-longname-tests: New file.
+       * tests/unictype/test-combiningclass_longname.c: New file.
+
+       New module 'unictype/combining-class-longname'.
+       * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
+       * lib/unictype/combiningclass_longname.c: New file.
+       * modules/unictype/combining-class-longname: New file.
+
+       Tests for module 'unictype/combining-class-name'.
+       * modules/unictype/combining-class-name-tests: New file.
+       * tests/unictype/test-combiningclass_name.c: New file.
+
+       New module 'unictype/combining-class-name'.
+       * lib/unictype.in.h (uc_combining_class_name): New declaration.
+       * lib/unictype/combiningclass_name.c: New file.
+       * modules/unictype/combining-class-name: New file.
+
+2011-03-25  Bruno Haible  <bruno@clisp.org>
+
+       unictype/combining-class: Rename source files.
+       * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
+       of unictype/combining.h.
+       * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
+       Update.
+       * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
+       * modules/unictype/combining-class (Description): Fix.
+       (Files, Makefile.am): Update.
+       * tests/unictype/test-combiningclass.c: Renamed from
+       tests/unictype/test-combining.c.
+       * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
+
+2011-03-25  Bruno Haible  <bruno@clisp.org>
+
+       unictype: Update list of canonical combining classes.
+       * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
+
+2011-03-25  Bruno Haible  <bruno@clisp.org>
+
+       unictype/category-byname: Recognize long names as well.
+       * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
+       a long name.
+       * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
+       unictype/categ_byname.h.
+       (UC_CATEGORY_INDEX_*): New enumeration values.
+       (uc_general_category_byname): Use uc_general_category_lookup and
+       convert from index to value.
+       * lib/unictype/categ_byname.gperf: New file.
+       * modules/unictype/category-byname (Files): Add
+       lib/unictype/categ_byname.gperf.
+       (Depends-on): Add gperf.
+       (Makefile.am): Add rule for generating unictype/categ_byname.h.
+       * tests/unictype/test-categ_byname.c (main): Test the recognition of
+       long names.
+
+       Tests for module 'unictype/category-longname'.
+       * modules/unictype/category-longname-tests: New file.
+       * tests/unictype/test-categ_longname.c: New file.
+
+       New module 'unictype/category-longname'.
+       * lib/unictype.in.h (uc_general_category_long_name): New declaration.
+       * lib/unictype/categ_longname.c: New file.
+       * modules/unictype/category-longname: New file.
+       * modules/unictype/category-all (Depends-on): Add it.
+
+2011-03-25  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'unictype/category-LC'.
+       * modules/unictype/category-LC-tests: New file.
+       * tests/unictype/test-categ_LC.c: New file, automatically generated.
+
+       New module 'unictype/category-LC'.
+       * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
+       (UC_CATEGORY_LC): New declaration.
+       (UC_CASED_LETTER): New macro.
+       * lib/gen-uni-tables.c (is_category_LC): New function.
+       (output_categories): Also handle category LC.
+       (UC_CATEGORY_MASK_LC): New enumeration value.
+       (general_category_byname): Also handle category LC.
+       * lib/unictype/categ_LC.c: New file.
+       * lib/unictype/categ_LC.h: New file, automatically generated.
+       * lib/unictype/categ_name.c (uc_general_category_name): Also handle
+       category LC.
+       * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
+       * modules/unictype/category-LC: New file.
+       * modules/unictype/category-byname (Depends-on): Add
+       unictype/category-LC.
+       * modules/unictype/category-all (Depends-on): Likewise.
+
+2011-03-25  Eric Blake  <eblake@redhat.com>
+
+       xmalloc: revert yesterday's regression
+       * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
+       realloc's underlying behavior (allowing allocation of zero-size
+       objects, especially if malloc-gnu is also in use).
+
+2011-03-25  Reuben Thomas  <rrt@sc3d.org>
+
+       maint.mk: add missing version to VC-tag
+       * top/maint.mk: git tag was missing actual tag name; add it.
+
+       valgrind: do leak checking, and exit with code 1 on error (not 0)
+       * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
+       to VALGRIND.
+
+2010-11-30  Reuben Thomas  <rrt@sc3d.org>
+
+       posix-modules: say what it does.
+       * posix-modules: Add a line to the --help output saying what it does.
+
+2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       xmalloc: Do not leak if underlying realloc is C99 compatible.
+       * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
+       This avoids a leak on C99-based systems.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
+
+2011-03-24  Eric Blake  <eblake@redhat.com>
+
+       realloc: document portability problem
+       * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
+       passing 0 size to realloc.
+
+2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
+
+       doc: update users.txt
+       * users.txt: Add cvsps, tmpwatch
+
+2011-03-23  Matt Rice  <ratmice@gmail.com>
+
+       doc: update users.txt
+       * users.txt: Add gdb.
+
+2011-03-23  Jim Meyering  <meyering@redhat.com>
+
+       doc: update users.txt
+       Looking through matches up to the following URL (there are still
+       several more pages), I found several projects that use gnulib:
+       http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
+       * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
+       gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
+
+2011-03-22  Bruno Haible  <bruno@clisp.org>
+
+       unictype/bidi*: Rename functions.
+       * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
+       uc_bidi_class, uc_is_bidi_class): New declarations.
+       * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
+       uc_bidi_category_byname.
+       (uc_bidi_category_byname): New function.
+       * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
+       u_bidi_category_name.
+       (uc_bidi_class_name): Renamed from uc_bidi_category_name.
+       (uc_bidi_category_name): New function.
+       * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
+       uc_bidi_category.
+       (uc_bidi_category): New function.
+       * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
+       uc_is_bidi_category. Invoke uc_bidi_class.
+       (uc_is_bidi_category): New function.
+       * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
+       instead of uc_bidi_category_byname.
+       * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
+       instead of uc_bidi_category_name.
+       * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
+       uc_bidi_category.
+       * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
+       instead of uc_is_bidi_category.
+
+2011-03-21  Bruno Haible  <bruno@clisp.org>
+
+       New module 'unictype/joininggroup-all'.
+       * modules/unictype/joininggroup-all: New file.
+
+       Tests for module 'unictype/joininggroup-of'.
+       * modules/unictype/joininggroup-of-tests: New file.
+       * tests/unictype/test-joininggroup_of.c: New file.
+       * tests/unictype/test-joininggroup_of.h: New file, automatically
+       generated by gen-uni-tables.
+
+       New module 'unictype/joininggroup-of'.
+       * modules/unictype/joininggroup-of: New file.
+       * lib/unictype/joininggroup_of.c: New file.
+       * lib/unictype/joininggroup_of.h: New file, automatically generated by
+       gen-uni-tables.
+
+       Tests for module 'unictype/joininggroup-byname'.
+       * modules/unictype/joininggroup-byname-tests: New file.
+       * tests/unictype/test-joininggroup_byname.c: New file.
+
+       New module 'unictype/joininggroup-byname'.
+       * modules/unictype/joininggroup-byname: New file.
+       * lib/unictype/joininggroup_byname.c: New file.
+       * lib/unictype/joininggroup_byname.gperf: New file.
+
+       Tests for module 'unictype/joininggroup-name'.
+       * modules/unictype/joininggroup-name-tests: New file.
+       * tests/unictype/test-joininggroup_name.c: New file.
+
+       New module 'unictype/joininggroup-name'.
+       * modules/unictype/joininggroup-name: New file.
+       * lib/unictype/joininggroup_name.c: New file.
+       * lib/unictype/joininggroup_name.h: New file.
+
+       New module 'unictype/joiningtype-all'.
+       * modules/unictype/joiningtype-all: New file.
+
+       Tests for module 'unictype/joiningtype-of'.
+       * modules/unictype/joiningtype-of-tests: New file.
+       * tests/unictype/test-joiningtype_of.c: New file.
+       * tests/unictype/test-joiningtype_of.h: New file, automatically
+       generated by gen-uni-tables.
+
+       New module 'unictype/joiningtype-of'.
+       * modules/unictype/joiningtype-of: New file.
+       * lib/unictype/joiningtype_of.c: New file.
+       * lib/unictype/joiningtype_of.h: New file, automatically generated by
+       gen-uni-tables.
+
+       Tests for module 'unictype/joiningtype-byname'.
+       * modules/unictype/joiningtype-byname-tests: New file.
+       * tests/unictype/test-joiningtype_byname.c: New file.
+
+       New module 'unictype/joiningtype-byname'.
+       * modules/unictype/joiningtype-byname: New file.
+       * lib/unictype/joiningtype_byname.c: New file.
+
+       Tests for module 'unictype/joiningtype-name'.
+       * modules/unictype/joiningtype-name-tests: New file.
+       * tests/unictype/test-joiningtype_name.c: New file.
+
+       New module 'unictype/joiningtype-name'.
+       * modules/unictype/joiningtype-name: New file.
+       * lib/unictype/joiningtype_name.c: New file.
+
+       unictype: Add support for Arabic shaping properties.
+       * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
+       (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
+       declarations.
+       (UC_JOINING_GROUP_*): New enumeration values.
+       (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
+       declarations.
+       * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
+       (unicode_joining_type): New variable.
+       (UC_JOINING_GROUP_*): New enumeration values.
+       (unicode_joining_group): New variable.
+       (fill_arabicshaping, joining_type_as_c_identifier,
+       output_joining_type_test, output_joining_type,
+       joining_group_as_c_identifier, output_joining_group_test,
+       output_joining_group): New functions.
+       (main); Add an argument denoting the ArabicShaping.txt file. Invoke
+       fill_arabicshaping and output_joining_type_test, output_joining_type,
+       output_joining_group_test, output_joining_group.
+       Reported by Simon Josefsson.
+
+2011-03-21  Jim Meyering  <meyering@redhat.com>
+
+       strftime: fix a bug in yesterday's change
+       * lib/strftime.c (add): Accommodate width's initial value of -1.
+       Otherwise, nstrftime would copy uninitialized data into
+       the result buffer.
+
+2011-03-21  Jim Meyering  <meyering@redhat.com>
+
+       tests: add strftime-tests module
+       * tests/test-strftime.c: New file.
+       * modules/strftime-tests: New module.
+
+2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       strftime: don't assume a byte count fits in 'int'
+       * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
+       found this problem by static analysis, using gcc -Wstrict-overflow
+       (GCC 4.5.2, x86-64).  This reported an optimization that depended
+       on an integer overflow having undefined behavior, but it turns out
+       that the argument is a size, which might not fit in 'int' anyway,
+
+2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdio: don't require ignore_value around fwrite
+
+       This patch works around libc bug 11959
+       <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
+       Without this patch, applications must often write
+       ignore_value (fwrite (...)) even though the ignore_value is
+       not helpful here.  It's common to write many objects, using
+       fwrite/printf/etc., and then use ferror to detect output error.
+
+       I considered making this patch optional, but decided against it,
+       because libc is obviously being inconsistent here: there is no
+       reason libc should insist that user code must inspect fwrite
+       return's value without also insisting that it inspect printf's,
+       putchar's, etc.  If user code wants to have a strict style where
+       all these functions' values are checked (so that ferror need not
+       be checked), we could add support for that style in a new gnulib
+       module, but in the meantime it's better to be consistent and to
+       support common usage.
+
+       * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
+       to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
+       that we are compiling in checking mode, and if not C++, and
+       if not already wrapping fwrite for some other reason.
+       (fwrite): #define to rpl_fwrite if the latter is defined.
+
+2011-03-20  Bruno Haible  <bruno@clisp.org>
+
+       verror: Fix compilation error introduced on 2011-02-13.
+       * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
+       instead of __attribute__.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+            Bruno Haible  <bruno@clisp.org>
+
+       socklen: do not depend on sys_socket
+       While trying to modify Emacs to use gnulib's socklen module,
+       I discovered a circular dependency: socklen depends on sys_socket
+       and vice versa.  Emacs can use socklen, but it does not need
+       sys_socket because it has its own substitute for sys/socket.h.
+       * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
+       gl_TYPE_SOCKLEN_T.
+       (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
+       gl_PREREQ_SYS_H_SOCKET.
+       (gl_TYPE_SOCKLEN_T): Require it instead of requiring
+       gl_PREREQ_SYS_H_SOCKET.
+       * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
+       gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
+       * modules/socklen (Depends-on): Do not depend on sys_socket.
+       (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
+
+2011-03-20  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: sort file names *after* new transformation
+       * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
+       prefix would have led to an unwarranted failure in GNU parted.
+       Sort after that transformation.
+
+2011-03-19  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: fix po-file syntax-check rule
+       * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
+       Patch by Bruno Haible.
+
+2011-03-19  Bruno Haible  <bruno@clisp.org>
+
+       socklen: Update comment.
+       * m4/socklen.m4: Update comment about platforms.
+
+2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+            Bruno Haible  <bruno@clisp.org>
+
+       inet_ntop, inet_pton: Simplify.
+       * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
+       documented to provide socklen_t and we already depend on sys_socket.
+       * modules/inet_pton (Depends-on): Likewise.
+       * lib/arpa_inet.in.h: Adjust comment.
+
+2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+            Bruno Haible  <bruno@clisp.org>
+
+       netdb: Simplify.
+       * modules/netdb (Depends-on): Remove socklen, since sys_socket is
+       documented to provide socklen_t and we already depend on sys_socket.
+       * lib/netdb.in.h: Adjust comment.
+
+2011-03-19  Bruno Haible  <bruno@clisp.org>
+
+       sys_socket, netdb: Document problem with socklen_t.
+       * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
+       platforms.
+       * doc/posix-headers/netdb.texi: Likewise.
+
+2011-03-18  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: let po check work in VPATH build
+       * top/maint.mk (po_file): Allow cfg.mk override.
+       (sc_po_check): Allow VPATH use.
+       Reported by Jiri Denemark.
+
+2011-03-16  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: allow fine-grained syntax-check exclusion via Make variables
+       Before, you would have had to create one .x-sc_ file per rule in order
+       to exempt offending files.  Now, you may instead use a Make variable --
+       usually defined in cfg.mk -- whose name identifies the affected rule.
+       * top/maint.mk (_sc_excl): Define.
+       (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
+       (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       ignore-value tests: Avoid warnings.
+       * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
+       empty for gcc < 3.4.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd: Fix link error on Solaris.
+       * modules/passfd (Description): Correct.
+       (Depends-on): Add socketlib.
+       (Link): New section.
+       * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd: Fix link error on AIX 5.2.
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
+       * lib/sys_socket.in.h: Include <stddef.h>.
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
+       CMSG_FIRSTHDR. Remove unused variable.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd: Fix compilation error on OpenBSD.
+       * lib/passfd.c: Include <sys/uio.h>.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd test: Fix warnings.
+       * tests/test-passfd.c: Include <sys/wait.h>.
+       (main): Fix typo.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd module, part 4, tweaks.
+       * tests/test-passfd.c: Reorder includes.
+       (main): Fix perror and printf calls.
+
+2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
+
+       passfd module, part 4.
+       * modules/passfd-tests: New file.
+       * tests/test-passfd.c: New file.
+
+2011-03-13  Jim Meyering  <meyering@redhat.com>
+
+       Makefile: rely on GNU make; derive syntax-check rule names
+       Rather than requiring that each sc_ rule be listed as a dependent
+       of "check", use features of GNU make to derive the list.
+       * Makefile (syntax-check-rules): Define.
+       (check): Depend on the new variable, not the hard-coded list.
+
+2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       passfd module, part 3.
+       * lib/passfd.h (recvfd): Add a flags argument.
+       * lib/passfd.c: Include <fcntl.h>, cloexec.h.
+       (recvfd): Add a flags argument.
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
+       exists.
+       * modules/passfd (Depends-on): Add cloexec.
+       Suggested by Eric Blake.
+
+2011-03-13  Bruno Haible  <bruno@clisp.org>
+
+       passfd module, part 2, tweaks.
+       * modules/passfd (Files): Reorder.
+       (Depends-on): Remove errno.
+       (Include): Remove <sys/socket.h>, <sys/un.h>.
+       * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
+       * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
+       specification header. Include <sys/socket.h> always. Don't include
+       <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
+       (sendfd): Clarify that it sets errno when it fails.
+       (recvfd): Fix specification.
+
+2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
+
+       passfd module, part 2.
+       * modules/passfd: New file.
+       * lib/passfd.h: New file.
+       * lib/passfd.c: New file.
+
+2011-03-12  Bruno Haible  <bruno@clisp.org>
+
+       wcswidth, mbswidth: Avoid integer overflow.
+       * lib/wcswidth.c: Include <limits.h>.
+       * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
+       * lib/mbswidth.c: Include <limits.h>.
+       (mbsnwidth): Avoid 'int' overflow.
+       Reported by Jim Meyering.
+
+2011-03-12  Bruno Haible  <bruno@clisp.org>
+
+       futimens, utimensat: Avoid endless recursion on Solaris 10.
+       * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
+       Solaris.
+       Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
+       in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
+
+2011-03-11  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: relax a regexp to accommodate other formatting styles
+       * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
+       between "ngettext" and the following "(".
+
+2011-03-11  Pádraig Brady <P@draigBrady.com>
+
+       maint.mk: suppress a false positive warning
+       * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
+       diagnostics are marked with ngettext.
+
+2011-03-10  Eric Blake  <eblake@redhat.com>
+
+       wchar: add explicit dependencies, for Tru64
+       * modules/mbmemcasecoll (Depends-on): Add wchar.
+       * modules/mbtowc (Depends-on): Likewise.
+       * modules/vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u-printf-args (Depends-on): Likewise.
+       * modules/wctomb (Depends-on): Likewise.
+       Reported by Peter O'Gorman.
+
+2011-03-08  Bruno Haible  <bruno@clisp.org>
+
+       passfd module, part 1, tweaks.
+       * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
+       Improve indentation. Improve AC_MSG_CHECKING messages.
+       * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
+       gl_SOCKET_FAMILIES.
+
+2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
+
+       passfd module, part 1.
+       * m4/afunix.m4: New file.
+       * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
+       sockets.
+
+2011-03-08  Bruno Haible  <bruno@clisp.org>
+
+       regex-quote: New API.
+       * lib/regex-quote.h: Include <stdbool.h>.
+       (struct regex_quote_spec): New type.
+       (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
+       New declarations.
+       (regex_quote_length, regex_quote_copy, regex_quote): Take a
+       'const struct regex_quote_spec *' argument.
+       * lib/regex-quote.c (RE_*, PCRE_*): New macros.
+       (pcre_special): New constant.
+       (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
+       New functions.
+       (regex_quote_length, regex_quote_copy, regex_quote): Take a
+       'const struct regex_quote_spec *' argument.
+       * modules/regex-quote (Depends-on): Add stdbool.
+       * tests/test-regex-quote.c (check): Update for new API. Add test for
+       anchored results.
+       * NEWS: Mention the API change.
+       Reported by Reuben Thomas and Eric Blake.
+
+2011-03-06  Bruno Haible  <bruno@clisp.org>
+
+       regex-quote: Fix creation of POSIX extended regular expressions.
+       * lib/regex-quote.c (ere_special): Add grouping and alternation
+       operators.
+
+2011-03-05  Bruno Haible  <bruno@clisp.org>
+
+       doc: Improve doc regarding autopoint vs. gnulib.
+       * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
+       disable autopoint while running autoreconf.
+       Suggested by Ralf Wildenhues.
+
+2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
+       * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
+
+2011-03-03  Bruce Korb  <bkorb@gnu.org>
+
+       parse-duration: remove xalloc.h dependency
+       * lib/parse-duration.c (parse_period): handle NULL return from
+       strdup instead of calling xstrdup().
+       * modules/parse-duration: remove "xalloc" dependency
+
+2011-03-03  Matthew Booth  <mbooth@redhat.com>
+
+       bootstrap: honor m4_base when running aclocal
+       * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
+
+2011-03-02  Jim Meyering  <meyering@redhat.com>
+
+       getopt-gnu: relax license from LGPLv3+ to LGPLv2+
+       * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
+       on request from Matt Booth.
+
+2011-03-01  Eric Blake  <eblake@redhat.com>
+
+       test-link: work on Hurd
+       * tests/test-link.h (test_link): Hurd rejects linking directories
+       with EISDIR instead of the POSIX-mandated EPERM.
+
+2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdio: simplify by moving files to printf-posix, sigpipe
+       * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
+       since this symbol is needed only if printf is replaced.
+       * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
+       Require gl_ASM_SYMBOL_PREFIX.
+       * modules/printf-posix (Files): Add m4/asm-underscore.m4.
+       * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
+       (Depends-on): Add 'raise'.
+       (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
+       * modules/stdio (Files): Remove lib/stdio-write.c,
+       m4/asm-underscore.m4.
+       (Depends-on): Remove 'raise'.
+
+       stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
+       * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
+       * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
+       * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
+
+2011-02-28  Bruno Haible  <bruno@clisp.org>
+
+       localcharset: Assume ANSI C behaviour of free().
+       * lib/localcharset.c (get_charset_aliases): Remove NULL test before
+       calling free().
+       Suggested by Simon Josefsson <simon@josefsson.org>.
+
+2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
+            Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
+            Bruno Haible  <bruno@clisp.org>  (tiny change)
+
+       On Cygwin, use /proc file system instead of win32 API.
+       * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
+       Win32 file names.
+       (DllMain): Simplify by removing Cygwin specific code.
+       (find_shared_library_fullname): Use Linux specific implementation also
+       for Cygwin.
+       (get_shared_library_fullname): Update accordingly.
+       * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
+       Win32 file names.
+       (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
+       Cygwin specific code.
+
+2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
+           Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
+
+       Fix OpenMP flag detection for various Fortran compilers.
+       * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
+       OpenMP-conditional compilation construct, to force compile
+       failure with missing OpenMP flag.
+       (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
+
+2011-02-25  Eric Blake  <eblake@redhat.com>
+
+       strstr: expand test coverage
+       * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
+       compilation.
+       * tests/test-memmem.c (main): Duplicate tests.
+       * tests/test-strcasestr.c (main): Likewise.
+       * tests/test-c-strcasestr.c (main): Likewise.
+
+2011-02-25  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: detect missing-NL-at-EOF, too
+       * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
+       it also detects when a file lacks a newline at EOF.
+       (require_exactly_one_NL_at_EOF_): Renamed from
+       detect_empty_lines_at_EOF_.  I opted not to rename the rule,
+       since people may well have .x-sc_... file names tied to the
+       existing name.  Suggested by Eric Blake.
+
+2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       dirname: move m4/dos.m4 functionality into lib/dosname.h
+
+       m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
+       extracts symbols from it, puts them into config.h; but it's much
+       easier to use the symbols directly.  filename.h already does this,
+       but it disagrees with dos.m4 in some respects.  This patch
+       introduces a different include file dosname.h that packages up
+       dos.m4, and then later we can work on merging filename.h and
+       dosname.h.  Applications that need only the easy-to-configure
+       symbols should consider including dosname.h rather than dirname.h.
+       * NEWS: Mention incompatible changes.
+       * m4/dos.m4: Remove.
+       * lib/dosname.h, modules/dosname: New files.
+       * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
+       (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
+       (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
+       * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
+       Include dosname.h, not dirname.h.
+       * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
+       Include dosname.h, for definitions of symbols like ISSLASH
+       that used to be in config.h.
+       * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
+       * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
+       * m4/stat.m4 (gl_FUNC_STAT): Likewise.
+       * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
+       * modules/dirname-lgpl (Files): Omit m4/dos.m4.
+       * modules/rmdir (Files): Likewise.
+       * modules/stat (Files): Likewise.
+       * modules/unlink (Files): Likewise.
+       * modules/dirname-lgpl (Depends-on): Add dosname.
+       * modules/lstat (Depends-on): Likewise.
+       * modules/openat (Depends-on): Likewise.
+       * modules/rmdir (Depends-on): Likewise.
+       * modules/savewd (Depends-on): Likewise.
+       * modules/stat (Depends-on): Likewise.
+       * modules/unlink (Depends-on): Likewise.
+       * modules/openat (Depends-on): Remove dirname-lgpl.
+       * modules/savewd (Depends-on): Likewise.
+       * tests/test-dirname.c: Do not use removed symbols like
+       FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
+       the remaining symbols, e.g., ISSLASH ('\\').
+
+2011-02-25  Eric Blake  <eblake@redhat.com>
+
+       strstr: revert patches that introduced bug and pessimization
+       * lib/str-two-way.h: Add another reference.
+       (two_way_short_needle, two_way_long_needle): Revert changes from
+       2011-02-24; they pessimize search speed.
+       (critical_factorization): Partially revert changes from
+       2010-06-22; they violate the requirement that the left half of the
+       needle be smaller than the period of the needle.
+
+2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       filenamecat: remove unnecessary dependency on dirname-lgpl
+       * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
+       is no direct dependency, just an indirect one via filenamecat-lgpl.
+
+       remove: remove unnecessary use of m4/dos.m4
+       * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
+       * modules/remove (FILES): Remove m4/dos.m4.
+
+       * lib/openat-proc.c: Don't include dirname.h; not needed.
+
+       backupfile: remove unnecessary use of m4/dos.m4
+       * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
+       of its symbols are used by the backupfile code.  backupfile.c does
+       use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
+       for the rare case of programs that want all their backup file
+       names to live within 8+3 limits, and dos.m4 doesn't address that.
+       * modules/backupfile (Files): Remove m4/dos.m4.
+
+2011-02-24  Jim Meyering  <meyering@redhat.com>
+
+       strstr: fix a bug whereby strstr would mistakenly return NULL
+       * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
+       in period calculation.
+       (two_way_long_needle): Likewise.
+       The original problem was reported by Mike Stump in
+       http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
+       Ralf Wildenhues provided the short needle and haystack.
+       * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
+       Add a more involved test to trigger the bug in two_way_long_needle.
+
+2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
+
+       gnulib-tool: remove use of bold display in help screen
+       * gnulib-tool (func_usage): Do not use bold display anymore in the
+       help screen.  That was just meant to be a temporary emphasis for a
+       backward-incompatible change.
+
+2011-02-23  Bruno Haible  <bruno@clisp.org>
+
+       Fix misindentation of preprocessor directives.
+       * lib/argp-namefrob.h: Reindent preprocessor directives.
+       * lib/getopt_int.h (struct _getopt_data): Likewise.
+       * lib/progreloc.c (maybe_executable, find_executable): Likewise.
+       * lib/vasnprintf.c (decode_long_double): Likewise.
+       * tests/test-argmatch.c: Insert blank lines, for clarity.
+       * tests/test-exclude.c: Likewise.
+
+2011-02-22  Bruno Haible  <bruno@clisp.org>
+
+       ioctl: Fix for MacOS X in 64-bit mode.
+       * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
+       value.
+       Suggested by Eric Blake.
+       Reported by Markus Gothe <nietzsche@lysator.liu.se>.
+
+2011-02-22  Jim Meyering  <meyering@redhat.com>
+
+       maint: sc_cpp_indent_check: remove the "only in lib/" restriction
+       * Makefile (sc_cpp_indent_check): Don't limit the check to files
+       in lib/.
+
+2011-02-22  Eric Blake  <eblake@redhat.com>
+
+       maint: avoid any CDPATH issue
+       * Makefile (sc_cpp_indent_check): Anchor cd argument.
+
+       maint: adjust cpp indentation for my modules, as well
+       * Makefile (sc_cpp_indent_check): Add my name.
+       * lib/fbufmode.c: Filter through cppi.
+       * lib/fpurge.c: Likewise.
+       * lib/freadable.c: Likewise.
+       * lib/freading.c: Likewise.
+       * lib/fwritable.c: Likewise.
+       * lib/fwriting.c: Likewise.
+       * lib/sigaction.c: Likewise.
+
+2011-02-22  Jim Meyering  <meyering@redhat.com>
+
+       maint: adjust cpp indentation to reflect nesting depth
+       I.e., in a block of code that begins with an unnested "#if",
+       put one space between the "#" in column 1 and following token.
+       For example,
+       -#include <sys/vfs.h>
+       +# include <sys/vfs.h>
+       Do this only in .c files that are part of a module I maintain.
+       * lib/linkat.c: Filter through cppi.
+       * lib/nanosleep.c: Likewise.
+       * lib/openat.c: Likewise.
+       * lib/openat-die.c: Likewise.
+       * lib/dup3.c: Likewise.
+       * lib/fchownat.c: Likewise.
+       * lib/flock.c: Likewise.
+       * lib/fsync.c: Likewise.
+       * lib/fts.c: Likewise.
+       * lib/getpass.c: Likewise.
+       * lib/gettimeofday.c: Likewise.
+       * lib/userspec.c: Likewise.
+       * Makefile (sc_cpp_indent_check): New rule, to check this.
+
+2011-02-22  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wctomb'.
+       * lib/stdlib.in.h (wctomb): New declaration.
+       * lib/wctomb.c: New file.
+       * lib/wctomb-impl.h: New file.
+       * m4/wctomb.m4: New file.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
+       REPLACE_WCTOMB.
+       * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
+       REPLACE_WCTOMB.
+       * modules/wctomb: New file.
+       * tests/test-stdlib-c++.cc: Test signature of wctomb.
+       * doc/posix-functions/wctomb.texi: Mention the new module.
+       * modules/wctob (Depends-on): Add wctomb.
+
+2011-02-22  Bruno Haible  <bruno@clisp.org>
+
+       New module 'mbtowc'.
+       * lib/stdlib.in.h (mbtowc): New declaration.
+       * lib/mbtowc.c: New file.
+       * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
+       * m4/mbtowc.m4: New file.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
+       REPLACE_MBTOWC.
+       * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
+       REPLACE_MBTOWC.
+       * modules/mbtowc: New file.
+       * tests/test-stdlib-c++.cc: Test signature of mbtowc.
+       * doc/posix-functions/mbtowc.texi: Mention the new module.
+       * modules/btowc (Depends-on): Add mbtowc.
+
+2011-02-22  Bruno Haible  <bruno@clisp.org>
+
+       wcrtomb: Add more tests for native Windows platforms.
+       * tests/test-wcrtomb-w32-1.sh: New file.
+       * tests/test-wcrtomb-w32-2.sh: New file.
+       * tests/test-wcrtomb-w32-3.sh: New file.
+       * tests/test-wcrtomb-w32-4.sh: New file.
+       * tests/test-wcrtomb-w32-5.sh: New file.
+       * tests/test-wcrtomb-w32.c: New file.
+       * modules/wcrtomb-tests (Files): Add them.
+       (Makefile.am): Arrange to run these tests.
+       * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
+       * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
+
+2011-02-20  Bruno Haible  <bruno@clisp.org>
+
+       wcrtomb: Enhance test.
+       * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
+
+2011-02-20  Bruno Haible  <bruno@clisp.org>
+
+       mbrtowc: Tiny optimization.
+       * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
+
+2011-02-20  Jim Meyering  <meyering@redhat.com>
+
+       test-exclude.c: remove unmatched #endif
+       * tests/test-exclude.c: Remove stray #endif, left over from
+       the change of a week ago.
+
+2011-02-19  Jim Meyering  <meyering@redhat.com>
+
+       git-version-gen: skip "-dirty" check when appropriate
+       * build-aux/git-version-gen: Don't run any git commands when the
+       version string comes from .tarball-version.  Prior to this, we
+       would run git update-index --refresh even from a just-unpacked
+       tarball directory, and that could affect a .git/ directory in a
+       parent of the build directory.  Reported by Mike Frysinger.
+
+2011-02-19  Bruno Haible  <bruno@clisp.org>
+
+       unictype/property-byname: Reduce the size of the 'data' segment.
+       * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
+
+2011-02-19  Bruno Haible  <bruno@clisp.org>
+
+       unictype/scripts: Reduce the size of the 'data' segment.
+       * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
+       '%pic'.
+       * lib/unictype/scripts_byname.gperf: Regenerated.
+
+2011-02-19  Bruno Haible  <bruno@clisp.org>
+
+       stdint: Update documentation.
+       * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
+
+2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdint: omit redundant check for wchar.h
+       * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
+       always tests whether wchar.h exists, so remove the now-redundant test.
+
+2011-02-18  Bruno Haible  <bruno@clisp.org>
+
+       stdint: Cut dependency to module 'wchar'.
+       * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
+       include the necessary prerequisites.
+       * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
+       * modules/stdint (Depends-on): Remove wchar.
+       (Makefile.am): Substitute HAVE_WCHAR_H.
+       This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
+
+2011-02-18  Eric Blake  <eblake@redhat.com>
+
+       longlong: skip, rather than fail, on cross-compilation
+       * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
+       when cross-compiling; regression from 2011-02-16.
+
+2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Mention 2011-02-08 change to stdlib.
+
+2011-02-17  Bruno Haible  <bruno@clisp.org>
+
+       getloadavg: Add comments about platforms.
+       * m4/getloadavg.m4: Add comment.
+       * lib/getloadavg.c: Likewise.
+
+2011-02-17  Bruno Haible  <bruno@clisp.org>
+
+       getloadavg: Fix link error on Solaris 2.6.
+       * modules/getloadavg (Link): New section.
+       * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
+       linking test-getloadavg.
+       * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
+       getloadavg.
+
+2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
+       It was 'int', but this doesn't match the IRIX 6.5 manual.
+       Suggested by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
+
+2011-02-17  Bruno Haible  <bruno@clisp.org>
+
+       havelib: Fix comments.
+       * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
+       change.
+
+2011-02-17  Bruno Haible  <bruno@clisp.org>
+
+       havelib: Update config.rpath.
+       * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
+
+2011-02-17  Bruno Haible  <bruno@clisp.org>
+
+       getloadavg test: Add some plausibility checks.
+       * tests/test-getloadavg.c (check_avg): Print a warning when the value
+       is improbable.
+
+2011-02-16  Eric Blake  <eblake@redhat.com>
+
+       maintainer-makefile: make syntax-check a no-op from tarballs
+       * top/maint.mk (no-vc-detected): New rule.
+       (local-checks-available): Use it to avoid hanging if someone tries
+       'make syntax-check' from a tarball.  Also append to any non-syntax
+       checks already defined in cfg.mk.
+
+2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       longlong: tune, particularly for common case of c99
+
+       * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
+       or running anything if c99, or if unsigned long long int does not
+       work.  In either case, we know the answer without further tests.
+       Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
+       it at most once, and use its results for both long long int and
+       unsigned long long int.  This is more likely to be efficient in
+       the common case where the program wants to check for both long
+       long int and unsigned long long int.
+       (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
+       since the answer is already known.
+
+2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getloadavg: set errno
+       * lib/getloadavg.c: Set errno when returning -1.  If no other
+       error number looks appropriate, set it to ENOSYS if the getloadavg
+       looks like it can't possibly ever work, ENOTSUP otherwise.
+       Suggested by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
+
+       getloadavg: trim unused parts and speed up 'configure'
+       * NEWS: Document this.
+       * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
+       always compiled if getloadavg is absent.
+       Move test code to ...
+       * tests/test-getloadavg.c: New file, containing previous
+       contents of test from lib/getloadavg.c.  It also contains
+       suggestions by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
+       * modules/getloadavg-tests: New file.
+       * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
+       Do tests in the same order as they're needed for getloadavg.c.
+       Omit setgid-related tests that generate symbols KMEM_GROUP,
+       NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
+       Do only the tests that are needed to see whether the system has
+       getloadavg, moving the other tests into ...
+       (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
+       NLIST_NAME_UNION; nobody should be using it.  Do not define
+       symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
+       relevant, as the user of this module shouldn't care how getloadavg
+       is implemented.
+
+       getloadavg: omit unused var
+       * lib/getloadavg.c (getloadavg): Omit unused local variable.
+
+2011-02-15  Jim Meyering  <meyering@redhat.com>
+
+       doc: update users.txt
+       * users.txt: Update iwhd's URL.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       Consistent macro naming for macros that use GCC __attribute__.
+       * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
+       _ATTRIBUTE_NONNULL_.
+       * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
+       * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
+       * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
+       ATTRIBUTE_DEPRECATED.
+       * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
+       ATTRIBUTE_NORETURN.
+       * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+       * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+       * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+       * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+       (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
+       (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
+       * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
+       ATTRIBUTE_SENTINEL.
+       * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
+       ATTRIBUTE_RETURN_CHECK.
+       * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
+       * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
+       ATTRIBUTE_NORETURN.
+       * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
+       Reported by Paul Eggert.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       Don't interfere with a program's definition of __attribute__.
+       * lib/argp.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT): New macro.
+       (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
+       * lib/argp-fmtstream.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT): New macro.
+       (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
+       * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
+       GCC 3 or newer.
+       * lib/error.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT): New macro.
+       (error, error_at_line): Use it.
+       * lib/hash.h (__attribute__): Remove definition.
+       (ATTRIBUTE_WUR): Update definition. Define always.
+       * lib/openat.h (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       * lib/sigpipe-die.h (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       * lib/vasnprintf.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT): New macro.
+       (asnprintf, vasnprintf): Use it.
+       * lib/xalloc.h (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
+       * lib/xmemdup0.h (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       * lib/xprintf.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT): New macro.
+       (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
+       * lib/xstrtol.h (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       * lib/xvasprintf.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT): New macro.
+       (xasprintf, xvasprintf): Use it.
+       * tests/test-argmatch.c (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       * tests/test-exclude.c (__attribute__): Remove definition.
+       (ATTRIBUTE_NORETURN): Update definition. Define always.
+       Reported by Paul Eggert.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       mbrtowc: Add more tests for native Windows platforms.
+       * tests/test-mbrtowc-w32-1.sh: New file.
+       * tests/test-mbrtowc-w32-2.sh: New file.
+       * tests/test-mbrtowc-w32-3.sh: New file.
+       * tests/test-mbrtowc-w32-4.sh: New file.
+       * tests/test-mbrtowc-w32-5.sh: New file.
+       * tests/test-mbrtowc-w32.c: New file.
+       * modules/mbrtowc-tests (Files): Add them.
+       (Makefile.am): Arrange to run these tests.
+       * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
+       * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       mbrtowc: Work around native Windows bug.
+       * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
+       guess when no suitable locale for testing was found.
+       * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       mbsinit: Work around mingw bug.
+       * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
+       * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
+       Windows.
+       * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       mbsinit: Don't crash for a NULL argument.
+       * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
+       * tests/test-mbsinit.c (mbsinit): Check this behaviour.
+
+2011-02-13  Bruno Haible  <bruno@clisp.org>
+
+       Don't interfere with a program's definition of __attribute__.
+       * lib/stdio.in.h (__attribute__): Remove definition.
+       (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
+       (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
+       printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
+       vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
+       * lib/string.in.h (__attribute__): Remove definition.
+       Reported by Paul Eggert.
+
+2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdlib: don't get in the way of non-GCC __attribute__
+       See thread starting at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
+       Revert previous stdlib change, installing the following instead:
+       * lib/stdlib.in.h (__attribute__): Remove.  We do not want
+       to get in the way of a non-GCC compiler that supports __attribute__.
+       (_GL_ATTRIBUTE_RETURN): New macro.
+       (_Exit): Use it instead of __attribute__.
+
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+       quotearg test: Avoid test failure on mingw.
+       * tests/test-quotearg.sh: Convert the locale identifier from native
+       Windows syntax to Unix syntax.
+
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+       setlocale: Prefer gnulib's override over libintl's override.
+       * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
+       * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
+       GNULIB_defined_setlocale is set.
+
+2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdlib: support non-GCC __attribute__
+
+       Fix a serious and tricky problem encountered when attempting to
+       add the getloadavg module to Emacs.  Emacs worked fine on RHEL
+       5.5, but it crashed due to memory corruption on Solaris 10 with
+       Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
+       bits that are otherwise zero.  This tagging is optional inside
+       Emacs but is preferred and is used when __attribute__ ((__aligned
+       (8))) works, as it does with both recent-enough GCC and with Sun C
+       5.11.  However, Sun C 5.11 is not GCC and does not #define
+       __GNUC__ and __GNUC_MINOR__.
+
+       When I added the getloadavg module to Emacs, it brought in
+       stdlib.in.h, which contained this fragment:
+
+          #ifndef __attribute__
+          # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
+          #  define __attribute__(Spec)   /* empty */
+          # endif
+          #endif
+
+       When files that include <stdlib.h> were compiled with Sun C 5.11,
+       the above code disabled __attribute__ ((__aligned (8))), which
+       caused variables to not be properly aligned, which eventually led
+       to the pointer corruption mentioned above.  (This was a bit hard
+       to diagnose, unfortunately.)
+
+       Several "#define __attribute__(X) /* empty */" code snippets need
+       to be eradicated from Gnulib to work with non-GCC compilers that
+       support __attribute__.  The Autoconf way to do this is to test for
+       each kind of attribute that we want support for, and selectively
+       enable that in source code.
+
+       Fix this problem just for stdlib.h, by adding a test for the
+       __noreturn__ attribute, and change stdlib.in.h to use that test
+       when needed.  This technique can be easily generalized to the
+       other *.in.h files and attributes, and a similar technique can be
+       used for *.h and *.c files.  This patch is enough to solve the
+       problem for Emacs + getloadavg, and I thought I'd publish it for
+       feedback before undertaking further, similar fixes in other
+       modules.
+
+       This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
+       because it's not needed for stdlib.h.  It merely substitutes the
+       value directly into stdlib.h.  We may well need to #define it, or
+       similar symbols, for other modules, but it's nice to also have an
+       option to not #define it for applications like Emacs that do not
+       need it.
+
+       * lib/stdlib.in.h (__attribute__): Do not #define.
+       (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
+       be defined only if the _Exit module is also used.
+       * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
+       HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
+       platforms.
+       * modules/_Exit (Files): Add m4/attribute.m4.
+       * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
+       * m4/attribute.m4: New file.
+
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+       wcsrtombs: Work around bug on native Windows.
+       * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
+       * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
+       instead of len.
+       * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
+
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+       mbsrtowcs: Work around bug on native Windows.
+       * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
+       against mingw bug.
+       * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
+
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+       Avoid setlocale bugs in tests.
+       * modules/btowc (Dependencies): Add setlocale.
+       * modules/c-strcase (Dependencies): Likewise.
+       * modules/mbmemcasecmp (Dependencies): Likewise.
+       * modules/mbmemcasecoll (Dependencies): Likewise.
+       * modules/mbrtowc (Dependencies): Likewise.
+       * modules/mbscasecmp (Dependencies): Likewise.
+       * modules/mbscasestr (Dependencies): Likewise.
+       * modules/mbschr (Dependencies): Likewise.
+       * modules/mbscspn (Dependencies): Likewise.
+       * modules/mbsinit (Dependencies): Likewise.
+       * modules/mbsncasecmp (Dependencies): Likewise.
+       * modules/mbsnrtowcs (Dependencies): Likewise.
+       * modules/mbspbrk (Dependencies): Likewise.
+       * modules/mbspcasecmp (Dependencies): Likewise.
+       * modules/mbsrchr (Dependencies): Likewise.
+       * modules/mbsrtowcs (Dependencies): Likewise.
+       * modules/mbsspn (Dependencies): Likewise.
+       * modules/mbsstr (Dependencies): Likewise.
+       * modules/nl_langinfo (Dependencies): Likewise.
+       * modules/quotearg (Dependencies): Likewise.
+       * modules/unicase/locale-language (Dependencies): Likewise.
+       * modules/unicase/ulc-casecmp (Dependencies): Likewise.
+       * modules/unicase/ulc-casecoll (Dependencies): Likewise.
+       * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
+       * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
+       * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
+       * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
+       * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
+       * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
+       * modules/vasnprintf-posix (Dependencies): Likewise.
+       * modules/wcrtomb (Dependencies): Likewise.
+       * modules/wcsnrtombs (Dependencies): Likewise.
+       * modules/wcsrtombs (Dependencies): Likewise.
+
+2011-02-12  Bruno Haible  <bruno@clisp.org>
+
+       setlocale: Workaround native Windows bug.
+       * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
+       succeeds but sets LC_CTYPE to "C", report a failure.
+       * tests/test-setlocale2.sh: New file.
+       * tests/test-setlocale2.c: New file.
+       * modules/setlocale-tests (Files): Add the new files.
+       (Makefile.am): Enable test-setlocale2.sh test.
+       * doc/posix-functions/setlocale.texi: Mention workaround.
+
+2011-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'setlocale'.
+       * modules/setlocale-tests: New file.
+       * tests/test-setlocale1.sh: New file.
+       * tests/test-setlocale1.c: New file.
+
+       New module 'setlocale'.
+       * lib/locale.in.h (setlocale): New declaration.
+       * lib/setlocale.c: New file, based on
+       gettext/gettext-runtime/intl/setlocale.c.
+       * m4/setlocale.m4: New file.
+       * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
+       (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
+       * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
+       REPLACE_SETLOCALE.
+       * modules/setlocale: New file.
+       * tests/test-locale-c++.cc: Test the declaration of setlocale.
+       * doc/posix-functions/setlocale.texi: Mention the new module.
+
+2011-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Prepare for locale dependent tests on mingw.
+       * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
+       because it has the wrong locale encoding.
+       * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
+       French_France.1252 instead of "fr".
+       (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
+       * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
+       because it has the wrong locale encoding.
+       * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
+       native Windows, try Turkish_Turkey.65001.
+       * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
+       Chinese_China.54936.
+
+       Prepare for locale dependent tests on mingw.
+       * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
+       differently.
+       * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
+       * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
+       * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
+       * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+
+2011-02-11  Eric Blake  <eblake@redhat.com>
+
+       strptime: avoid compiler warnings
+       * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
+       compiler warnings about dead code.
+       Reported by Daniel P. Berrange.
+
+2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
+
+       doc: update users.txt
+       * users.txt: Add rcs.
+
+2011-02-10  John W. Eaton  <jwe@gnu.org>
+
+       doc: update users.txt
+       * users.txt: Add octave.
+
+2011-02-10  Jim Meyering  <meyering@redhat.com>
+
+       doc: update users.txt
+       * users.txt: Add iwhd.
+
+2011-02-09  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Make copyright notice adjustment more robust.
+       * gnulib-tool (func_import): In sed_transform_main_lib_file,
+       sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
+       allow a line break to occur after "GNU" in "GNU [Lesser] General Public
+       License".
+       Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'towctrans'.
+       * modules/towctrans: New file.
+       * lib/wctype.in.h (towctrans): New declaration.
+       * lib/towctrans.c: New file.
+       * lib/towctrans-impl.h: New file.
+       * m4/towctrans.m4: New file.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
+       (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
+       * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
+       * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
+       * doc/posix-functions/towctrans.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wctrans'.
+       * modules/wctrans: New file.
+       * lib/wctype.in.h (wctrans): New declaration.
+       * lib/wctrans.c: New file.
+       * lib/wctrans-impl.h: New file.
+       * m4/wctrans.m4: New file.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
+       (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
+       * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
+       * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
+       * doc/posix-functions/wctrans.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'iswctype'.
+       * modules/iswctype: New file.
+       * lib/wctype.in.h (iswctype): New declaration.
+       * lib/iswctype.c: New file.
+       * lib/iswctype-impl.h: New file.
+       * m4/iswctype.m4: New file.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
+       (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
+       * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
+       * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
+       * doc/posix-functions/iswctype.texi: Mention the new module and the
+       HP-UX 11.00 problem.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wctype'.
+       * modules/wctype: Change to represent the wctype() substitute.
+       * lib/wctype.in.h (wctype): New declaration.
+       * lib/wctype.c: New file.
+       * lib/wctype-impl.h: New file.
+       * m4/wctype.m4: New file.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
+       (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
+       * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
+       * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
+       * doc/posix-functions/wctype.texi: Mention the new module and the
+       HP-UX 11.00 problem.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       wctype-h: Ensure wctype_t and wctrans_t are defined.
+       * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
+       (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
+       * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
+       HAVE_WCTRANS_T.
+       * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
+
+2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       flock: fix license typo
+
+       * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
+       omitted.
+
+2011-02-08  Bruno Haible  <bruno@clisp.org>
+
+       Split large sed scripts, for HP-UX sed.
+       * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
+       to avoid HP-UX limit of 99 commands, in the near future.
+       * modules/stdlib (Makefile.am): Likewise.
+       * modules/unistd (Makefile.am): Likewise.
+       * modules/wchar (Makefile.am): Likewise.
+       Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
+       Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
+
+2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
+           Bruno Haible  <bruno@clisp.org>
+
+       stdlib: improve random_r modularization
+       * lib/stdlib.in.h: Encapsulate all the stuff having to do with
+       random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
+       you also need the random_r module to get this material right.
+       * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
+       * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
+       (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
+
+2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdlib: don't depend on stdint
+       * lib/stdlib.in.h: Don't include <stdint.h> merely because
+       GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
+       be independent of whether stdint.h is needed.
+       * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
+       here, instead of ...
+       * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
+       struct random_data should be using the random_r module, not just
+       the stdlib module (which wouldn't make sense: what package needs
+       just struct random_data without also needing random_r?).
+       * modules/stdlib (Depends-on): Remove stdint.
+
+       getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
+       See the thread rooted at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
+       * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
+       Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
+       || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
+       __VMS)); previously it was always included (via fcntl--.h).
+       (getloadavg): Do not use c_strtod.  Instead, approximate it by
+       hand; this is good enough for load averages.  Also, do not use
+       set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
+       flags directly if available and don't bother otherwise.  (Packages
+       that need the extra reliability should use the modules that define
+       these flags on older platforms that lack them.)
+       * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
+       fcntl-safer.
+
+2011-02-08  Jim Meyering  <meyering@redhat.com>
+
+       di-set.h, ino-map.h: add multiple-inclusion guard
+       Technically, the guard is required only for ino-map.h, due to its
+       INO_MAP_INSERT_FAILURE definition, but do both for consistency.
+       * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
+       * lib/ino-map.h: Likewise.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       iswblank: Ensure declaration on glibc systems.
+       * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
+       * modules/iswblank (Dependencies): Add 'extensions'.
+       * doc/posix-functions/iswblank.texi: Document the glibc problem.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'iswblank'.
+       * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
+       * modules/iswblank: New file.
+       * modules/wctype-h (Files): Remove lib/iswblank.c.
+       (Makefile.am): Substitute GNULIB_ISWBLANK.
+       * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
+       * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
+       (gl_WCTYPE_H_DEFAULTS): New macro.
+       (gl_WCTYPE_H): Require it. Remove iswblank related code.
+       * modules/iswblank-tests: New file.
+       * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
+       * tests/test-wctype-h.c (main): Remove iswblank tests.
+       * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
+       * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
+       of 'wctype-h'.
+       * NEWS: Mention the change.
+       * modules/mbchar (Depends-on): Add iswblank.
+
+2011-02-08  Bruno Haible  <bruno@clisp.org>
+
+       di-set tests: Refactor.
+       * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
+       unnecessary includes.
+       (ASSERT): Remove macro.
+       (main): Make C90 compliant by avoiding variable declaration after
+       statement.
+       * modules/di-set-tests (Files): Add tests/macros.h.
+
+2011-02-08  Bruno Haible  <bruno@clisp.org>
+
+       ino-map tests: Refactor.
+       * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
+       unnecessary includes.
+       (ASSERT): Remove macro.
+       (main): Make C90 compliant by avoiding variable declaration after
+       statement.
+       * modules/ino-map-tests (Files): Add tests/macros.h.
+
+2011-02-08  Jim Meyering  <meyering@redhat.com>
+
+       di-set: add "const" to a cast
+       * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
+       "(void const *)", not "(void *)".  Spotted by Bruno Haible.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       Rename module 'wctype' to 'wctype-h'.
+       * modules/wctype-h: Renamed from modules/wctype.
+       * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
+       * modules/wctype-h-tests: Renamed from modules/wctype-tests.
+       (Files, Depends-on, Makefile.am): Update.
+       * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
+       (Files, Makefile.am): Update.
+       * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
+       * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
+       * doc/posix-headers/wctype.texi: Update.
+       * doc/posix-functions/iswalnum.texi: Update.
+       * doc/posix-functions/iswalpha.texi: Update.
+       * doc/posix-functions/iswblank.texi: Update.
+       * doc/posix-functions/iswcntrl.texi: Update.
+       * doc/posix-functions/iswdigit.texi: Update.
+       * doc/posix-functions/iswgraph.texi: Update.
+       * doc/posix-functions/iswlower.texi: Update.
+       * doc/posix-functions/iswprint.texi: Update.
+       * doc/posix-functions/iswpunct.texi: Update.
+       * doc/posix-functions/iswspace.texi: Update.
+       * doc/posix-functions/iswupper.texi: Update.
+       * doc/posix-functions/iswxdigit.texi: Update.
+       * doc/posix-functions/towlower.texi: Update.
+       * doc/posix-functions/towupper.texi: Update.
+       * NEWS: Mention the change.
+       * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
+       * modules/mbchar (Dependencies): Likewise.
+       * modules/mbswidth (Dependencies): Likewise.
+       * modules/quotearg (Dependencies): Likewise.
+       * modules/regex (Dependencies): Likewise.
+       * modules/wcscasecmp (Dependencies): Likewise.
+       * modules/wcsncasecmp (Dependencies): Likewise.
+       * modules/wcwidth (Dependencies): Likewise.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcswidth'.
+       * modules/wcswidth: New file.
+       * lib/wchar.in.h (wcswidth): New declaration.
+       * lib/wcswidth.c: New file.
+       * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
+       * m4/wcswidth.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
+       REPLACE_WCSWIDTH.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
+       HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
+       * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
+       * doc/posix-functions/wcswidth.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcstok'.
+       * modules/wcstok: New file.
+       * lib/wchar.in.h (wcstok): New declaration.
+       * lib/wcstok.c: New file.
+       * lib/wcstok-impl.h: New file, from libutf8 with modifications.
+       * m4/wcstok.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
+       * tests/test-wchar-c++.cc: Test the declaration of wcstok.
+       * doc/posix-functions/wcstok.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsstr'.
+       * modules/wcsstr: New file.
+       * lib/wchar.in.h (wcsstr): New declaration.
+       * lib/wcsstr.c: New file.
+       * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsstr.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
+       * doc/posix-functions/wcsstr.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcspbrk'.
+       * modules/wcspbrk: New file.
+       * lib/wchar.in.h (wcspbrk): New declaration.
+       * lib/wcspbrk.c: New file.
+       * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
+       * m4/wcspbrk.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
+       * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
+       * doc/posix-functions/wcspbrk.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsspn'.
+       * modules/wcsspn: New file.
+       * lib/wchar.in.h (wcsspn): New declaration.
+       * lib/wcsspn.c: New file.
+       * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsspn.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
+       * doc/posix-functions/wcsspn.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcscspn'.
+       * modules/wcscspn: New file.
+       * lib/wchar.in.h (wcscspn): New declaration.
+       * lib/wcscspn.c: New file.
+       * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
+       * m4/wcscspn.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
+       * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
+       * doc/posix-functions/wcscspn.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsrchr'.
+       * modules/wcsrchr: New file.
+       * lib/wchar.in.h (wcsrchr): New declaration.
+       * lib/wcsrchr.c: New file.
+       * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsrchr.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
+       * doc/posix-functions/wcsrchr.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcschr'.
+       * modules/wcschr: New file.
+       * lib/wchar.in.h (wcschr): New declaration.
+       * lib/wcschr.c: New file.
+       * lib/wcschr-impl.h: New file, from libutf8 with modifications.
+       * m4/wcschr.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
+       * tests/test-wchar-c++.cc: Test the declaration of wcschr.
+       * doc/posix-functions/wcschr.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsdup'.
+       * modules/wcsdup: New file.
+       * lib/wchar.in.h (wcsdup): New declaration.
+       * lib/wcsdup.c: New file.
+       * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsdup.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
+       * doc/posix-functions/wcsdup.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsxfrm'.
+       * modules/wcsxfrm: New file.
+       * lib/wchar.in.h (wcsxfrm): New declaration.
+       * lib/wcsxfrm.c: New file.
+       * lib/wcsxfrm-impl.h: New file.
+       * m4/wcsxfrm.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
+       * doc/posix-functions/wcsxfrm.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcscoll'.
+       * modules/wcscoll: New file.
+       * lib/wchar.in.h (wcscoll): New declaration.
+       * lib/wcscoll.c: New file.
+       * lib/wcscoll-impl.h: New file.
+       * m4/wcscoll.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
+       * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
+       * doc/posix-functions/wcscoll.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsncasecmp'.
+       * modules/wcsncasecmp: New file.
+       * lib/wchar.in.h (wcsncasecmp): New declaration.
+       * lib/wcsncasecmp.c: New file.
+       * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsncasecmp.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
+       HAVE_WCSNCASECMP.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
+       * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
+
+2011-02-06  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcscasecmp'.
+       * modules/wcscasecmp: New file.
+       * lib/wchar.in.h (wcscasecmp): New declaration.
+       * lib/wcscasecmp.c: New file.
+       * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
+       * m4/wcscasecmp.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
+       HAVE_WCSCASECMP.
+       * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
+       * doc/posix-functions/wcscasecmp.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsncmp'.
+       * modules/wcsncmp: New file.
+       * lib/wchar.in.h (wcsncmp): New declaration.
+       * lib/wcsncmp.c: New file.
+       * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsncmp.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
+       * doc/posix-functions/wcsncmp.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcscmp'.
+       * modules/wcscmp: New file.
+       * lib/wchar.in.h (wcscmp): New declaration.
+       * lib/wcscmp.c: New file.
+       * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
+       * m4/wcscmp.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
+       * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
+       * doc/posix-functions/wcscmp.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsncat'.
+       * modules/wcsncat: New file.
+       * lib/wchar.in.h (wcsncat): New declaration.
+       * lib/wcsncat.c: New file.
+       * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsncat.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
+       * doc/posix-functions/wcsncat.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcscat'.
+       * modules/wcscat: New file.
+       * lib/wchar.in.h (wcscat): New declaration.
+       * lib/wcscat.c: New file.
+       * lib/wcscat-impl.h: New file, from libutf8 with modifications.
+       * m4/wcscat.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
+       * tests/test-wchar-c++.cc: Test the declaration of wcscat.
+       * doc/posix-functions/wcscat.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcpncpy'.
+       * modules/wcpncpy: New file.
+       * lib/wchar.in.h (wcpncpy): New declaration.
+       * lib/wcpncpy.c: New file.
+       * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
+       * m4/wcpncpy.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
+       * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
+       * doc/posix-functions/wcpncpy.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsncpy'.
+       * modules/wcsncpy: New file.
+       * lib/wchar.in.h (wcsncpy): New declaration.
+       * lib/wcsncpy.c: New file.
+       * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsncpy.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
+       * doc/posix-functions/wcsncpy.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcpcpy'.
+       * modules/wcpcpy: New file.
+       * lib/wchar.in.h (wcpcpy): New declaration.
+       * lib/wcpcpy.c: New file.
+       * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
+       * m4/wcpcpy.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
+       * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
+       * doc/posix-functions/wcpcpy.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcscpy'.
+       * modules/wcscpy: New file.
+       * lib/wchar.in.h (wcscpy): New declaration.
+       * lib/wcscpy.c: New file.
+       * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
+       * m4/wcscpy.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
+       * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
+       * doc/posix-functions/wcscpy.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcsnlen'.
+       * modules/wcsnlen: New file.
+       * lib/wchar.in.h (wcsnlen): New declaration.
+       * lib/wcsnlen.c: New file.
+       * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
+       * m4/wcsnlen.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
+       * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
+       * doc/posix-functions/wcsnlen.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wcslen'.
+       * modules/wcslen: New file.
+       * lib/wchar.in.h (wcslen): New declaration.
+       * lib/wcslen.c: New file.
+       * lib/wcslen-impl.h: New file, from libutf8 with modifications.
+       * m4/wcslen.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
+       * tests/test-wchar-c++.cc: Test the declaration of wcslen.
+       * doc/posix-functions/wcslen.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wmemset'.
+       * modules/wmemset: New file.
+       * lib/wchar.in.h (wmemset): New declaration.
+       * lib/wmemset.c: New file.
+       * lib/wmemset-impl.h: New file, from libutf8 with modifications.
+       * m4/wmemset.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
+       * tests/test-wchar-c++.cc: Test the declaration of wmemset.
+       * doc/posix-functions/wmemset.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wmemmove'.
+       * modules/wmemmove: New file.
+       * lib/wchar.in.h (wmemmove): New declaration.
+       * lib/wmemmove.c: New file.
+       * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
+       * m4/wmemmove.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
+       HAVE_WMEMMOVE.
+       * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
+       * doc/posix-functions/wmemmove.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wmemcpy'.
+       * modules/wmemcpy: New file.
+       * lib/wchar.in.h (wmemcpy): New declaration.
+       * lib/wmemcpy.c: New file.
+       * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
+       * m4/wmemcpy.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
+       * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
+       * doc/posix-functions/wmemcpy.texi: Mention the new module.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wmemcmp'.
+       * modules/wmemcmp: New file.
+       * lib/wchar.in.h (wmemcmp): New declaration.
+       * lib/wmemcmp.c: New file.
+       * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
+       * m4/wmemcmp.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
+       * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
+       * doc/posix-functions/wmemcmp.texi: Mention the new module.
+
+2011-02-07  Jim Meyering  <meyering@redhat.com>
+
+       di-set, ino-map: new modules, from coreutils
+       * lib/di-set.c: New file.
+       * lib/di-set.h: Likewise.
+       * lib/ino-map.c: Likewise.
+       * lib/ino-map.h: Likewise.
+       * modules/di-set: Likewise.
+       * modules/di-set-tests: Likewise.
+       * modules/ino-map: Likewise.
+       * modules/ino-map-tests: Likewise.
+       * tests/test-di-set.c: Likewise.
+       * tests/test-ino-map.c: Likewise.
+
+2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getloadavg: merge minor changes from Emacs
+
+       * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
+       (getloadavg): Use memset, not bzero.
+
+       2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
+       * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
+       clash (bug#86).
+
+2010-11-14  Bruno Haible  <bruno@clisp.org>
+
+       Allow multiple gnulib generated replacements to coexist.
+       * lib/getopt.in.h (struct option): Avoid identical redefinition.
+       * lib/inttypes.in.h (imaxdiv_t): Likewise.
+       * lib/langinfo.in.h (nl_item): Likewise.
+       * lib/math.in.h (_NaN, NAN): Likewise.
+       * lib/netdb.in.h (struct addrinfo): Likewise.
+       * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
+       * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
+       pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
+       pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
+       pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
+       pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
+       pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
+       pthread_mutexattr_init, pthread_mutexattr_settype,
+       pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
+       pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
+       pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
+       pthread_spin_trylock, pthread_spin_unlock): Likewise.
+       * lib/sched.in.h (struct sched_param): Likewise.
+       * lib/se-selinux.in.h (security_class_t, security_context_t,
+       is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
+       matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
+       lsetfilecon, fsetfilecon, security_check_context,
+       security_check_context_raw, setexeccon, matchpathcon_init_prefix):
+       Likewise.
+       * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
+       Likewise.
+       * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
+       _gl_function_taking_int_returning_void_t, union sigval,
+       struct siginfo_t, siginfo_t, struct sigaction): Likewise.
+       * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
+       verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
+       * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
+       gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
+       uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
+       uint_least32_t, int_least64_t, uint_least64_t, 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_fast64_t, uint_fast64_t, gl_intptr_t,
+       gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
+       * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
+       * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
+       socklen_t, rpl_fd_isset): Likewise.
+       * lib/sys_stat.in.h (rpl_mkdir): Likewise.
+       * lib/sys_time.in.h (struct timeval): Likewise.
+       * lib/sys_times.in.h (struct tms): Likewise.
+       * lib/sys_utsname.in.h (struct utsname):
+       * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
+       * lib/unistd.in.h (getpagesize): Likewise.
+       * lib/wchar.in.h (mbstate_t): Likewise.
+       * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
+       iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
+       towlower, towupper): Likewise.
+       Reported by Sam Steingold <sds@gnu.org>.
+
+2011-02-05  Eric Blake  <eblake@redhat.com>
+
+       unsetenv: work around Haiku issues
+       * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
+       * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
+
+2010-12-30  Bruce Korb  <bkorb@gnu.org>
+
+       libposix: avoid calling error() within libposix
+       * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
+       is defined.
+
+2011-02-05  Eric Blake  <eblake@redhat.com>
+
+       strerror_r-posix: port to cygwin
+       * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
+       implementation.
+       * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
+       * tests/test-strerror_r.c (main): Fix test.
+       * doc/posix-functions/strerror_r.texi (strerror_r): Document the
+       issue.
+
+2011-02-05  Bruno Haible  <bruno@clisp.org>
+
+       New module 'wmemchr'.
+       * modules/wmemchr: New file.
+       * lib/wchar.in.h (wmemchr): New declaration.
+       * lib/wmemchr.c: New file.
+       * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
+       * m4/wmemchr.m4: New file.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
+       (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
+       * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
+       * doc/posix-functions/wmemchr.texi: Mention the new module.
+
+2011-02-04  Eric Blake  <eblake@redhat.com>
+
+       fdopendir: detect FreeBSD bug
+       * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
+       * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
+
+2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdbool: do not define HAVE_STDBOOL_H
+       * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
+       AC_HEADER_STDBOOL.  All uses changed.  Do not define
+       HAVE_STDBOOL_H, as gnulib does not need this.  This change is
+       imported from the latest Autoconf git.  It was motivated by Emacs,
+       which uses gnulib but does not need HAVE_STDBOOL_H.
+
+2011-02-04  Bruno Haible  <bruno@clisp.org>
+
+       wcsnrtombs: Prepare for new module wwcsnrtombs.
+       * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
+       * lib/wcsnrtombs.c: Include it.
+       * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
+
+       wcsrtombs: Prepare for new module wwcsrtombs.
+       * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
+       * lib/wcsrtombs.c: Include it.
+       * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
+
+       mbsnrtowcs: Prepare for new module mbsnrtowwcs.
+       * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
+       * lib/mbsnrtowcs.c: Include it.
+       * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
+
+       mbsrtowcs: Prepare for new module mbsrtowwcs.
+       * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
+       * lib/mbsrtowcs.c: Include it.
+       * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
+
+2011-02-04  Bruno Haible  <bruno@clisp.org>
+
+       vasnprintf: Reduce use of malloc for small format strings.
+       * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
+       (arguments): Add room for the first 7 arguments.
+       * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
+       (char_directives, u8_directives, u16_directives, u32_directives): Add
+       room for the first 7 directives.
+       * lib/printf-parse.c: Include <string.h>.
+       (PRINTF_PARSE): Change memory handling code so that it uses the first
+       7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
+       * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
+       Reported by Pádraig Brady <P@draigbrady.com>.
+
+2011-01-31  Eric Blake  <eblake@redhat.com>
+
+       dup2: work around Haiku bug
+       * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
+       * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
+       * doc/posix-functions/dup2.texi (dup2): Document the bug.
+       * tests/test-dup2.c (main): Enhance test.
+
+2011-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       doc: off_t is not available in eglibc 2.11.2 stdio.h.
+       * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
+       declared by eglibc 2.11.2.
+       * lib/stdio.in.h: Likewise.
+
+2011-01-31  Eric Blake  <eblake@redhat.com>
+
+       ignore-value: add missing test dependency
+       * tests/test-ignore-value.c: Revert previous change; stdio.h
+       provides off_t.
+       * modules/ignore-value-tests (Depends-on): Add missing dependency.
+
+2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mktime: clarify long_int width checking
+       * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
+       the top level, to make it clearer that the assumption about
+       long_int width is being checked.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
+
+2011-01-30  Simon Josefsson  <simon@josefsson.org>
+
+       ignore-value: Fix self-test.
+       * tests/test-ignore-value.c: Include sys/types.h for off_t.
+
+2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       TYPE_MAXIMUM: avoid theoretically undefined behavior
+       * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
+       negative number, which the C Standard says has undefined behavior.
+       In practice this is not a problem, but might as well do it by the book.
+       Reported by Rich Felker and Eric Blake; see
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
+       * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
+       * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
+       * m4/stdint.m4 (gl_STDINT_H): Likewise.
+       * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
+
+       mktime: #undef mktime before #defining it
+       * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
+
+       mktime: systematically normalize tm_isdst comparisons
+       * lib/mktime.c (isdst_differ): New function.
+       (__mktime_internal): Use it systematically for all isdst comparisons.
+       This completes the fix for libc BZ #6723, and removes the need for
+       normalizing tm_isdst.  See
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
+       (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
+
+       mktime: fix some integer overflow issues and sidestep the rest
+
+       This was prompted by a bug report by Benjamin Lindner for MinGW
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
+       His bug is due to signed integer overflow (0 - INT_MIN), and I
+       I scanned through mktime.c looking for other integer overflow
+       problems, fixing all the bugs I found.
+
+       Although the C Standard says the resulting code is still not safe
+       in the presence of integer overflow, in practice it should be good
+       enough for all real-world two's-complement implementations, except
+       for debugging environments that deliberately trap on integer
+       overflow (e.g., gcc -ftrapv).
+
+       * lib/mktime.c (WRAPV): New macro.
+       (SHR): Also check that long_int and time_t shift right in the
+       usual way, before using the fast-but-unportable method.
+       (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
+       used.  The code already assumed two's complement, so there's
+       no need to test for alternatives.  All uses removed.
+       (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
+       the C standard.  Problem reported by Rich Felker in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
+       (twos_complement_arithmetic): Also check long_int and time_t.
+       (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
+       (guess_time_tm, ranged_convert, __mktime_internal): Use them.
+       (__mktime_internal): Avoid integer overflow with unary subtraction
+       in two instances where -1 - X is an adequate replacement for -X,
+       since the calculations are approximate.
+
+2011-01-29  Eric Blake  <eblake@redhat.com>
+
+       mktime: avoid infinite loop
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
+       type; behavior is still undefined but portable to all known targets.
+       Reported by Rich Felker.
+
+2011-01-29  Simon Josefsson  <simon@josefsson.org>
+
+       rename, unlink, same-inode: Relicense.
+       * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
+       * modules/unlink (License): Likewise.
+       * modules/same-inode (License): Likewise.
+
+2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mktime: avoid problems on NetBSD 5 / i386
+       * lib/mktime.c (long_int): New type.  This works around a problem
+       on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
+       but time_t is 64 bits, and where I expect the existing code is
+       wrong in some cases.
+       (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
+       (ydhms_diff): Bring back the compile-time check for wide-enough
+       year and yday.
+
+       mktime: fix misspelling in comment
+       * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
+       This merges all recent glibc changes of importance.
+
+2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       move-if-change: cope with concurrent mv of identical file.
+       * build-aux/move-if-change (CMPPROG): Accept environment
+       variable as an override for `cmp'.
+       (usage): Document CMPPROG.
+       Adjust comparison to drop stdout.  Cope with failure of mv if
+       the target file exists and is identical to the source, for
+       parallel builds.
+       Report from H.J. Lu against binutils in PR binutils/12283.
+
+2011-01-28  Bruce Korb  <bkorb@gnu.org>
+
+       * users.txt: Mention sharutils.
+
+2011-01-28  Simon Josefsson  <simon@josefsson.org>
+
+       * users.txt: Mention OATH Toolkit.
+
+2011-01-27  Bruno Haible  <bruno@clisp.org>
+
+       Prepare for supporting FreeBSD 10.
+       * build-aux/config.libpath: Remove handling of freebsd1*.
+
+2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
+
+       Prepare for supporting FreeBSD 10.
+       * build-aux/config.rpath: Remove handling of freebsd1* which soon would
+       match FreeBSD 10.0.
+
+2011-01-27  Bruno Haible  <bruno@clisp.org>
+
+       vma-iter, get-rusage-as: Add OpenBSD support.
+       * modules/vma-iter (configure.ac): Test for mquery.
+       * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
+       * lib/vma-iter.c: Include <sys/mman.h>.
+       (vma_iterate): Add an implementation based on mquery().
+       * lib/resource-ext.h (get_rusage_as): Update comments.
+       * lib/get-rusage-as.c: Likewise.
+       * lib/get-rusage-data.c: Likewise.
+
+2011-01-26  Karl Berry  <karl@gnu.org>
+
+       * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
+       variables to make it easier to override the makeinfo program used.
+
+2011-01-26  Eric Blake  <eblake@redhat.com>
+
+       fcntl: work around Haiku F_DUPFD bugs
+       * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
+       * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
+       cloexec bit on duplication.
+       * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
+
+2011-01-26  Bruno Haible  <bruno@clisp.org>
+
+       Enable memory leak tests on AIX.
+       * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
+       * tests/test-fprintf-posix3.c (main): Likewise.
+
+2011-01-26  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'get-rusage-data'.
+       * modules/get-rusage-data-tests: New file.
+       * tests/test-get-rusage-data.c: New file.
+
+       New module 'get-rusage-data'.
+       * lib/resource-ext.h (get_rusage_data): New declaration.
+       * lib/get-rusage-data.c: New file.
+       * modules/get-rusage-data: New file.
+
+2011-01-25  Bruno Haible  <bruno@clisp.org>
+
+       get-rusage-as: Allow for easier testing.
+       * lib/resource-ext.h (get_rusage_as): Add comment.
+       * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
+       (main): New function for interactive testing.
+
+2011-01-25  Bruno Haible  <bruno@clisp.org>
+
+       vma-iter: Treat Haiku like BeOS.
+       * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
+       * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
+
+2011-01-25  Eric Blake  <eblake@redhat.com>
+
+       c-stack: fix regression on cygwin when libsigsegv is present
+       * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
+
+2011-01-24  Bruno Haible  <bruno@clisp.org>
+
+       vma-iter: Avoid empty intervals.
+       * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
+       on an empty interval.
+
+2011-01-24  Jim Meyering  <meyering@redhat.com>
+
+       u64: remove unnecessary #include
+       * lib/u64.h: Don't include <stddef.h>.  It was not used.
+
+2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Allow the user to avoid the HAVE_RAW_DECL_* macros.
+       * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
+
+2011-01-23  Bruno Haible  <bruno@clisp.org>
+
+       New module 'vma-iter'.
+       * lib/vma-iter.h: New file.
+       * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
+       * modules/vma-iter: New file.
+       * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
+       for get_rusage_as_via_iterator.
+       (vma_iterate_callback): New function.
+       (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
+       * modules/get-rusage-as (Depends-on): Add vma-iter.
+
+2011-01-23  Bruno Haible  <bruno@clisp.org>
+
+       uninorm: Tweak includes.
+       * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
+       Reported by Jim Meyering.
+
+2011-01-23  Bruno Haible  <bruno@clisp.org>
+
+       get-rusage-as: Improve on NetBSD.
+       * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
+       /proc, like on FreeBSD.
+
+2011-01-23  Jim Meyering  <meyering@redhat.com>
+
+       xreadlink.h: remove unnecessary #include
+       * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
+
+       maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
+       * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
+
+2011-01-23  Bruno Haible  <bruno@clisp.org>
+
+       get-rusage-as: Fix bug.
+       * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
+       original limit when aborting the first loop.
+
+2011-01-23  Bruno Haible  <bruno@clisp.org>
+
+       wctype: Ensure valid C syntax.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
+       unconditionally, instead of gl_NEXT_HEADERS conditionally.
+
+2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
+       * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
+       symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
+       as they are needed only for configure's test case.
+       This removes two unnecessary symbols from config.h.
+
+       gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
+       * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
+       * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
+       AC_CHECK_HEADERS_ONCE on a header that we also invoke
+       gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
+       * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
+       * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
+       * m4/sched_h.m4 (gl_SCHED_H): Likewise.
+       * m4/search_h.m4 (gl_SEARCH_H): Likewise.
+       * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
+       * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
+       * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
+       * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
+       * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
+       * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
+
+2011-01-21  Eric Blake  <eblake@redhat.com>
+
+       maintainer-makefile: work with older git for submodule check
+       * top/maint.mk (public-submodule-commit): Rewrite to avoid
+       merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
+       Reported by Matthias Bolte.
+
+       bootstrap: minor portability fixes
+       * build-aux/bootstrap (me): Use $me instead of $0 in functions.
+       (usage): Omit leading capital and trailing . on help phrases, per
+       GNU Coding Standards.
+       (check_versions, top level): Prefix messages with script name.
+
+2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
+
+       bootstrap: support --no-git option
+       * build-aux/bootstrap: Add --no-git option, to be used when
+       --gnulib-srcdir points to the exact desired checkout.
+
+2011-01-21  Eric Blake  <eblake@redhat.com>
+
+       strerror_r-posix: work with glibc 2.13
+       * lib/strerror_r.c (strerror_r): Fix return type.
+
+2011-01-21  Pádraig Brady  <P@draigBrady.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       uN_strstr: New unit tests.
+       * modules/unistr/u8-strstr-tests: New file.
+       * modules/unistr/u16-strstr-tests: New file.
+       * modules/unistr/u32-strstr-tests: New file.
+       * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
+       * tests/unistr/test-u8-strstr.c: New file.
+       * tests/unistr/test-u16-strstr.c: New file.
+       * tests/unistr/test-u32-strstr.c: New file.
+
+2011-01-21  Pádraig Brady  <P@draigBrady.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       Make uN_strstr functions O(n) worst-case.
+       * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
+       16-bit and 32-bit unit cases, use the unibyte algorithm from
+       lib/mbsstr.c.
+       * lib/unistr/u8-strstr.c: Include <string.h>.
+       (UNIT_IS_UINT8_T): New macro.
+       * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
+       (U_STRLEN, U_STRNLEN): New macros.
+       * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
+       (U_STRLEN, U_STRNLEN): New macros.
+       * modules/unistr/u8-strstr (Depends-on): Add strstr.
+       (configure.ac): Update required libunistring version.
+       * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
+       (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
+       malloca.
+       (configure.ac): Update required libunistring version.
+       * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
+       (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
+       malloca.
+       (configure.ac): Update required libunistring version.
+
+2011-01-21  Pádraig Brady  <P@draigBrady.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       Prepare for faster uN_strstr functions.
+       * lib/str-kmp.h: Support definable UNITs.
+       (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
+       needle_len argument.
+       * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
+       * lib/mbscasestr.c (mbscasestr): Likewise.
+
+2011-01-21  Pádraig Brady <P@draigBrady.com>
+
+       malloca-tests: make faster by unsetting MALLOC_PERTURB_
+       * tests/test-malloca.c (main): Unset the environment variable
+       to greatly speed up the test.
+       * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
+       * modules/malloca-tests: Depend on unsetenv.
+
+2011-01-21  Pádraig Brady <P@draigBrady.com>
+
+       ignore-value: remove stdint dependency
+       * lib/ignore-value.h: Remove <stdint.h>
+       * modules/ignore-value: Remove stdint dependency.
+
+2011-01-21  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: adjust variable name to be consistent with other gl_ vars
+       * top/maint.mk (gl_public_submodule_commit): Rename the variable
+       to be lower case.
+
+2011-01-20  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: make "check" depend on public-submodule-commit by default
+       * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
+
+2011-01-20  Bruno Haible  <bruno@clisp.org>
+
+       mbfile, mbiter: Complete change from 2008-12-21.
+       * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
+       * m4/mbiter.m4 (gl_MBITER): Likewise.
+
+2011-01-20  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: insert space between each function name and "()"
+       * tests/init.sh: Make it a little easier to see that a function's
+       name is "warn_", and not "warn" when looking at the first part of
+       its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
+
+2011-01-20  Jim Meyering  <meyering@redhat.com>
+
+       mountlist: clean up code formatting
+       * lib/mountlist.c (read_file_system_list): Split a long line,
+       correct bracing style, use NULL in place of "(struct statfs *)0",
+       don't parenthesize return value, add spaces around "=" and after
+       ";-in-for-stmt".
+
+2011-01-14  Markus Duft <mduft@gentoo.org>
+
+       mountlist: add support for Interix
+       * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
+       Apply statvfs to all entries of /dev/fs.
+       * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
+       and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
+
+2011-01-20  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: improve the public-submodule-commit rule
+       * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
+       to suppress printing of its commands... unless V=1.
+       Add git submodule's --quiet option to suppress printing of e.g.,
+       "Entering gnulib" output.
+       "cd" into $(srcdir) before running git submodule.
+
+2011-01-20  Bruno Haible  <bruno@clisp.org>
+
+       include_next: Fix bug introduced on 2011-01-18.
+       * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
+       from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
+       ac_cv_header_... variable if the second argument is not 'check'.
+       (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
+       gl_NEXT_HEADERS_INTERNAL.
+
+2011-01-20  Bruno Haible  <bruno@clisp.org>
+
+       Allow the user to avoid the GNULIB_TEST_* macros.
+       * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
+       Suggested by Paul Eggert.
+
+2011-01-14  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: avoid failure when there is no .gitmodules file
+       ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
+       has been assigned to, even when its value is the empty string.
+       * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
+       "$gnulib_path", rather than using ${gnulib_path=gnulib}.
+       Reported by John W. Eaton <jwe@gnu.org>.
+
+2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       assume <ctype.h>, ..., <time.h> exist
+       For years gnulib has been assuming the existence of the headers
+       <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
+       <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
+       them, since they don't appear to be needed.
+       * README (Portability guidelines): Document this.
+       * lib/flock.c: Assume <fcntl.h> exists.
+       * lib/regex_internal.h: Assume <locale.h> exists.
+       * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
+       * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
+       * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
+       * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
+       * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
+       * m4/regex.m4 (gl_REGEX): Likewise.
+       * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
+       * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
+       * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
+       * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
+       * tests/test-argp.c: Likewise.
+       * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
+
+       multiarch: remove AA_APPLE_UNIVERSAL_BUILD
+       * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
+       AA_APPLE_UNIVERSAL_BUILD.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
+       * NEWS: Document this.
+
+2011-01-19  Eric Blake  <eblake@redhat.com>
+
+       c-stack: assume stack overflow if SA_SIGINFO unsupported
+       * lib/c-stack.c (SIGACTION_WORKS): Rename...
+       (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
+       sigaction will work.
+       (die): Assume stack overflow if siginfo doesn't work, to let Haiku
+       behavior match Linux.
+       * tests/test-c-stack.c (main): Prefer NULL for pointers.
+
+       stdbool-tests: accomodate Haiku
+       * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
+
+       binary-io: fix O_TEXT on Haiku
+       * modules/binary-io (Depends-on): Add fcntl-h.
+       * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
+       than blindly undefining O_TEXT.
+       Reported by Scott McCreary.
+
+2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       include_next: do not check for standard headers like stddef.h
+
+       I found this problem when modifying Emacs to use gnulib.
+       I noticed that it added HAVE_STDDEF_H to config.h, even though
+       gnulib always assumes <stddef.h> exists as per README and this
+       symbol is unnecessary.
+       * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
+       use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
+       gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
+       faster for headers like stddef.h that are known to exist.
+       (gl_CHECK_NEXT_HEADERS): Use it.
+       * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
+       rather than gl_CHECK_NEXT_HEADERS.
+       * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
+       * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
+
+2011-01-18  Eric Blake  <eblake@redhat.com>
+
+       ansi-c++-opt: skip C++ dependency style if C++ is unused
+       * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
+       tests when we know C++ compilation is not desired.
+       Reported by Scott McCreary.
+
+2011-01-18  Bruno Haible  <bruno@clisp.org>
+
+       *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
+       * tests/test-fprintf-posix3.c: Include "resource-ext.h".
+       (main): Perform test also when getrlimit and setrlimit don't exist or
+       when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
+       limiting the address space size using setrlimit, compare the address
+       space size before and after the the test.
+       * tests/test-dprintf-posix2.c: Likewise.
+       * tests/test-fprintf-posix3.sh: Update skip messages.
+       * tests/test-dprintf-posix2.sh: Likewise.
+       * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
+       * modules/dprintf-posix-tests (Depends-on): Likewise.
+       Reported by Bruce Korb <bkorb@gnu.org> and
+       Gary V. Vaughan <gary@gnu.org>.
+
+2011-01-18  Bruno Haible  <bruno@clisp.org>
+
+       get-rusage-as: Improvement for Cygwin.
+       * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
+       areas that are merely reserved.
+
+2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       strftime: remove dependencies on multibyte modules
+
+       strftime depended on mbrlen, mbsinit, and wchar, but these modules
+       are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
+       only if __osf__ is defined, and I suspect OSF doesn't need these
+       other modules.  If my guess is wrong, we'll need to come up with a
+       variant of strftime that doesn't need the multibyte modules.
+
+       I discovered this problem when attempting modify Emacs to use the
+       strftime module.  With the previous gnulib, this caused Emacs to
+       need 31 new files, ranging from lib/config.charset to
+       m4/wint_t.m4.  This was overkill and I expect would be offputting
+       to the Emacs maintainers.  After this change, only 6 new files are
+       needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
+       stdbool.m4, and tm_gmtoff.m4.
+
+       * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
+       Suggested by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
+       * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
+       and do not check for wchar.h.
+       * modules/strftime (Files): Remove m4/mbstate_t.m4.
+       (Depends-on): Remove mbrlen, mbsinit, wchar.
+
+2011-01-18  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'get-rusage-as'.
+       * modules/get-rusage-as-tests: New file.
+       * tests/test-get-rusage-as.c: New file.
+
+       New module 'get-rusage-as'.
+       * modules/get-rusage-as: New file.
+       * lib/resource-ext.h: New file.
+       * lib/get-rusage-as.c: New file.
+
+2011-01-17  Eric Blake  <eblake@redhat.com>
+
+       sigaction: relax license from LGPLv3+ to LGPLv2+
+       * modules/sigaction (License): Relax to LGPLv2+.
+
+2011-01-14  Bruno Haible  <bruno@clisp.org>
+
+       filemode: Make function declarations usable in C++ mode.
+       * lib/filemode.h: Enclose function declarations in extern "C" block.
+       Reported by John W. Eaton <jwe@gnu.org>.
+
+2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
+
+       save-cwd: no longer include "xgetcwd.h"
+       * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
+       This avoids a compilation failure in projects that use save-cwd
+       without also using the xgetcwd module.
+
+2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
+       This is so that a program like Emacs, which needs only dtoastr,
+       does not have to bother with distributing and compiling ftoastr
+       and ldtoastr.
+       * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
+       * modules/dtoastr, modules/ldtoastr: New files.
+       * modules/ftoastr: Now works just for 'float'.
+       (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
+       (Makefile.am): Remove ftoastr.h (not needed and no effect),
+       dtoastr.c, ldtoastr.c.
+
+2011-01-11  Jim Meyering  <meyering@redhat.com>
+
+       save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
+       There is no need to work around the lack of the fchdir function,
+       since gnulib can now provide a replacement when required.
+       * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
+       * modules/save-cwd (Depends-on): Add fchdir.
+
+2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       openat, save-cwd: avoid xmalloc
+
+       This removes a direct (but undocumented) dependency of openat on
+       xalloc, along with an indirect dependency via save-cwd.  It also
+       removes a dependency of save-cwd on xgetcwd, and thereby
+       indirectly on xalloc.  This change causes the openat substitute
+       to fall back on save_cwd when memory is tight, and for save_cwd to
+       fail instead of dying when memory is tight, but that's good enough.
+       Problem and initial idea for fix reported by Bastien Roucaries in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
+
+       * lib/openat-proc.c: Include stdlib.h (for malloc), not
+       xalloc.h (for xmalloc).
+       (openat_proc_name): Use malloc, not xmalloc.
+       * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
+       * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
+
+       openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
+       This avoids heap allocation for file names whose lengths are in
+       the range 512..1023, with the upper bound increasing to at most
+       4031 depending on the platform's PATH_MAX.  (We do not want
+       pathmax.h here as it might supply a non-constant PATH_MAX.)
+       * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
+       Perhaps they should be moved to malloca.h?
+       (OPENAT_BUFFER_SIZE): Use them.
+
+2011-01-10  Bruno Haible  <bruno@clisp.org>
+
+       doc: Update users.txt.
+       * users.txt: Add recutils.
+
+2011-01-09  Karl Berry  <karl@gnu.org>
+
+       * doc/posix-functions/gai_strerror.texi: Insert missing @item.
+
+       * doc/configmake.texi: New file.
+       * doc/gnulib.texi: Include it.
+       * modules/configmake: Move documentation from here.
+
+2011-01-09  Bruno Haible  <bruno@clisp.org>
+
+       Update to Unicode 6.0.0.
+       * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
+       (get_lbp): Update for Unicode 6.0.0.
+       * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
+       U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
+       U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
+       U+11001, U+11038..U+11046. Remove U+06DE.
+       (uc_width): Fix bounds of planes.
+       * tests/uniwidth/test-uc_width2.sh: Same updates as in
+       lib/uniwidth/width.c.
+       * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
+       trailing whitespace removed.
+       * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
+       without comments, but with the original copyright notice.
+       * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
+       * lib/unicase/ignorable.h: Likewise.
+       * lib/unicase/tocasefold.h: Likewise.
+       * lib/unicase/tolower.h: Likewise.
+       * lib/unicase/totitle.h: Likewise.
+       * lib/unicase/toupper.h: Likewise.
+       * lib/unictype/bidi_of.h: Likewise.
+       * lib/unictype/blocks.h: Likewise.
+       * lib/unictype/categ_C.h: Likewise.
+       * lib/unictype/categ_Cn.h: Likewise.
+       * lib/unictype/categ_L.h: Likewise.
+       * lib/unictype/categ_Ll.h: Likewise.
+       * lib/unictype/categ_Lm.h: Likewise.
+       * lib/unictype/categ_Lo.h: Likewise.
+       * lib/unictype/categ_Lu.h: Likewise.
+       * lib/unictype/categ_M.h: Likewise.
+       * lib/unictype/categ_Mc.h: Likewise.
+       * lib/unictype/categ_Me.h: Likewise.
+       * lib/unictype/categ_Mn.h: Likewise.
+       * lib/unictype/categ_N.h: Likewise.
+       * lib/unictype/categ_Nd.h: Likewise.
+       * lib/unictype/categ_No.h: Likewise.
+       * lib/unictype/categ_P.h: Likewise.
+       * lib/unictype/categ_Po.h: Likewise.
+       * lib/unictype/categ_S.h: Likewise.
+       * lib/unictype/categ_Sc.h: Likewise.
+       * lib/unictype/categ_Sk.h: Likewise.
+       * lib/unictype/categ_Sm.h: Likewise.
+       * lib/unictype/categ_So.h: Likewise.
+       * lib/unictype/categ_of.h: Likewise.
+       * lib/unictype/combining.h: Likewise.
+       * lib/unictype/ctype_alnum.h: Likewise.
+       * lib/unictype/ctype_alpha.h: Likewise.
+       * lib/unictype/ctype_graph.h: Likewise.
+       * lib/unictype/ctype_lower.h: Likewise.
+       * lib/unictype/ctype_print.h: Likewise.
+       * lib/unictype/ctype_punct.h: Likewise.
+       * lib/unictype/ctype_upper.h: Likewise.
+       * lib/unictype/decdigit.h: Likewise.
+       * lib/unictype/digit.h: Likewise.
+       * lib/unictype/numeric.h: Likewise.
+       * lib/unictype/pr_alphabetic.h: Likewise.
+       * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
+       * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
+       * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
+       * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
+       * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
+       * lib/unictype/pr_bidi_left_to_right.h: Likewise.
+       * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
+       * lib/unictype/pr_bidi_other_neutral.h: Likewise.
+       * lib/unictype/pr_case_ignorable.h: Likewise.
+       * lib/unictype/pr_cased.h: Likewise.
+       * lib/unictype/pr_changes_when_casefolded.h: Likewise.
+       * lib/unictype/pr_changes_when_casemapped.h: Likewise.
+       * lib/unictype/pr_changes_when_lowercased.h: Likewise.
+       * lib/unictype/pr_changes_when_titlecased.h: Likewise.
+       * lib/unictype/pr_changes_when_uppercased.h: Likewise.
+       * lib/unictype/pr_combining.h: Likewise.
+       * lib/unictype/pr_composite.h: Likewise.
+       * lib/unictype/pr_currency_symbol.h: Likewise.
+       * lib/unictype/pr_decimal_digit.h: Likewise.
+       * lib/unictype/pr_deprecated.h: Likewise.
+       * lib/unictype/pr_format_control.h: Likewise.
+       * lib/unictype/pr_grapheme_base.h: Likewise.
+       * lib/unictype/pr_grapheme_extend.h: Likewise.
+       * lib/unictype/pr_grapheme_link.h: Likewise.
+       * lib/unictype/pr_id_continue.h: Likewise.
+       * lib/unictype/pr_id_start.h: Likewise.
+       * lib/unictype/pr_ideographic.h: Likewise.
+       * lib/unictype/pr_lowercase.h: Likewise.
+       * lib/unictype/pr_math.h: Likewise.
+       * lib/unictype/pr_numeric.h: Likewise.
+       * lib/unictype/pr_other_alphabetic.h: Likewise.
+       * lib/unictype/pr_other_id_continue.h: Likewise.
+       * lib/unictype/pr_other_math.h: Likewise.
+       * lib/unictype/pr_punctuation.h: Likewise.
+       * lib/unictype/pr_sentence_terminal.h: Likewise.
+       * lib/unictype/pr_terminal_punctuation.h: Likewise.
+       * lib/unictype/pr_unassigned_code_value.h: Likewise.
+       * lib/unictype/pr_unified_ideograph.h: Likewise.
+       * lib/unictype/pr_uppercase.h: Likewise.
+       * lib/unictype/pr_xid_continue.h: Likewise.
+       * lib/unictype/pr_xid_start.h: Likewise.
+       * lib/unictype/scripts.h: Likewise.
+       * lib/unictype/scripts_byname.gperf: Likewise.
+       * lib/unictype/sy_java_ident.h: Likewise.
+       * lib/unigbrk/gbrkprop.h: Likewise.
+       * lib/unilbrk/lbrkprop1.h: Likewise.
+       * lib/unilbrk/lbrkprop2.h: Likewise.
+       * lib/uninorm/decomposition-table2.h: Likewise.
+       * lib/uniwbrk/wbrkprop.h: Likewise.
+       * tests/unicase/test-cased.c: Likewise.
+       * tests/unicase/test-ignorable.c: Likewise.
+       * tests/unicase/test-uc_tolower.c: Likewise.
+       * tests/unicase/test-uc_totitle.c: Likewise.
+       * tests/unicase/test-uc_toupper.c: Likewise.
+       * tests/unictype/test-categ_C.c: Likewise.
+       * tests/unictype/test-categ_Cn.c: Likewise.
+       * tests/unictype/test-categ_L.c: Likewise.
+       * tests/unictype/test-categ_Ll.c: Likewise.
+       * tests/unictype/test-categ_Lm.c: Likewise.
+       * tests/unictype/test-categ_Lo.c: Likewise.
+       * tests/unictype/test-categ_Lu.c: Likewise.
+       * tests/unictype/test-categ_M.c: Likewise.
+       * tests/unictype/test-categ_Mc.c: Likewise.
+       * tests/unictype/test-categ_Me.c: Likewise.
+       * tests/unictype/test-categ_Mn.c: Likewise.
+       * tests/unictype/test-categ_N.c: Likewise.
+       * tests/unictype/test-categ_Nd.c: Likewise.
+       * tests/unictype/test-categ_No.c: Likewise.
+       * tests/unictype/test-categ_P.c: Likewise.
+       * tests/unictype/test-categ_Po.c: Likewise.
+       * tests/unictype/test-categ_S.c: Likewise.
+       * tests/unictype/test-categ_Sc.c: Likewise.
+       * tests/unictype/test-categ_Sk.c: Likewise.
+       * tests/unictype/test-categ_Sm.c: Likewise.
+       * tests/unictype/test-categ_So.c: Likewise.
+       * tests/unictype/test-ctype_alnum.c: Likewise.
+       * tests/unictype/test-ctype_alpha.c: Likewise.
+       * tests/unictype/test-ctype_graph.c: Likewise.
+       * tests/unictype/test-ctype_lower.c: Likewise.
+       * tests/unictype/test-ctype_print.c: Likewise.
+       * tests/unictype/test-ctype_punct.c: Likewise.
+       * tests/unictype/test-ctype_upper.c: Likewise.
+       * tests/unictype/test-decdigit.h: Likewise.
+       * tests/unictype/test-digit.h: Likewise.
+       * tests/unictype/test-numeric.h: Likewise.
+       * tests/unictype/test-pr_alphabetic.c: Likewise.
+       * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
+       * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
+       * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
+       * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
+       * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
+       * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
+       * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
+       * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
+       * tests/unictype/test-pr_case_ignorable.c: Likewise.
+       * tests/unictype/test-pr_cased.c: Likewise.
+       * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
+       * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
+       * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
+       * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
+       * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
+       * tests/unictype/test-pr_combining.c: Likewise.
+       * tests/unictype/test-pr_composite.c: Likewise.
+       * tests/unictype/test-pr_currency_symbol.c: Likewise.
+       * tests/unictype/test-pr_decimal_digit.c: Likewise.
+       * tests/unictype/test-pr_deprecated.c: Likewise.
+       * tests/unictype/test-pr_format_control.c: Likewise.
+       * tests/unictype/test-pr_grapheme_base.c: Likewise.
+       * tests/unictype/test-pr_grapheme_extend.c: Likewise.
+       * tests/unictype/test-pr_grapheme_link.c: Likewise.
+       * tests/unictype/test-pr_id_continue.c: Likewise.
+       * tests/unictype/test-pr_id_start.c: Likewise.
+       * tests/unictype/test-pr_ideographic.c: Likewise.
+       * tests/unictype/test-pr_lowercase.c: Likewise.
+       * tests/unictype/test-pr_math.c: Likewise.
+       * tests/unictype/test-pr_numeric.c: Likewise.
+       * tests/unictype/test-pr_other_alphabetic.c: Likewise.
+       * tests/unictype/test-pr_other_id_continue.c: Likewise.
+       * tests/unictype/test-pr_other_math.c: Likewise.
+       * tests/unictype/test-pr_punctuation.c: Likewise.
+       * tests/unictype/test-pr_sentence_terminal.c: Likewise.
+       * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
+       * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
+       * tests/unictype/test-pr_unified_ideograph.c: Likewise.
+       * tests/unictype/test-pr_uppercase.c: Likewise.
+       * tests/unictype/test-pr_xid_continue.c: Likewise.
+       * tests/unictype/test-pr_xid_start.c: Likewise.
+       * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
+       * lib/unicase/special-casing-table.gperf: Regenerated; only comment
+       changes.
+       * lib/unictype/categ_Cc.h: Likewise.
+       * lib/unictype/categ_Cf.h: Likewise.
+       * lib/unictype/categ_Co.h: Likewise.
+       * lib/unictype/categ_Cs.h: Likewise.
+       * lib/unictype/categ_Lt.h: Likewise.
+       * lib/unictype/categ_Nl.h: Likewise.
+       * lib/unictype/categ_Pc.h: Likewise.
+       * lib/unictype/categ_Pd.h: Likewise.
+       * lib/unictype/categ_Pe.h: Likewise.
+       * lib/unictype/categ_Pf.h: Likewise.
+       * lib/unictype/categ_Pi.h: Likewise.
+       * lib/unictype/categ_Ps.h: Likewise.
+       * lib/unictype/categ_Z.h: Likewise.
+       * lib/unictype/categ_Zl.h: Likewise.
+       * lib/unictype/categ_Zp.h: Likewise.
+       * lib/unictype/categ_Zs.h: Likewise.
+       * lib/unictype/ctype_blank.h: Likewise.
+       * lib/unictype/ctype_cntrl.h: Likewise.
+       * lib/unictype/ctype_digit.h: Likewise.
+       * lib/unictype/ctype_space.h: Likewise.
+       * lib/unictype/ctype_xdigit.h: Likewise.
+       * lib/unictype/mirror.h: Likewise.
+       * lib/unictype/pr_ascii_hex_digit.h: Likewise.
+       * lib/unictype/pr_bidi_block_separator.h: Likewise.
+       * lib/unictype/pr_bidi_common_separator.h: Likewise.
+       * lib/unictype/pr_bidi_control.h: Likewise.
+       * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
+       * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
+       * lib/unictype/pr_bidi_european_digit.h: Likewise.
+       * lib/unictype/pr_bidi_pdf.h: Likewise.
+       * lib/unictype/pr_bidi_segment_separator.h: Likewise.
+       * lib/unictype/pr_bidi_whitespace.h: Likewise.
+       * lib/unictype/pr_dash.h: Likewise.
+       * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
+       * lib/unictype/pr_diacritic.h: Likewise.
+       * lib/unictype/pr_extender.h: Likewise.
+       * lib/unictype/pr_hex_digit.h: Likewise.
+       * lib/unictype/pr_hyphen.h: Likewise.
+       * lib/unictype/pr_ids_binary_operator.h: Likewise.
+       * lib/unictype/pr_ids_trinary_operator.h: Likewise.
+       * lib/unictype/pr_ignorable_control.h: Likewise.
+       * lib/unictype/pr_iso_control.h: Likewise.
+       * lib/unictype/pr_join_control.h: Likewise.
+       * lib/unictype/pr_left_of_pair.h: Likewise.
+       * lib/unictype/pr_line_separator.h: Likewise.
+       * lib/unictype/pr_logical_order_exception.h: Likewise.
+       * lib/unictype/pr_non_break.h: Likewise.
+       * lib/unictype/pr_not_a_character.h: Likewise.
+       * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
+       * lib/unictype/pr_other_grapheme_extend.h: Likewise.
+       * lib/unictype/pr_other_id_start.h: Likewise.
+       * lib/unictype/pr_other_lowercase.h: Likewise.
+       * lib/unictype/pr_other_uppercase.h: Likewise.
+       * lib/unictype/pr_paired_punctuation.h: Likewise.
+       * lib/unictype/pr_paragraph_separator.h: Likewise.
+       * lib/unictype/pr_pattern_syntax.h: Likewise.
+       * lib/unictype/pr_pattern_white_space.h: Likewise.
+       * lib/unictype/pr_private_use.h: Likewise.
+       * lib/unictype/pr_quotation_mark.h: Likewise.
+       * lib/unictype/pr_radical.h: Likewise.
+       * lib/unictype/pr_soft_dotted.h: Likewise.
+       * lib/unictype/pr_space.h: Likewise.
+       * lib/unictype/pr_titlecase.h: Likewise.
+       * lib/unictype/pr_variation_selector.h: Likewise.
+       * lib/unictype/pr_white_space.h: Likewise.
+       * lib/unictype/pr_zero_width.h: Likewise.
+       * lib/unictype/sy_c_ident.h: Likewise.
+       * lib/unictype/sy_c_whitespace.h: Likewise.
+       * lib/unictype/sy_java_whitespace.h: Likewise.
+       * lib/uninorm/composition-table.gperf: Likewise.
+       * lib/uninorm/decomposition-table1.h: Likewise.
+       * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
+       LB8.
+       * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
+       * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
+       * modules/unictype/*: Bump version number of expected libunistring
+       version.
+
+2011-01-09  Bruno Haible  <bruno@clisp.org>
+
+       Update to Unicode 5.2.0.
+       * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
+       trailing whitespace removed.
+
+2011-01-09  Bruno Haible  <bruno@clisp.org>
+
+       New Unicode character properties, from Unicode 5.2.0.
+       * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
+       UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
+       UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
+       UC_PROPERTY_CHANGES_WHEN_TITLECASED,
+       UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
+       UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
+       uc_is_property_cased, uc_is_property_case_ignorable,
+       uc_is_property_changes_when_lowercased,
+       uc_is_property_changes_when_uppercased,
+       uc_is_property_changes_when_titlecased,
+       uc_is_property_changes_when_casefolded,
+       uc_is_property_changes_when_casemapped): New declarations.
+       * lib/unictype/pr_byname.gperf: Add the new properties.
+       * modules/unictype/property-byname (Depends-on): Depend on the new
+       properties modules.
+       * modules/unictype/property-all (Depends-on): Likewise.
+       * MODULES.html.sh (Unicode string functions): Add
+       unictype/property-case-ignorable, unictype/property-cased,
+       unictype/property-changes-when-casefolded,
+       unictype/property-changes-when-casemapped,
+       unictype/property-changes-when-lowercased,
+       unictype/property-changes-when-titlecased,
+       unictype/property-changes-when-uppercased.
+
+       New module 'unictype/property-changes-when-casemapped'.
+       * modules/unictype/property-changes-when-casemapped: New file.
+       * lib/unictype/pr_changes_when_casemapped.c: New file.
+       * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
+       generated by gen-uni-tables.
+       * modules/unictype/property-changes-when-casemapped-tests: New file.
+       * tests/unictype/test-pr_changes_when_casemapped.c: New file,
+       automatically generated by gen-uni-tables.
+
+       New module 'unictype/property-changes-when-casefolded'.
+       * modules/unictype/property-changes-when-casefolded: New file.
+       * lib/unictype/pr_changes_when_casefolded.c: New file.
+       * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
+       generated by gen-uni-tables.
+       * modules/unictype/property-changes-when-casefolded-tests: New file.
+       * tests/unictype/test-pr_changes_when_casefolded.c: New file,
+       automatically generated by gen-uni-tables.
+
+       New module 'unictype/property-changes-when-titlecased'.
+       * modules/unictype/property-changes-when-titlecased: New file.
+       * lib/unictype/pr_changes_when_titlecased.c: New file.
+       * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
+       generated by gen-uni-tables.
+       * modules/unictype/property-changes-when-titlecased-tests: New file.
+       * tests/unictype/test-pr_changes_when_titlecased.c: New file,
+       automatically generated by gen-uni-tables.
+
+       New module 'unictype/property-changes-when-uppercased'.
+       * modules/unictype/property-changes-when-uppercased: New file.
+       * lib/unictype/pr_changes_when_uppercased.c: New file.
+       * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
+       generated by gen-uni-tables.
+       * modules/unictype/property-changes-when-uppercased-tests: New file.
+       * tests/unictype/test-pr_changes_when_uppercased.c: New file,
+       automatically generated by gen-uni-tables.
+
+       New module 'unictype/property-changes-when-lowercased'.
+       * modules/unictype/property-changes-when-lowercased: New file.
+       * lib/unictype/pr_changes_when_lowercased.c: New file.
+       * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
+       generated by gen-uni-tables.
+       * modules/unictype/property-changes-when-lowercased-tests: New file.
+       * tests/unictype/test-pr_changes_when_lowercased.c: New file,
+       automatically generated by gen-uni-tables.
+
+       New module 'unictype/property-case-ignorable'.
+       * modules/unictype/property-case-ignorable: New file.
+       * lib/unictype/pr_case_ignorable.c: New file.
+       * lib/unictype/pr_case_ignorable.h: New file, automatically generated
+       by gen-uni-tables.
+       * modules/unictype/property-case-ignorable-tests: New file.
+       * tests/unictype/test-pr_case_ignorable.c: New file, automatically
+       generated by gen-uni-tables.
+
+       New module 'unictype/property-cased'.
+       * modules/unictype/property-cased: New file.
+       * lib/unictype/pr_cased.c: New file.
+       * lib/unictype/pr_cased.h: New file, automatically generated by
+       gen-uni-tables.
+       * modules/unictype/property-cased-tests: New file.
+       * tests/unictype/test-pr_cased.c: New file, automatically generated by
+       gen-uni-tables.
+
+2011-01-09  Bruno Haible  <bruno@clisp.org>
+
+       Update to Unicode 5.2.0.
+       * lib/gen-uni-tables.c (output_predicate, output_category,
+       output_combclass, output_bidi_category, output_decimal_digit_test,
+       output_decimal_digit, output_digit_test, output_digit,
+       output_numeric_test, output_numeric, output_mirror, output_scripts,
+       output_scripts_byname, output_blocks, output_ident_category): Fix
+       comment header.
+       (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
+       get_wbp.
+       (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
+       items.
+       (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
+       Changes_When_Lowercased, Changes_When_Uppercased,
+       Changes_When_Titlecased, Changes_When_Casefolded,
+       Changes_When_Casemapped.
+       (is_property_alphabetic, is_property_default_ignorable_code_point):
+       Update for Unicode 5.2.0.
+       (is_property_cased, is_property_case_ignorable,
+       is_property_changes_when_lowercased,
+       is_property_changes_when_uppercased,
+       is_property_changes_when_titlecased,
+       is_property_changes_when_casefolded,
+       is_property_changes_when_casemapped): New functions.
+       (output_properties): Output also the properties cased, case_ignorable,
+       changes_when_lowercased, changes_when_uppercased,
+       changes_when_titlecased, changes_when_casefolded,
+       changes_when_casemapped.
+       (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
+       Unicode TR#11 revision 17 -> 19.
+       (LBP_CP): New enumeration value.
+       (LBP_*): Adjust values accordingly.
+       (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
+       TR#14 revision 22 -> 24.
+       (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
+       (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
+       (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
+       TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
+       is_WBP_MIDLETTER.
+       (output_composition_tables): Allow for 24 bits instead of 16 bits in
+       the code1 and code2 of each composition rule.
+       * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
+       * lib/unicase/ignorable.h: Likewise.
+       * lib/unicase/tocasefold.h: Likewise.
+       * lib/unicase/tolower.h: Likewise.
+       * lib/unicase/totitle.h: Likewise.
+       * lib/unicase/toupper.h: Likewise.
+       * lib/unictype/bidi_of.h: Likewise.
+       * lib/unictype/blocks.h: Likewise.
+       * lib/unictype/categ_C.h: Likewise.
+       * lib/unictype/categ_Cf.h: Likewise.
+       * lib/unictype/categ_Cn.h: Likewise.
+       * lib/unictype/categ_L.h: Likewise.
+       * lib/unictype/categ_Ll.h: Likewise.
+       * lib/unictype/categ_Lm.h: Likewise.
+       * lib/unictype/categ_Lo.h: Likewise.
+       * lib/unictype/categ_Lu.h: Likewise.
+       * lib/unictype/categ_M.h: Likewise.
+       * lib/unictype/categ_Mc.h: Likewise.
+       * lib/unictype/categ_Mn.h: Likewise.
+       * lib/unictype/categ_N.h: Likewise.
+       * lib/unictype/categ_Nd.h: Likewise.
+       * lib/unictype/categ_Nl.h: Likewise.
+       * lib/unictype/categ_No.h: Likewise.
+       * lib/unictype/categ_P.h: Likewise.
+       * lib/unictype/categ_Pd.h: Likewise.
+       * lib/unictype/categ_Po.h: Likewise.
+       * lib/unictype/categ_S.h: Likewise.
+       * lib/unictype/categ_Sc.h: Likewise.
+       * lib/unictype/categ_So.h: Likewise.
+       * lib/unictype/categ_of.h: Likewise.
+       * lib/unictype/combining.h: Likewise.
+       * lib/unictype/ctype_alnum.h: Likewise.
+       * lib/unictype/ctype_alpha.h: Likewise.
+       * lib/unictype/ctype_graph.h: Likewise.
+       * lib/unictype/ctype_lower.h: Likewise.
+       * lib/unictype/ctype_print.h: Likewise.
+       * lib/unictype/ctype_punct.h: Likewise.
+       * lib/unictype/ctype_upper.h: Likewise.
+       * lib/unictype/decdigit.h: Likewise.
+       * lib/unictype/digit.h: Likewise.
+       * lib/unictype/numeric.h: Likewise.
+       * lib/unictype/pr_alphabetic.h: Likewise.
+       * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
+       * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
+       * lib/unictype/pr_bidi_european_digit.h: Likewise.
+       * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
+       * lib/unictype/pr_bidi_left_to_right.h: Likewise.
+       * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
+       * lib/unictype/pr_bidi_other_neutral.h: Likewise.
+       * lib/unictype/pr_combining.h: Likewise.
+       * lib/unictype/pr_composite.h: Likewise.
+       * lib/unictype/pr_currency_symbol.h: Likewise.
+       * lib/unictype/pr_dash.h: Likewise.
+       * lib/unictype/pr_decimal_digit.h: Likewise.
+       * lib/unictype/pr_deprecated.h: Likewise.
+       * lib/unictype/pr_diacritic.h: Likewise.
+       * lib/unictype/pr_extender.h: Likewise.
+       * lib/unictype/pr_grapheme_base.h: Likewise.
+       * lib/unictype/pr_grapheme_extend.h: Likewise.
+       * lib/unictype/pr_grapheme_link.h: Likewise.
+       * lib/unictype/pr_id_continue.h: Likewise.
+       * lib/unictype/pr_id_start.h: Likewise.
+       * lib/unictype/pr_ideographic.h: Likewise.
+       * lib/unictype/pr_ignorable_control.h: Likewise.
+       * lib/unictype/pr_logical_order_exception.h: Likewise.
+       * lib/unictype/pr_lowercase.h: Likewise.
+       * lib/unictype/pr_numeric.h: Likewise.
+       * lib/unictype/pr_other_alphabetic.h: Likewise.
+       * lib/unictype/pr_punctuation.h: Likewise.
+       * lib/unictype/pr_sentence_terminal.h: Likewise.
+       * lib/unictype/pr_terminal_punctuation.h: Likewise.
+       * lib/unictype/pr_unassigned_code_value.h: Likewise.
+       * lib/unictype/pr_unified_ideograph.h: Likewise.
+       * lib/unictype/pr_uppercase.h: Likewise.
+       * lib/unictype/pr_xid_continue.h: Likewise.
+       * lib/unictype/pr_xid_start.h: Likewise.
+       * lib/unictype/pr_zero_width.h: Likewise.
+       * lib/unictype/scripts.h: Likewise.
+       * lib/unictype/scripts_byname.gperf: Likewise.
+       * lib/unictype/sy_java_ident.h: Likewise.
+       * lib/unigbrk/gbrkprop.h: Likewise.
+       * lib/unilbrk/lbrkprop1.h: Likewise.
+       * lib/unilbrk/lbrkprop2.h: Likewise.
+       * lib/unilbrk/lbrktables.h: Likewise.
+       * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
+       LBP_CP. Implement rule LB30.
+       * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
+       U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
+       U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
+       U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
+       U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
+       U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
+       U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
+       U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
+       (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
+       * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
+       * lib/uninorm/composition.c (struct composition_rule): Allow for 24
+       bits instead of 16 bits in the code1 and code2 of each composition
+       rule.
+       (uc_composition): Update for Unicode 5.2.0.
+       * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
+       * lib/uninorm/decomposition-table2.h: Likewise.
+       * lib/uniwbrk/wbrkprop.h: Likewise.
+       * tests/unicase/test-cased.c: Likewise.
+       * tests/unicase/test-ignorable.c: Likewise.
+       * tests/unicase/test-uc_tolower.c: Likewise.
+       * tests/unicase/test-uc_totitle.c: Likewise.
+       * tests/unicase/test-uc_toupper.c: Likewise.
+       * tests/unictype/test-categ_C.c: Likewise.
+       * tests/unictype/test-categ_Cf.c: Likewise.
+       * tests/unictype/test-categ_Cn.c: Likewise.
+       * tests/unictype/test-categ_L.c: Likewise.
+       * tests/unictype/test-categ_Ll.c: Likewise.
+       * tests/unictype/test-categ_Lm.c: Likewise.
+       * tests/unictype/test-categ_Lo.c: Likewise.
+       * tests/unictype/test-categ_Lu.c: Likewise.
+       * tests/unictype/test-categ_M.c: Likewise.
+       * tests/unictype/test-categ_Mc.c: Likewise.
+       * tests/unictype/test-categ_Mn.c: Likewise.
+       * tests/unictype/test-categ_N.c: Likewise.
+       * tests/unictype/test-categ_Nd.c: Likewise.
+       * tests/unictype/test-categ_Nl.c: Likewise.
+       * tests/unictype/test-categ_No.c: Likewise.
+       * tests/unictype/test-categ_P.c: Likewise.
+       * tests/unictype/test-categ_Pd.c: Likewise.
+       * tests/unictype/test-categ_Po.c: Likewise.
+       * tests/unictype/test-categ_S.c: Likewise.
+       * tests/unictype/test-categ_Sc.c: Likewise.
+       * tests/unictype/test-categ_So.c: Likewise.
+       * tests/unictype/test-ctype_alnum.c: Likewise.
+       * tests/unictype/test-ctype_alpha.c: Likewise.
+       * tests/unictype/test-ctype_graph.c: Likewise.
+       * tests/unictype/test-ctype_lower.c: Likewise.
+       * tests/unictype/test-ctype_print.c: Likewise.
+       * tests/unictype/test-ctype_punct.c: Likewise.
+       * tests/unictype/test-ctype_upper.c: Likewise.
+       * tests/unictype/test-decdigit.h: Likewise.
+       * tests/unictype/test-digit.h: Likewise.
+       * tests/unictype/test-numeric.h: Likewise.
+       * tests/unictype/test-pr_alphabetic.c: Likewise.
+       * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
+       * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
+       * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
+       * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
+       * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
+       * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
+       * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
+       * tests/unictype/test-pr_combining.c: Likewise.
+       * tests/unictype/test-pr_composite.c: Likewise.
+       * tests/unictype/test-pr_currency_symbol.c: Likewise.
+       * tests/unictype/test-pr_dash.c: Likewise.
+       * tests/unictype/test-pr_decimal_digit.c: Likewise.
+       * tests/unictype/test-pr_deprecated.c: Likewise.
+       * tests/unictype/test-pr_diacritic.c: Likewise.
+       * tests/unictype/test-pr_extender.c: Likewise.
+       * tests/unictype/test-pr_grapheme_base.c: Likewise.
+       * tests/unictype/test-pr_grapheme_extend.c: Likewise.
+       * tests/unictype/test-pr_grapheme_link.c: Likewise.
+       * tests/unictype/test-pr_id_continue.c: Likewise.
+       * tests/unictype/test-pr_id_start.c: Likewise.
+       * tests/unictype/test-pr_ideographic.c: Likewise.
+       * tests/unictype/test-pr_ignorable_control.c: Likewise.
+       * tests/unictype/test-pr_logical_order_exception.c: Likewise.
+       * tests/unictype/test-pr_lowercase.c: Likewise.
+       * tests/unictype/test-pr_numeric.c: Likewise.
+       * tests/unictype/test-pr_other_alphabetic.c: Likewise.
+       * tests/unictype/test-pr_punctuation.c: Likewise.
+       * tests/unictype/test-pr_sentence_terminal.c: Likewise.
+       * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
+       * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
+       * tests/unictype/test-pr_unified_ideograph.c: Likewise.
+       * tests/unictype/test-pr_uppercase.c: Likewise.
+       * tests/unictype/test-pr_xid_continue.c: Likewise.
+       * tests/unictype/test-pr_xid_start.c: Likewise.
+       * tests/unictype/test-pr_zero_width.c: Likewise.
+       * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
+       * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
+       changed behaviour: line breaking is now disallowed between a letter
+       or '=' and '('.
+       * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
+       * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
+       * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
+       * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
+       * tests/uniwidth/test-uc_width2.sh: Same updates as in
+       lib/uniwidth/width.c.
+       * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
+       without comments, but with the original copyright notice.
+       * lib/unicase/special-casing-table.gperf: Regenerated; only comment
+       changes.
+       * lib/unictype/categ_Cc.h: Likewise.
+       * lib/unictype/categ_Co.h: Likewise.
+       * lib/unictype/categ_Cs.h: Likewise.
+       * lib/unictype/categ_Lt.h: Likewise.
+       * lib/unictype/categ_Me.h: Likewise.
+       * lib/unictype/categ_Pc.h: Likewise.
+       * lib/unictype/categ_Pe.h: Likewise.
+       * lib/unictype/categ_Pf.h: Likewise.
+       * lib/unictype/categ_Pi.h: Likewise.
+       * lib/unictype/categ_Ps.h: Likewise.
+       * lib/unictype/categ_Sk.h: Likewise.
+       * lib/unictype/categ_Sm.h: Likewise.
+       * lib/unictype/categ_Z.h: Likewise.
+       * lib/unictype/categ_Zl.h: Likewise.
+       * lib/unictype/categ_Zp.h: Likewise.
+       * lib/unictype/categ_Zs.h: Likewise.
+       * lib/unictype/ctype_blank.h: Likewise.
+       * lib/unictype/ctype_cntrl.h: Likewise.
+       * lib/unictype/ctype_digit.h: Likewise.
+       * lib/unictype/ctype_space.h: Likewise.
+       * lib/unictype/ctype_xdigit.h: Likewise.
+       * lib/unictype/mirror.h: Likewise.
+       * lib/unictype/pr_ascii_hex_digit.h: Likewise.
+       * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
+       * lib/unictype/pr_bidi_block_separator.h: Likewise.
+       * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
+       * lib/unictype/pr_bidi_common_separator.h: Likewise.
+       * lib/unictype/pr_bidi_control.h: Likewise.
+       * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
+       * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
+       * lib/unictype/pr_bidi_pdf.h: Likewise.
+       * lib/unictype/pr_bidi_segment_separator.h: Likewise.
+       * lib/unictype/pr_bidi_whitespace.h: Likewise.
+       * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
+       * lib/unictype/pr_format_control.h: Likewise.
+       * lib/unictype/pr_hex_digit.h: Likewise.
+       * lib/unictype/pr_hyphen.h: Likewise.
+       * lib/unictype/pr_ids_binary_operator.h: Likewise.
+       * lib/unictype/pr_ids_trinary_operator.h: Likewise.
+       * lib/unictype/pr_iso_control.h: Likewise.
+       * lib/unictype/pr_join_control.h: Likewise.
+       * lib/unictype/pr_left_of_pair.h: Likewise.
+       * lib/unictype/pr_line_separator.h: Likewise.
+       * lib/unictype/pr_math.h: Likewise.
+       * lib/unictype/pr_non_break.h: Likewise.
+       * lib/unictype/pr_not_a_character.h: Likewise.
+       * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
+       * lib/unictype/pr_other_grapheme_extend.h: Likewise.
+       * lib/unictype/pr_other_id_continue.h: Likewise.
+       * lib/unictype/pr_other_id_start.h: Likewise.
+       * lib/unictype/pr_other_lowercase.h: Likewise.
+       * lib/unictype/pr_other_math.h: Likewise.
+       * lib/unictype/pr_other_uppercase.h: Likewise.
+       * lib/unictype/pr_paired_punctuation.h: Likewise.
+       * lib/unictype/pr_paragraph_separator.h: Likewise.
+       * lib/unictype/pr_pattern_syntax.h: Likewise.
+       * lib/unictype/pr_pattern_white_space.h: Likewise.
+       * lib/unictype/pr_private_use.h: Likewise.
+       * lib/unictype/pr_quotation_mark.h: Likewise.
+       * lib/unictype/pr_radical.h: Likewise.
+       * lib/unictype/pr_soft_dotted.h: Likewise.
+       * lib/unictype/pr_space.h: Likewise.
+       * lib/unictype/pr_titlecase.h: Likewise.
+       * lib/unictype/pr_variation_selector.h: Likewise.
+       * lib/unictype/pr_white_space.h: Likewise.
+       * lib/unictype/sy_c_ident.h: Likewise.
+       * lib/unictype/sy_c_whitespace.h: Likewise.
+       * lib/unictype/sy_java_whitespace.h: Likewise.
+       * modules/uni*/*: Bump version number of expected libunistring version.
+       Reported by Simon Josefsson.
+
+2011-01-09  Karl Heuer  <kwzh@gnu.org>
+
+       useless-if-before-free: fix typo in --help and make the internal,
+       automatic version date update process work once again.
+       --help output contained a NUL character instead of the
+       backslash-zero that was intended.  Also, the "must lie within
+       the first 8 lines" line is on line 9, and hence not getting
+       automatically updated.
+       * build-aux/useless-if-before-free: Fix the former by adding a
+       backslash, and the latter by condensing the three lines of what-it-does
+       to a single line, leaving one line of slack for the future.
+
+2011-01-09  Bruno Haible  <bruno@clisp.org>
+
+       uniwidth/width: Fix width of U+1D173..U+1D17A.
+       * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
+       symbolic_width, output_width_property_test): New functions.
+       (main): Invoke output_nonspacing_property, output_width_property_test.
+       * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
+       U+1D173..U+1D17A.
+       * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
+       1.
+       * modules/uniwidth/*: Bump version number of expected libunistring
+       version.
+       * modules/unilbrk/*: Likewise.
+
+2011-01-08  Bruno Haible  <bruno@clisp.org>
+
+       uninorm tests: Preserve copyright of Unicode data file.
+       * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
+       Mention modifications.
+
+2011-01-08  Bruno Haible  <bruno@clisp.org>
+
+       gen-uni-tables: Prepare for Unicode 5.2.0.
+       * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
+       (debug_output_lbp, output_lbp): Update.
+
+2011-01-08  Bruno Haible  <bruno@clisp.org>
+
+       unilbrk: Clarify gen-uni-tables.c code.
+       * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
+       were mistakes in UAX #14 revision 22 that are corrected in revision 24.
+       Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
+
+2011-01-07  Bruno Haible  <bruno@clisp.org>
+
+       strtod: Restore errno when successfully parsing Infinity or NaN.
+       * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
+       restore the original errno.
+
+2011-01-07  Bruno Haible  <bruno@clisp.org>
+
+       remove test: Avoid failure on HP-UX 11.
+       * tests/test-remove.c (main): Allow EEXIST as alternative error code.
+
+2011-01-07  Bruno Haible  <bruno@clisp.org>
+
+       mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
+       * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
+       error code.
+
+2011-01-07  Pádraig Brady <P@draigBrady.com>
+
+       ignore-value: fixup comments, and add Eric Blake
+       as an author since he rewrote the macros.
+       * lib/ignore-value.h (ignore_value):  State that
+       we now support aggregates.  Also specify exactly
+       when the GCC warn_unused_result feature was added.
+
+2011-01-06  Eric Blake  <eblake@redhat.com>
+
+       ignore-value: support aggregate types
+       * lib/ignore-value.h (ignore_value): Provide separate gcc
+       definition.
+       * modules/ignore-value-tests: New test module.
+       * tests/test-ignore-value.c: New test.
+
+       maint.mk: improve sc_prohibit_strcmp regex
+       * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
+       documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
+       definition of STRNEQ.
+
+       signal: work around Haiku issue with SIGBUS
+       * lib/siglist.h: Add comment.
+       * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
+       strsignal's favoring of SIGSEGV.
+       * tests/test-signal.c (main): Avoid test failure.
+       * doc/posix-headers/signal.texi (signal.h): Document the issue.
+       Reported by Scott McCreary.
+
+       maint.mk: add pre-release check to ensure submodule commits are public
+       * top/maint.mk (public-submodule-commit): New rule.
+       (submodule-checks): New variable.
+       (alpha beta stable): Depend on the variable.
+
+2011-01-05  Pádraig Brady <P@draigBrady.com>
+       and Jim Meyering  <meyering@redhat.com>
+
+       ignore-value: make ignore_value more generic; deprecate ignore_ptr
+       * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
+       (ATTRIBUTE_DEPRECATED): Define.
+       (_ignore_case): New function.
+       (ignore_value): New macro, to replace the old function.
+       (ignore_ptr): Arrange for any use to evoke a deprecation warning.
+       * modules/ignore-value (Depends-on): Add stdint.
+
+2011-01-04  Eric Blake  <eblake@redhat.com>
+
+       doc: regenerate INSTALL
+       * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
+       @firstparagraphindent support, now that autoconf dropped it.
+       (INSTALL_PRELUDE): Reinstate old macro.
+       * doc/install.texi: Resync from autoconf.
+       * doc/INSTALL: Reflect recent autoconf update.
+       * doc/INSTALL.ISO: Likewise.
+       * doc/INSTALL.UTF-8: Likewise.
+       Reported by Karl Berry.
+
+2011-01-04  Bruce Korb  <address@hidden>
+
+       git-version-gen: avoid a sub-shell
+       * build-aux/git-version-gen: Redirect stderr in `...` via
+       "exec 2>...", rather than via an added sub-shell.
+
+2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
+
+       git-version-gen: use (...) rather than sh -c '...'
+       * build-aux/git-version-gen: Rather than hard-coding a shell's name
+       with "sh -c '...'", just use "(...)".  Less syntax is better, too.
+
+2011-01-03  Jim Meyering  <meyering@redhat.com>
+
+       git-version-gen: convert leading TABs to spaces
+       * build-aux/git-version-gen: Expand leading TABs.
+
+       git-version-gen: handle failed "git rev-list"
+       * build-aux/git-version-gen: Rather than leaking a "fatal" error
+       from git and proceeding as if it had succeeded but printed no SHA1
+       checksums, suppress the diagnostic and handle the failure.
+       Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
+
+       git-version-gen: include command name in one more diagnostic
+       * build-aux/git-version-gen: When the required .tarball-version file
+       was missing or unreadable, you might see the diagnostic from "cat",
+       but no trace of the name of the invoking script.  Now, you still see
+       the diagnostic from cat, but also get one from "git-version-gen: ".
+       Inspired by a patch from Bruce Korb.
+
+       update-copyright: adjust test to match changed code
+       * tests/test-update-copyright.sh: Change test's expected output
+       to match new actual output.
+
+2011-01-02  Bruno Haible  <bruno@clisp.org>
+
+       getlogin_r: Avoid test failure on HP-UX 11.
+       * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
+       ERANGE when the second argument is zero.
+       * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
+       portability problem.
+
+2011-01-02  Bruce Korb  <bkorb@gnu.org>
+
+       * build-aux/update-copyright: doc Simon's changes
+
+2011-01-02  Simon Josefsson  <simon@josefsson.org>
+
+       * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
+       environment variable.
+
+2011-01-02  Bruno Haible  <bruno@clisp.org>
+
+       unigbrk: Avoid gcc warnings.
+       * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
+       unused variable.
+       * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
+       * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
+       * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
+       * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
+       * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
+       Change type of first argument to 'const char *'.
+       (main): Remove unused variable.
+       * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
+       type of first argument to 'const char *'.
+       * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
+       Likewise.
+       (main): Change type of variable 's'.
+       * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
+       to 'int'.
+
+2011-01-02  Bruno Haible  <bruno@clisp.org>
+
+       pwrite: Fix test whether it works and make it work on HP-UX 11.11.
+       * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
+       AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
+       bug.
+       * lib/pwrite.c: Undo 2010-12-31 patch.
+       * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
+
+2011-01-02  Bruno Haible  <bruno@clisp.org>
+
+       pread: Fix test whether it works.
+       * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
+
+2011-01-02  Bruno Haible  <bruno@clisp.org>
+
+       Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
+       * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
+       ends in "6". Don't require a specific month name. Try also the locale
+       names found on HP-UX 11 and Solaris 7.
+
+2011-01-02  Bruno Haible  <bruno@clisp.org>
+
+       tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
+       * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
+       C linkage.
+       * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
+
+2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
+
+       Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
+       for consistency, since the "cluster" term is not used elsewhere.
+       * lib/unigbrk.in.h: Update name.
+       * lib/unigbrk/u16-grapheme-breaks.c: Update name.
+       * lib/unigbrk/u16-grapheme-next.c: Update name.
+       * lib/unigbrk/u16-grapheme-prev.c: Update name.
+       * lib/unigbrk/u32-grapheme-breaks.c: Update name.
+       * lib/unigbrk/u32-grapheme-next.c: Update name.
+       * lib/unigbrk/u32-grapheme-prev.c: Update name.
+       * lib/unigbrk/u8-grapheme-breaks.c: Update name.
+       * lib/unigbrk/u8-grapheme-next.c: Update name.
+       * lib/unigbrk/u8-grapheme-prev.c: Update name.
+       * lib/unigbrk/uc-is-grapheme-break.c: Update name.
+       * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
+       Suggested by Bruno Haible.
+
+2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
+
+       Remove module 'u8-grapheme-len' as too redundant with
+       'u8-grapheme-next'.
+       * modules/unigbrk/u8-grapheme-len: Delete file.
+       * modules/unigbrk/u8-grapheme-len-tests: Delete file.
+       * lib/unigbrk.in.h: Remove prototype for deleted function.
+       * lib/unigbrk/u8-grapheme-len.c: Delete file.
+       * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
+
+       Remove module 'u16-grapheme-len' as too redundant with
+       'u16-grapheme-next'.
+       * modules/unigbrk/u16-grapheme-len: Delete file.
+       * modules/unigbrk/u16-grapheme-len-tests: Delete file.
+       * lib/unigbrk.in.h: Remove prototype for deleted function.
+       * lib/unigbrk/u16-grapheme-len.c: Delete file.
+       * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
+
+       Remove module 'u32-grapheme-len' as too redundant with
+       'u32-grapheme-next'.
+       * modules/unigbrk/u32-grapheme-len: Delete file.
+       * modules/unigbrk/u32-grapheme-len-tests: Delete file.
+       * lib/unigbrk.in.h: Remove prototype for deleted function.
+       * lib/unigbrk/u32-grapheme-len.c: Delete file.
+       * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
+
+       Suggested by Bruno Haible.
+
+2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
+
+       * unigbrk.in.h: Fix typo: "ben" => "been".
+       Reported by Bruno Haible.
+
+2011-01-01  Jim Meyering  <meyering@redhat.com>
+
+       maint: update almost all copyright ranges to include 2011
+       Run the new "make update-copyright" rule.
+
+2011-01-01  Jim Meyering  <meyering@redhat.com>
+
+       maint: update-copyright: exempt doc/INSTALL*
+       * Makefile (update-copyright): Also exclude doc/INSTALL*,
+       since they are generated.  Suggested by Bruno Haible.
+
+2011-01-01  Jim Meyering  <meyering@redhat.com>
+
+       maint: refine the update-copyright rule
+       * Makefile (update-copyright): Also exclude any file that includes
+       the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
+       code that merely generates the comment.
+
+2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
+
+       New module 'u8-grapheme-len'.
+       * modules/unigbrk/u8-grapheme-len: New file.
+       * modules/unigbrk/u8-grapheme-len-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u8-grapheme-len.c: New file.
+       * tests/unigbrk/test-u8-grapheme-len.c: New file.
+
+       New module 'u16-grapheme-len'.
+       * modules/unigbrk/u16-grapheme-len: New file.
+       * modules/unigbrk/u16-grapheme-len-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u16-grapheme-len.c: New file.
+       * tests/unigbrk/test-u16-grapheme-len.c: New file.
+
+       New module 'u32-grapheme-len'.
+       * modules/unigbrk/u32-grapheme-len: New file.
+       * modules/unigbrk/u32-grapheme-len-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u32-grapheme-len.c: New file.
+       * tests/unigbrk/test-u32-grapheme-len.c: New file.
+
+       New module 'u8-grapheme-next'.
+       * modules/unigbrk/u8-grapheme-next: New file.
+       * modules/unigbrk/u8-grapheme-next-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u8-grapheme-next.c: New file.
+       * tests/unigbrk/test-u8-grapheme-next.c: New file.
+
+       New module 'u16-grapheme-next'.
+       * modules/unigbrk/u16-grapheme-next: New file.
+       * modules/unigbrk/u16-grapheme-next-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u16-grapheme-next.c: New file.
+       * tests/unigbrk/test-u16-grapheme-next.c: New file.
+
+       New module 'u32-grapheme-next'.
+       * modules/unigbrk/u32-grapheme-next: New file.
+       * modules/unigbrk/u32-grapheme-next-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u32-grapheme-next.c: New file.
+       * tests/unigbrk/test-u32-grapheme-next.c: New file.
+
+       New module 'u8-grapheme-prev'.
+       * modules/unigbrk/u8-grapheme-prev: New file.
+       * modules/unigbrk/u8-grapheme-prev-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u8-grapheme-prev.c: New file.
+       * tests/unigbrk/test-u8-grapheme-prev.c: New file.
+
+       New module 'u16-grapheme-prev'.
+       * modules/unigbrk/u16-grapheme-prev: New file.
+       * modules/unigbrk/u16-grapheme-prev-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u16-grapheme-prev.c: New file.
+       * tests/unigbrk/test-u16-grapheme-prev.c: New file.
+
+       New module 'u32-grapheme-prev'.
+       * modules/unigbrk/u32-grapheme-prev: New file.
+       * modules/unigbrk/u32-grapheme-prev-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u32-grapheme-prev.c: New file.
+       * tests/unigbrk/test-u32-grapheme-prev.c: New file.
+
+       New module 'u8-grapheme-breaks'.
+       * modules/unigbrk/u8-grapheme-breaks: New file.
+       * modules/unigbrk/u8-grapheme-breaks-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u8-grapheme-breaks.c: New file.
+       * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
+
+       New module 'u16-grapheme-breaks'.
+       * modules/unigbrk/u16-grapheme-breaks: New file.
+       * modules/unigbrk/u16-grapheme-breaks-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u16-grapheme-breaks.c: New file.
+       * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
+
+       New module 'u32-grapheme-breaks'.
+       * modules/unigbrk/u32-grapheme-breaks: New file.
+       * modules/unigbrk/u32-grapheme-breaks-tests: New file.
+       * lib/unigbrk.in.h: Add prototype for new function.
+       * lib/unigbrk/u32-grapheme-breaks.c: New file.
+       * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
+
+       New module 'ulc-grapheme-breaks'.
+       * modules/unigbrk/ulc-grapheme-breaks: New file.
+       * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
+       * m4/locale-ar.m4: New file.
+       * lib/unigbrk/ulc-grapheme-breaks.c: New file.
+       * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
+       * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
+
+2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
+
+       gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
+       * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
+       modified how this file was generated before I initially submitted
+       the module, but failed to regenerate it.  This meant that several
+       of the level2 entries were wrong.
+       * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
+       Remove the division-by-2 that is folded into the table now that
+       gbrkprop.h has been regenerated properly.  Now -1 entries are
+       handled correctly.
+
+       New module 'unigbrk/uc-gbrk-prop-tests'.
+       * modules/unigbrk/uc-gbrk-prop-tests: New file.
+       * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
+       * tests/unigbrk/test-uc-gbrk-prop.c: New file.
+       * tests/unigbrk/test-uc-gbrk-prop.h: New file.
+
+2011-01-01  Bruno Haible  <bruno@clisp.org>
+
+       Avoid use of hexadecimal escapes.
+       * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
+       instead of hexadecimal escapes.
+
+2011-01-01  Jim Meyering  <meyering@redhat.com>
+
+       maint: new rule to update copyright year ranges
+       * Makefile (update-copyright): New rule.
+
+       maint: indent with TABs in Makefile
+       * Makefile: Expand leading sequences of spaces to TABs
+
+       version-etc: update the copyright year it reports
+       * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
+
+2010-12-31  Bruno Haible  <bruno@clisp.org>
+
+       isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
+       * lib/isfinite.c (zerof, zerod, zerol): New variables.
+       (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
+       zero.
+
+2010-12-31  Bruno Haible  <bruno@clisp.org>
+
+       pwrite: Work around HP-UX 11.11 bug.
+       * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
+       works and set REPLACE_PWRITE if not.
+       * lib/pwrite.c (pwrite): Add an implementation that uses the system
+       function.
+       * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
+
+2010-12-31  Bruno Haible  <bruno@clisp.org>
+
+       pread: Work around HP-UX 11 bugs.
+       * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
+       and set REPLACE_PREAD if not.
+       * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
+
+2010-12-31  Eric Blake  <eblake@redhat.com>
+
+       nl_langinfo: fix YESEXPR on Irix 6.5
+       * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
+       * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
+       * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
+       it.
+
+2010-12-31  Bruno Haible  <bruno@clisp.org>
+
+       iconv: Document HP-UX 11 bug.
+       * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
+
 2010-12-31  Bruno Haible  <bruno@clisp.org>
 
        ldexpl: Fix link error on HP-UX 11.
 2010-12-31  Bruno Haible  <bruno@clisp.org>
 
        ldexpl: Fix link error on HP-UX 11.
        coding: utf-8
        End:
 
        coding: utf-8
        End:
 
-       Copyright (C) 1997-2010 Free Software Foundation, Inc.
+       Copyright (C) 1997-2011 Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice