Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 28 Jan 2022 09:10:50 -0500
From: Rich Felker <dalias@...c.org>
To: ellie <el@...se64.org>
Cc: musl@...ts.openwall.com
Subject: Re: A journey of weird file sorting and desktop systems

On Fri, Jan 28, 2022 at 02:41:38PM +0100, ellie wrote:
> After spending a bit wondering why files like "elder1" and "Elder2"
> end up at completely different spots in the file list on my
> postmarketOS (=Alpine-based) system, I filed a ticket with the Nemo
> file manager. Turns out Nemo just uses locale-dependent sorting, so
> I spent an hour trying to set LC_COLLATE to fix this, until I
> stumbled across the remark on musl's website that LC_COLLATE sorting
> is simply not supported. So I seem to be stuck with this, which I
> did not expect.
> 
> This to me seems kind of disastrous on a desktop system. I just fail
> to see any average default user (who doesn't know ASCII in their
> head) expecting "elder1" and "Elder2" to be miles apart in a sorted
> listing even as a default US person, let alone in some other
> language that may be expected to use a different sorting for
> whatever reason. (This affects umlauts too, I assume? So that'd be
> most European languages having file lists entirely messed up, too.)
> The sorting shouldn't be stuck as something that just makes sense to
> programmers and balks at any special vowels, and it appears at least
> as of now there is just no way to fix this.
> 
> Should desktop file managers like Nemo not be using this sorting
> function? Or is musl not intended for desktop use, and postmarketOS
> should switch? Otherwise, it seems like this omission in musl seems
> like kind of a big deal. Or is it really just me who is constantly
> confused as to where any file is at in any file lists...?
> 
> Or in other words, would be kind of cool if this could be changed

LC_COLLATE functionality is just not designed or implemented yet, due
to lack of interest/participation from folks who want it to happen. I
very much do want it to happen, but I don't want to design something
(data model for efficient collation tables & code to use them) only to
have it turn out not to meet everyone's/anyone's needs because there
was nobody to bounce questions/testing/what-if's off during the
design.

A big part of this is probably that, historically, *nix users tend to
be happy with (or even prefer, which they can explicitly set via
exporting LC_COLLATE=C) codepoint-order sorting of directory entries,
like Makefile and README appearing at the top. So to get these folks
to care you have to have another setting where collation order
matters.

I'm happy to restart the process for getting this done if ppl are
interested.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.