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.
........
diff --git a/Lib/lib-tk/FixTk.py b/Lib/lib-tk/FixTk.py
index cb60b61..f9eaa8e 100644
--- a/Lib/lib-tk/FixTk.py
+++ b/Lib/lib-tk/FixTk.py
@@ -19,10 +19,10 @@
         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 @@
         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 e1411df..9dfb804 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -36,6 +36,8 @@
   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