Hi Branden, G. Branden Robinson wrote on Tue, Jul 02, 2019 at 01:03:04AM +1000: > At 2019-07-01T16:42:10+0200, Ingo Schwarze wrote:
>> I know this is a really minor point - but i don't understand this change: >> >> $ LC=C printf "a\nA\n" | sort >> A >> a >> $ LC=en_US.UTF-8 printf "a\nA\n" | sort >> A >> a > Well, (1) LC is not a POSIX-standard locale-controlling variable, > as far as I know. Is it a BSDism? Ooops, no, it was just a typo. My test was indeed quite wrong in more than one respect. > Try this: > > $ printf 'A\na\nb\nB\n' | LC_ALL=en_US.UTF-8 sort > a > A > b > B Confirmed on Debian Linux and on Oracle Solaris. > Then try it with LC_ALL=C. A B a b on both systems. (OpenBSD invariably gives the LC_ALL=C result, but that's no surprise because LC_COLLATE intentionally does nothing on OpenBSD.) This is funny (on Solaris 11): > printf 'A\na\nb\nB\n' | LC_ALL=zh_CN.UTF-8 sort a A b B > printf 'A\na\nb\nB\n' | LC_ALL=ja_JP.UTF-8 sort A B a b even though both are valid according to "locale -a". So the concept of "locale collation" doesn't appear to be all that well-defined - but instead locale-dependent - even for base latin characters. >> The only system i was able to find with "small before capital" >> is Solaris/illumos. Linux appears to have no clear convention: >> most often, ordering is totally random in Linux manual pages. >> >> So why did you change the order? > To combat the chaos. Oh well, so it appears there are three different conventions then: - the POSIX / traditional BSD / FreeBSD / AIX / ASCII -ABCabc - the NetBSD / OpenBSD -AaBbCc - the Solaris / illumos / en_US(?) -aAbBcC I'm probably just too used to the first two such that i considered them universial... Given all those different conventions, it's probably fair enough to leave the bike shed painted in the colour you chose. Sorry for the noise, then. Yours, Ingo