summaryrefslogtreecommitdiff
path: root/Python/frozenmain.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1993-06-24 11:10:19 +0000
committerGuido van Rossum <guido@python.org>1993-06-24 11:10:19 +0000
commit9e90a672b44e2acfd5c6dabfb9435bb4bb46c845 (patch)
treef3904d6dfed9d57f98f9e90c93241cb23cb802ad /Python/frozenmain.c
parent5ef74b8f8edbebe22d0b86c85f08b0c618d808f7 (diff)
downloadcpython-git-9e90a672b44e2acfd5c6dabfb9435bb4bb46c845.tar.gz
* pythonmain.c: -k option, usage message, more environment flags.
(the latter also in frozenmain.c) * ceval.c: global 'killprint' flag raises exception when printing an expression statement's value (useful for finding stray output) * timemodule.c: add asctime() and ctime(). Change julian date to 1-based origin (as intended and documented). * Removed unused DO_TIMES stuff from timemodule.c. Added 'epoch' and 'day0' globals (year where time.time() == 0 and day of the week the epoch started).
Diffstat (limited to 'Python/frozenmain.c')
-rw-r--r--Python/frozenmain.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/Python/frozenmain.c b/Python/frozenmain.c
index 90d1623590..8bc136ae62 100644
--- a/Python/frozenmain.c
+++ b/Python/frozenmain.c
@@ -30,28 +30,43 @@ extern char *getenv();
extern int debugging;
extern int verbose;
+extern int killprint;
main(argc, argv)
int argc;
char **argv;
{
char *p;
+ int n, inspect, sts;
int n;
+
if ((p = getenv("PYTHONDEBUG")) && *p != '\0')
debugging = 1;
if ((p = getenv("PYTHONVERBOSE")) && *p != '\0')
verbose = 1;
- initargs(&argc, &argv); /* Defined in config*.c */
+ if ((p = getenv("PYTHONINSPECT")) && *p != '\0')
+ inspect = 1;
+ if ((p = getenv("PYTHONKILLPRINT")) && *p != '\0')
+ killprint = 1;
+
+ initargs(&argc, &argv);
initall();
setpythonargv(argc, argv);
+
n = init_frozen("__main__");
if (n == 0)
fatal("__main__ not frozen");
if (n < 0) {
print_error();
- goaway(1);
+ sts = 1;
}
else
- goaway(0);
+ sts = 0;
+
+ if (inspect && isatty((int)fileno(stdin)) &&
+ (filename != NULL || command != NULL))
+ sts = run(stdin, "<stdin>") != 0;
+
+ goaway(sts);
/*NOTREACHED*/
}