summaryrefslogtreecommitdiffstats
path: root/Python/pythonrun.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1995-01-09 17:53:26 (GMT)
committerGuido van Rossum <guido@python.org>1995-01-09 17:53:26 (GMT)
commit6135a87f2b1474be6caf1bf776024d0c6d10a6d1 (patch)
treee0b23d5b7b9587a76917894a601f311514c80a8b /Python/pythonrun.c
parent2565bff40a6d7d06c29b7d7a7a580f78b1d4f169 (diff)
downloadcpython-6135a87f2b1474be6caf1bf776024d0c6d10a6d1.zip
cpython-6135a87f2b1474be6caf1bf776024d0c6d10a6d1.tar.gz
cpython-6135a87f2b1474be6caf1bf776024d0c6d10a6d1.tar.bz2
__builtins__ mods (and sys_checkinterval for ceval.c)
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r--Python/pythonrun.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index c706081..a25cbba 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -32,6 +32,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "graminit.h"
#include "errcode.h"
#include "sysmodule.h"
+#include "bltinmodule.h"
#include "compile.h"
#include "eval.h"
#include "ceval.h"
@@ -48,6 +49,7 @@ extern char *getpythonpath();
extern grammar gram; /* From graminit.c */
/* Forward */
+static void initmain PROTO((void));
static object *run_err_node PROTO((node *n, char *filename,
object *globals, object *locals));
static object *run_node PROTO((node *n, char *filename,
@@ -83,6 +85,24 @@ initall()
setpythonpath(getpythonpath());
initsigs(); /* Signal handling stuff, including initintr() */
+
+ initmain();
+}
+
+/* Create __main__ module */
+
+static void
+initmain()
+{
+ object *m, *d;
+ m = add_module("__main__");
+ if (m == NULL)
+ fatal("can't create __main__ module");
+ d = getmoduledict(m);
+ if (dictlookup(d, "__builtins__") == NULL) {
+ if (dictinsert(d, "__builtins__", getbuiltindict()))
+ fatal("can't add __builtins__ to __main__");
+ }
}
/* Parse input from a file and execute it */