New module 'unictype/combining-class-all'.
[gnulib.git] / ChangeLog
index 917e834..86c1876 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,397 @@
+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
+       * 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