Not an emergency but it's been bugging me for a while and traffic seems
to be relatively light right now . . .



Throughout most of my Unix life a command like

        ls -d [a-z]

would list only lower-case files.  Sometime fairly recently in Linux
this has changed; thus, in one of my directories,

        > ls -d [a-z]
        I/  K  b/  c/  d/  f/  g/  h/  n/  r/  t/  w/  x/

As you can see, [a-z] includes both upper- and lower-case items.  For
quite I while I was under the misapprehension that this was because the
[-] operator had gotten case-insensitive, but this is not the case:

        > ls -d [abcdefghijklmnopqrstuvwxyz]
        b/  c/  d/  f/  g/  h/  n/  r/  t/  w/  x/

So what's happened instead is that the order in which things are search
has changed: instead of having a meaning interpretted in ASCII order
it's in dictionary order.

This is not brand-new; it's true in Mandrake 7.0 but it was also true in
RedHat 6.1. But it was not true in Caldera OpenLinux 2.2 or RedHat 5.2
or any earlier Unix or Unix-like system I ever used before (HP-UX,
Solaris, FreeBSD, real BSD).

I suppose that I can see why this would be done on the grounds of being
"intuitive", but it's a lot less useful; with the old interpretation it
was easy to express ideas like "lower-case" or "upper-caes" and it only
took a few extra keystrokes to get any character range in both cases,
but it takes lots to now express "uppercase" or "lowercase".

Anyway, does anybody know

- Why this was done?
- Who decided to do this?
- If there's something that can be done to switch it back?


-- 
"Brian, the man from babble-on"                 [EMAIL PROTECTED]
Brian T. Schellenberger                         http://www.babbleon.org
Support http://www.eff.org.                     Support decss
defendents.
Support http://www.programming-freedom.org.     Boycott amazon.com.

Reply via email to