From 5b7f3cd3e17b96d3ef505cc46df169caab06c784 Mon Sep 17 00:00:00 2001 From: Sjoerd Mullender Date: Tue, 4 Apr 1995 11:47:41 +0000 Subject: Use mappinglookup instead of dictlookup for looking up __builtin__. --- Objects/frameobject.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Objects/frameobject.c b/Objects/frameobject.c index beb4c2d..db02924 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -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)) { -- cgit v0.12