New modules for grapheme cluster breaking.
[gnulib.git] / ChangeLog
index e0e4e3a..fd3d4a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,435 @@
+2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
+
+       New module 'unigbrk/base'.
+       * modules/unigbrk/base: New file.
+       * lib/unigbrk.in.h: New file.
+
+       New module 'unigbrk/uc-gbrk-prop'.
+       * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
+       * modules/unigbrk/uc-gbrk-prop: New file.
+       * lib/unigbrk/gbrkprop.h: New file.
+       * lib/unigbrk/uc-gbrk-prop.c: New file.
+
+       New module 'unigbrk/uc-is-grapheme-break'.
+       * modules/unigbrk/uc-is-grapheme-break: New file.
+       * modules/unigbrk/uc-is-grapheme-break-tests: New file.
+       * lib/unigbrk/uc-is-grapheme-break.c: New file.
+       * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
+       * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
+       * tests/unigbrk/GraphemeBreakTest.txt: New file.
+
+       With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       linkat test: Avoid failure on Solaris 11 2010-11.
+       * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
+
+2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens: work around glibc rounding bug on more platforms
+       * lib/utimens.c (fdutimens): Work around rounding bug even if
+       HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       select tests: Improve comments.
+       * tests/test-select.c (do_select): Add comments.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       select tests: Safer way of handling timeout.
+       * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
+       at every invocation.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       select tests: Use 'bool' where appropriate.
+       * tests/test-select.c (connect_to_socket): Change argument type to
+       'bool'.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       select tests: Use existing modules.
+       * modules/select-tests (Depends-on): Add pipe-posix, unistd.
+       (configure.ac): Don't test for unistd.h.
+       * tests/test-select.c: Include <unistd.h> always. Use pipe() as
+       declared in <unistd.h>.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       mbrtowc: Work around a Solaris 7 bug.
+       * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
+       (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
+       (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
+       MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
+       MBRTOWC_NULL_ARG1_BUG.
+       * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
+       MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
+       * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
+       * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
+
+2010-12-27  Jim Meyering  <meyering@redhat.com>
+
+       read-file.c: tweak syntax
+       * lib/read-file.c (fread_file): Remove space after "*" in function
+       definitions.
+
+2010-12-27  Bruno Haible  <bruno@clisp.org>
+
+       times test: Avoid gcc warnings on OSF/1.
+       * tests/test-times.c (main): Cast printf arguments from clock_t to
+       'long int'.
+
+2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens: work around glibc rounding bug on older Linux kernels
+       * lib/utimens.c (fdutimens): If invoking futimesat or futimes
+       on Linux with a glibc whose utimes might not work, then work
+       around a longstanding glibc bug involving rounding rather than
+       truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
+
+2010-12-26  Bruno Haible  <bruno@clisp.org>
+
+       inet_ntop: Hide mismatch of declaration on NonStop Kernel.
+       * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
+       _GL_CXXALIAS_SYS.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-26  Bruno Haible  <bruno@clisp.org>
+
+       inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
+       * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
+       * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
+       * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
+       looking for the declaration.
+       * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
+       * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
+       problem.
+       * doc/posix-functions/inet_pton.texi: Likewise.
+
+2010-12-26  Bruno Haible  <bruno@clisp.org>
+
+       arpa_inet: Use the common idioms with C++ support.
+       * lib/arpa_inet.in.h: Include c++defs.h.
+       (inet_ntop, inet_pton): Declare using the macros with C++ namespace
+       support.
+       * modules/arpa_inet (Depends-on): Add c++defs.
+       (Makefile.am): Substitute the contents of c++defs.h.
+       * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
+       * modules/arpa_inet-c++-tests: New file.
+       * tests/test-arpa_inet-c++.cc: New file.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       Fix more C++ link errors on Solaris 8.
+       * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
+       $(LIB_EACCESS).
+       * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
+       * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
+       * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
+       * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
+       * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       printf-posix: Fix link error when a non-GCC compiler is used.
+       * lib/stdio.in.h (printf): When not using GCC, override printf
+       correctly.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       strerror_r-posix: Update doc.
+       * doc/posix-functions/strerror_r.texi: Update doc about the return
+       value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
+
+2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens: simplify the logic of the previous change
+       * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
+       This should not affect whether the test succeeds or fails.
+
+       utimens: configure better on hosts with NFS clock skew
+       * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
+       uses the clock of the local host.  It might use the clock of the
+       NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       ptsname test: Avoid failure on Solaris.
+       * tests/test-ptsname.c (main): For Solaris, use the recommended way to
+       open a pseudo-terminal; don't use BSD-style ptys.
+       * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       ptsname: Avoid ERANGE failure on some systems.
+       * lib/ptsname.c (buffer): Increase size.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       rename, renameat: Avoid test failures at NFS mounted locations.
+       * tests/test-rename.h (assert_nonexistent): Remove the old directory,
+       so that subsequent mkdir calls succeed.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       iswblank: Fix C++ link error on Solaris 8.
+       * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
+       _GL_FUNCDECL_SYS.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       unistd: Fix C++ link error on Solaris 8.
+       * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       readlink doc: Mention an old glibc bug.
+       * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       fcntl-h: Fix for use of C++ on glibc systems.
+       * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
+       also on glibc systems in C++ mode.
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       roundl-ieee: Make it work on OSF/1 5.1 with cc.
+       * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       truncl-ieee: Make it work on OSF/1 5.1 with cc.
+       * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
+       * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
+       test whether truncl works according to ISO C 99 with IEC 60559.
+       * m4/truncl-ieee.m4: New file.
+       * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
+       m4/signbit.m4.
+       (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       ceill-ieee: Make it work on OSF/1 5.1 with cc.
+       * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
+       * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
+       test whether ceill works according to ISO C 99 with IEC 60559.
+       * m4/ceill-ieee.m4: New file.
+       * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
+       m4/signbit.m4.
+       (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       Ensure all prerequisites of <wchar.h> are included.
+       * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
+       before <wchar.h>.
+       * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
+       gl_MBRLEN_NUL_RETVAL): Likewise.
+       * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
+       gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
+       AC_FUNC_MBRTOWC): Likewise.
+       * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
+       * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
+       * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
+       * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
+       Likewise.
+       * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
+       * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
+       (gl_WCHAR_H): Improve comments.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
+
+2010-12-25  Bruno Haible  <bruno@clisp.org>
+
+       strtok_r: Fix C syntax error in autoconf macro.
+       * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
+       characters in test program.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       ceil, trunc, round: Fix gcc warnings.
+       * lib/ceil.c (MIN): Undefine before redefining.
+       * lib/trunc.c (MIN): Likewise.
+       * lib/round.c (MIN): Likewise.
+       Include <math.h> first.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       select tests: Avoid failures on OSF/1 5.1.
+       * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
+       failure of closing the last socket; it may fail with ECONNRESET.
+
+2010-12-24  Eric Blake  <eblake@redhat.com>
+
+       stdint: avoid HP-UX 10.20 preprocessor bug
+       * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
+       than #if.
+       * tests/test-floor2.c (main): Likewise.
+       Reported by Peter O'Gorman.
+
+       pipe: make obsoletion transition easier
+       * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
+       * modules/pipe (Files): Include revived file.
+       (Include): Drop reference, to mirror getdate's behavior.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       sys_socket: Hide mismatch of declarations on NonStop Kernel.
+       * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
+       _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       gethostname: Ensure declaration on NonStop Kernel.
+       * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Ensure all necessary types on NonStop Kernel.
+       * lib/sys_select.in.h: If the system does not have <sys/select.h>,
+       include <sys/time.h>.
+       * doc/posix-headers/sys_select.texi: Mention that it's missing on
+       NonStop Kernel.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Remove unneeded include.
+       * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
+       have <sys/select.h>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       gethostname: Provide a fallback for HOST_NAME_MAX.
+       * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
+       nor MAXHOSTNAMELEN is found in the usual system headers, use 256
+       instead.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
+       * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
+       (SA_RESTART): Likewise.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       signal: Define NSIG.
+       * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
+       * tests/test-signal.c (nsig): New variable.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       rename, renameat: Avoid test failures on OSF/1 5.1.
+       * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
+       alternative error codes.
+       * tests/test-renameat.c (main): Likewise.
+
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       *printf: Detect large precisions bug on Solaris 10/SPARC.
+       * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
+       by Paul Eggert.
+       * tests/test-snprintf-posix.h (test_function): Add this test code here
+       too.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       * tests/test-vasnprintf-posix.c (test_function): Likewise.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
+       around by gnulib.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/snprintf.texi: Likewise.
+       * doc/posix-functions/sprintf.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+       * doc/posix-functions/vsnprintf.texi: Likewise.
+       * doc/posix-functions/vsprintf.texi: Likewise.
+       * doc/posix-functions/dprintf.texi: Undo last commit.
+       * doc/posix-functions/vdprintf.texi: Likewise.
+
+2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tests: port test-fdutimensat.c to Solaris 8
+       * tests/test-fdutimensat.c (do_fdutimens): Don't assume
+       fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
+       On Solaris 8, it fails with errno == ENOSYS, because there is no
+       futimens (so it can't use the fd), and there is no lutimens (so it
+       can't implement AT_SYMLINK_NOFOLLOW on symlinks).
+
+       vsnprintf: make more consistent with snprintf; doc fixes
+
+       * doc/posix-functions/snprintf.texi (snprintf): The workaround for
+       the byte count return problem was promoted from the snprintf-posix
+       to the snprintf module.
+       * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
+       * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
+       gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
+       * tests/test-snprintf.c (main): Check the byte count returned.
+       * tests/test-vsnprintf.c (main): Likewise.
+
+2010-12-23  Eric Blake  <eblake@redhat.com>
+
+       sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
+       * modules/sigpipe (License): Relax license.
+
+2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: document Solaris printf bug with large float precisions
+       * doc/posix-functions/dprintf.texi (dprintf):
+       * doc/posix-functions/fprintf.texi (fprintf):
+       * doc/posix-functions/printf.texi (printf):
+       * doc/posix-functions/snprintf.texi (snprintf):
+       * doc/posix-functions/sprintf.texi (sprintf):
+       * doc/posix-functions/vdprintf.texi (vdprintf):
+       * doc/posix-functions/vfprintf.texi (vfprintf):
+       * doc/posix-functions/vprintf.texi (vprintf):
+       * doc/posix-functions/vsnprintf.texi (vsnprintf):
+       * doc/posix-functions/vsprintf.texi (vsprintf):
+       Mention that these functions mishandle large floating point
+       precisions on Solaris 10.  The same bug is also present in Solaris
+       8, and I assume earlier.  This causes "cd gnulib-tests; make
+       check" to fail on Solaris 8 (and I assume, later) when building
+       the latest coreutils, in test-vasprintf-posix's call to
+       my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
+       the wide flavors (e.g., wprintf) so this patch just updates the
+       documentation for the narrow ones.
+
+       test-posixtm.c: add two tests
+       * tests/test-posixtm.c: Add two tests, to highlight the
+       bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
+       around this bug; this is merely to document it.
+
+2010-12-22  Bruno Haible  <bruno@clisp.org>
+
+       getlogin_r: Work around portability problem on OSF/1.
+       * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
+       * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
+       * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
+       test for a truncated result.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
+       * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
+       * modules/getlogin_r (Depends-on): Add memchr.
+       * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
+
+2010-12-22  Bruno Haible  <bruno@clisp.org>
+
+       ptsname: Avoid test failure on OSF/1 5.1.
+       * modules/ptsname-tests (Depends-on): Add 'same-inode'.
+       * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
+       (same_slave): New function.
+       (main): Use it to compare ptsname's result with the expected file name.
+
 2010-12-22  Bruno Haible  <bruno@clisp.org>
 
        Port extended stdio modules to HP NonStop Kernel.