On Wed, Aug 27, 2003 at 09:58:08AM +0100, Simon Marlow wrote:
In our new implementation of Data.Char.isUpper and friends, I made the simplifying assumption that Char==wchar_t==Unicode. With glibc, this appears to be valid as long as (a) you set LANG to something other than "C" or "POSIX", and (b) you call setlocale() first.
The glibc Info file says: The wide character character set always is UCS4, at least on GNU systems. yes. with glibc, wchar_t is always unicode no matter what the locale. better yet, all ISO C implementations define a handy C symbol to test for this. if __STDC_ISO_10646__ is defined then wchar_t is always unicode no matter what.
Sure, but as I've been saying, the implementation of glibc doesn't do this. In the C or POSIX locale, the ctype macros only recognise ASCII.
Should this be considered a bug in glibc?
hmm.. how odd. I would consider it a bug, I think. I don't have a copy of the ISO spec handy but will be sure to look up whether that is conforming... It is certainly a malfeature if it is not a bug... John -- --------------------------------------------------------------------------- John Meacham - California Institute of Technology, Alum. - john@foo.net ---------------------------------------------------------------------------