| --- a/Lib/traceback.py Wed Feb 15 23:45:34 2012 +0100 |
| +++ b/Lib/traceback.py Wed Feb 15 22:51:26 2012 -0800 |
| @@ -120,14 +120,14 @@ |
| seen.add(exc) |
| its = [] |
| cause = exc.__cause__ |
| - if cause is not None and cause not in seen: |
| - its.append(_iter_chain(cause, None, seen)) |
| - its.append([(_cause_message, None)]) |
| - else: |
| + if cause is Ellipsis: |
| context = exc.__context__ |
| if context is not None and context not in seen: |
| its.append(_iter_chain(context, None, seen)) |
| its.append([(_context_message, None)]) |
| + elif cause is not None and cause not in seen: |
| + its.append(_iter_chain(cause, False, seen)) |
| + its.append([(_cause_message, None)]) |
| its.append([(exc, custom_tb or exc.__traceback__)]) |
| # itertools.chain is in an extension module and may be unavailable |
| for it in its: |