diff Doc/perl/python.perl @ 8756:fba8455dcb54 legacy-trunk

Fix up the synopsis table stuff so it gets things right at each chapter, instead of stringing it all together. Yay!
author Fred Drake <fdrake@acm.org>
date Sat, 25 Jul 1998 03:31:46 +0000
parents e88d4e6e4622
children 55f790a5f64b
line wrap: on
line diff
--- a/Doc/perl/python.perl	Fri Jul 24 22:17:34 1998 +0000
+++ b/Doc/perl/python.perl	Sat Jul 25 03:31:46 1998 +0000
@@ -867,19 +867,25 @@
 
 require SynopsisTable;
 
-$MY_CHAPTER_COUNTER = 0;
-
-sub get_chapter_id{
-    return $MY_CHAPTER_COUNTER;
+sub get_chapter_id(){
+    my $id = do_cmd_thechapter('');
+    $id =~ s/<SPAN CLASS="arabic">(\d+)<\/SPAN>\./\1/;
+    return $id;
 }
 
-sub get_synopsis_table{
-    my $chap = @_;
+%ModuleSynopses = ('chapter' => 'SynopsisTable instance');
+
+sub get_synopsis_table($){
+    my($chap) = @_;
     my $st = $ModuleSynopses{$chap};
-    if (!$st) {
-	$st = SynopsisTable->new();
-	$ModuleSynopses{$chap} = $st;
+    my $key;
+    foreach $key (keys %ModuleSynopses) {
+	if ($key eq $chap) {
+	    return $ModuleSynopses{$chap};
+	}
     }
+    $st = SynopsisTable->new();
+    $ModuleSynopses{$chap} = $st;
     return $st;
 }
 
@@ -907,17 +913,17 @@
 
 sub do_cmd_localmoduletable{
     local($_) = @_;
-    $MY_CHAPTER_COUNTER = $MY_CHAPTER_COUNTER + 1;
     my $chap = get_chapter_id();
     "<tex2htmllocalmoduletable><$chap>" . $_;
 }
 
 sub process_all_localmoduletables{
     while (/<tex2htmllocalmoduletable><(\d+)>/) {
+	my $match = $&;
 	my $chap = $1;
 	my $st = get_synopsis_table($chap);
 	my $data = $st->tohtml();
-	s/$&/$data/;
+	s/$match/$data/;
     }
 }