Merged revisions 78722 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78722 | florent.xicluna | 2010-03-06 12:01:08 +0100 (sam, 06 mar 2010) | 2 lines

  #6906: TCL_LIBRARY and TK_LIBRARY environment variables should be encoded.
........
This commit is contained in:
Florent Xicluna 2010-03-23 12:17:59 +00:00
parent d352b24b35
commit dbac168948
2 changed files with 7 additions and 5 deletions

View File

@ -19,10 +19,10 @@ except (ImportError, AttributeError):
return s
else:
def convert_path(s):
if isinstance(s, str):
s = s.decode("mbcs")
assert isinstance(s, str) # sys.prefix contains only bytes
udir = s.decode("mbcs")
hdir = ctypes.windll.kernel32.\
CreateFileW(s, 0x80, # FILE_READ_ATTRIBUTES
CreateFileW(udir, 0x80, # FILE_READ_ATTRIBUTES
1, # FILE_SHARE_READ
None, 3, # OPEN_EXISTING
0x02000000, # FILE_FLAG_BACKUP_SEMANTICS
@ -38,9 +38,9 @@ else:
if res == 0:
# Conversion failed (e.g. network location)
return s
s = buf[:res]
s = buf[:res].encode("mbcs")
# Ignore leading \\?\
if s.startswith(u"\\\\?\\"):
if s.startswith("\\\\?\\"):
s = s[4:]
return s

View File

@ -36,6 +36,8 @@ Library
set to an non existent program name and Python is unable to retrieve the real
program name
- Issue #6906: Tk should not set Unicode environment variables on Windows.
- Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review
Issue #29