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

bpo-33426: [doc] Behavior of os.path.join does not match documentation #28003

Closed
wants to merge 1 commit into from

Conversation

DonnaDia
Copy link
Contributor

@DonnaDia DonnaDia commented Aug 27, 2021

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
Copy link
Member

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
Copy link
Member

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:

Suggested change
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.
Copy link
Member

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.
Copy link
Member

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).

Comment on lines +308 to +311
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
Copy link
Member

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?

Suggested change
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

@bedevere-bot
Copy link

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 I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request.

And if you don't make the requested changes, you will be put in the comfy chair!

@github-actions
Copy link

github-actions bot commented Oct 1, 2021

This PR is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale Stale PR or inactive for long period of time. label Oct 1, 2021
@iritkatriel
Copy link
Member

@DonnaDia Are you still working on this PR?

@github-actions github-actions bot removed the stale Stale PR or inactive for long period of time. label Aug 12, 2022
@slateny
Copy link
Contributor

slateny commented Oct 9, 2022

@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.

@slateny
Copy link
Contributor

slateny commented Nov 2, 2022

See #98995

@slateny slateny closed this Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting changes docs Documentation in the Doc dir skip news
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants