Commit eba67c0e authored by Martin v. Löwis's avatar Martin v. Löwis

Issue #6470: Drop UNC prefix in FixTk.py

Patch by Christop Gohlke and Amaury Forgeot d'Arc.
parent 16b2a5e0
...@@ -42,6 +42,8 @@ else: ...@@ -42,6 +42,8 @@ else:
# Ignore leading \\?\ # Ignore leading \\?\
if s.startswith("\\\\?\\"): if s.startswith("\\\\?\\"):
s = s[4:] s = s[4:]
if s.startswith("UNC"):
s = "\\" + s[3:]
return s return s
prefix = os.path.join(sys.prefix,"tcl") prefix = os.path.join(sys.prefix,"tcl")
......
...@@ -127,6 +127,31 @@ class TclTest(unittest.TestCase): ...@@ -127,6 +127,31 @@ class TclTest(unittest.TestCase):
tcl = self.interp tcl = self.interp
self.assertRaises(TclError,tcl.eval,'package require DNE') 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(): def test_main():
test_support.run_unittest(TclTest, TkinterTest) test_support.run_unittest(TclTest, TkinterTest)
......
...@@ -46,6 +46,8 @@ C-API ...@@ -46,6 +46,8 @@ C-API
Library Library
------- -------
- Issue #6470: Drop UNC prefix in FixTk.
- Issue #5610: feedparser no longer eats extra characters at the end of - Issue #5610: feedparser no longer eats extra characters at the end of
a body part if the body part ends with a \r\n. a body part if the body part ends with a \r\n.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment