texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/tp Texinfo/Parser.pm t/results/coverage...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Parser.pm t/results/coverage...
Date: Mon, 01 Nov 2010 07:49:05 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/11/01 07:49:04

Modified files:
        tp/Texinfo     : Parser.pm 
        tp/t/results/coverage: block_commands.pl 
        tp/t/results/coverage_braces: caption_not_closed.pl 

Log message:
        Associate caption and float.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.134&r2=1.135
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/block_commands.pl?cvsroot=texinfo&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/caption_not_closed.pl?cvsroot=texinfo&r1=1.8&r2=1.9

Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -b -r1.134 -r1.135
--- Texinfo/Parser.pm   31 Oct 2010 23:54:28 -0000      1.134
+++ Texinfo/Parser.pm   1 Nov 2010 07:49:04 -0000       1.135
@@ -3185,6 +3185,37 @@
             }
             $current = $current->{'args'}->[-1];
             if ($context_brace_commands{$command}) {
+              if ($command eq 'caption' or $command eq 'shortcaption') {
+                my $float;
+                if (!$current->{'parent'}->{'parent'} 
+                    or !$current->{'parent'}->{'parent'}->{'cmdname'}
+                    or $current->{'parent'}->{'parent'}->{'cmdname'} ne 
'float') {
+                  $float = $current->{'parent'};
+                  while ($float->{'parent'} and !($float->{'cmdname'}
+                                                  and $float->{'cmdname'} eq 
'float')) {
+                    $float = $float->{'parent'};
+                  }
+                  if (!($float->{'cmdname'} and $float->{'cmdname'} eq 
'float')) {
+                    _line_error($self, sprintf($self->__("address@hidden is 
not meaningful outside address@hidden' environment"),
+                                               $command), $line_nr);
+                    $float = undef;
+                  } else {
+                    _line_warn($self, sprintf($self->__("address@hidden should 
be right below address@hidden'"),
+                                               $command), $line_nr);
+                  }
+                } else {
+                  $float = $current->{'parent'}->{'parent'};
+                }
+                if ($float) {
+                  if ($float->{'extra'}->{$command}) {
+                    _line_warn($self, sprintf($self->__("Ignoring multiple 
address@hidden"),
+                                              $command), $line_nr);
+                  } else {
+                    $current->{'parent'}->{'extra'}->{'float'} = $float;
+                    $float->{'extra'}->{$command} = $current->{'parent'};
+                  }
+                }
+              }
               push @{$self->{'context_stack'}}, 
$current->{'parent'}->{'cmdname'};
               $line =~ s/([^\S\n]*)//;
               $current->{'type'} = 'brace_command_context';
@@ -3230,9 +3261,11 @@
                    and $current->{'parent'}->{'cmdname'}
                    and (exists 
$brace_commands{$current->{'parent'}->{'cmdname'}}
                          or 
$self->{'definfoenclose'}->{$current->{'parent'}->{'cmdname'}})) {
-            # for math
+            # for math and footnote out of paragraph
             if ($context_brace_commands{$current->{'parent'}->{'cmdname'}}) {
-              pop @{$self->{'context_stack'}};
+              my $context_command = pop @{$self->{'context_stack'}};
+              die "BUG: def_context $context_command 
"._print_current($current) 
+                if ($context_command ne $current->{'parent'}->{'cmdname'});
             }
             # first is the arg.
             $self->_isolate_last_space($current) 
@@ -3260,7 +3293,9 @@
                    and $brace_commands{$current->{'parent'}->{'cmdname'}}
                    and 
$context_brace_commands{$current->{'parent'}->{'cmdname'}}
                    and 
$context_brace_commands{$current->{'parent'}->{'cmdname'}} eq 
$self->{'context_stack'}->[-1]) {
-               pop @{$self->{'context_stack'}};
+               my $context_command = pop @{$self->{'context_stack'}};
+               die "BUG: def_context $context_command 
"._print_current($current) 
+                 if ($context_command ne $current->{'parent'}->{'cmdname'});
                print STDERR "CLOSING address@hidden>{'parent'}->{'cmdname'}\n" 
if ($self->{'debug'});
                $current = $current->{'parent'}->{'parent'};
             }

Index: t/results/coverage/block_commands.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/coverage/block_commands.pl,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- t/results/coverage/block_commands.pl        30 Oct 2010 20:50:37 -0000      
1.18
+++ t/results/coverage/block_commands.pl        1 Nov 2010 07:49:04 -0000       
1.19
@@ -197,6 +197,9 @@
           ],
           'cmdname' => 'caption',
           'contents' => [],
+          'extra' => {
+            'float' => {}
+          },
           'parent' => {}
         },
         {
@@ -206,6 +209,7 @@
         }
       ],
       'extra' => {
+        'caption' => {},
         'node_content' => [
           {}
         ],
@@ -265,8 +269,10 @@
 
$result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'args'}[0]{'contents'}[2];
 
$result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'args'}[0];
 
$result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'block_commands'}{'contents'}[7]{'contents'}[3];
+$result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'block_commands'}{'contents'}[7];
 $result_trees{'block_commands'}{'contents'}[7]{'contents'}[3]{'parent'} = 
$result_trees{'block_commands'}{'contents'}[7];
 $result_trees{'block_commands'}{'contents'}[7]{'contents'}[4]{'parent'} = 
$result_trees{'block_commands'}{'contents'}[7];
+$result_trees{'block_commands'}{'contents'}[7]{'extra'}{'caption'} = 
$result_trees{'block_commands'}{'contents'}[7]{'contents'}[3];
 $result_trees{'block_commands'}{'contents'}[7]{'extra'}{'node_content'}[0] = 
$result_trees{'block_commands'}{'contents'}[7]{'args'}[1]{'contents'}[1];
 $result_trees{'block_commands'}{'contents'}[7]{'extra'}{'type'}{'content'}[0] 
= $result_trees{'block_commands'}{'contents'}[7]{'args'}[0]{'contents'}[1];
 $result_trees{'block_commands'}{'contents'}[7]{'parent'} = 
$result_trees{'block_commands'};

Index: t/results/coverage_braces/caption_not_closed.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/coverage_braces/caption_not_closed.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/results/coverage_braces/caption_not_closed.pl     30 Oct 2010 20:50:41 
-0000      1.8
+++ t/results/coverage_braces/caption_not_closed.pl     1 Nov 2010 07:49:04 
-0000       1.9
@@ -101,10 +101,14 @@
           ],
           'cmdname' => 'caption',
           'contents' => [],
+          'extra' => {
+            'float' => {}
+          },
           'parent' => {}
         }
       ],
       'extra' => {
+        'caption' => {},
         'type' => {
           'content' => [
             {}
@@ -151,7 +155,9 @@
 
$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
 
$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
 
$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1];
+$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'caption_not_closed'}{'contents'}[0];
 $result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'caption_not_closed'}{'contents'}[0];
+$result_trees{'caption_not_closed'}{'contents'}[0]{'extra'}{'caption'} = 
$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'caption_not_closed'}{'contents'}[0]{'extra'}{'type'}{'content'}[0]
 = $result_trees{'caption_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[1];
 $result_trees{'caption_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'caption_not_closed'};
 $result_trees{'caption_not_closed'}{'contents'}[1]{'parent'} = 
$result_trees{'caption_not_closed'};



reply via email to

[Prev in Thread] Current Thread [Next in Thread]