From: Georg Brandl Date: Wed, 21 Mar 2007 09:00:39 +0000 (+0000) Subject: Patch #1682205: a TypeError while unpacking an iterable is no longer X-Git-Tag: v2.6a1~1958 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5cb76c19ba5b22b926f69d017a79eb2de296785a;p=python Patch #1682205: a TypeError while unpacking an iterable is no longer masked by a generic one with the message "unpack non-sequence". --- diff --git a/Lib/test/test_unpack.py b/Lib/test/test_unpack.py index 3f726487e0..76a4822804 100644 --- a/Lib/test/test_unpack.py +++ b/Lib/test/test_unpack.py @@ -55,7 +55,7 @@ Unpacking non-sequence >>> a, b, c = 7 Traceback (most recent call last): ... - TypeError: unpack non-sequence + TypeError: 'int' object is not iterable Unpacking tuple of wrong size diff --git a/Misc/NEWS b/Misc/NEWS index c69b3ea959..a9d05e059d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.6 alpha 1? Core and builtins ----------------- +- Patch #1682205: a TypeError while unpacking an iterable is no longer + masked by a generic one with the message "unpack non-sequence". + - Remove unused file Python/fmod.c. - Patch #1675423: PyComplex_AsCComplex() now tries to convert an object diff --git a/Python/ceval.c b/Python/ceval.c index 63efd4ee95..b35942d7b9 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1774,12 +1774,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) PUSH(w); } } else if (unpack_iterable(v, oparg, - stack_pointer + oparg)) + stack_pointer + oparg)) { stack_pointer += oparg; - else { - if (PyErr_ExceptionMatches(PyExc_TypeError)) - PyErr_SetString(PyExc_TypeError, - "unpack non-sequence"); + } else { + /* unpack_iterable() raised an exception */ why = WHY_EXCEPTION; } Py_DECREF(v);