]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Use mappinglookup instead of dictlookup for looking up __builtin__.
authorSjoerd Mullender <sjoerd@acm.org>
Tue, 4 Apr 1995 11:47:41 +0000 (11:47 +0000)
committerSjoerd Mullender <sjoerd@acm.org>
Tue, 4 Apr 1995 11:47:41 +0000 (11:47 +0000)
Objects/frameobject.c

index beb4c2db6454ab92e7bf8548acb2f2d41ad69472..db02924b62f65f9c2a38aaef9ec5a0e94b563341 100644 (file)
@@ -138,8 +138,14 @@ newframeobject(back, code, globals, locals, owner, nvalues, nblocks)
        int nvalues;
        int nblocks;
 {
+       static object *builtin_object;
        frameobject *f;
        object *builtins;
+       if (builtin_object == NULL) {
+               builtin_object = newstringobject("__builtins__");
+               if (builtin_object == NULL)
+                       return NULL;
+       }
        if ((back != NULL && !is_frameobject(back)) ||
                code == NULL || !is_codeobject(code) ||
                globals == NULL || !is_dictobject(globals) ||
@@ -148,7 +154,7 @@ newframeobject(back, code, globals, locals, owner, nvalues, nblocks)
                err_badcall();
                return NULL;
        }
-       builtins = dictlookup(globals, "__builtins__");
+       builtins = mappinglookup(globals, builtin_object);
        if (builtins != NULL && is_moduleobject(builtins))
                builtins = getmoduledict(builtins);
        if (builtins == NULL || !is_mappingobject(builtins)) {