diff options
-rw-r--r-- | Lib/test/test_tcl.py | 25 | ||||
-rw-r--r-- | Lib/tkinter/_fix.py | 2 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 29 insertions, 0 deletions
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py index 0df1fea..5bd781d 100644 --- a/Lib/test/test_tcl.py +++ b/Lib/test/test_tcl.py @@ -127,6 +127,31 @@ class TclTest(unittest.TestCase): tcl = self.interp self.assertRaises(TclError,tcl.eval,'package require DNE') + def testLoadWithUNC(self): + import sys + if sys.platform != 'win32': + return + + # Build a UNC path from the regular path. + # Something like + # \\%COMPUTERNAME%\c$\python27\python.exe + + fullname = os.path.abspath(sys.executable) + if fullname[1] != ':': + return + unc_name = r'\\%s\%s$\%s' % (os.environ['COMPUTERNAME'], + fullname[0], + fullname[3:]) + + with test_support.EnvironmentVarGuard() as env: + env.unset("TCL_LIBRARY") + f = os.popen('%s -c "import Tkinter; print Tkinter"' % (unc_name,)) + + self.assert_('Tkinter.py' in f.read()) + # exit code must be zero + self.assertEqual(f.close(), None) + + def test_main(): support.run_unittest(TclTest, TkinterTest) diff --git a/Lib/tkinter/_fix.py b/Lib/tkinter/_fix.py index c11d663..5a69d89 100644 --- a/Lib/tkinter/_fix.py +++ b/Lib/tkinter/_fix.py @@ -42,6 +42,8 @@ else: # Ignore leading \\?\ if s.startswith("\\\\?\\"): s = s[4:] + if s.startswith("UNC"): + s = "\\" + s[3:] return s prefix = os.path.join(sys.prefix,"tcl") @@ -398,6 +398,8 @@ C-API Library ------- +- Issue #6470: Drop UNC prefix in FixTk. + - Issue #4768: base64 encoded email body parts were incorrectly stored as binary strings. They are now correctly converted to strings. |