summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2007-08-21 06:03:43 (GMT)
committerGeorg Brandl <georg@python.org>2007-08-21 06:03:43 (GMT)
commitd7e9f608c33264f151264eb604bbcfdafe8c7a02 (patch)
treed59e1b1eb61db9589f2b27e5fa84ab93b80834a8
parentfdca6d8599e46ee7fc7844a798666fc60923fbe5 (diff)
downloadcpython-d7e9f608c33264f151264eb604bbcfdafe8c7a02.zip
cpython-d7e9f608c33264f151264eb604bbcfdafe8c7a02.tar.gz
cpython-d7e9f608c33264f151264eb604bbcfdafe8c7a02.tar.bz2
Revert accidental checkins from last commit.
-rw-r--r--Lib/test/test_exceptions.py17
-rw-r--r--Objects/exceptions.c38
-rw-r--r--Python/import.c10
3 files changed, 7 insertions, 58 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 2f57f3d..657cbc5 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -9,16 +9,6 @@ from test.test_support import (TESTFN, unlink, run_unittest,
catch_warning)
from test.test_pep352 import ignore_message_warning
-class NaiveException(Exception):
- def __init__(self, x):
- self.x = x
-
-class SomewhatNaiveException(Exception):
- def __init__(self, x):
- self.x = x
- Exception.__init__(self)
-
-
# XXX This is not really enough, each *operation* should be tested!
class ExceptionTests(unittest.TestCase):
@@ -273,10 +263,6 @@ class ExceptionTests(unittest.TestCase):
{'message' : '', 'args' : (u'\u3042', 0, 1, 'ouch'),
'object' : u'\u3042', 'reason' : 'ouch',
'start' : 0, 'end' : 1}),
- (NaiveException, ('foo',),
- {'message': '', 'args': ('foo',), 'x': 'foo'}),
- (SomewhatNaiveException, ('foo',),
- {'message': '', 'args': (), 'x': 'foo'}),
]
try:
exceptionList.append(
@@ -297,8 +283,7 @@ class ExceptionTests(unittest.TestCase):
if type(e) is not exc:
raise
# Verify module name
- if not type(e).__name__.endswith('NaiveException'):
- self.assertEquals(type(e).__module__, 'exceptions')
+ self.assertEquals(type(e).__module__, 'exceptions')
# Verify no ref leaks in Exc_str()
s = str(e)
for checkArgName in expected:
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index 103a662..3d79383 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -38,31 +38,18 @@ BaseException_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
/* the dict is created on the fly in PyObject_GenericSetAttr */
self->message = self->dict = NULL;
- if (!args) {
- /* MemoryError instantiation */
- args = PyTuple_New(0);
- if (!args) {
- Py_DECREF(self);
- return NULL;
- }
- } else {
- Py_INCREF(args);
- }
-
- self->args = args;
-
- /* Since the args can be overwritten in __init__, we have to store
- the original args somewhere for pickling. */
- if (PyObject_SetAttrString((PyObject *)self, "__newargs__", args) < 0) {
+ self->args = PyTuple_New(0);
+ if (!self->args) {
Py_DECREF(self);
return NULL;
}
-
+
self->message = PyString_FromString("");
if (!self->message) {
Py_DECREF(self);
return NULL;
}
+
return (PyObject *)self;
}
@@ -160,23 +147,10 @@ BaseException_repr(PyBaseExceptionObject *self)
static PyObject *
BaseException_reduce(PyBaseExceptionObject *self)
{
- PyObject *result;
- PyObject *newargs = PyObject_GetAttrString((PyObject *)self, "__newargs__");
- if (!newargs) {
- if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
- PyErr_SetString(PyExc_AttributeError,
- "To pickle exceptions via BaseException.__reduce__, "
- "you need to set the __newargs__ attribute in your "
- "custom __new__ method.");
- }
- return NULL;
- }
if (self->args && self->dict)
- result = PyTuple_Pack(3, Py_Type(self), newargs, self->dict);
+ return PyTuple_Pack(3, Py_Type(self), self->args, self->dict);
else
- result = PyTuple_Pack(2, Py_Type(self), newargs);
- Py_DECREF(newargs);
- return result;
+ return PyTuple_Pack(2, Py_Type(self), self->args);
}
/*
diff --git a/Python/import.c b/Python/import.c
index dc97940..678a30b 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1395,7 +1395,6 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
filemode = fdp->mode;
if (filemode[0] == 'U')
filemode = "r" PY_STDIOTEXTMODE;
- errno = 0;
fp = fopen(buf, filemode);
if (fp != NULL) {
if (case_ok(buf, len, namelen, name))
@@ -1405,15 +1404,6 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
fp = NULL;
}
}
- /* issue a warning if the file is there */
- /*if (errno != ENOENT) {
- char warnstr[MAXPATHLEN+80];
- sprintf(warnstr, "Not importing '%.*s': ");
-
- if (PyErr_Warn(PyExc_ImportWarning,
- warnstr)) {
-
- }*/
#if defined(PYOS_OS2)
/* restore the saved snapshot */
strcpy(buf, saved_buf);