From: Steve Dower Date: Wed, 7 May 2025 12:24:33 +0000 (+0100) Subject: gh-133512: Adds warnings to py.exe launcher about subcommands belonging to Python... X-Git-Tag: v3.13.4~155 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac99d7e5cce85f87475817fd2b8b3aeded6126c6;p=thirdparty%2FPython%2Fcpython.git gh-133512: Adds warnings to py.exe launcher about subcommands belonging to Python install manager (GH-133514) --- diff --git a/Misc/NEWS.d/next/Windows/2025-05-06-14-09-19.gh-issue-133512.bh-D-g.rst b/Misc/NEWS.d/next/Windows/2025-05-06-14-09-19.gh-issue-133512.bh-D-g.rst new file mode 100644 index 000000000000..7579910f988f --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2025-05-06-14-09-19.gh-issue-133512.bh-D-g.rst @@ -0,0 +1,2 @@ +Add warnings to :ref:`launcher` about use of subcommands belonging to the +Python install manager. diff --git a/PC/launcher2.c b/PC/launcher2.c index 72121724726c..357ee53e55c2 100644 --- a/PC/launcher2.c +++ b/PC/launcher2.c @@ -1058,7 +1058,7 @@ checkShebang(SearchInfo *search) debug(L"# Failed to open %s for shebang parsing (0x%08X)\n", scriptFile, GetLastError()); free(scriptFile); - return 0; + return RC_NO_SCRIPT; } DWORD bytesRead = 0; @@ -2665,6 +2665,21 @@ performSearch(SearchInfo *search, EnvironmentInfo **envs) case RC_NO_SHEBANG: case RC_RECURSIVE_SHEBANG: break; + case RC_NO_SCRIPT: + if (!_comparePath(search->scriptFile, search->scriptFileLength, L"install", -1) || + !_comparePath(search->scriptFile, search->scriptFileLength, L"uninstall", -1) || + !_comparePath(search->scriptFile, search->scriptFileLength, L"list", -1) || + !_comparePath(search->scriptFile, search->scriptFileLength, L"help", -1)) { + fprintf( + stderr, + "WARNING: The '%.*ls' command is unavailable because this is the legacy py.exe command.\n" + "If you have already installed the Python install manager, open Installed Apps and " + "remove 'Python Launcher' to enable the new py.exe command.\n", + search->scriptFileLength, + search->scriptFile + ); + } + break; default: return exitCode; }