SIGN IN SIGN UP
python / cpython UNCLAIMED

The Python programming language

0 0 1 Python

GH-127381: pathlib ABCs: remove `case_sensitive` argument (#131024)

Remove the *case_sensitive* argument from `_JoinablePath.full_match()` and
`_ReadablePath.glob()`. Using a non-native case sensitivity forces the use
of "case-pedantic" globbing, where we `iterdir()` even for non-wildcard
pattern segments. But it's hard to know when to enable this mode, as
case-sensitivity can vary by directory, so `_PathParser.normcase()` doesn't
always give the full picture. The `Path.glob()` implementation is forced to
make an educated guess, but we can avoid the issue in the ABCs by dropping
the *case_sensitive* argument.

(I probably shouldn't have added these arguments in `PurePath` and `Path`
in the first place!)

Also drop support for `_ReadablePath.glob(recurse_symlinks=False)`, which
makes recursive globbing much slower.
B
Barney Gale committed
93fc3d34f9285d337c1e19e84764b02629eaab68
Parent: c3487c9
Committed by GitHub <noreply@github.com> on 3/10/2025, 5:50:48 PM