Fix links to missing CPython files
This is a follow-up of #984:
There are a few broken links that I haven't touched yet:
(developer-workflow/grammar: line 40) broken https://github.com/python/cpython/blob/main/Include/Python-ast.h (developer-workflow/grammar: line 33) broken https://github.com/python/cpython/blob/main/Include/token.h (internals/compiler: line 516) broken https://github.com/python/cpython/blob/main/Include/code.h (internals/compiler: line 488) broken https://github.com/python/cpython/blob/main/Python/peephole.c
Include/Python-ast.hwas removed by @vstinner
- https://github.com/python/cpython/pull/24933
Include/token.hwas removed by @vstinner
- https://github.com/python/cpython/pull/92652
Include/code.hwas removed by @vstinner
- https://github.com/python/cpython/pull/32385
Python/peephole.cwas removed by @markshannon
- https://github.com/python/cpython/pull/21517
The respective sections in
developer-workflow/grammar.rstandinternals/compiler.rstmight need to be revisited. @vstinner and @markshannon: can you advise on whether these are quick fixes that we can include in this PR or if they should be handled separately?
I found another file mentioned in the devguide that was deleted:
Python/wordcode_helpers.hwas removed by @brandtbucher- https://github.com/python/cpython/pull/31543
Include/Python-ast.h was removed by @vstinner
Not removed, read the commit: it was moved to Include/internal/pycore_ast.h.
Include/token.h was removed by @vstinner
Same, just renamed to to Include/internal/pycore_token.h.
I prefer to say "removed" for end users, since end users are not supposed to consume the internal C API.
Include/code.h was removed by @vstinner
This file was basically empty: you should use Include/cpython/code.h instead.
Does this issue require more changes?
I believe so, as most of the existing PRs focused on the existing :files: role rather than file paths using literals. You could consider looking through the various docs that discuss the CPython source tree and updating references to specific files where appropriate. I do note there are tons of missing references in the C-API page, but as that is currently being heavily modified by #1060 withmany of those updated already, I wouldn't touch it until after that is merged (and I plan to submit an immediate followup anyway which may address more, so I'd wait on that until given the go-ahead).
Got it.
So for example here
Add the PyTestCapi_Init* function to Modules/_testcapi/parts.h Call the PyTestCapi_Init* from PyInit__testcapi in Modules/_testcapimodule.c.
Am I looking at the right place?
Those are examples of things you would normally want to submit a PR changing, yes, but also examples of things on the C-API page that I mentioned is currently being modified by #1060 and will be further modified by a followup, so you shouldn't touch those until that's all done. If you find similar such references in other documents, those would likely be fair game to change as part of one or more PRs.
Alright, got it. Thank you.