--- a/Lib/posixpath.py 2013-11-27 06:57:57.000000000 +0000 +++ b/Lib/posixpath.py 2014-02-21 10:43:34.423932700 +0000 @@ -42,6 +42,12 @@ else: return '/' +def _get_altsep(path): + if isinstance(path, bytes): + return b'\\' + else: + return '\\' + # Normalize the case of a pathname. Trivial in Posix, string.lower on Mac. # On MS-DOS this may also turn slashes into backslashes; however, other # normalizations (such as optimizing '../' away) are not allowed @@ -63,7 +69,12 @@ """Test whether a path is absolute""" s = os.fspath(s) sep = _get_sep(s) - return s.startswith(sep) + altsep = _get_altsep(s) + return s.startswith(sep) or \ + (sys.platform == 'cygwin' and \ + len(s) > 2 and \ + s[1] == ':' and \ + (s[2] == sep or s[2] == altsep)) # Join pathnames.