New module 'unictype/joiningtype-all'.
[gnulib.git] / ChangeLog
index df4b52c..8dcbe92 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,302 @@
+2011-03-21  Bruno Haible  <bruno@clisp.org>
+
+       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