different init for __builtins__

This commit is contained in:
Guido van Rossum 1995-01-17 16:27:25 +00:00
parent cd938fc5a1
commit b4e7e25fe6
2 changed files with 4 additions and 2 deletions

View file

@ -149,6 +149,8 @@ newframeobject(back, code, globals, locals, owner, nvalues, nblocks)
return NULL;
}
builtins = dictlookup(globals, "__builtins__");
if (builtins != NULL && is_moduleobject(builtins))
builtins = getmoduledict(builtins);
if (builtins == NULL || !is_mappingobject(builtins)) {
err_setstr(TypeError, "bad __builtins__ dictionary");
return NULL;

View file

@ -737,8 +737,8 @@ eval_code(co, globals, locals, owner, arg)
!suppress_print) {
flushline();
x = sysget("stdout");
softspace(x, 1);
err = writeobject(v, x, 0);
softspace(x, 1);
flushline();
}
DECREF(v);
@ -1692,7 +1692,7 @@ object *
getbuiltins()
{
if (current_frame == NULL)
return getbuiltindict();
return getbuiltinmod();
else
return current_frame->f_builtins;
}