Signed char - What Foolishness Is T

aglew at gswd-vms.UUCP aglew at gswd-vms.UUCP
Thu Nov 6 14:46:00 AEST 1986


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



More information about the Comp.lang.c mailing list