summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Objects/abstract.c2
-rw-r--r--Objects/classobject.c2
-rw-r--r--Objects/typeobject.c2
-rw-r--r--Python/ceval.c6
4 files changed, 8 insertions, 4 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c
index ac95123..7a5305a 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1859,7 +1859,7 @@ PyObject_GetIter(PyObject *o)
if (f == NULL) {
if (PySequence_Check(o))
return PySeqIter_New(o);
- PyErr_SetString(PyExc_TypeError, "iter() of non-sequence");
+ PyErr_SetString(PyExc_TypeError, "iteration over non-sequence");
return NULL;
}
else {
diff --git a/Objects/classobject.c b/Objects/classobject.c
index df10aa2..cef1894 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -1839,7 +1839,7 @@ instance_getiter(PyInstanceObject *self)
}
PyErr_Clear();
if ((func = instance_getattr(self, getitemstr)) == NULL) {
- PyErr_SetString(PyExc_TypeError, "iter() of non-sequence");
+ PyErr_SetString(PyExc_TypeError, "iteration over non-sequence");
return NULL;
}
Py_DECREF(func);
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index b8a4593..e5e7dcd 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -3261,7 +3261,7 @@ slot_tp_iter(PyObject *self)
PyErr_Clear();
func = lookup_method(self, "__getitem__", &getitem_str);
if (func == NULL) {
- PyErr_SetString(PyExc_TypeError, "iter() of non-sequence");
+ PyErr_SetString(PyExc_TypeError, "iteration over non-sequence");
return NULL;
}
Py_DECREF(func);
diff --git a/Python/ceval.c b/Python/ceval.c
index 731e93f..132fb72 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1556,8 +1556,12 @@ eval_frame(PyFrameObject *f)
else if (unpack_iterable(v, oparg,
stack_pointer + oparg))
stack_pointer += oparg;
- else
+ else {
+ if (PyErr_ExceptionMatches(PyExc_TypeError))
+ PyErr_SetString(PyExc_TypeError,
+ "unpack non-sequence");
why = WHY_EXCEPTION;
+ }
Py_DECREF(v);
break;