Re-wrapped some wide comments.

Fixed Module Index generation.
diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl
index 97a9885..147be51 100644
--- a/Doc/perl/l2hinit.perl
+++ b/Doc/perl/l2hinit.perl
@@ -246,7 +246,9 @@
     else {
 	$index = `$prog --columns $columns $datafile`;
     }
-    s/$mark/$prefix$index/;
+    if (!s/$mark/$prefix$index/) {
+        print "\nCould not locate index mark: $mark";
+    }
 }
 
 sub add_idx {
@@ -309,8 +311,17 @@
 # replace both indexes as needed:
 sub add_idx_hook {
     add_idx() if (/$idx_mark/);
-    add_module_idx() if (/$idx_module_mark/);
     process_python_state();
+    if ($MODULE_INDEX_FILE) {
+        local ($_);
+        open(MYFILE, "<$MODULE_INDEX_FILE");
+        sysread(MYFILE, $_, 1024*1024);
+        close(MYFILE);
+        add_module_idx();
+        open(MYFILE,">$MODULE_INDEX_FILE");
+        print MYFILE $_;
+        close(MYFILE);
+    }
 }
 
 
@@ -382,31 +393,35 @@
     my $heading = make_section_heading($idx_title, 'h2') . $idx_mark;
     my($pre,$post) = minimize_open_tags($heading);
     anchor_label('genindex',$CURRENT_FILE,$_);		# this is added
-    '<br>\n' . $pre . $_;
+    return "<br>\n" . $pre . $_;
 }
 
+$MODULE_INDEX_FILE = '';
+
 # $idx_module_mark will be replaced with the real index at the end
 sub do_cmd_textohtmlmoduleindex {
     local($_) = @_;
     $TITLE = $idx_module_title;
-    anchor_label("modindex",$CURRENT_FILE,$_);
-    '<p>' . make_section_heading($idx_module_title, "h2")
-      . $idx_module_mark . $_;
+    anchor_label('modindex', $CURRENT_FILE, $_);
+    $MODULE_INDEX_FILE = "$CURRENT_FILE";
+    $_ = ('<p>' . make_section_heading($idx_module_title, 'h2')
+          . $idx_module_mark . $_);
+    return $_;
 }
 
-# The bibliography and the index should be treated as separate sections
-# in their own HTML files. The \bibliography{} command acts as a sectioning command
-# that has the desired effect. But when the bibliography is constructed 
-# manually using the thebibliography environment, or when using the
-# theindex environment it is not possible to use the normal sectioning 
-# mechanism. This subroutine inserts a \bibliography{} or a dummy 
-# \textohtmlindex command just before the appropriate environments
-# to force sectioning.
+# The bibliography and the index should be treated as separate
+# sections in their own HTML files. The \bibliography{} command acts
+# as a sectioning command that has the desired effect. But when the
+# bibliography is constructed manually using the thebibliography
+# environment, or when using the theindex environment it is not
+# possible to use the normal sectioning mechanism. This subroutine
+# inserts a \bibliography{} or a dummy \textohtmlindex command just
+# before the appropriate environments to force sectioning.
 
-# XXX	This *assumes* that if there are two {theindex} environments, the
-#	first is the module index and the second is the standard index.  This
-#	is sufficient for the current Python documentation, but that's about
-#	it.
+# XXX	This *assumes* that if there are two {theindex} environments,
+#	the first is the module index and the second is the standard
+#	index.  This is sufficient for the current Python documentation,
+#	but that's about it.
 
 sub add_bbl_and_idx_dummy_commands {
     my $id = $global{'max_id'};
@@ -435,10 +450,10 @@
         if defined(&lib_add_bbl_and_idx_dummy_commands);
 }
 
-# The bibliographic references, the appendices, the lists of figures and tables
-# etc. must appear in the contents table at the same level as the outermost
-# sectioning command. This subroutine finds what is the outermost level and
-# sets the above to the same level;
+# The bibliographic references, the appendices, the lists of figures
+# and tables etc. must appear in the contents table at the same level
+# as the outermost sectioning command. This subroutine finds what is
+# the outermost level and sets the above to the same level;
 
 sub set_depth_levels {
     # Sets $outermost_level
@@ -476,17 +491,17 @@
 # <pre>...</pre>.
 #
 # Note that this *must* be done in the init file, not the python.perl
-# style support file.  The %declarations must be set before initialize()
-# is called in the main LaTeX2HTML script (which happens before style files
-# are loaded).
+# style support file.  The %declarations must be set before
+# initialize() is called in the main LaTeX2HTML script (which happens
+# before style files are loaded).
 #
 %declarations = ('preform' => '<dl><dd><pre class="verbatim"></pre></dl>',
 		 %declarations);
 
 
-# This is added to get rid of the long comment that follows the doctype
-# declaration; MSIE5 on NT4 SP4 barfs on it and drops the content of the
-# page.
+# This is added to get rid of the long comment that follows the
+# doctype declaration; MSIE5 on NT4 SP4 barfs on it and drops the
+# content of the page.
 sub make_head_and_body {
     my($title, $body) = @_;
     my $DTDcomment = '';