GNU bug report logs -
#12008
Alphabetic sorting respect user's language and/or locale
Previous Next
Reported by: martin rudalics <rudalics <at> gmx.at>
Date: Sat, 21 Jul 2012 14:39:02 UTC
Severity: wishlist
Merged with 2263
Fixed in version 25.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #19 received at 12008 <at> debbugs.gnu.org (full text, mbox):
> From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
> Cc: martin rudalics <rudalics <at> gmx.at>, 12008 <at> debbugs.gnu.org
> Date: Sun, 22 Jul 2012 06:24:31 -0400
>
> > A simple way of doing this goes along the following lines:
> > Lisp_Object enc_str1 = ENCODE_SYSTEM (string1);
> > Lisp_Object enc_str2 = ENCODE_SYSTEM (string2);
> > return make_number (strcoll (enc_str1, enc_str2));
>
> That's probably OK for dired'd sorting but not for sort-subr where we
> need to be independent from the system locale.
How do you mean "independent of the system locale"? We already have
locale-independent string comparison: compare-strings, string<, etc.
By contrast, sorting strings in collation order is AFAIK inherently
locale-specific. Or am I missing something?
> So better would be to switch the locale to utf-8 and call strcoll
> without calling ENCODE_SYSTEM (tho of course, only if the strings
> are multibyte).
How will this be different from string< etc., that we already have?
(And btw, AFAIK Dired doesn't sort, it relies on 'ls' to do so, and
'ls' uses 'strcoll' to sort file names. Only on MS-Windows, where we
use ls-lisp.el, do we need to collate in Lisp as part of Dired.)
This bug report was last modified 10 years and 291 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.