Changed so all the help-generating functions are defined, at module-level,
in the module of the command classes that have command-specific
help options.  This lets us keep the principle of lazily importing
the ccompiler module, and also gets away from defining non-methods
at class level.
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index 93e53bb..5627ebb 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -13,11 +13,27 @@
 from distutils.core import Command
 from distutils.util import \
      convert_path, create_tree, remove_tree, newer, write_file, \
-     check_archive_formats, ARCHIVE_FORMATS
+     check_archive_formats
 from distutils.text_file import TextFile
 from distutils.errors import DistutilsExecError, DistutilsOptionError
 
 
+def show_formats ():
+    """Print all possible values for the 'formats' option (used by
+    the "--help-formats" command-line option).
+    """
+    from distutils.fancy_getopt import FancyGetopt
+    from distutils.archive_util import ARCHIVE_FORMATS
+    formats=[]
+    for format in ARCHIVE_FORMATS.keys():
+        formats.append(("formats=" + format, None,
+                        ARCHIVE_FORMATS[format][2]))
+    formats.sort()
+    pretty_printer = FancyGetopt(formats)
+    pretty_printer.print_help(
+        "List of available source distribution formats:")
+
+
 class sdist (Command):
 
     description = "create a source distribution (tarball, zip file, etc.)"
@@ -43,22 +59,6 @@
         ]
 
 
-    # XXX ugh: this has to precede the 'help_options' list, because
-    # it is mentioned there -- also, this is not a method, even though
-    # it's defined in a class: double-ugh!
-    def show_formats ():
-        """Print all possible values for the 'formats' option -- used by
-        the "--help-formats" command-line option.
-        """
-	from distutils.fancy_getopt import FancyGetopt 
-	formats=[]
-	for format in ARCHIVE_FORMATS.keys():
-	    formats.append(("formats="+format,None,ARCHIVE_FORMATS[format][2]))
-	formats.sort()
-	pretty_printer = FancyGetopt(formats)
-	pretty_printer.print_help(
-            "List of available source distribution formats:")
-
     help_options = [
         ('help-formats', None,
          "list available distribution formats", show_formats),
@@ -69,7 +69,6 @@
     default_format = { 'posix': 'gztar',
                        'nt': 'zip' }
 
-
     def initialize_options (self):
         # 'template' and 'manifest' are, respectively, the names of
         # the manifest template and manifest file.