setup: remove set and dict comprehensions stable
authorGregory Szorc <gregory.szorc@gmail.com>
Sun, 21 Apr 2019 07:21:08 -0700
branchstable
changeset 42174 bd92dd3eff42
parent 42173 07faf5c65190
child 42175 cd1bede340b0
setup: remove set and dict comprehensions Yuya observed in a recent review that it is worthwhile to keep setup.py parseable with Python 2.6 so a useful error message is seen when attempting to run with Python 2.6. This commit removes a set and dict comprehension so setup.py is parseable with Python 2.6.
setup.py
--- a/setup.py	Fri Apr 19 23:13:28 2019 +0300
+++ b/setup.py	Sun Apr 21 07:21:08 2019 -0700
@@ -795,8 +795,8 @@
             normalizecrlf('doc/%s.html' % root)
 
         # This logic is duplicated in doc/Makefile.
-        sources = {f for f in os.listdir('mercurial/help')
-                   if re.search(r'[0-9]\.txt$', f)}
+        sources = set(f for f in os.listdir('mercurial/help')
+                      if re.search(r'[0-9]\.txt$', f))
 
         # common.txt is a one-off.
         gentxt('common')
@@ -971,9 +971,12 @@
             res = buildpy2exe.find_needed_modules(self, mf, files, modules)
 
             # Replace virtualenv's distutils modules with the real ones.
-            res.modules = {
-                k: v for k, v in res.modules.items()
-                if k != 'distutils' and not k.startswith('distutils.')}
+            modules = {}
+            for k, v in res.modules.items():
+                if k != 'distutils' and not k.startswith('distutils.'):
+                    modules[k] = v
+
+            res.modules = modules
 
             import opcode
             distutilsreal = os.path.join(os.path.dirname(opcode.__file__),