bpo-34062: Add missing launcher argument and make behavior consistent between short and long arguments (GH-8827)

Added previously missing "--list" argument.
Made "--list" and "--list-paths" behavior consistent with the corresponding "-0" and "-0p" arguments.
(cherry picked from commit aada63b20e)

Co-authored-by: Brendan Gerrity <brerrity@gmail.com>
This commit is contained in:
Miss Islington (bot) 2018-08-31 11:32:22 -04:00 committed by GitHub
parent 9668d4e6af
commit 5df3658f2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 8 deletions

View File

@ -0,0 +1 @@
Fixed the '--list' and '--list-paths' arguments for the py.exe launcher

View File

@ -1465,7 +1465,6 @@ process(int argc, wchar_t ** argv)
wchar_t * p;
int rc = 0;
size_t plen;
size_t slen;
INSTALLED_PYTHON * ip;
BOOL valid;
DWORD size, attrs;
@ -1601,10 +1600,11 @@ process(int argc, wchar_t ** argv)
else {
p = argv[1];
plen = wcslen(p);
if (argc == 2) {
slen = wcslen(L"-0");
if(!wcsncmp(p, L"-0", slen)) /* Starts with -0 */
valid = show_python_list(argv); /* Check for -0 FIRST */
if ((argc == 2) &&
(!wcsncmp(p, L"-0", wcslen(L"-0")) || /* Starts with -0 or --list */
!wcsncmp(p, L"--list", wcslen(L"--list"))))
{
valid = show_python_list(argv); /* Check for -0 or --list FIRST */
}
valid = valid && (*p == L'-') && validate_version(&p[1]);
if (valid) {
@ -1637,10 +1637,13 @@ installed, use -0 for available pythons", &p[1]);
if (!valid) {
if ((argc == 2) && (!_wcsicmp(p, L"-h") || !_wcsicmp(p, L"--help")))
show_help_text(argv);
if ((argc == 2) && (!_wcsicmp(p, L"-0") || !_wcsicmp(p, L"-0p")))
executable = NULL; /* Info call only */
else
if ((argc == 2) &&
(!_wcsicmp(p, L"-0") || !_wcsicmp(p, L"--list") ||
!_wcsicmp(p, L"-0p") || !_wcsicmp(p, L"--list-paths")))
{
executable = NULL; /* Info call only */
}
else {
/* Look for an active virtualenv */
executable = find_python_by_venv();