Philip Paeps <philip+usenet@xxxxxxxx> wrote:
POSIX stelt dat de defaults van LC_* door LANG ingevuld worden. Vul
hier mijn
standaard paragraafje in over waarom localization fout en evil is.
Als jouw
LANG op een "natuurlijke" taal (alles behalve C of POSIX, ongeveer)
gezet is,
vangt LC_COLLATE dat ook.
En [A-Z] volgens C is aanzienlijk meer intuitief dan [A-Z] in een
natuurlijke
taal. Een natuurlijke taal sorteert immers in "dictionary order",
waarbij
hoofdletters voorrang hebben op kleine letters.
De "collated" set [A-Z] matcht met andere woorden AaBbCcDdEe..Zz.
Om even chapter en verse te citeren:
In the POSIX locale, a range expression represents the set of collating
elements that fall between two elements in the collation sequence,
inclusive.
In other locales, a range expression has unspecified behavior: strictly
conforming applications shall not rely on whether the range
expression is
valid, or on the set of collating elements matched. A range
expression shall
be expressed as the starting point and the ending point separated by
a hyphen
( '-' ).
Met andere woorden: als je een niet-POSIX locale hebt, kan je geen enkele
redelijke veronderstelling maken over range expressions in bracket
expressions.
Wat zei ik ook weer over localization fout en evil? Het is niet omdat
ik er
niet elke keer een van de vele redenen bijschrijf dat het minder waar is.
- Philip