Remove incorrect usages of map() in distutils.
Reported by Lisandro Dalcin.
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index bd560a6..c6572ca 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -158,7 +158,7 @@
         print(indent + header)
         indent = indent + "  "
         for (option, _, _) in self.user_options:
-            option = option.translate(longopt_xlate)
+            option = longopt_xlate(option)
             if option[-1] == "=":
                 option = option[:-1]
             value = getattr(self, option)
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index c0eef62..2db53f1 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -244,7 +244,7 @@
 
         if self.define:
             defines = self.define.split(',')
-            self.define = map(lambda symbol: (symbol, '1'), defines)
+            self.define = [(symbol, '1') for symbol in defines]
 
         # The option for macros to undefine is also a string from the
         # option parsing, but has to be a list.  Multiple symbols can also
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index ddde909..8bcb88c 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -864,7 +864,8 @@
         for (option, (source, value)) in option_dict.items():
             if DEBUG: print("    %s = %s (from %s)" % (option, value, source))
             try:
-                bool_opts = map(translate_longopt, command_obj.boolean_options)
+                bool_opts = [translate_longopt(o)
+                             for o in command_obj.boolean_options]
             except AttributeError:
                 bool_opts = []
             try:
diff --git a/Lib/distutils/filelist.py b/Lib/distutils/filelist.py
index 8eab0a9..a80c71e 100644
--- a/Lib/distutils/filelist.py
+++ b/Lib/distutils/filelist.py
@@ -85,13 +85,13 @@
             if len(words) < 2:
                 raise DistutilsTemplateError(
                       "'%s' expects <pattern1> <pattern2> ..." % action)
-            patterns = map(convert_path, words[1:])
+            patterns = [convert_path(w) for w in words[1:]]
         elif action in ('recursive-include', 'recursive-exclude'):
             if len(words) < 3:
                 raise DistutilsTemplateError(
                       "'%s' expects <dir> <pattern1> <pattern2> ..." % action)
             dir = convert_path(words[1])
-            patterns = map(convert_path, words[2:])
+            patterns = [convert_path(w) for w in words[2:]]
         elif action in ('graft', 'prune'):
             if len(words) != 2:
                 raise DistutilsTemplateError(
diff --git a/Lib/distutils/mwerkscompiler.py b/Lib/distutils/mwerkscompiler.py
index 25d48ae..130cd61 100644
--- a/Lib/distutils/mwerkscompiler.py
+++ b/Lib/distutils/mwerkscompiler.py
@@ -104,10 +104,10 @@
         # This is because we (usually) create the project in a subdirectory of
         # where we are now, and keeping the paths relative is too much work right
         # now.
-        sources = map(self._filename_to_abs, self.__sources)
-        include_dirs = map(self._filename_to_abs, self.__include_dirs)
+        sources = [self._filename_to_abs(s) for s in self.__sources]
+        include_dirs = [self._filename_to_abs(d) for d in self.__include_dirs]
         if objects:
-            objects = map(self._filename_to_abs, objects)
+            objects = [self._filename_to_abs(o) for o in objects]
         else:
             objects = []
         if build_temp:
diff --git a/Lib/distutils/text_file.py b/Lib/distutils/text_file.py
index db054fd..266466c 100644
--- a/Lib/distutils/text_file.py
+++ b/Lib/distutils/text_file.py
@@ -292,7 +292,7 @@
   continues on next line
 """
     # result 1: no fancy options
-    result1 = map(lambda x: x + "\n", test_data.split("\n")[0:-1])
+    result1 = [x + "\n" for x in test_data.split("\n")[:-1]]
 
     # result 2: just strip comments
     result2 = ["\n",
@@ -357,4 +357,5 @@
                        join_lines=1, rstrip_ws=1, collapse_join=1)
     test_input(6, "join lines with collapsing", in_file, result6)
 
+    del in_file
     os.remove(filename)