Bug 219908 - Wrong collate order in many non-C locales (case-insensitive)
Wrong collate order in many non-C locales (case-insensitive)
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: glibc (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-12-16 04:27 EST by Anton Guda
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-12-16 04:40:22 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Anton Guda 2006-12-16 04:27:59 EST
Description of problem:
When LC_COLLATE (or LANG) is set to 
en_GB, ru_RU, uk_UA...
strcoll ignores case even for latin letters.

Version-Release number of selected component (if applicable):
glibc-2.4.* ... 2.5.90-12

How reproducible:

always


Steps to Reproduce:
1. Create text file with text:
---------- cut here ------------------
A
B
C
a
b
c
---------- cut here -------------------

2. LC_COLLATE=C sort in.txt
3. LC_COLLATE=en_GB sort in.txt
  
Actual results:
Different output from runs:
C: A B C a b c (correct)
en_GB: A a B b C c (inrorrect)

The same results for some other locales (ru_RU, uk_UA, fr_FR)
both for latin and cyr hcaracters.
Similar results when using strcoll in C programs.

Expected results:
In any locales capital latin chars (A-Z) must be 'less'
than normal (a-z).
In cyrilic locales (and may be in other),
must be the same rule.

Additional info:
Comment 1 Jakub Jelinek 2006-12-16 04:40:22 EST
Please open any dictionary for the corresponding languages and see how things
are sorted.
Case is not ignored, but in most locales it is just secondary or tertiary
differentiator.
Comment 2 Anton Guda 2006-12-18 07:02:08 EST
It seems to be "error by design" == feature.
Ok, its not a error, but it prevents from
locale-aware case-sensitive comparison 
in most locales.

Note You need to log in before you can comment on or make changes to this bug.