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/raw/inli...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Parser.pm t/results/raw/inli...
Date: Thu, 05 Jan 2012 00:11:36 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        12/01/05 00:11:36

Modified files:
        tp/Texinfo     : Parser.pm 
        tp/t/results/raw: inlineraw_with_empty_line.pl 

Log message:
        Accept matching braces @inlineraw.  Also @inlineraw do not start a
        paragraph and therefore accepts empty lines within it everywhere.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.347&r2=1.348
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/raw/inlineraw_with_empty_line.pl?cvsroot=texinfo&r1=1.1&r2=1.2

Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.347
retrieving revision 1.348
diff -u -b -r1.347 -r1.348
--- Texinfo/Parser.pm   3 Jan 2012 22:54:34 -0000       1.347
+++ Texinfo/Parser.pm   5 Jan 2012 00:11:35 -0000       1.348
@@ -459,7 +459,8 @@
 # contexts on the context_stack stack where empty line don't trigger
 # paragraph
 my %no_paragraph_contexts;
-foreach my $no_paragraph_context ('math', 'menu', @preformatted_contexts, 
'def') {
+foreach my $no_paragraph_context ('math', 'menu', @preformatted_contexts, 
+                                  'def', 'inlineraw') {
   $no_paragraph_contexts{$no_paragraph_context} = 1;
 };
 
@@ -4398,7 +4399,7 @@
                   }
                 }
               }
-              push @{$self->{'context_stack'}}, 
$current->{'parent'}->{'cmdname'};
+              push @{$self->{'context_stack'}}, $command;
               $line =~ s/([^\S\n]*)//;
               $current->{'type'} = 'brace_command_context';
               push @{$current->{'contents'}}, { 'type' => 
'empty_spaces_before_argument', 
@@ -4409,9 +4410,11 @@
               push @{$current->{'contents'}}, 
                  {'type' => 'empty_spaces_before_argument',
                   'text' => '' } 
-                   if ($brace_commands{$current->{'parent'}->{'cmdname'}}
-                     and ($brace_commands{$current->{'parent'}->{'cmdname'}} > 
1
-                        or 
$simple_text_commands{$current->{'parent'}->{'cmdname'}}));
+                   if ($brace_commands{$command}
+                     and ($brace_commands{$command} > 1
+                        or $simple_text_commands{$command}));
+              push @{$self->{'context_stack'}}, $command
+                if ($command eq 'inlineraw');
             }
             print STDERR "OPENED address@hidden>{'parent'}->{'cmdname'}, 
remaining: "
               .(defined($current->{'parent'}->{'remaining_args'}) ? 
"remaining: $current->{'parent'}->{'remaining_args'}, " : '')
@@ -4441,7 +4444,8 @@
             push @{$current->{'contents'}}, {'text' => '{' };
           # matching braces accepted in a rawpreformatted or math
           } elsif ($self->{'context_stack'}->[-1] eq 'math'
-                   or $self->{'context_stack'}->[-1] eq 'rawpreformatted') {
+                   or $self->{'context_stack'}->[-1] eq 'rawpreformatted'
+                   or $self->{'context_stack'}->[-1] eq 'inlineraw') {
             push @{$current->{'contents'}},
                  { 'type' => 'bracketed', 'contents' => [],
                    'parent' => $current, 'line_nr' => $line_nr };
@@ -4542,6 +4546,11 @@
             } elsif ($explained_commands{$current->{'parent'}->{'cmdname'}}
                      or 
$inline_format_commands{$current->{'parent'}->{'cmdname'}}) {
               my $current_command = $current->{'parent'};
+              if ($current_command->{'cmdname'} eq 'inlineraw') {
+                my $context_command = pop @{$self->{'context_stack'}};
+                die "BUG: def_context $context_command 
"._print_current($current) 
+                  if ($context_command ne $current_command->{'cmdname'});
+              }
               if (address@hidden>{'args'}} 
                   or address@hidden>{'extra'}->{'brace_command_contents'}}
                   or 
!defined($current_command->{'extra'}->{'brace_command_contents'}->[0])) {

Index: t/results/raw/inlineraw_with_empty_line.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/raw/inlineraw_with_empty_line.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/results/raw/inlineraw_with_empty_line.pl  3 Jan 2012 22:54:36 -0000       
1.1
+++ t/results/raw/inlineraw_with_empty_line.pl  5 Jan 2012 00:11:35 -0000       
1.2
@@ -41,6 +41,22 @@
                   'text' => '
 ',
                   'type' => 'empty_line'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'lbracechar',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
                 }
               ],
               'parent' => {},
@@ -53,33 +69,21 @@
             'brace_command_contents' => [
               [
                 {}
+              ],
+              [
+                {},
+                {},
+                {},
+                {}
               ]
-            ]
+            ],
+            'format' => 'plaintext'
           },
           'line_nr' => {
             'file_name' => '',
             'line_nr' => 1,
             'macro' => ''
           },
