]> granicus.if.org Git - python/commitdiff
A change to sync with pickle.py:
authorBarry Warsaw <barry@python.org>
Thu, 15 Nov 2001 23:45:26 +0000 (23:45 +0000)
committerBarry Warsaw <barry@python.org>
Thu, 15 Nov 2001 23:45:26 +0000 (23:45 +0000)
find_class(): We no longer mask all exceptions[1] by transforming them
into SystemError.  The latter is definitely not the right thing to do,
so we let any exceptions that occur in the PyObject_GetAttr() call to
simply propagate up if they occur.

[1] Note that pickle only masked ImportError, KeyError, and
AttributeError, but cPickle masked all exceptions.

Modules/cPickle.c

index 54a115172f6ffc7de992fe21ecd6c7d35d3c2685..17bc7a9af317f1fcc9b5876a75fac896e9167c4b 100644 (file)
@@ -2537,14 +2537,6 @@ find_class(PyObject *py_module_name, PyObject *py_global_name, PyObject *fc) {
     }
     else
       global = PyObject_GetAttr(module, py_global_name);
-    if (global == NULL) {
-      char buf[256 + 37];
-      sprintf(buf, "Failed to import class %.128s from module %.128s",
-              PyString_AS_STRING((PyStringObject*)py_global_name),
-              PyString_AS_STRING((PyStringObject*)py_module_name));
-      PyErr_SetString(PyExc_SystemError, buf);
-      return NULL;
-    }
     return global;
 }