Patch #794400: Let PYTHONSTARTUP influence the compiler flags.

This commit is contained in:
Martin v. Löwis 2003-11-18 19:46:25 +00:00
parent b61982bacb
commit 6caea370ac
2 changed files with 16 additions and 9 deletions

View File

@ -12,6 +12,8 @@ What's New in Python 2.4 alpha 1?
Core and builtins Core and builtins
----------------- -----------------
- Compiler flags set in PYTHONSTARTUP are now active in __main__.
- Added two builtin types, set() and frozenset(). - Added two builtin types, set() and frozenset().
- Critical bugfix, for SF bug 840829: if cyclic garbage collection - Critical bugfix, for SF bug 840829: if cyclic garbage collection

View File

@ -117,6 +117,19 @@ usage(int exitcode, char* program)
/*NOTREACHED*/ /*NOTREACHED*/
} }
static void RunStartupFile(PyCompilerFlags *cf)
{
char *startup = Py_GETENV("PYTHONSTARTUP");
if (startup != NULL && startup[0] != '\0') {
FILE *fp = fopen(startup, "r");
if (fp != NULL) {
(void) PyRun_SimpleFileExFlags(fp, startup, 0, cf);
PyErr_Clear();
fclose(fp);
}
}
}
/* Main program */ /* Main program */
@ -401,15 +414,7 @@ Py_Main(int argc, char **argv)
} }
else { else {
if (filename == NULL && stdin_is_interactive) { if (filename == NULL && stdin_is_interactive) {
char *startup = Py_GETENV("PYTHONSTARTUP"); RunStartupFile(&cf);
if (startup != NULL && startup[0] != '\0') {
FILE *fp = fopen(startup, "r");
if (fp != NULL) {
(void) PyRun_SimpleFile(fp, startup);
PyErr_Clear();
fclose(fp);
}
}
} }
/* XXX */ /* XXX */
sts = PyRun_AnyFileExFlags( sts = PyRun_AnyFileExFlags(