[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.