Fix #9923: mailcap now uses the OS path separator for the MAILCAP envvar. Not backported, since it could break cases where people worked around the old POSIX-specific behaviour on non-POSIX platforms.
diff --git a/Lib/mailcap.py b/Lib/mailcap.py
index 4ae13d7..99f4958 100644
--- a/Lib/mailcap.py
+++ b/Lib/mailcap.py
@@ -33,10 +33,10 @@
def listmailcapfiles():
"""Return a list of all mailcap files found on the system."""
- # XXX Actually, this is Unix-specific
+ # This is mostly a Unix thing, but we use the OS path separator anyway
if 'MAILCAPS' in os.environ:
- str = os.environ['MAILCAPS']
- mailcaps = str.split(':')
+ pathstr = os.environ['MAILCAPS']
+ mailcaps = pathstr.split(os.pathsep)
else:
if 'HOME' in os.environ:
home = os.environ['HOME']
diff --git a/Misc/NEWS b/Misc/NEWS
index c0fa159..85dbe25 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -268,6 +268,9 @@
Library
-------
+- Issue #9923: The mailcap module now correctly uses the platform path
+ separator for the MAILCAP environment variable on non-POSIX platforms.
+
- Issue #12835: Follow up to #6560 that unconditionally prevents use of the
unencrypted sendmsg/recvmsg APIs on SSL wrapped sockets. Patch by David
Watson.