Lots of little nits.

Big fix:  the module index for the Python Library Reference is once more in a
separate file!  Yeah!
diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl
index 35a7300..2a800c5 100644
--- a/Doc/perl/l2hinit.perl
+++ b/Doc/perl/l2hinit.perl
@@ -26,12 +26,11 @@
 # stripped.  Only the directory is returned.
 #
 sub find_my_file{
-    local($myfile,$key,$tmp,$mydir) = (@_[0], '', '', '');
+    my($myfile,$key,$tmp,$mydir) = (@_[0], '', '', '');
     foreach $key (keys %INC) {
 	$tmp = "$key";
 	$tmp =~ s|^.*/||o;
 	if ($tmp eq $myfile) {
-	    #print "\nfound $tmp: $key --> ", $INC{$key}, "\n";
 	    $mydir = $INC{$key};
 	}
     }
@@ -87,7 +86,7 @@
 }
 
 sub make_index_entry {
-    local($br_id,$str) = @_;
+    my($br_id,$str) = @_;
     # If TITLE is not yet available (i.e the \index command is in the title of the
     # current section), use $ref_before.
     $TITLE = $ref_before unless $TITLE;
@@ -134,7 +133,7 @@
     local($_) = @_;
     $TITLE = $toc_title;
     $tocfile = $CURRENT_FILE;
-    local($closures,$reopens) = &preserve_open_tags();
+    my($closures,$reopens) = &preserve_open_tags();
     &anchor_label("contents",$CURRENT_FILE,$_);		# this is added
     join('', "<BR>\n", $closures
 	 , &make_section_heading($toc_title, "H2"), $toc_mark
@@ -145,7 +144,7 @@
     local($_) = @_;
     $TITLE = $lof_title;
     $loffile = $CURRENT_FILE;
-    local($closures,$reopens) = &preserve_open_tags();
+    my($closures,$reopens) = &preserve_open_tags();
     &anchor_label("lof",$CURRENT_FILE,$_);		# this is added
     join('', "<BR>\n", $closures
 	 , &make_section_heading($lof_title, "H2"), $lof_mark
@@ -156,7 +155,7 @@
     local($_) = @_;
     $TITLE = $lot_title;
     $lotfile = $CURRENT_FILE;
-    local($closures,$reopens) = &preserve_open_tags();
+    my($closures,$reopens) = &preserve_open_tags();
     &anchor_label("lot",$CURRENT_FILE,$_);		# this is added
     join('', "<BR>\n", $closures
 	 , &make_section_heading($lot_title, "H2"), $lot_mark
@@ -192,7 +191,7 @@
     if (($SHORT_INDEX) && (%index_segment)) { make_preindex(); }
     else { $preindex = ''; }
     my $heading = make_section_heading($idx_title, 'h2') . $idx_mark;
-    local($pre,$post) = minimize_open_tags($heading);
+    my($pre,$post) = minimize_open_tags($heading);
     anchor_label('genindex',$CURRENT_FILE,$_);		# this is added
     '<br>\n' . $pre . $_;
 }
@@ -221,27 +220,32 @@
 #	it.
 
 sub add_bbl_and_idx_dummy_commands {
-    local($id) = $global{'max_id'};
-
-#    $section_commands{'textohtmlmoduleindex'} = 2;
+    my $id = $global{'max_id'};
 
     s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
     s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo
       #if ($bbl_cnt == 1)
     ;
     #}
-    #----------------------------------------------------------------------#
-    # (FLD) This was added						   #
-    local(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);		   #
-    if (scalar(@parts) == 3) {						   #
-	print "\nadd_bbl_and_idx_dummy_commands ==> adding module index"; #
-	s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlmoduleindex $1/o;    #
-    }									   #
-    #----------------------------------------------------------------------#
-    $global{'max_id'} = $id;
-    s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
-    s/[\\]printindex/\\textohtmlindex /o;
-    &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands);
+    #----------------------------------------------------------------------
+    # (FLD) This was added
+    my(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);
+    if (scalar(@parts) == 3) {
+	# Be careful to re-write the string in place, since $_ is *not*
+	# returned explicity;  *** nasty side-effect dependency! ***
+	print "\nadd_bbl_and_idx_dummy_commands ==> adding module index";
+	my $rx = "([\\\\]begin\\s*$O\\d+$C\\s*theindex[\\s\\S]*)"
+	         . "([\\\\]begin\\s*$O\\d+$C\\s*theindex)";
+	s/$rx/\\textohtmlmoduleindex \1 \\textohtmlindex \2/o;
+    }
+    else {
+	$global{'max_id'} = $id; # not sure why....
+	s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
+	s/[\\]printindex/\\textohtmlindex /o;
+    }
+    #----------------------------------------------------------------------
+    &lib_add_bbl_and_idx_dummy_commands()
+        if defined(&lib_add_bbl_and_idx_dummy_commands);
 }
 
 # The bibliographic references, the appendices, the lists of figures and tables
@@ -251,7 +255,7 @@
 
 sub set_depth_levels {
     # Sets $outermost_level
-    local($level);
+    my $level;
     #RRM:  do not alter user-set value for  $MAX_SPLIT_DEPTH
     foreach $level ("part", "chapter", "section", "subsection",
 		    "subsubsection", "paragraph") {
@@ -273,11 +277,14 @@
 	, 'textohtmlindex', $level
 	, 'textohtmlmoduleindex', $level
         );
+    $section_headings{'textohtmlmoduleindex'} = "h1";
 
     %section_commands = ( 
 	  %unnumbered_section_commands
         , %section_commands
         );
+
+    make_sections_rx();
 }
 
 
@@ -287,12 +294,14 @@
 #
 sub protect_useritems {
     local(*_) = @_;
-    local($preitems, $thisitem);
+    local($preitems,$thisitem);
     while (/\\item\s*\[/) {
-        $preitems .= $`; $_ = $';
+        $preitems .= $`;
+	$_ = $';
         $thisitem = $&.'<<'.++$global{'max_id'}.'>>';
         s/^(((($O|$OP)\d+($C|$CP)).*\3|<[^<>]*>|[^\]<]+)*)\]/$thisitem.=$1;''/e;
-        $preitems .= $thisitem.'<<'.$global{'max_id'}.'>>]'; s/^]//;
+        $preitems .= $thisitem . '<<' . $global{'max_id'} . '>>]';
+	s/^]//;
     }
     $_ = $preitems . $_;
 }