mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
SF patch #467455 : Enhanced environment variables, by Toby Dickenson.
This patch changes to logic to: if env.var. set and non-empty: if env.var. is an integer: set flag to that integer if flag is zero: # [actually, <= 0 --GvR] set flag to 1 Under this patch, anyone currently using PYTHONVERBOSE=yes will get the same output as before. PYTHONVERBNOSE=2 will generate more verbosity than before. The only unusual case that the following three are still all equivalent: PYTHONVERBOSE=yespleas PYTHONVERBOSE=1 PYTHONVERBOSE=0
This commit is contained in:
parent
1566a17af5
commit
9abaf4d3b7
2 changed files with 22 additions and 5 deletions
|
@ -339,9 +339,14 @@ Set this to a non-empty string to cause the \fItime\fP module to
|
||||||
require dates specified as strings to include 4-digit years, otherwise
|
require dates specified as strings to include 4-digit years, otherwise
|
||||||
2-digit years are converted based on rules described in the \fItime\fP
|
2-digit years are converted based on rules described in the \fItime\fP
|
||||||
module documnetation.
|
module documnetation.
|
||||||
|
.IP PYTHONOPTIMIZE
|
||||||
|
If this is set to a non-empty string it is equivalent to specifying
|
||||||
|
the \fB\-O\fP option. If set to an integer, it is equivalent to
|
||||||
|
specifying \fB\-O\fP multiple times.
|
||||||
.IP PYTHONDEBUG
|
.IP PYTHONDEBUG
|
||||||
If this is set to a non-empty string it is equivalent to specifying
|
If this is set to a non-empty string it is equivalent to specifying
|
||||||
the \fB\-d\fP option.
|
the \fB\-d\fP option. If set to an integer, it is equivalent to
|
||||||
|
specifying \fB\-d\fP multiple times.
|
||||||
.IP PYTHONINSPECT
|
.IP PYTHONINSPECT
|
||||||
If this is set to a non-empty string it is equivalent to specifying
|
If this is set to a non-empty string it is equivalent to specifying
|
||||||
the \fB\-i\fP option.
|
the \fB\-i\fP option.
|
||||||
|
@ -350,7 +355,8 @@ If this is set to a non-empty string it is equivalent to specifying
|
||||||
the \fB\-u\fP option.
|
the \fB\-u\fP option.
|
||||||
.IP PYTHONVERBOSE
|
.IP PYTHONVERBOSE
|
||||||
If this is set to a non-empty string it is equivalent to specifying
|
If this is set to a non-empty string it is equivalent to specifying
|
||||||
the \fB\-v\fP option.
|
the \fB\-v\fP option. If set to an integer, it is equivalent to
|
||||||
|
specifying \fB\-v\fP multiple times.
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
.nf
|
.nf
|
||||||
Guido van Rossum
|
Guido van Rossum
|
||||||
|
|
|
@ -87,6 +87,17 @@ Py_IsInitialized(void)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static int
|
||||||
|
add_flag(int flag, const char *envs)
|
||||||
|
{
|
||||||
|
int env = atoi(envs);
|
||||||
|
if (flag < env)
|
||||||
|
flag = env;
|
||||||
|
if (flag < 1)
|
||||||
|
flag = 1;
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Py_Initialize(void)
|
Py_Initialize(void)
|
||||||
{
|
{
|
||||||
|
@ -101,11 +112,11 @@ Py_Initialize(void)
|
||||||
initialized = 1;
|
initialized = 1;
|
||||||
|
|
||||||
if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0')
|
if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0')
|
||||||
Py_DebugFlag = Py_DebugFlag ? Py_DebugFlag : 1;
|
Py_DebugFlag = add_flag(Py_DebugFlag, p);
|
||||||
if ((p = Py_GETENV("PYTHONVERBOSE")) && *p != '\0')
|
if ((p = Py_GETENV("PYTHONVERBOSE")) && *p != '\0')
|
||||||
Py_VerboseFlag = Py_VerboseFlag ? Py_VerboseFlag : 1;
|
Py_VerboseFlag = add_flag(Py_VerboseFlag, p);
|
||||||
if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0')
|
if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0')
|
||||||
Py_OptimizeFlag = Py_OptimizeFlag ? Py_OptimizeFlag : 1;
|
Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p);
|
||||||
|
|
||||||
interp = PyInterpreterState_New();
|
interp = PyInterpreterState_New();
|
||||||
if (interp == NULL)
|
if (interp == NULL)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue