Author pablogsal
Recipients lukasz.langa, ncoghlan, pablogsal, vstinner
Date 2019-06-11.01:23:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1560216213.27.0.444528126382.issue37221@roundup.psfhosted.org>
In-reply-to
Content
Thanks, Nick for opening this issue. If everyone agrees this is the best path forward I can make a PR. Take into account that doing such rename will break again the projects that have adapted already (primarily only Cython). I would like to give some context around the change itself.

* Last time the function was changed in commit 4f72a78684bbfcdc43ceeabb240ceee54706c4b0 (for adding keyword-only parameters) a wrapper was not created or a new compatibility layer was not created. This happened as well in the past when the function slowly growed from 3 parameters in 1990 to 16 parameters currently. If we decide to provide the wrapper, this would be the first time we do this for changes in this function.

* In the past, backwards incompatible changes that came from syntax changes were reported in the What's New. For example, in Python3.6 we added "async and await names are now reserved keywords. Code using these names as identifiers will now raise a SyntaxError" in the porting session and one could argue that that broke more code than this change. I am not saying this to justify breaking changes, just to give more context of somehow similar situations on how we report changes that we knew that were backwards incompatible due to new features.

* A quick (and I acknowledge that is partial and incomplete) search in GitHub about usages of PyCode_New excluding interpreter files to avoid forks and the like, points mainly at Cython (and Pyrex forks). Cython already adapted to this change, so changing it back will break Cython and all other possible extensions that already adapted after the last alpha.

* In the email thread https://mail.python.org/archives/list/python-dev@python.org/thread/VXDPH2TUAHNPT5K6HBUIV6VASBCKKY2K/, Stefan Behnel (who is also a Cython maintainer) said in relation to adding PyCode_NewEx:

>It's not a commonly used function, and it's easy for C code to adapt. I
>don't think it's worth adding a new function to the C-API here, compared to
>just changing the signature. Very few users would benefit, at the cost of
>added complexity.
History
Date User Action Args
2019-06-11 01:23:33pablogsalsetrecipients: + pablogsal, ncoghlan, vstinner, lukasz.langa
2019-06-11 01:23:33pablogsalsetmessageid: <1560216213.27.0.444528126382.issue37221@roundup.psfhosted.org>
2019-06-11 01:23:33pablogsallinkissue37221 messages
2019-06-11 01:23:32pablogsalcreate