emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] bug: org-table-sort-lines does only case sensitive alphabetical


From: Heikki Lehvaslaiho
Subject: Re: [O] bug: org-table-sort-lines does only case sensitive alphabetical sorting
Date: Tue, 17 Jul 2018 09:24:23 +0300

Thanks for replies,

I am using:
GNU Emacs 26.1 (build 1, x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F2511)) of 2018-05-31


This is what I get:

    (string-collate-lessp "a" "x" "de_DE.utf-8" nil) ; t
    (string-collate-lessp "a" "X" "de_DE.utf-8" t) ; nil
    (string-collate-lessp "a" "x" "fi_FI.utf-8" nil) ; t
    (string-collate-lessp "a" "X" "fi_FI.utf-8" t) ; nil


I think I have lost the sense how Emacs language environments work
after struggling for years with buffers getting automatically
converted to Latin-1. I started setting all possible variables to
'UTF-8 and finally something did it.

Now I tried again various values to see if they affect the org table
sorting:

(set-language-environment 'utf-8)
(set-language-environment 'English)
(set-language-environment 'Swedish)

(setq locale-coding-system 'utf-8)
(setq locale-coding-system 'fi_FI.utf-8)
(setq locale-coding-system 'de_DE.utf-8)
(setq locale-coding-system 'en_GB.utf-8)

Unfortunately none of these made any difference. Any suggestions?

I am testing sorting in a simple one column table:

| a |
| c |
| B |
| D |




     -Heikki

Heikki Lehväslaiho - skype:heikki_lehvaslaiho cell: +358 40 850 6640
http://about.me/heikki

On 14 July 2018 at 15:31, Sebastian Reuße <address@hidden> wrote:
Hello Nicolas, hello Heikki,

> Heikki Lehvaslaiho <address@hidden> writes:

>> I can not see any change in function with the new code. Alphabetical
>> sorting is fixedly case sensitive.

Is your Emacs≤24? Emacs (surprisingly) only gained a facility for
alphabetic (locale-sensitive) sorting with ver. 25. Before that, we will
resort to using «string-lessp», which only sorts lexicographically (i.e,
based on the binary character value, which means it is always
case-sensitive on Unicode systems).

If you are using GNU Emacs≥25, what locale are you using? FI_fi and most
of the other western locales are based on ISO-14651, so you should
always get case-*in*sensitive orderings, which is what I get with Emacs
26.1. So, evaluating the following should all yield «t»:

    (string-collate-lessp "a" "x" "de_DE.utf-8" nil)
    (string-collate-lessp "a" "X" "de_DE.utf-8" t)
    (string-collate-lessp "a" "x" "fi_FI.utf-8" nil)
    (string-collate-lessp "a" "X" "fi_FI.utf-8" t)

Kind regards,

Sebastian

--
Insane cobra split the wood
Trader of the lowland breed
Call a jittney, drive away
In the slipstream we will stay


reply via email to

[Prev in Thread] Current Thread [Next in Thread]