gh-93156 - fix negative indexing into absolute `pathlib.PurePath().parents` (GH-93273)


When a `_PathParents` object has a drive or a root, the length of the
object is *one less* than than the length of `self._parts`, which resulted
in an off-by-one error when `path.parents[-n]` was fed through to
`self._parts[:-n - 1]`. In particular, `path.parents[-1]` was a malformed
path object with spooky properties.

This is addressed by adding `len(self)` to negative indices.
(cherry picked from commit f32e6b48d12834ba3bde01ec21c14da33abd26d6)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
3 files changed