Morten Welinder [off-list ref] wrote:
After the isspace/BSD conflict I looked into what reserved symbols are
being used by git. Quite a few, it turns out.
[...]
Just as isspace is reserved by the C implementation...
7.26.2 Character handling <ctype.h>
[#1] Function names that begin with either is or to, and a
lowercase letter (possibly followed by any combination of
digits, letters, and underscore) may be added to the
declarations in the <ctype.h> header.
There go is_space(), etc as suggested by the relevant patches... in any
case, if you /don't/ #include <ctype.h>, you are safe (standardwise),
aren't you? [Yes, idiots who #include that in system headers are way
broken, but...]
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Horst von Brand wrote:
Morten Welinder [off-list ref] wrote:
quoted
After the isspace/BSD conflict I looked into what reserved symbols are
being used by git. Quite a few, it turns out.
[...]
quoted
Just as isspace is reserved by the C implementation...
7.26.2 Character handling <ctype.h>
[#1] Function names that begin with either is or to, and a
lowercase letter (possibly followed by any combination of
digits, letters, and underscore) may be added to the
declarations in the <ctype.h> header.
There go is_space(), etc as suggested by the relevant patches...
No they don't. "begin with either is or to and a lowercase letter",
meaning (is|to)[a-z].*, just as Morten wrote. is_.* doesn't fall into
this category. The underscore exemption is so that users can write their
own is_file(), is_whatever() str_replace() and such. Some thought has
gone into the standard.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
Andreas Ericsson wrote:
No they don't. "begin with either is or to and a lowercase letter",
meaning (is|to)[a-z].*, just as Morten wrote. is_.* doesn't fall into
this category. The underscore exemption is so that users can write their
own is_file(), is_whatever() str_replace() and such. Some thought has
gone into the standard.
Also, note that we don't include <ctype.h>, and the reasons to stay out
of its namespace are:
a. potential for confusion (different semantics), and
b. broken system headers.
-hpa