My emacs is from homebrew without any manual settings on locale. I assume a
number of locale settings come with it. I have not had any problems before
this.
OS X does not have LANG envvar set. This computer came with Finnish
language set and I switched to English (Australian) for interface. This has
lead to somewhat weird locale setting at OS:
$ defaults read .GlobalPreferences AppleLanguages
(
"en-FI"
)
Apart from ssa, the output from string-collate-lessp seems to be what is to
be expected:
(string-collate-lessp "a" "x" "de_DE.utf-8" nil) ; t
(string-collate-lessp "a" "X" "de_DE.utf-8" nil) ; nil
(string-collate-lessp "ß" "ssa" "de_DE.utf-8") ; nil
(string-lessp "ß" "ssa") ; nil
(string-collate-lessp "ä" "ö" "fi_FI.utf-8") ; t
(string-collate-lessp "Ä" "ö" "fi_FI.utf-8") ; t
I can not able to comment on C code, but it really seems that alphabetic
sorting is fixed to case-sensitive mode.
-Heikki
Heikki Lehväslaiho - skype:heikki_lehvaslaiho cell: +358 40 850 6640
http://about.me/heikki
On 17 July 2018 at 09:59, Sebastian Reuße <[email protected]> wrote:
>
> Heikki Lehvaslaiho <[email protected]> writes:
>
> > x86_64-apple-darwin14.5.0
>
> Looking at the C source of ‘string-collate-lessp’ (src/fns.c), it looks
> like there exists a case where Emacs itself will fall back on
> ‘string-lessp’ even when ‘string-collate-lessp’ is invoked.
>
> #else /* !__STDC_ISO_10646__, !WINDOWSNT */
> return Fstring_lessp (s1, s2);
> #endif /* !__STDC_ISO_10646__, !WINDOWSNT */
>
> I can’t tell what the first macro evaluates to on your platform. Might
> this be the cause?
>
> An indication for whether your Emacs uses the locale at all may be
> testing the following (presuming you have the German locale data
> installed and compiled):
>
> (string-collate-lessp "ß" "ssa" "de_DE.utf-8") ; t
> (string-lessp "ß" "ssa") ; nil
>
> This is based on the German ‘ß’ ligature being sorted as if it were
> equal to the string ‘ss’ (you can probably construct something analogous
> using fi_FI). If the first call returns nil, your Emacs isn’t using the
> locale data at all.
>
> Kind regards,
> SR
>
> --
> Insane cobra split the wood
> Trader of the lowland breed
> Call a jittney, drive away
> In the slipstream we will stay
>