Re: The MIT error

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

Re: The MIT error

From: Horst von Brand <hidden>
Date: 2016-06-15 22:42:09

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

Re: The MIT error

From: Andreas Ericsson <hidden>
Date: 2016-06-15 22:42:09

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

Re: The MIT error

From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2016-06-15 22:42:09

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help