threads / discuss / 2218

Re: The MIT error

Subject: Re: The MIT error

## tl;dr

3 messages between Oct 25, 2005 and Oct 25, 2005.

replies: 2people: 3as markdown or json

Horst von Brand· Oct 25, 2005, 13:40 UTC · lore
Morten Welinder <mwelinder@gmail.com> wrote:
> After the isspace/BSD conflict I looked into what reserved symbols are
> being used by git.  Quite a few, it turns out.
[...]
Show 8 quoted lines
> 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
Andreas Ericsson· Oct 25, 2005, 13:52 UTC · re: Horst von Brand · lore
Horst von Brand wrote:
Show 20 quoted lines
> Morten Welinder <mwelinder@gmail.com> 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...

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
H. Peter Anvin· Oct 25, 2005, 16:50 UTC · re: Andreas Ericsson · lore
Andreas Ericsson wrote:
Show 7 quoted lines
> 
> 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

← back to recent threads