]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Remove code that tried to warn about shadowing builtin names after a
authorNeil Schemenauer <nascheme@enme.ucalgary.ca>
Wed, 16 Jul 2003 22:04:11 +0000 (22:04 +0000)
committerNeil Schemenauer <nascheme@enme.ucalgary.ca>
Wed, 16 Jul 2003 22:04:11 +0000 (22:04 +0000)
module had been compiled.  It gives too many spurious warnings.

Objects/moduleobject.c

index 5195388e2073b35fe78ecd1a2bc760f50eaba273..812cbc4ae893f3317c471e93cc30aa03596ba8b4 100644 (file)
@@ -198,71 +198,6 @@ module_repr(PyModuleObject *m)
        return PyString_FromFormat("<module '%s' from '%s'>", name, filename);
 }
 
-static PyObject *
-find_builtin_names(void)
-{
-       PyObject *builtins, *names, *key, *value;
-       int pos = 0;
-       builtins = PyEval_GetBuiltins();
-       if (builtins == NULL || !PyDict_Check(builtins)) {
-               PyErr_SetString(PyExc_SystemError, "no builtins dict!");
-               return NULL;
-       }
-       names = PyDict_New();
-       if (names == NULL)
-               return NULL;
-       while (PyDict_Next(builtins, &pos, &key, &value)) {
-               if (PyString_Check(key) &&
-                               PyString_Size(key) > 0 &&
-                               PyString_AS_STRING(key)[0] != '_') {
-                       if (PyDict_SetItem(names, key, Py_None) < 0) {
-                               Py_DECREF(names);
-                               return NULL;
-                       }
-               }
-       }
-       return names;
-}
-
-/* returns 0 or 1 (and -1 on error) */
-static int
-shadows_builtin(PyObject *globals, PyObject *name)
-{
-       static PyObject *builtin_names = NULL;
-       if (builtin_names == NULL) {
-               builtin_names = find_builtin_names();
-               if (builtin_names == NULL)
-                       return -1;
-       }
-       if (!PyString_Check(name))
-               return 0;
-       if (PyDict_GetItem(globals, name) == NULL &&
-           PyDict_GetItem(builtin_names, name) != NULL) {
-               return 1;
-       }
-       else {
-               return 0;
-       }
-}
-
-static int
-module_setattr(PyObject *m, PyObject *name, PyObject *value)
-{
-       PyObject *globals = ((PyModuleObject *)m)->md_dict;
-       PyObject *builtins = PyEval_GetBuiltins();
-       if (globals != NULL && globals != builtins) {
-               int shadows = shadows_builtin(globals, name);
-               if (shadows == 1) {
-                       if (PyErr_Warn(PyExc_DeprecationWarning,
-                                       "assignment shadows builtin") < 0)
-                               return -1;
-               }
-               else if (shadows == -1)
-                       return -1;
-       }
-       return PyObject_GenericSetAttr(m, name, value);
-}
-
 /* We only need a traverse function, no clear function: If the module
    is in a cycle, md_dict will be cleared as well, which will break
    the cycle. */
@@ -299,7 +234,7 @@ PyTypeObject PyModule_Type = {
        0,                                      /* tp_call */
        0,                                      /* tp_str */
        PyObject_GenericGetAttr,                /* tp_getattro */
-       module_setattr,                         /* tp_setattro */
+       PyObject_GenericSetAttr,                /* tp_setattro */
        0,                                      /* tp_as_buffer */
        Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
                Py_TPFLAGS_BASETYPE,            /* tp_flags */