Guess that wcwidth works on glibc systems.
[gnulib.git] / ChangeLog
index e6ef6f6..f4ababb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,177 @@
+2009-07-14  Bruno Haible  <bruno@clisp.org>
+
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
+       Reported by anonymous kc.
+
+2009-07-07  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: don't look for translatable strings in *.m4 or *.mk
+       * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
+       when searching for translatable strings.
+
+2009-07-05  Jim Meyering  <meyering@redhat.com>
+
+       remove superfluous parentheses in STREQ definition
+       * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
+       * lib/getugroups.c (STREQ): Likewise.
+       * lib/fnmatch.c (STREQ): Likewise.
+       Spotted by Bruno Haible.
+
+2009-07-04  Jim Meyering  <meyering@redhat.com>
+
+       argv-iter: new module
+       * MODULES.html.sh: Add argv-iter.
+       * lib/argv-iter.c, lib/argv-iter.h: New files.
+       * modules/argv-iter: New file.
+       * modules/argv-iter-tests: New file.
+       * tests/test-argv-iter.c: Test it.
+
+2009-07-04  Bruno Haible  <bruno@clisp.org>
+
+       Fix assertion.
+       * lib/git-merge-changelog.c (compute_mapping): In the case where file1
+       contains more exact copies of a given entry than file2, leave the extra
+       copies unpaired rather than aborting.
+       Reported by Eric Blake.
+
+2009-07-02  Bruno Haible  <bruno@clisp.org>
+
+       Speedup git-merge-changelog for git cherry-pick.
+       * lib/git-merge-changelog.c (struct entries_mapping): New type.
+       (entries_mapping_get): New function, extracted from compute_mapping.
+       (entries_mapping_reverse_get): New function.
+       (compute_mapping): Add a 'full' argument. Return the result in a
+       'struct entries_mapping'.
+       (main): Update. Access the mappings through entries_mapping_get.
+       Reported by Eric Blake.
+
+2009-07-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c (compute_mapping): Fix determination of
+       best_i.
+
+2009-07-02  Bruno Haible  <bruno@clisp.org>
+
+       Speed up approximate search for matching ChangeLog entries.
+       * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
+       argument. Call fstrcmp_bounded instead of fstrcmp.
+       (compute_mapping, try_split_merged_entry, main): Update callers.
+
+2009-07-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
+
+2009-06-30  Bruno Haible  <bruno@clisp.org>
+
+       Reduce the number of uc_is_cased calls.
+       * lib/unicase.h (casing_suffix_context_t): Add
+       'first_char_except_ignorable' field.
+       * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
+       (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
+       * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
+       Update initializer.
+       * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
+       case-ignorable characters.
+       * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
+       * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
+       * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
+       * modules/unicase/u16-suffix-context (Depends-on): Likewise.
+       * modules/unicase/u32-suffix-context (Depends-on): Likewise.
+
+2009-06-30  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'unicase/ignorable'.
+       * modules/unicase/ignorable-tests: New file.
+       * tests/unicase/test-ignorable.c: New file, generated by
+       gen-uni-tables.
+
+       Tests for module 'unicase/cased'.
+       * modules/unicase/cased-tests: New file.
+       * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
+       * tests/unicase/test-predicate-part1.h: New file, derived from
+       tests/unictype/test-predicate-part1.h.
+       * tests/unicase/test-predicate-part2.h: New file, same as
+       tests/unictype/test-predicate-part2.h.
+
+       Fix evaluation of "Before C" condition of FINAL_SIGMA.
+       * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
+       (output_casing_properties): New function.
+       (main): Call it.
+       * lib/unicase/cased.h: New file, generated by gen-uni-tables.
+       * lib/unicase/cased.c: Include unictype/bitmap.h.
+       (uc_is_cased): Define through a bitmap lookup.
+       * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
+       * lib/unicase/ignorable.c: Include unictype/bitmap.h.
+       (uc_is_case_ignorable): Define through a bitmap lookup.
+       * modules/unicase/cased (Files): Add lib/unicase/cased.h,
+       lib/unictype/bitmap.h.
+       (Depends-on): Add inline. Clean up.
+       * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
+       lib/unictype/bitmap.h.
+       (Depends-on): Add inline. Clean up.
+       * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
+       recognition.
+       * tests/unicase/test-u16-tolower.c (main): Likewise.
+       * tests/unicase/test-u32-tolower.c (main): Likewise.
+
+2009-06-30  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
+       * lib/unicase/u16-casemap.c: Likewise.
+       * lib/unicase/u32-casemap.c: Likewise.
+
 2009-06-29  Bruno Haible  <bruno@clisp.org>
 
+       Define u32_casefold as a wrapper around u32_ct_casefold.
+       * lib/unicase/u32-casefold.c: Update.
+       * modules/unicase/u32-casefold (Depends-on): Add
+       unicase/u32-ct-casefold, unicase/empty-prefix-context,
+       unicase/empty-suffix-context. Clean up.
+
+       Define u16_casefold as a wrapper around u16_ct_casefold.
+       * lib/unicase/u16-casefold.c: Update.
+       * modules/unicase/u16-casefold (Depends-on): Add
+       unicase/u16-ct-casefold, unicase/empty-prefix-context,
+       unicase/empty-suffix-context. Clean up.
+
+       Define u8_casefold as a wrapper around u8_ct_casefold.
+       * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
+       * lib/unicase/u8-casefold.c: Update.
+       * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
+       unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+       Define u32_totitle as a wrapper around u32_ct_totitle.
+       * lib/unicase/u32-totitle.c: Update.
+       * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
+       unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+       Define u16_totitle as a wrapper around u16_ct_totitle.
+       * lib/unicase/u16-totitle.c: Update.
+       * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
+       unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+       Define u8_totitle as a wrapper around u8_ct_totitle.
+       * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
+       functions.
+       (FUNC): Delegate to U_CT_TOTITLE.
+       * lib/unicase/u8-totitle.c: Update.
+       * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
+       unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+       * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
+       invocation.
+       * modules/unicase/u32-tolower (Depends-on): Add
+       unicase/empty-prefix-context, unicase/empty-suffix-context.
+
+       * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
+       invocation.
+       * modules/unicase/u16-tolower (Depends-on): Add
+       unicase/empty-prefix-context, unicase/empty-suffix-context.
+
+       * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
+       * modules/unicase/u8-tolower (Depends-on): Add
+       unicase/empty-prefix-context, unicase/empty-suffix-context.
+
        * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
        invocation.
        * modules/unicase/u32-toupper (Depends-on): Add