+2011-04-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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.
+
+ careadlink: 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
2011-01-23 Paul Eggert <eggert@cs.ucla.edu>
- Allow the user to avoid the GNULIB_TEST_* macros.
+ 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>