Issue #3812: Failed to build python if configure --without-threads.
Removed itertools usage from Lib/traceback.py, because itertools
is extension module, so maybe unavailable on build process.
(Lib/_dummy_thread.py uses Lib/traceback.py)
Reviewed by Amaury Forgeot d'Arc.
diff --git a/Lib/traceback.py b/Lib/traceback.py
index b7130d8..fac73c4 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -3,7 +3,6 @@
import linecache
import sys
import types
-import itertools
__all__ = ['extract_stack', 'extract_tb', 'format_exception',
'format_exception_only', 'format_list', 'format_stack',
@@ -130,7 +129,10 @@
its.append(_iter_chain(context, None, seen))
its.append([(_context_message, None)])
its.append([(exc, custom_tb or exc.__traceback__)])
- return itertools.chain(*its)
+ # itertools.chain is in an extension module and may be unavailable
+ for it in its:
+ for x in it:
+ yield x
def print_exception(etype, value, tb, limit=None, file=None, chain=True):