Allow importlib.__import__ to accept any iterable for fromlist. Discovered when
running importlib against test___all__.
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 079a9b2..95fea33 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -943,6 +943,7 @@
         # If a package was imported, try to import stuff from fromlist.
         if hasattr(module, '__path__'):
             if '*' in fromlist and hasattr(module, '__all__'):
+                fromlist = list(fromlist)
                 fromlist.remove('*')
                 fromlist.extend(module.__all__)
             for x in (y for y in fromlist if not hasattr(module,y)):
diff --git a/Lib/importlib/test/import_/test_fromlist.py b/Lib/importlib/test/import_/test_fromlist.py
index 340235b..14ea5bf 100644
--- a/Lib/importlib/test/import_/test_fromlist.py
+++ b/Lib/importlib/test/import_/test_fromlist.py
@@ -84,16 +84,23 @@
                 module = import_util.import_('pkg.mod', fromlist=[''])
                 self.assertEquals(module.__name__, 'pkg.mod')
 
-    def test_using_star(self):
+    def basic_star_test(self, fromlist=['*']):
         # [using *]
         with util.mock_modules('pkg.__init__', 'pkg.module') as mock:
             with util.import_state(meta_path=[mock]):
                 mock['pkg'].__all__ = ['module']
-                module = import_util.import_('pkg', fromlist=['*'])
+                module = import_util.import_('pkg', fromlist=fromlist)
                 self.assertEquals(module.__name__, 'pkg')
                 self.assertTrue(hasattr(module, 'module'))
                 self.assertEqual(module.module.__name__, 'pkg.module')
 
+    def test_using_star(self):
+        # [using *]
+        self.basic_star_test()
+
+    def test_fromlist_as_tuple(self):
+        self.basic_star_test(('*',))
+
     def test_star_with_others(self):
         # [using * with others]
         context = util.mock_modules('pkg.__init__', 'pkg.module1', 'pkg.module2')
diff --git a/Misc/NEWS b/Misc/NEWS
index 5189aae..d6d7dc3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -68,6 +68,8 @@
 Library
 -------
 
+- Allow the fromlist passed into importlib.__import__ to be any iterable.
+
 - Have importlib raise ImportError if None is found in sys.modules.
 
 - Issue #6054: Do not normalize stored pathnames in tarfile.