[Python-Dev] ANSIfication.

Thomas Wouters thomas@xs4all.net
Tue, 25 Jul 2000 14:21:20 +0200

On Tue, Jul 25, 2000 at 07:38:19AM -0500, Guido van Rossum wrote:

> Thanks for doing all this work, Thomas!

I can't take all the credit, Fred and Peter did a lot of it, too. Also, my
girlfriend's decision to spend the weekend catching up on her sleep mattered
a lot ;)

> Frankly, I think that for *any* functions that are in some external
> library (e.g. libc), Python should never provide a function prototype
> at all.  The standard headers should provide the prototypes!

Impeccable timing, Guido ! I competely agree, and this is why: I was just
trying to figure out how to solve that problem on the one Solaris box we
have. (An aging old beast, probably with a messed-up installation -- all
SunOS experience we had has fled in horror when we moved to BSDI and
Linux ;) I was encountering a lot of undeclared functions, and was dutifuly
adding them to the SOLARIS block in pyport.h, when I found out that SOLARIS
isn't defined :P I spent half an hour looking for a reliable way to detect
the SunOS version, or even whether it's some Sun product at all, and failed.

I'm not sure if that's a problem with Solaris or with that specific
installation of it (Solaris 2.5.6, by the way,) but it convinced me to just
forget about auto-detecting these cases. Dropping the prototypes altogether,
and merely keeping the prototype-pyport-section for *real* problems, rather
than warnings caused by missing declarations, would suit me fine !

> Yes, void* is ANSI.  Get rid of all references to ANY.  (Ages ago,
> on K&R systems ANY had to defined as char *.)


Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!