From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1524 invoked from network); 28 Jan 2022 18:01:20 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 28 Jan 2022 18:01:20 -0000 Received: (qmail 31810 invoked by uid 550); 28 Jan 2022 18:01:17 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 31769 invoked from network); 28 Jan 2022 18:01:16 -0000 Date: Fri, 28 Jan 2022 13:01:04 -0500 From: Rich Felker To: enh Cc: musl@lists.openwall.com Message-ID: <20220128180103.GJ7074@brightrain.aerifal.cx> References: <20220128141049.GI7074@brightrain.aerifal.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] A journey of weird file sorting and desktop systems On Fri, Jan 28, 2022 at 08:58:30AM -0800, enh wrote: > (Android's libc maintainer here...) > > i'd argue this isn't a musl bug. on Android we make a clear distinction between: > > 1. libc's responsibilities which, to paraphrase rich, are basically > "be unsurprising because your audience is OS/app developers who don't > speak all the languages their users use anyway". that is: "code point > order". That's not what I said. I speculated that part of the difficulty with getting people to care is that a large number of users personally prefer LC_COLLATE=C. Not that we should punt because of that. > 2. icu's responsibilities which cover all the user-facing (as opposed > to developer-facing) stuff. i18n is *hard* and the C/POSIX APIs are, > to be blunt, not fit for *that* purpose. there's a reason why all of > Android/macOS/Windows (and all the browsers) ship copies of icu. ICU is really, *really* bad. I don't want to be encouraging people to use it because basic functionality is missing from libc. > the bug here is that a desktop file manager is assuming "i just want > telephone book order --- how hard can it be?". the answer turns out to > be "hard". especially when you get into fun stuff like users who *do* > speak multiple languages and have strong expectations for how they > sort. or places where there are multiple sort orders in common use. Absolutely. That's why I don't want to treat the problem half-assedly, but make sure we design or choose a format for the collation tables that's simultaneously (1) efficient, (2) sufficiently expressive to give the behaviors users may want, and (3) easy enough to understand that users can customize it if needed. The POSIX localedef format (an option group musl intentionally does not support) does not have any of those properties except maybe #2. The standard Unicode format may translate directly into something that can meet all 3; I'm not sure. Rich