[Python-checkins] cpython: Fix #9923: mailcap now uses the OS path separator for the MAILCAP envvar. Not

nick.coghlan python-checkins at python.org
Sat Aug 27 16:17:44 CEST 2011


http://hg.python.org/cpython/rev/7b83d2c1aad9
changeset:   72102:7b83d2c1aad9
user:        Nick Coghlan <ncoghlan at gmail.com>
date:        Sun Aug 28 00:17:31 2011 +1000
summary:
  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.

files:
  Lib/mailcap.py |  6 +++---
  Misc/NEWS      |  3 +++
  2 files changed, 6 insertions(+), 3 deletions(-)


diff --git a/Lib/mailcap.py b/Lib/mailcap.py
--- 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
--- 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.

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list