Conversation
|
lgtm in general, but the commit message could explain why it broke and why this fixes it. For future reference, this function tries to implement |
With Python 3.13 on Windows, `os.path.isabs()` no longer returns `True` for a path that starts with a slash. Thus, when the argument to `_make_relative()` is an absolute path, the return value starts with a slash on Python 3.13 and does not start with a slash on older Python versions. This causes the extension module build directory to be calculated incorrectly with Python 3.13 on Windows. Fix this by ensuring that the return value does not start with a slash.
|
I edited the commit message to explain the issue and the fix. |
|
better, thanks |
|
I think this change introduces some lint, so that'll need to be fixed after the other emergent lint issues in main are resolved. I've left a comment in the original issue - I'd first like to understand if this change to Python 3.13 is indeed intentional. If it is, I'm hoping there's some advice on how to handle this situation, and I'd like to see a documented function that implements this logic in a re-usable way. |
|
I started working on adding a regression test for the missed behavior, but it's tricky because in #169 |
I've found that |
Fix pypa/setuptools#4669.
I originally opened a pull request at pypa/setuptools#4671 but was asked to submit the change here instead. See the above links for details about the bug and the fix.