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
[WIP?] C, add compatibility flag for parsing some pre-v3 input #7905
Conversation
@vstinner, I believe this should take care of most cases that can not be changed to work in both v2 and v3. Let me know if there are more cases. |
In short, the PR works as expected, thanks! I just had to remove -W option from sphinx-build command used by Python. I built the Python documentation with this PR.
That's because sphinx-build is run with Without |
There should now be a |
FYI the issue to track the Sphinx 3 compatibility in Python is: https://bugs.python.org/issue40204 |
FYI in Python, we try to wait at least 2 years between a feature is deprecated and its removal. I have no idea when v4 and v5 are planned. All I know is that so far, I'm only aware of Fedora Rawhide which ugraded to Sphinx 3, and there are multiple packages broken by this upgrade: |
If I remember correctly the major versions are released once per year, so v4 would be in spring 2021. |
What's the next step for this PEP? |
Basically it can be merged (after I add docs and changelog entry), but how does it work? Are there more cases where we should try to do something? |
As I wrote, this PR makes possible to build the Python documentation. For the warnings, I don't have the bandwidth to go through the huge pile of warnings. Some are real issues in the doc, some are deprecation warnings that nobody tried to address, etc. |
Great, and yes, there were indeed a lot of warnings. Some still related to the C domain changes, but should be fixed on the Python side, and can be in a v2 compatible manner. |
This should be in the upcomming v3.2, and is scheduled to be removed in v5.0. |
The C domain got much stricter in its parsing in version 3 and added additional directives and roles to provide better markup. This PR adds the configuration variable
c_allow_pre_v3
. When set toTrue
the type directive and role will try to convert some previously recognized input to the v3 equivalent.Feature or Bugfix
Detail