+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.