-
-
Notifications
You must be signed in to change notification settings - Fork 31.4k
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
bpo-33426: [doc] Behavior of os.path.join does not match documentation #28003
Conversation
that the result will only end in a separator if the last part is empty. If | ||
a component is an absolute path, all previous components are thrown away | ||
and joining continues from the absolute path component. | ||
Join one or more path components intelligently. The return value is the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can tell, the only change on this line is to change two spaces into one. That's not an inherently bad change, but it does make it rather more difficult to tell what actually changed in the wording of this paragraph. Please refrain from formatting changes like this when they're mixed in with other changes and are the only change on a line.
a component is an absolute path, all previous components are thrown away | ||
and joining continues from the absolute path component. | ||
Join one or more path components intelligently. The return value is the | ||
concatenation of path and any members of *\*paths* so that there is a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
path
is a parameter name, so it should keep its *
markings:
concatenation of path and any members of *\*paths* so that there is a | |
concatenation of *path* and any members of *\*paths* so that there is a |
and joining continues from the absolute path component. | ||
Join one or more path components intelligently. The return value is the | ||
concatenation of path and any members of *\*paths* so that there is a | ||
directory separator (os.sep) following each part except the last. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The os.sep
mention was specifically removed in bpo-43620; I don't think we should add it back. It could perhaps be "(platform-specific)" instead of "(os.sep)"?
An empty part is ignored unless it is the last part, in which case the result | ||
will end in a separator. If a component is an absolute path, all previous | ||
components are thrown away and joining continues from the absolute path | ||
component. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It also looks like there are no changes to this last sentence, but it's harder to tell due to the reflowing of text. For ease of review, please leave reflowing for after the main change has been approved (or even leave it un-reflowed; Sphinx takes care of wrapping lines independently of how the source markup looks).
concatenation of path and any members of *\*paths* so that there is a | ||
directory separator (os.sep) following each part except the last. | ||
An empty part is ignored unless it is the last part, in which case the result | ||
will end in a separator. If a component is an absolute path, all previous |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In looking into this, it looks like I'm actually the one who last made major changes to this section 7 years ago, and I now agree that I did leave it rather confusing. Oops :)
I think the following is a slightly better formulation; do you agree?
concatenation of path and any members of *\*paths* so that there is a | |
directory separator (os.sep) following each part except the last. | |
An empty part is ignored unless it is the last part, in which case the result | |
will end in a separator. If a component is an absolute path, all previous | |
concatenation of *path* and any non-empty members of *\*paths* separated | |
by the platform's directory separator character. If the last member of *\*paths* | |
is empty, the result will end in a directory separator. | |
If a component is an absolute path, all previous |
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase And if you don't make the requested changes, you will be put in the comfy chair! |
This PR is stale because it has been open for 30 days with no activity. |
@DonnaDia Are you still working on this PR? |
@DonnaDia Would you still be interested in giving this PR a quick update per the comments above? If not, I can open a separate PR and get these changes in. |
See #98995 |
https://bugs.python.org/issue33426