summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/glob.py11
-rw-r--r--Misc/NEWS3
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/glob.py b/Lib/glob.py
index e388b5f..d6eca24 100644
--- a/Lib/glob.py
+++ b/Lib/glob.py
@@ -26,11 +26,16 @@ def iglob(pathname):
patterns.
"""
+ dirname, basename = os.path.split(pathname)
if not has_magic(pathname):
- if os.path.lexists(pathname):
- yield pathname
+ if basename:
+ if os.path.lexists(pathname):
+ yield pathname
+ else:
+ # Patterns ending with a slash should match only directories
+ if os.path.isdir(dirname):
+ yield pathname
return
- dirname, basename = os.path.split(pathname)
if not dirname:
yield from glob1(None, basename)
return
diff --git a/Misc/NEWS b/Misc/NEWS
index b993e96..45bbe6b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,9 @@ Core and Builtins
Library
-------
+- Issue #17923: glob() patterns ending with a slash no longer match non-dirs on
+ AIX. Based on patch by Delhallt.
+
- Issue #21121: Don't force 3rd party C extensions to be built with
-Werror=declaration-after-statement.