NEWS.stable: log cherry-pick [25d7f3a]->[6c630cd] wmemchr, wcschr, wcsrchr, wcspbrk...
[gnulib.git] / ChangeLog
index 8594108..db0800c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,331 @@
+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.
 
 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>