mirror of https://github.com/python/cpython
Closes #17028: Allowed Python arguments to be supplied to launcher.
This commit is contained in:
parent
64a5562f4c
commit
2ae8c6316f
|
@ -1208,6 +1208,7 @@ process(int argc, wchar_t ** argv)
|
|||
void * version_data;
|
||||
VS_FIXEDFILEINFO * file_info;
|
||||
UINT block_size;
|
||||
int index;
|
||||
|
||||
wp = get_env(L"PYLAUNCH_DEBUG");
|
||||
if ((wp != NULL) && (*wp != L'\0'))
|
||||
|
@ -1295,13 +1296,6 @@ process(int argc, wchar_t ** argv)
|
|||
else {
|
||||
p = argv[1];
|
||||
plen = wcslen(p);
|
||||
if (p[0] != L'-') {
|
||||
read_commands();
|
||||
maybe_handle_shebang(&argv[1], command);
|
||||
}
|
||||
/* No file with shebang, or an unrecognised shebang.
|
||||
* Is the first arg a special version qualifier?
|
||||
*/
|
||||
valid = (*p == L'-') && validate_version(&p[1]);
|
||||
if (valid) {
|
||||
ip = locate_python(&p[1]);
|
||||
|
@ -1311,6 +1305,16 @@ installed", &p[1]);
|
|||
command += wcslen(p);
|
||||
command = skip_whitespace(command);
|
||||
}
|
||||
else {
|
||||
for (index = 1; index < argc; ++index) {
|
||||
if (*argv[index] != L'-')
|
||||
break;
|
||||
}
|
||||
if (index < argc) {
|
||||
read_commands();
|
||||
maybe_handle_shebang(&argv[index], command);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!valid) {
|
||||
ip = locate_python(L"");
|
||||
|
@ -1329,7 +1333,7 @@ installed", &p[1]);
|
|||
fwprintf(stdout, L"\
|
||||
Python Launcher for Windows Version %s\n\n", version_text);
|
||||
fwprintf(stdout, L"\
|
||||
usage: %s [ launcher-arguments ] script [ script-arguments ]\n\n", argv[0]);
|
||||
usage: %s [ launcher-arguments ] [ python-arguments ] script [ script-arguments ]\n\n", argv[0]);
|
||||
fputws(L"\
|
||||
Launcher arguments:\n\n\
|
||||
-2 : Launch the latest Python 2.x version\n\
|
||||
|
@ -1362,4 +1366,4 @@ int cdecl wmain(int argc, wchar_t ** argv)
|
|||
return process(argc, argv);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue