The `isspace(3)` man page is badly out of date. "isspace is a macro which classifies singlebyte charset values by table lookup. It is a predicate returning non-zero for whitespace characters, and 0 for other characters. It is defined only when isascii(c) is true or c is EOF."
In fact, the ISO C standard, since C89/C90, requires that isspace(c) is defined when c either representable as an unsigned char or equal to EOF; the behavior is undefined for any other value. And the actual implementation of isspace() satisfies this requirement. Only the man page is out of date. The man page is generated from newlib/libc/ctype/isspace.c in the newlib git repo, <https://sourceware.org/git/newlib-cygwin.git>. This only affects the isspace(3) man page. The other is*(3) man pages are correct. A couple of minor points affecting all the <ctype.h> functions/macros: There are two occurrences of "#include <ctype.h>" in the SYNOPSIS section. The second occurrence is indented too far: SYNOPSIS #include <ctype.h> int isspace(int c); #include <ctype.h> int isspace_l(int c, locale_t locale); A lot of library man pages refer to "ANSI C". "ISO C" would be more accurate. The term "ANSI C" is ambiguous. Since 1990, the C standard is controlled by ISO; ANSI adopts each ISO C standard after it's published. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple

