[kaffe] java/text/SimpleDateFormat.java (compileFormat)
   
    Ito Kazumitsu
     
    kaz@maczuka.gcd.org
       
    Thu Nov 27 08:13:02 2003
    
    
  
Hi,
Browsing GNU Classpath's CVS log, I found:
2003-10-02  Michael Koch  <konqueror@gmx.de>
        * java/text/SimpleDateFormat.java
        (compileFormat): Character.isLetter(char) allows too much characters.
        Replace it with Character.isLowerCase(char) ||
        Character.isUpperCase(char).
I think this change has something to do with the bug report:
http://www.kaffe.org/pipermail/kaffe/2003-August/043742.html
http://www.kaffe.org/pipermail/kaffe/2003-August/043743.html,
where I suggested to use
   (thisChar >= 'A' && thisChar <= 'Z') || (thisChar >= 'a' && thisChar <= 'z')
instead of
   Character.isLetter(thisChar)
Why do we use "Character.isLowerCase(char) || Character.isUpperCase(char)"
when the API doc clearly says, "Within date and time pattern strings,
unquoted letters from 'A' to 'Z' and from 'a' to 'z' are interpreted
as pattern letters representing the components of a date or time string"?
I am afraid "Character.isLowerCase(char) || Character.isUpperCase(char)"
also allows too many characters,  including Greek or Slavic alphabet
or even Japanese Zenkaku alphabet.