-          'parent' => {},
-          'remaining_args' => 0
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'lbracechar',
-          'contents' => [],
           'parent' => {}
         },
         {
@@ -115,72 +119,77 @@
                   'text' => '
 ',
                   'type' => 'empty_line'
+                },
+                {
+                  'parent' => {},
+                  'text' => '<i>'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'HTML'
                 }
               ],
               'parent' => {},
               'type' => 'brace_command_arg'
             }
           ],
-          'cmdname' => 'inlineraw',
+                  'cmdname' => 'acronym',
           'contents' => [],
           'extra' => {
             'brace_command_contents' => [
               [
                 {}
               ]
-            ]
+                    ],
+                    'normalized' => 'HTML'
           },
           'line_nr' => {
             'file_name' => '',
-            'line_nr' => 4,
+                    'line_nr' => 6,
             'macro' => ''
           },
-          'parent' => {},
-          'remaining_args' => 0
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => '<i>'
+                  'parent' => {}
         },
         {
-          'args' => [
-            {
-              'contents' => [
-                {
                   'parent' => {},
-                  'text' => 'HTML'
+                  'text' => '</i>'
                 }
               ],
               'parent' => {},
               'type' => 'brace_command_arg'
             }
           ],
-          'cmdname' => 'acronym',
+          'cmdname' => 'inlineraw',
           'contents' => [],
           'extra' => {
             'brace_command_contents' => [
               [
                 {}
+              ],
+              [
+                {},
+                {},
+                {},
+                {},
+                {}
               ]
             ],
-            'normalized' => 'HTML'
+            'format' => 'html'
           },
           'line_nr' => {
             'file_name' => '',
-            'line_nr' => 6,
+            'line_nr' => 4,
             'macro' => ''
           },
           'parent' => {}
         },
         {
           'parent' => {},
-          'text' => '</i>.
+          'text' => '.
 '
         }
       ],
@@ -195,80 +204,52 @@
 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1];
 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[3];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[4]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1];
 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1];
 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'extra'}{'brace_command_contents'}[1][1]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[2];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'extra'}{'brace_command_contents'}[1][2]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[3];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'extra'}{'brace_command_contents'}[1][3]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[4];
 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[5]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[1];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'extra'}{'brace_command_contents'}[1][1]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[2];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'extra'}{'brace_command_contents'}[1][2]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[3];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'extra'}{'brace_command_contents'}[1][3]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[4];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'extra'}{'brace_command_contents'}[1][4]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'args'}[1]{'contents'}[5];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0];
+$result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[0];
 $result_trees{'inlineraw_with_empty_line'}{'contents'}[0]{'parent'} = 
$result_trees{'inlineraw_with_empty_line'};
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[0];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[1];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[1];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[0];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[1];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[1];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[1];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[1]{'parent'} = 
$result_trees{'inlineraw_with_empty_line'};
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[2];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1]{'args'}[0];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[2];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'inlineraw_with_empty_line'}{'contents'}[2];
-$result_trees{'inlineraw_with_empty_line'}{'contents'}[2]{'parent'} = 
$result_trees{'inlineraw_with_empty_line'};
 
 $result_texis{'inlineraw_with_empty_line'} = 'A @inlineraw{plaintext, 
plaintext ``
 
address@hidden  a.  Now html
address@hidden } a.  Now html
 @inlineraw{html, in 
 
-}<i>@acronym{HTML}</i>.
+<i>@acronym{HTML}</i>}.
 ';
 
 
-$result_texts{'inlineraw_with_empty_line'} = 'A {  a.  Now html
-<i>HTML</i>.
+$result_texts{'inlineraw_with_empty_line'} = 'A  a.  Now html
+.
 ';
 
-$result_errors{'inlineraw_with_empty_line'} = [
-  {
-    'error_line' => ':1: @inlineraw missing close brace
-',
-    'file_name' => '',
-    'line_nr' => 1,
-    'macro' => '',
-    'text' => '@inlineraw missing close brace',
-    'type' => 'error'
-  },
-  {
-    'error_line' => ':3: Misplaced }
-',
-    'file_name' => '',
-    'line_nr' => 3,
-    'macro' => '',
-    'text' => 'Misplaced }',
-    'type' => 'error'
-  },
-  {
-    'error_line' => ':4: @inlineraw missing close brace
-',
-    'file_name' => '',
-    'line_nr' => 4,
-    'macro' => '',
-    'text' => '@inlineraw missing close brace',
-    'type' => 'error'
-  },
-  {
-    'error_line' => ':6: Misplaced }
-',
-    'file_name' => '',
-    'line_nr' => 6,
-    'macro' => '',
-    'text' => 'Misplaced }',
-    'type' => 'error'
-  }
-];
+$result_errors{'inlineraw_with_empty_line'} = [];
 
 
 1;



reply via email to

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