Revert r80580 due to some unintended side effects. See issue #8202 for details.

This commit is contained in:
Nick Coghlan 2010-06-13 06:50:39 +00:00
parent bffd62ee0c
commit 8842c356aa
3 changed files with 11 additions and 6 deletions

View File

@ -95,9 +95,8 @@ source.
file is not available.
If this option is given, the first element of :data:`sys.argv` will be the
full path to the module file (while the module file is being located, the
first element will be set to ``"-m"``). As with the :option:`-c` option,
the current directory will be added to the start of :data:`sys.path`.
full path to the module file. As with the :option:`-c` option, the current
directory will be added to the start of :data:`sys.path`.
Many standard library modules contain code that is invoked on their execution
as a script. An example is the :mod:`timeit` module::

View File

@ -12,6 +12,10 @@ What's New in Python 2.7 release candidate 2?
Core and Builtins
-----------------
- Issue #8202: Previous change to ``sys.argv[0]`` handling for -m command line
option reverted due to unintended side effects on handling of ``sys.path``.
See tracker issue for details.
- Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash
the interpreter with characters outside the Basic Multilingual Plane
(higher than 0x10000).

View File

@ -519,10 +519,12 @@ Py_Main(int argc, char **argv)
}
if (module != NULL) {
/* Backup _PyOS_optind and force sys.argv[0] = '-m'
so that PySys_SetArgv correctly sets sys.path[0] to ''*/
/* Backup _PyOS_optind and force sys.argv[0] = '-c'
so that PySys_SetArgv correctly sets sys.path[0] to ''
rather than looking for a file called "-m". See
tracker issue #8202 for details. */
_PyOS_optind--;
argv[_PyOS_optind] = "-m";
argv[_PyOS_optind] = "-c";
}
PySys_SetArgv(argc-_PyOS_optind, argv+_PyOS_optind);