After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 114681 - Unicode 4.0 Turkic and Lithuanian special casing
Unicode 4.0 Turkic and Lithuanian special casing
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: general
unspecified
Other Linux
: High normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks: 107974
 
 
Reported: 2003-06-08 02:48 UTC by Noah Levitt
Modified: 2011-02-18 16:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (7.69 KB, patch)
2003-06-08 02:49 UTC, Noah Levitt
none Details | Review
updated patch (11.25 KB, patch)
2003-09-06 23:38 UTC, Noah Levitt
none Details | Review
fix a couple mistakes in the last patch (11.24 KB, patch)
2003-09-06 23:52 UTC, Noah Levitt
none Details | Review

Description Noah Levitt 2003-06-08 02:48:44 UTC
Part of the Unicode 4.0 update is some new rules for Turkic and Lithuanian
casing, which are hard-coded in glib (they pretty much have to be). I
pasted some of SpecialCasing.txt in bug #107974.
Comment 1 Noah Levitt 2003-06-08 02:49:45 UTC
Created attachment 17306 [details] [review]
proposed patch
Comment 2 Elijah Newren 2003-06-14 22:07:26 UTC
Adding PATCH keyword and setting priority to high because of the patch.
Comment 3 Owen Taylor 2003-08-25 19:11:06 UTC
Don't really have time to look at this in detail; if you
feel comfortable, just go ahead and commit. Otherwise,
you might want to find someone else who knows something about
Unicode to review.

A couple of superficial comments:

 - I don't really like the extern declaration of the function,
   though I've done it a couple of times myself. You might
   want to just add a gunicodeprivate.h. 

- We tend to deviate from the GNU standards and put &&
  (and other operators)   at line breaks on the end of the 
  previous line rather than the start of the new line.
  than the 
Comment 4 Noah Levitt 2003-09-06 23:38:23 UTC
Created attachment 19792 [details] [review]
updated patch
Comment 5 Noah Levitt 2003-09-06 23:46:10 UTC
The updated patch applies to current cvs head, and does the
gunicodeprivate.h thing. It also has each of the Lithuanian and Turkic
tests in gen-casemap-txt.pl try both xx_YY and xx_YY.UTF-8 (I have the
UTF-8 locales installed on my system, but not the others, and it got
to be a pain to manually edit the file repeatedly).

I'm pretty comfortable with this patch, but I'll wait a few days to
apply in case Roozbeh or Jungshik or anybody wants to give it a look,
which would be much appreciated. Simply checking that the test cases I
added are correct would help a lot to verify that the patch is right.
Comment 6 Noah Levitt 2003-09-06 23:52:10 UTC
Created attachment 19794 [details] [review]
fix a couple mistakes in the last patch
Comment 7 Owen Taylor 2003-09-10 15:35:31 UTC
I'd say go ahead and commit this; one more superficial
comment is that to avoid prototype mismatches, you should
include gunicodeprivate.h in .c files where you define
the functions, not just in .c files where you use them.
Comment 8 Noah Levitt 2003-09-10 16:56:29 UTC
Right you are with that superficial comment. :)

2003-09-10  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gunicodeprivate.h:
	* glib/gunicollate.c:
	* glib/gunidecomp.c:
	* glib/guniprop.c:
	* tests/casemap.txt:
	* tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681)

	* glib/gunicodeprivate.h: Use a private header instead of extern
	function declarations (_g_utf8_normalize_wc,
	_g_unichar_combining_class).