summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@python.org>2022-10-19 22:00:09 (GMT)
committerGitHub <noreply@github.com>2022-10-19 22:00:09 (GMT)
commit4bd63f66cd4f6e8d549f88ae0f4b0106d522b6bb (patch)
tree0e0a138e005a41af8dcd01ec5ed43b5793c2f7a3
parent9c8dde0fa5309ae9f83a4faa07f062fcd84df4cf (diff)
downloadcpython-4bd63f66cd4f6e8d549f88ae0f4b0106d522b6bb.zip
cpython-4bd63f66cd4f6e8d549f88ae0f4b0106d522b6bb.tar.gz
cpython-4bd63f66cd4f6e8d549f88ae0f4b0106d522b6bb.tar.bz2
gh-98414: py.exe launcher does not use defaults for -V:company/ option (GH-98460)
-rw-r--r--Lib/test/test_launcher.py7
-rw-r--r--Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst3
-rw-r--r--PC/launcher2.c1
3 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/test_launcher.py b/Lib/test/test_launcher.py
index be0cd90..432a446 100644
--- a/Lib/test/test_launcher.py
+++ b/Lib/test/test_launcher.py
@@ -369,6 +369,13 @@ class TestLauncher(unittest.TestCase, RunPyMixin):
self.assertEqual(company, data["env.company"])
self.assertEqual("3.100", data["env.tag"])
+ def test_filter_to_company_with_default(self):
+ company = "PythonTestSuite"
+ data = self.run_py([f"-V:{company}/"], env=dict(PY_PYTHON="3.0"))
+ self.assertEqual("X.Y.exe", data["LaunchCommand"])
+ self.assertEqual(company, data["env.company"])
+ self.assertEqual("3.100", data["env.tag"])
+
def test_filter_to_tag(self):
company = "PythonTestSuite"
data = self.run_py([f"-V:3.100"])
diff --git a/Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst b/Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst
new file mode 100644
index 0000000..df07b7f
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst
@@ -0,0 +1,3 @@
+Fix :file:`py.exe` launcher handling of ``-V:<company>/`` option when
+default preferences have been set in environment variables or configuration
+files.
diff --git a/PC/launcher2.c b/PC/launcher2.c
index 23eaa19..1f6f97b 100644
--- a/PC/launcher2.c
+++ b/PC/launcher2.c
@@ -653,6 +653,7 @@ parseCommandLine(SearchInfo *search)
search->tag = argStart;
}
search->tagLength = (int)(tail - search->tag);
+ search->allowDefaults = false;
search->restOfCmdLine = tail;
} else if (MATCHES(L"0") || MATCHES(L"-list")) {
search->list = true;