This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi,
here are several patches against locale/programs/ld-collate.c to fix
bugs or propose enhancements to localedef. They have to be applied
sequentially; I will provide modified patches if only some of them
are applied. All these patches apply against ld-collate.c and thus
are about LC_COLLATE section of locale data files.
They have been tested as best as I could for several weeks now, and
should not produce any regression.
* patch-1-keywords_ordering.diff [BZ #690]
Localedef is currently very strict on its keyword ordering.
As a result, one can not add new scripts (am_ET uses an ugly hack so
that state != 2 after 'copy'), collating-element and collating-symbol
are accepted after 'copy' but not symbol-equivalence, etc. which
sometimes prevent tailoring of iso14651_t1.
This patch is also needed for the following one:
* patch-2-toggles.diff [BZ #686]
Toggle switches are defined in locale/programs/locfile-kw.h
but not implemented. Here is a patch to let localedef handle
'define', 'undef', 'ifdef', 'else' and 'endif' keywords.
This is very useful e.g. for locales which sort uppercase before
lowercase letters, or do not want backward direction in level 2.
Iso14651_t1 can then be customized like
ifdef LATIN_FORWARD
order_start <LATIN>;forward;forward;forward;forward,position
else
order_start <LATIN>;forward;backward;forward;forward,position
endif
so that these locales can define specific keywords and then
'copy "iso14651_t1"' instead of copying its contents.
* patch-3-fix_rules.diff [BZ #645]
Localedef does not respect rules definition (after order_start
keyword), as is explained in depth in #645. This breaks French
collation, but also potentially any locale which has a rule
different from forward;forward;forward;forward.
* patch-4-fix_complex_collation.diff [BZ #368]
With many collation elements, localedef enters an endless loop
because it tries to add an element to a full table and never fails.
The table size was artificially limited to 257 elements, but this
limitation can be removed. This fix is needed for the Dzongkha
language.
2005-02-24 Denis Barbier <barbier@debian.org>
[BZ #690]
* locale/programs/ld-collate.c (collate_read): Relax checks on
keywords ordering.
[BZ #686]
* locale/programs/ld-collate.c (collate_read): Implement keywords
for toggles which were already defined in locfile-kw.h.
[BZ #645]
* locale/programs/ld-collate.c (collate_finish): Fix handling of
section rules.
* locale/programs/ld-collate.c (collate_read): Likewise.
[BZ #368]
* locale/programs/ld-collate.c (collate_output): elem_size does
not need to be truncated at 257.
Denis
Attachment:
patch-1-keywords_ordering.diff
Description: Text document
Attachment:
patch-2-toggles.diff
Description: Text document
Attachment:
patch-3-fix_rules.diff
Description: Text document
Attachment:
patch-4-fix_complex_collation.diff
Description: Text document
Attachment:
signature.asc
Description: Digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |