whichmodule(): remove redundant PyErr_Clear(); add explicit setting
of error when sys.modules isn't there.
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 9af979b..9f426cc 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -682,12 +682,11 @@
         Py_INCREF(module);
         return module;
     }
-    else {
-        PyErr_Clear();
-    }
 
-    UNLESS(modules_dict = PySys_GetObject("modules"))
+    UNLESS(modules_dict = PySys_GetObject("modules")) {
+	PyErr_SetString(PyExc_SystemError, "lost sys.modules");
         return NULL;
+    }
 
     i = 0;
     while ((j = PyDict_Next(modules_dict, &i, &name, &module))) {