diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl
index 97a9885f7c5..147be516f71 100644
--- a/Doc/perl/l2hinit.perl
+++ b/Doc/perl/l2hinit.perl
@@ -246,7 +246,9 @@ sub insert_index {
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 @@ PLAT_DISCUSS
# 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 @@ sub do_cmd_textohtmlindex {
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
- '
\n' . $pre . $_;
+ return "
\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,$_);
- '
' . make_section_heading($idx_module_title, "h2") - . $idx_module_mark . $_; + anchor_label('modindex', $CURRENT_FILE, $_); + $MODULE_INDEX_FILE = "$CURRENT_FILE"; + $_ = ('
' . 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 @@ sub 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 -# 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 @@ sub set_depth_levels { #
.... # # 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' => '