using sys._getframe(x), where x > 0 doesnt' work on IronPython
diff --git a/Lib/collections.py b/Lib/collections.py
index 4cffca0..cac1777 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -268,9 +268,12 @@
# For pickling to work, the __module__ variable needs to be set to the frame
# where the named tuple is created. Bypass this step in enviroments where
- # sys._getframe is not defined (Jython for example).
- if hasattr(_sys, '_getframe'):
+ # sys._getframe is not defined (Jython for example) or sys._getframe is not
+ # defined for arguments greater than 0 (IronPython).
+ try:
result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__main__')
+ except (AttributeError, ValueError):
+ pass
return result