GNU bug report logs -
#20316
24.5; `string-lessp' doesn't respect value of LC_COLLATE
Previous Next
Reported by: Alexis <flexibeast <at> gmail.com>
Date: Mon, 13 Apr 2015 05:23:01 UTC
Severity: normal
Found in version 24.5
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
Message #14 received at 20316 <at> debbugs.gnu.org (full text, mbox):
Michael Albinus <michael.albinus <at> gmx.de> writes:
> Alexis <flexibeast <at> gmail.com> writes:
>
>> (getenv "LC_COLLATE") => "hr_HR.UTF-8"
>>
>> (string-lessp "Ć" "D") => nil (string-lessp "Đ" "S") => nil
>> (string-lessp "Š" "Z") => nil
>
> `string-lessp' is not design to respect collation order. The
> docstring speaks about lexicographoc order.
i'm sorry, i don't follow this. Yes, the docstring talks about
lexicographic order. But i think it's reasonable for users to
expect Emacs' built-in sort functionality (e.g. `sort-lines') to
respect their current locale such that lexicographic order and
collation order are treated as basically synonymous. Unless
there's an important distinction between the two in this context
that i'm missing?
In this specific case, a user of a package i maintain was
surprised when `org-sort' didn't sort their Croatian-language Org
entries properly. Under the hood, `org-sort' uses
`string-lessp'. Is the bottom line that they'll have to wait until
at least 25.1 before Org could add conditional code to use
`string-collate-lessp', to at least DTRT for users of >25.0?
Alexis.
This bug report was last modified 10 years and 120 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.