Issue 5021: doctest.testfile should set __name__
diff --git a/Lib/collections.py b/Lib/collections.py
index effae7d..0fddb97 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -109,7 +109,7 @@
     # where the named tuple is created.  Bypass this step in enviroments where
     # sys._getframe is not defined (Jython for example).
     if hasattr(_sys, '_getframe'):
-        result.__module__ = _sys._getframe(1).f_globals['__name__']
+        result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__main__')
 
     return result
 
diff --git a/Misc/NEWS b/Misc/NEWS
index bb1aeac..2fe1082 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -145,6 +145,9 @@
 Library
 -------
 
+- Issue 5021:  doctest.testfile() did not create __name__ and
+  collections.namedtuple() relied on __name__ being defined.
+
 - Backport importlib from Python 3.1. Only the import_module() function has
   been backported to help facilitate transitions from 2.7 to 3.1.