# Re: The MIT error

3 messages from 2005-10-25 to 2005-10-25. Participants: Horst von Brand, Andreas Ericsson, H. Peter Anvin.
Thread: https://gitlist.dev/t/2218

## Horst von Brand, 2005-10-25 13:40

Subject: Re: The MIT error
Message-ID: <200510251340.j9PDeGGt006248@laptop11.inf.utfsm.cl>
URL: https://gitlist.dev/e/200510251340.j9PDeGGt006248%40laptop11.inf.utfsm.cl
In-Reply-To: <mwelinder@gmail.com>

```
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... 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, 2005-10-25 13:52

Subject: Re: The MIT error
Message-ID: <435E3892.4020002@op5.se>
URL: https://gitlist.dev/e/435E3892.4020002%40op5.se
In-Reply-To: <200510251340.j9PDeGGt006248@laptop11.inf.utfsm.cl>

```
Horst von Brand wrote:
> 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, 2005-10-25 16:50

Subject: Re: The MIT error
Message-ID: <435E623B.20303@zytor.com>
URL: https://gitlist.dev/e/435E623B.20303%40zytor.com
In-Reply-To: <435E3892.4020002@op5.se>

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

```
