Subject: Re: isprint() and isblank()
To: Noriyuki Soda <email@example.com>
From: None <firstname.lastname@example.org>
Date: 01/21/2001 16:32:35
>> i meant,
>> - stop using in ctype.h, use functions. by doing so we can
>> avoid hardcoding table internals into compiled binary.
>If _ctype_ and __CurrentRuneLocale.__runetype return same result,
>why should we have to make isXXXXX() functions slow?
>(we have to keep _ctype_ anyway, as far as we don't change major
> number of libc.)
as seen in /usr/include/ctype.h, _ctype_ has too little number of bits
in it and derives certain definitions (like isgraph) from other
bits. the fact could become obstacle to support certain kind of
locale. i don't have the example, but is it really okay to assume
isgraph(x) == ispunct(x) || isupper(x) || islower(x) ||
if we make these isXXXXX() tests function, instead of a macro,
we can change internals without worrying about compiled binary
that includes expanded macro definition. we can even change how
those bits are organized. with macro isXXXXX() i'm seeing obstacle
in changing internals (like _ctype_ bit organization).