Testiness.

Paul Fox pgf at brightstareng.com
Wed Aug 31 21:15:25 UTC 2005


 > > So its not a bug its a feature.
 > 
 > I hear the words, but I'm afraid I don't understand.
 > 
 > Can please you explain how it is possible that '[a-z]*' matches "CVS"
 > or "Makefile"? What is the flow of logic,  and  where  is  the  place
 > where the folding of upper and lower case characters creeps in?

i suspect you're only baiting here, because i suspect you know the
answer.  i also agree with you in spirit -- to break such a construct
was shortsighted.  but here goes anyways:  i assume this is because
a-z only including lowercase characters is an accident of ASCII
ordering.  other character sets order differently.  i.e. ASCII
has the order
    ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
and other character sets may look like:
    AaBbCcDdEdFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

so in that character set, [a-z] represents this:
    aBbCcDdEdFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

this is, of course, why the "[:alpha:]" style character classes
were introduced -- they're independent of actual character collation
sequence.

none of which is any help when all of one's scripts start breaking
because some distribution changed the default LANG setting.  (i don't
honestly know why the default was changed.  sure seems wrong to me.)

paul
=---------------------
 paul fox, pgf at brightstareng.com



More information about the busybox mailing list