[Python-Dev] PEP 384: Defining a Stable ABI (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Fri May 22 21:47:33 CEST 2009


Something I haven't seen explicitly mentioned as yet (in the PEP or the python-dev list discussion) are the memory management APIs and the FILE* APIs which can cause the MSVCRT versioning issues on Windows.

Those would either need to be excluded from the stable ABI or else changed to use opaque pointers.

Good point. As a separate issue, I would actually like to deprecate, then remove these APIs. I had originally hoped that this would happen for 3.0 already, alas, nobody worked on it.

In any case, I have removed them from the ABI now.

I haven't thought about the Windows CRT issue yet. I can see that there would be still problems even without that, e.g. when you do setlocale in Python, it might not affect the extension module, etc. How would you propose to deal with that? One approach would to fix the CRT version for Windows, for the lifetime of 3.x. Another approach could be to document the known restrictions, and otherwise declare "use at your own risk".

Regards, Martin



More information about the Python-Dev mailing list