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.