From 0b9a18a42fdd9709ac6028e618c8b7f4f0ff4202 Mon Sep 17 00:00:00 2001 From: Florent Xicluna Date: Sat, 6 Mar 2010 11:01:08 +0000 Subject: #6906: TCL_LIBRARY and TK_LIBRARY environment variables should be encoded. --- Lib/lib-tk/FixTk.py | 10 +++++----- Misc/NEWS | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Lib/lib-tk/FixTk.py b/Lib/lib-tk/FixTk.py index 638a94c..0d0966c 100644 --- a/Lib/lib-tk/FixTk.py +++ b/Lib/lib-tk/FixTk.py @@ -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 diff --git a/Misc/NEWS b/Misc/NEWS index 24aab35..e6662e8 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -41,6 +41,8 @@ Core and Builtins Library ------- +- Issue #6906: Tk should not set Unicode environment variables on Windows. + - Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review Issue #29 -- cgit v0.12