bug-coreutils
[Top][All Lists]
Advanced

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

Re: Collating order


From: Ole Laursen
Subject: Re: Collating order
Date: 10 Apr 2005 13:21:52 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

address@hidden (Bob Proulx) writes:

> It is not that I don't want to do anything about it.  It is that I
> can't do anything about it.  The locale is set by the user.  I have no
> control over it.  (Sometimes the locale is set by the distro vendor
> without the user's knowledge or control.  That is bad.)
> 
> If *I* were creating the locale data I would not have selected
> dictionary sort ordering.  Then even if the user did specify the
> locale sorting order it would still sort in standard form.  Obviously
> others who actually created the locale specific collating sequence
> disagreed and did create the locale data specifying dictionary sort
> order.

OK. It is good to know that we are agreeing on what makes sense. :-)

I'm a bit unsure of whether you are arguing that one should not do
anything about it since the user chooses what he likes, or whether you
think it is not possible to do anything about it.

If it is the latter, I think that if you split the filenames at the
first dot, and do a two-level sort where you first sort the basenames
and then resolve ties by sorting the extensions, you get a good
approximation to what happens in the C locale. For instance, you would
get

  event.gz
  event.tar.gz
  event.zip
  event-1.tar.gz
  eventgenerator.tar.gz

which is, I think, even a bit better than the C locale because
event-1.tar.gz is after event.tar.gz.

When I think about it, this idea won't quite work for multi-level
extensions, e.g. you would get

  event.tar.bz
  event.tare.gz
  event.tar.gz

You would have to split at all dots to get it completely right. But
I've never encountered such filenames.


Anyway, I will shut up now, I hope you will reconsider whether it is
possible to do something about it. :-)

-- 
Ole Laursen
http://www.cs.aau.dk/~olau/




reply via email to

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