Skip to content

ls does not sort using the collation specified in LC_COLLATE #12474

@FinnRG

Description

@FinnRG

ls currently always uses an equivalent to LC_COLLATE=C when no other sort option is specified, while gnuls respects LC_COLLATE

ubuntu@ubuntu-resolute:~$ ls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
-rw-rw-r-- 1 ubuntu ubuntu  151 May 21 16:49 out
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
-rwxrwxr-x 1 ubuntu ubuntu  113 May 21 16:40 test.sh
-rwxr-xr-x 1 ubuntu ubuntu  626 May 21 16:48 test_2.sh
ubuntu@ubuntu-resolute:~$ gnuls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
-rw-rw-r-- 1 ubuntu ubuntu  151 May 21 16:49 out
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
-rwxr-xr-x 1 ubuntu ubuntu  626 May 21 16:48 test_2.sh
-rwxrwxr-x 1 ubuntu ubuntu  113 May 21 16:40 test.sh
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
ubuntu@ubuntu-resolute:~$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Comparison with LC_COLLATE=C
ubuntu@ubuntu-resolute:~$ LC_COLLATE=C ls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
-rw-rw-r-- 1 ubuntu ubuntu  151 May 21 16:49 out
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
-rwxrwxr-x 1 ubuntu ubuntu  113 May 21 16:40 test.sh
-rwxr-xr-x 1 ubuntu ubuntu  626 May 21 16:48 test_2.sh
ubuntu@ubuntu-resolute:~$ LC_COLLATE=C gnuls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
-rw-rw-r-- 1 ubuntu ubuntu  151 May 21 16:49 out
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
-rwxrwxr-x 1 ubuntu ubuntu  113 May 21 16:40 test.sh
-rwxr-xr-x 1 ubuntu ubuntu  626 May 21 16:48 test_2.sh

I have a bug fix for this ready, but I wanted to report the issue here and wait for confirmation before opening a merge proposal.

Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2154042

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions