[comp.lang.c] Signed char - What Foolishness Is T

aglew@gswd-vms.UUCP (11/06/86)

> I hope you both remember that isANYTHING(x) is only defined to work
> if isascii(x) is true!  isascii(u-umlaut) is FALSE!  Thus, isupper(u-umlaut)
> does not NEED to work.
> 		
> John Plocher   

First, quoting my out-of-date XJ311/86-017 (which people on the committee
hate us doing, but anyway, because they are reasonably well thought out
rules): "The isupper function tests for any upper case letter... or any
of an implementation defined set of characters for which none of iscntrl,
isdigit, ispunct, or isspace is true"

I don't know why they didn't say isalpha, except that it would be defined
circularly here.

Second, requiring isascii above demonstrates two sorts of chauvinism.
One, character set chauvinism - what about EBCDIC users? Two, linguistic
chauvinism - isupper(u-umlaut) == FALSE, isupper(U-umlaut) == TRUE
is perfectly reasonable behaviour. True, it is not required; but then
if I was working in a language that did not have Y then isalpha('y')
== FALSE would be reasonable, and almost squeaks by.