diff Python/bltinmodule.c @ 86970:e5476ecb8b57

Issue #19512: eval() and exec() now use an identifier for "__builtins__" string
author Victor Stinner <victor.stinner@gmail.com>
date Wed, 06 Nov 2013 19:03:11 +0100
parents 4ef4578db38a
children 954167ce92a3
line wrap: on
line diff
--- a/Python/bltinmodule.c	Wed Nov 06 18:59:18 2013 +0100
+++ b/Python/bltinmodule.c	Wed Nov 06 19:03:11 2013 +0100
@@ -34,6 +34,7 @@
 
 _Py_IDENTIFIER(fileno);
 _Py_IDENTIFIER(flush);
+_Py_IDENTIFIER(__builtins__);
 
 static PyObject *
 builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds)
@@ -771,9 +772,9 @@
         return NULL;
     }
 
-    if (PyDict_GetItemString(globals, "__builtins__") == NULL) {
-        if (PyDict_SetItemString(globals, "__builtins__",
-                                 PyEval_GetBuiltins()) != 0)
+    if (_PyDict_GetItemId(globals, &PyId___builtins__) == NULL) {
+        if (_PyDict_SetItemId(globals, &PyId___builtins__,
+                              PyEval_GetBuiltins()) != 0)
             return NULL;
     }
 
@@ -846,9 +847,9 @@
             locals->ob_type->tp_name);
         return NULL;
     }
-    if (PyDict_GetItemString(globals, "__builtins__") == NULL) {
-        if (PyDict_SetItemString(globals, "__builtins__",
-                                 PyEval_GetBuiltins()) != 0)
+    if (_PyDict_GetItemId(globals, &PyId___builtins__) == NULL) {
+        if (_PyDict_SetItemId(globals, &PyId___builtins__,
+                              PyEval_GetBuiltins()) != 0)
             return NULL;
     }