Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tp_print renamed to tp_vectorcall_offset in cython master #2976

Closed
tacaswell opened this issue May 31, 2019 · 10 comments
Closed

tp_print renamed to tp_vectorcall_offset in cython master #2976

tacaswell opened this issue May 31, 2019 · 10 comments
Assignees
Milestone

Comments

@tacaswell
Copy link
Contributor

This was changed in:

python/cpython#13185 / python/cpython@aacc77f to support https://www.python.org/dev/peps/pep-0590/

A brute-force tp_print -> tp_vectorcall_offset find-and-replace fixes it on cpython master, but is very not back-compatible 😈 . Will look into seeing if I can sort out how to gate this correctly.

@tacaswell
Copy link
Contributor Author

https://mail.python.org/pipermail/python-dev/2018-June/153927.html Seems cython is already in the loop on this at the high-level

@scoder
Copy link
Contributor

scoder commented May 31, 2019

I would be happy about a PR that

  • replaces the direct setting of tp_print with a C macro __Pyx_SET_TP_PRINT()
  • renames tp_print in the extension type struct comments with the new name, since the old name is a legacy Py2 name anyway.

@scoder
Copy link
Contributor

scoder commented May 31, 2019

That should be against the 0.29.x branch, to keep it compatible with Py3.8. (And since that's a point release, I'd keep the tp_print name in the comments as they are and change them only in master, just in case…)

@scoder scoder added this to the 0.29.10 milestone May 31, 2019
@scoder scoder self-assigned this May 31, 2019
@scoder
Copy link
Contributor

scoder commented May 31, 2019

I'll take care of this change, and will also prepare a new release once it's clear that nothing else will change in CPython 3.8b1.

@scoder scoder closed this as completed in f10a0a3 May 31, 2019
@tacaswell
Copy link
Contributor Author

Thanks @scoder ! Sorry I did not get to doing something about this fast enough.

@jdemeyer
Copy link
Contributor

jdemeyer commented Jun 5, 2019

Sorry for that, I didn't expect that Cython would assign anything to tp_print explicitly.

Apart from this, there is no breakage due to PEP 590?

@scoder
Copy link
Contributor

scoder commented Jun 7, 2019

I got everything fixed in my local tests, at least. The latest 0.29.10 release should be ok with CPython 3.8 beta 1. Let's see what our users uncover. :)

@vstinner
Copy link
Contributor

I opened https://bugs.python.org/issue37250 to maybe fix Python 3.8 before Python 3.8.0 final release.

@tacaswell
Copy link
Contributor Author

@vstinner a few times a week I build cpython + the pydata stack from all of the master branches (and test at least Matplotlib). When I find issues with down-stream projects should I also report them upstream to cpython?

@vstinner
Copy link
Contributor

@vstinner a few times a week I build cpython + the pydata stack from all of the master branches (and test at least Matplotlib). When I find issues with down-stream projects should I also report them upstream to cpython?

In case of doubt, it's better to report the issue and asks if it's a deliberate backward incompatible or a regression.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants