texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp TODO Texinfo/Parser.pm t/02coverage....


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Parser.pm t/02coverage....
Date: Sat, 23 Oct 2010 14:28:40 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/23 14:28:40

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
        tp/t           : 02coverage.t 57invalid_nestings.t 
        tp/t/results/coverage: accents.pl 
        tp/t/results/invalid_nestings: center.pl 
Added files:
        tp/t/results/invalid_nestings: block_not_matching.pl 

Log message:
        More tests.
        Better error message for @end not matching opening command.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.93&r2=1.94
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/02coverage.t?cvsroot=texinfo&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/57invalid_nestings.t?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/accents.pl?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/center.pl?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/block_not_matching.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- TODO        23 Oct 2010 10:50:12 -0000      1.29
+++ TODO        23 Oct 2010 14:28:39 -0000      1.30
@@ -57,3 +57,6 @@
 formatting/def_end_of_line_footnote.texi
 formatting/empty_deftype.texi
 formatting/def_cmds.texi (but printindex not tested)
+
+invalid/at_after_accent_command.texi
+invalid/bad_nesting.texi

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -b -r1.93 -r1.94
--- Texinfo/Parser.pm   23 Oct 2010 14:02:21 -0000      1.93
+++ Texinfo/Parser.pm   23 Oct 2010 14:28:39 -0000      1.94
@@ -967,8 +967,13 @@
                        and 
$context_brace_commands{$current->{'parent'}->{'cmdname'}})))){
     if ($current->{'cmdname'}
         and exists($block_commands{$current->{'cmdname'}})) {
+      if (defined($command)) {
+        $self->_line_error(sprintf($self->__("address@hidden' expected `%s', 
but saw `%s'"),
+                                   $current->{'cmdname'}, $command), $line_nr);
+      } else {
       $self->_line_error(sprintf($self->__("No matching `%cend %s'"),
                                    ord('@'), $current->{'cmdname'}), $line_nr);
+      }
       pop @{$self->{'context_stack'}} if 
          ($preformatted_commands{$current->{'cmdname'}}
            or $menu_commands{$current->{'cmdname'}});

Index: t/02coverage.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/02coverage.t,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- t/02coverage.t      17 Oct 2010 15:51:31 -0000      1.17
+++ t/02coverage.t      23 Oct 2010 14:28:40 -0000      1.18
@@ -23,7 +23,8 @@
 accent character at end of line @~
 accent character followed by @@ @address@hidden
 
-
+With @@:
address@hidden @@. @^@@.
 '],
 ['math',
 'Simple math

Index: t/57invalid_nestings.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/57invalid_nestings.t,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/57invalid_nestings.t      23 Oct 2010 14:02:21 -0000      1.2
+++ t/57invalid_nestings.t      23 Oct 2010 14:28:40 -0000      1.3
@@ -46,6 +46,16 @@
 @center @quotation
 in quotation
 @end quotation
+
address@hidden center @center second center
+
address@hidden @code{in code in center
+
+}
+
address@hidden @code{in code in center @center center in code in center
+
+}
 '],
 ['accents',
 'Valid
@@ -53,6 +63,43 @@
 
 Invalid
 @address@hidden  @address@hidden
+'],
+['block_not_matching',
+'@quotation
+A quotation
address@hidden cartouche
+
address@hidden {Function Reference} print_navigation $filehandle
+Text
address@hidden deftypefun
+
address@hidden
address@hidden item
+line
address@hidden vtable
+
address@hidden @emph
address@hidden ref
address@hidden
+example
address@hidden display
address@hidden table
+
address@hidden
+in group
address@hidden table
+
address@hidden
+in group 2
address@hidden cartouche
+
address@hidden
+cartouche
address@hidden group
+
address@hidden
+carouche
address@hidden float
 ']
 );
 

Index: t/results/coverage/accents.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/coverage/accents.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/results/coverage/accents.pl       21 Oct 2010 22:16:40 -0000      1.8
+++ t/results/coverage/accents.pl       23 Oct 2010 14:28:40 -0000      1.9
@@ -169,10 +169,53 @@
       'type' => 'empty_line'
     },
     {
+      'contents' => [
+        {
       'parent' => {},
-      'text' => '
-',
-      'type' => 'empty_line'
+          'text' => 'With '
+        },
+        {
+          'cmdname' => '@',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ':
+'
+        },
+        {
+          'cmdname' => 'ringaccent',
+          'contents' => [],
+          'parent' => {},
+          'special' => {
+            'spaces' => ' '
+          }
+        },
+        {
+          'cmdname' => '@',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '. '
+        },
+        {
+          'cmdname' => '^',
+          'contents' => [],
+          'parent' => {}
+        },
+        {
+          'cmdname' => '@',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
     }
   ],
   'type' => 'text_root'
@@ -210,6 +253,15 @@
 $result_trees{'accents'}{'contents'}[4]{'contents'}[11]{'parent'} = 
$result_trees{'accents'}{'contents'}[4];
 $result_trees{'accents'}{'contents'}[4]{'parent'} = $result_trees{'accents'};
 $result_trees{'accents'}{'contents'}[5]{'parent'} = $result_trees{'accents'};
+$result_trees{'accents'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[1]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[2]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[3]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[4]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[5]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[6]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[7]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
+$result_trees{'accents'}{'contents'}[6]{'contents'}[8]{'parent'} = 
$result_trees{'accents'}{'contents'}[6];
 $result_trees{'accents'}{'contents'}[6]{'parent'} = $result_trees{'accents'};
 
 $result_texis{'accents'} = '@ringaccent    a
@@ -222,7 +274,8 @@
 accent character at end of line @~
 accent character followed by @@ @address@hidden
 
-
+With @@:
address@hidden@@. @^@@.
 ';
 
 
@@ -236,7 +289,8 @@
 accent character at end of line 
 accent character followed by @ .
 
-
+With @:
address@hidden @.
 ';
 
 $result_errors{'accents'} = [
@@ -293,6 +347,24 @@
     'macro' => '',
     'text' => 'Use braces to give a command as an argument to @~',
     'type' => 'error'
+  },
+  {
+    'error_line' => ':12: Use braces to give a command as an argument to 
@ringaccent
+',
+    'file_name' => '',
+    'line_nr' => 12,
+    'macro' => '',
+    'text' => 'Use braces to give a command as an argument to @ringaccent',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':12: Use braces to give a command as an argument to @^
+',
+    'file_name' => '',
+    'line_nr' => 12,
+    'macro' => '',
+    'text' => 'Use braces to give a command as an argument to @^',
+    'type' => 'error'
   }
 ];
 

Index: t/results/invalid_nestings/center.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/invalid_nestings/center.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/results/invalid_nestings/center.pl        23 Oct 2010 14:02:21 -0000      
1.1
+++ t/results/invalid_nestings/center.pl        23 Oct 2010 14:28:40 -0000      
1.2
@@ -204,6 +204,195 @@
       'text' => '
 ',
       'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'center'
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'spaces_at_end'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'second center'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'spaces_at_end'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'center',
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'center',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in code in center
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'code',
+              'contents' => [],
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'center',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in code in center '
+                    },
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => ' ',
+                              'type' => 'empty_spaces_after_command'
+                            },
+                            {
+                              'parent' => {},
+                              'text' => 'center in code in center'
+                            },
+                            {
+                              'parent' => {},
+                              'text' => '
+',
+                              'type' => 'spaces_at_end'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'misc_line_arg'
+                        }
+                      ],
+                      'cmdname' => 'center',
+                      'parent' => {}
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'code',
+              'contents' => [],
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'center',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+'
     }
   ],
   'type' => 'text_root'
@@ -245,6 +434,40 @@
 $result_trees{'center'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[5];
 $result_trees{'center'}{'contents'}[5]{'parent'} = $result_trees{'center'};
 $result_trees{'center'}{'contents'}[6]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[7]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[8]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'center'}{'contents'}[8]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'center'}{'contents'}[8]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'center'}{'contents'}[8]{'args'}[0];
+$result_trees{'center'}{'contents'}[8]{'args'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[8];
+$result_trees{'center'}{'contents'}[8]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[9]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[10]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[10]{'args'}[0];
+$result_trees{'center'}{'contents'}[10]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'center'}{'contents'}[10]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'center'}{'contents'}[10]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'center'}{'contents'}[10]{'args'}[0]{'contents'}[1];
+$result_trees{'center'}{'contents'}[10]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'center'}{'contents'}[10]{'args'}[0];
+$result_trees{'center'}{'contents'}[10]{'args'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[10];
+$result_trees{'center'}{'contents'}[10]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[11]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[12]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[13]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[14]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'center'}{'contents'}[14]{'args'}[0];
+$result_trees{'center'}{'contents'}[14]{'args'}[0]{'parent'} = 
$result_trees{'center'}{'contents'}[14];
+$result_trees{'center'}{'contents'}[14]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[15]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[16]{'parent'} = $result_trees{'center'};
 
 $result_texis{'center'} = '@center @indent @titlefont{in titlefont} @anchor{in 
address@hidden
 
@@ -253,6 +476,16 @@
 @center @quotation
 @end quotationin quotation
 
+
address@hidden center @center second center
+
address@hidden @code{in code in center
+}
+
+
address@hidden @code{in code in center @center center in code in center
+}
+
 ';
 
 
@@ -262,6 +495,16 @@
 
 
 in quotation
+
+centersecond center
+
+in code in center
+
+
+
+in code in center center in code in center
+
+
 ';
 
 $result_errors{'center'} = [
@@ -300,6 +543,69 @@
     'macro' => '',
     'text' => 'Unmatched address@hidden quotation\'',
     'type' => 'error'
+  },
+  {
+    'error_line' => ':9: warning: @center should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 9,
+    'macro' => '',
+    'text' => '@center should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':9: warning: @center should not appear in @center
+',
+    'file_name' => '',
+    'line_nr' => 9,
+    'macro' => '',
+    'text' => '@center should not appear in @center',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':11: Closing @code
+',
+    'file_name' => '',
+    'line_nr' => 11,
+    'macro' => '',
+    'text' => 'Closing @code',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':13: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 13,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':15: warning: @center should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 15,
+    'macro' => '',
+    'text' => '@center should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':15: Closing @code
+',
+    'file_name' => '',
+    'line_nr' => 15,
+    'macro' => '',
+    'text' => 'Closing @code',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':17: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 17,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
   }
 ];
 

Index: t/results/invalid_nestings/block_not_matching.pl
===================================================================
RCS file: t/results/invalid_nestings/block_not_matching.pl
diff -N t/results/invalid_nestings/block_not_matching.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/block_not_matching.pl    23 Oct 2010 14:28:40 
-0000      1.1
@@ -0,0 +1,729 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'block_not_matching'} = {
+  'contents' => [
+    {
+      'cmdname' => 'quotation',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'A quotation
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'Function Reference'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' print_navigation $filehandle
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'print_navigation'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => '$filehandle'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Text
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'item'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'parent' => {}
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'line
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'emph',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'ref'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'parent' => {}
+        },
+        {
+          'cmdname' => 'example',
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'example
+'
+            }
+          ],
+          'parent' => {}
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'group',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'in group
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'group',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'in group 2
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'cartouche',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'cartouche
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'cartouche',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'carouche
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'block_not_matching'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[0];
+$result_trees{'block_not_matching'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[0]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[0];
+$result_trees{'block_not_matching'}{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[2]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[3];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[3]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[3];
+$result_trees{'block_not_matching'}{'contents'}[3]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[4]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[5]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[6];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[6];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[2]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[6];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[3];
+$result_trees{'block_not_matching'}{'contents'}[6]{'contents'}[3]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[6];
+$result_trees{'block_not_matching'}{'contents'}[6]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[7]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[8]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[9]{'args'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[9];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[9];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[9];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[2];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[2];
+$result_trees{'block_not_matching'}{'contents'}[9]{'contents'}[2]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[9];
+$result_trees{'block_not_matching'}{'contents'}[9]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[10]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[11]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[12]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[13]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[13];
+$result_trees{'block_not_matching'}{'contents'}[13]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[13]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[13]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[13];
+$result_trees{'block_not_matching'}{'contents'}[13]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[14]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[15]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[16]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[16];
+$result_trees{'block_not_matching'}{'contents'}[16]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[16]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[16]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[16];
+$result_trees{'block_not_matching'}{'contents'}[16]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[17]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[18]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[19]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[19];
+$result_trees{'block_not_matching'}{'contents'}[19]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[19]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[19]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[19];
+$result_trees{'block_not_matching'}{'contents'}[19]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[20]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[21]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[22]{'contents'}[0]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[22];
+$result_trees{'block_not_matching'}{'contents'}[22]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'block_not_matching'}{'contents'}[22]{'contents'}[1];
+$result_trees{'block_not_matching'}{'contents'}[22]{'contents'}[1]{'parent'} = 
$result_trees{'block_not_matching'}{'contents'}[22];
+$result_trees{'block_not_matching'}{'contents'}[22]{'parent'} = 
$result_trees{'block_not_matching'};
+$result_trees{'block_not_matching'}{'contents'}[23]{'parent'} = 
$result_trees{'block_not_matching'};
+
+$result_texis{'block_not_matching'} = '@quotation
+A quotation
address@hidden quotation
+
address@hidden {Function Reference} print_navigation $filehandle
+Text
address@hidden deffn
+
address@hidden
address@hidden item
+line
address@hidden table
+
address@hidden @emph
address@hidden ref
address@hidden
+example
address@hidden address@hidden table
+
+
address@hidden
+in group
address@hidden group
+
address@hidden
+in group 2
address@hidden group
+
address@hidden
+cartouche
address@hidden cartouche
+
address@hidden
+carouche
address@hidden cartouche
+';
+
+
+$result_texts{'block_not_matching'} = 'A quotation
+
+Text
+
+item
+line
+
+ref
+example
+
+in group
+
+in group 2
+
+cartouche
+
+carouche
+';
+
+$result_errors{'block_not_matching'} = [
+  {
+    'error_line' => ':3: address@hidden' expected `quotation\', but saw 
`cartouche\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'address@hidden' expected `quotation\', but saw `cartouche\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':3: Unmatched address@hidden cartouche\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden cartouche\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: address@hidden' expected `deffn\', but saw 
`deftypefun\'
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => 'address@hidden' expected `deffn\', but saw `deftypefun\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: Unmatched address@hidden deftypefun\'
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden deftypefun\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':12: address@hidden' expected `table\', but saw `vtable\'
+',
+    'file_name' => '',
+    'line_nr' => 12,
+    'macro' => '',
+    'text' => 'address@hidden' expected `table\', but saw `vtable\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':12: Unmatched address@hidden vtable\'
+',
+    'file_name' => '',
+    'line_nr' => 12,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden vtable\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':18: address@hidden' expected `example\', but saw 
`display\'
+',
+    'file_name' => '',
+    'line_nr' => 18,
+    'macro' => '',
+    'text' => 'address@hidden' expected `example\', but saw `display\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':18: address@hidden' expected `table\', but saw `display\'
+',
+    'file_name' => '',
+    'line_nr' => 18,
+    'macro' => '',
+    'text' => 'address@hidden' expected `table\', but saw `display\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':18: Unmatched address@hidden display\'
+',
+    'file_name' => '',
+    'line_nr' => 18,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden display\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':19: Unmatched address@hidden table\'
+',
+    'file_name' => '',
+    'line_nr' => 19,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden table\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':23: address@hidden' expected `group\', but saw `table\'
+',
+    'file_name' => '',
+    'line_nr' => 23,
+    'macro' => '',
+    'text' => 'address@hidden' expected `group\', but saw `table\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':23: Unmatched address@hidden table\'
+',
+    'file_name' => '',
+    'line_nr' => 23,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden table\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':27: address@hidden' expected `group\', but saw 
`cartouche\'
+',
+    'file_name' => '',
+    'line_nr' => 27,
+    'macro' => '',
+    'text' => 'address@hidden' expected `group\', but saw `cartouche\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':27: Unmatched address@hidden cartouche\'
+',
+    'file_name' => '',
+    'line_nr' => 27,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden cartouche\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':31: address@hidden' expected `cartouche\', but saw 
`group\'
+',
+    'file_name' => '',
+    'line_nr' => 31,
+    'macro' => '',
+    'text' => 'address@hidden' expected `cartouche\', but saw `group\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':31: Unmatched address@hidden group\'
+',
+    'file_name' => '',
+    'line_nr' => 31,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden group\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':35: address@hidden' expected `cartouche\', but saw 
`float\'
+',
+    'file_name' => '',
+    'line_nr' => 35,
+    'macro' => '',
+    'text' => 'address@hidden' expected `cartouche\', but saw `float\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':35: Unmatched address@hidden float\'
+',
+    'file_name' => '',
+    'line_nr' => 35,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden float\'',
+    'type' => 'error'
+  }
+];
+
+



reply via email to

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