From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 19 Oct 2022 22:41:28 +0000 (-0700) Subject: gh-98414: py.exe launcher does not use defaults for -V:company/ option (GH-98460) X-Git-Tag: v3.11.1~253 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0b71dad9b8dce1aa2ce04328e9906274f381ca76;p=thirdparty%2FPython%2Fcpython.git gh-98414: py.exe launcher does not use defaults for -V:company/ option (GH-98460) (cherry picked from commit 4bd63f66cd4f6e8d549f88ae0f4b0106d522b6bb) Co-authored-by: Steve Dower --- diff --git a/Lib/test/test_launcher.py b/Lib/test/test_launcher.py index 97686e6ce982..ba6856b3e246 100644 --- a/Lib/test/test_launcher.py +++ b/Lib/test/test_launcher.py @@ -370,6 +370,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 000000000000..df07b7f547df --- /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:/`` option when +default preferences have been set in environment variables or configuration +files. diff --git a/PC/launcher2.c b/PC/launcher2.c index 23eaa19dde38..1f6f97b82092 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;