From dbac1689483ec160bb811792f5a70e09fefd55ec Mon Sep 17 00:00:00 2001 From: Florent Xicluna Date: Tue, 23 Mar 2010 12:17:59 +0000 Subject: [PATCH] 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. ........ --- 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 cb60b6125c..f9eaa8e800 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 e1411df41f..9dfb8049d3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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 -- 2.50.0