texinfo-commits
[Top][All Lists]
Advanced

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

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


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Parser.pm t/02coverage.t t/0...
Date: Sat, 25 Sep 2010 10:01:36 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/09/25 10:01:35

Modified files:
        tp/Texinfo     : Parser.pm 
        tp/t           : 02coverage.t 03coverage_braces.t 05paragraph.t 
                         06columnfractions.t 16raw.t test_utils.pl 
Added files:
        tp/t/results/columnfractions: empty.pl empty_comment.pl good.pl 
                                      good_comment.pl 
                                      good_space_comment.pl 
                                      not_fraction.pl wrong_command.pl 
        tp/t/results/coverage: commands.pl 
        tp/t/results/coverage_braces: footnote.pl nested.pl 
                                      nested_args.pl simple.pl 
                                      too_much_args.pl 
        tp/t/results/paragraph: comment_between_text.pl 
                                no_paragraph_commands.pl 
                                paragraph_command.pl text.pl 
                                text_comment.pl text_line.pl 
                                text_space_comment.pl two_lines.pl 
        tp/t/results/raw: misc_raw.pl misc_raw_comments.pl 
                          nested_macros.pl 
        tp/t/results/verb: comments.pl end_of_line.pl multiline.pl 
                           nested.pl simple.pl 
Removed files:
        tp/t/results   : columnfractions.pl coverage.pl 
                         coverage_braces.pl paragraph.pl raw.pl verb.pl 

Log message:
        Each test has its own test file.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/02coverage.t?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/03coverage_braces.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/05paragraph.t?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/06columnfractions.t?cvsroot=texinfo&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/16raw.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions.pl?cvsroot=texinfo&r1=1.4&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage.pl?cvsroot=texinfo&r1=1.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces.pl?cvsroot=texinfo&r1=1.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph.pl?cvsroot=texinfo&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/raw.pl?cvsroot=texinfo&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/verb.pl?cvsroot=texinfo&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/empty.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/empty_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/good.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/good_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/good_space_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/not_fraction.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/columnfractions/wrong_command.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/commands.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/footnote.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/nested.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/nested_args.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/simple.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/too_much_args.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/comment_between_text.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/no_paragraph_commands.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/paragraph_command.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/text.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/text_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/text_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/text_space_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/paragraph/two_lines.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/raw/misc_raw.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/raw/misc_raw_comments.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/raw/nested_macros.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/verb/comments.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/verb/end_of_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/verb/multiline.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/verb/nested.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/verb/simple.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- Texinfo/Parser.pm   25 Sep 2010 08:42:49 -0000      1.12
+++ Texinfo/Parser.pm   25 Sep 2010 10:01:32 -0000      1.13
@@ -79,8 +79,7 @@
 my %no_brace_commands;             # commands never taking braces
 
 foreach my $no_brace_command ('*',' ',"\t","\n",'-', '|', '/',':','!',
-                              '?','.','@','}','{',)
-{
+                              '?','.','@','}','{',) {
   $no_brace_commands{$no_brace_command} = 1;
 }
 
@@ -90,19 +89,16 @@
 # accent commands. They may be called with and without braces.
 my %accent_commands;
 
-foreach my $no_arg_command 
('TeX','LaTeX','bullet','copyright','registeredsymbol','dots','enddots','equiv','error','expansion','arrow','minus','point','print','result','today','aa','AA','ae','oe','AE','OE','o','O','ss','l','L','DH','dh','TH','th','exclamdown','questiondown','pounds','ordf','ordm','comma','euro','geq','leq','tie','textdegree','quotedblleft','quotedblright','quoteleft','quoteright','quotedblbase','quotesinglbase','guillemetleft','guillemetright','guillemotleft','guillemotright','guilsinglleft','guilsinglright')
-{
+foreach my $no_arg_command 
('TeX','LaTeX','bullet','copyright','registeredsymbol','dots','enddots','equiv','error','expansion','arrow','minus','point','print','result','today','aa','AA','ae','oe','AE','OE','o','O','ss','l','L','DH','dh','TH','th','exclamdown','questiondown','pounds','ordf','ordm','comma','euro','geq','leq','tie','textdegree','quotedblleft','quotedblright','quoteleft','quoteright','quotedblbase','quotesinglbase','guillemetleft','guillemetright','guillemotleft','guillemotright','guilsinglleft','guilsinglright')
 {
   $brace_commands{$no_arg_command} = 0;
 }
 
-foreach my $accent_command ('"','~','^','`',"'",',','=')
-{
+foreach my $accent_command ('"','~','^','`',"'",',','=') {
   $accent_commands{$accent_command} = 1;
   $brace_commands{$accent_command} = 1;
 }
 
-foreach my 
$accent_command('ringaccent','H','dotaccent','u','ubaraccent','udotaccent','v','ogonek')
-{
+foreach my 
$accent_command('ringaccent','H','dotaccent','u','ubaraccent','udotaccent','v','ogonek')
 {
   $accent_commands{$accent_command} = 1;
   $brace_commands{$accent_command} = 1;
 }
@@ -161,8 +157,7 @@
   'deftypeivar',
   'defmethod',
   'deftypemethod'
-)
-{
+) {
   $block_commands{$bracketed_line_argument_command} = 'def';
   $block_commands{$bracketed_line_argument_command.'x'} = 'def';
 }
@@ -174,8 +169,7 @@
   'cartouche', 'group', 'raggedright', 'flushleft', 'flushright',
   'titlepage', 'copying', 'documentdescription',
   'example', 'smallexample', 'display', 'smalldisplay', 'lisp',
-  'smalllisp', 'format', 'smallformat')
-{
+  'smalllisp', 'format', 'smallformat') {
   $block_commands{$block_command} = 0;
 }
 
@@ -229,8 +223,7 @@
 }
 
 foreach my $other_forbidden_index_name ('info','ps','pdf','htm',
-   'log','aux','dvi','texi','txi','texinfo','tex','bib')
-{
+   'log','aux','dvi','texi','txi','texinfo','tex','bib') {
   $forbidden_index_name{$other_forbidden_index_name} = 1;
 }
 

Index: t/02coverage.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/02coverage.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/02coverage.t      25 Sep 2010 08:42:50 -0000      1.4
+++ t/02coverage.t      25 Sep 2010 10:01:34 -0000      1.5
@@ -37,7 +37,6 @@
 in caption}
 @end float
 
address@hidden ddd
 @itemize +
 @item i--tem +
 @end itemize

Index: t/03coverage_braces.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/03coverage_braces.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/03coverage_braces.t       24 Sep 2010 21:38:57 -0000      1.3
+++ t/03coverage_braces.t       25 Sep 2010 10:01:34 -0000      1.4
@@ -6,7 +6,7 @@
 ['simple', '@b{in  b}.'],
 ['nested', 'type the characters @kbd{l o g o u t @key{RET}}.'],
 ['nested_args', '@xref{@@ @samp{in samp}, descr @b{in b}}'],
-['too much args', '@abbr{AZE, A truc Z b, E eep}'],
+['too_much_args', '@abbr{AZE, A truc Z b, E eep}'],
 ['footnote', 'address@hidden footnote.
 
 @r{in footnote r}. } after footnote.']

Index: t/05paragraph.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/05paragraph.t,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/05paragraph.t     24 Sep 2010 21:38:57 -0000      1.5
+++ t/05paragraph.t     25 Sep 2010 10:01:34 -0000      1.6
@@ -7,23 +7,23 @@
 
 my @test_cases = (
 [ 'text', 'text' ],
-[ 'text comment', 'address@hidden comment' ],
-[ 'text space comment', ' text  @c space comment' ],
-[ 'text line', '
+[ 'text_comment', 'address@hidden comment' ],
+[ 'text_space_comment', ' text  @c space comment' ],
+[ 'text_line', '
 text
 
 '],
-[ 'comment between text', 'text
+[ 'comment_between_text', 'text
 @c comment
 end para' ],
-[ 'two lines','text l 1
+[ 'two_lines','text l 1
 text l 2
 '],
-[ 'no paragraph commands', '@*
+[ 'no_paragraph_commands', '@*
 @titlefont{title font}
 @image{aa,bb,cc,dd,ee}
 '],
-[ 'paragraph command','@@
+[ 'paragraph_command','@@
 
 @b{aaa}.
 ']

Index: t/06columnfractions.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/06columnfractions.t,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- t/06columnfractions.t       23 Sep 2010 20:14:14 -0000      1.7
+++ t/06columnfractions.t       25 Sep 2010 10:01:34 -0000      1.8
@@ -30,8 +30,6 @@
   $test->test($test_case);
 }
 
-$test->end_test();
-
 if ($arg_generate) {
   plan tests => 2;
 }

Index: t/16raw.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/16raw.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/16raw.t   24 Sep 2010 21:38:57 -0000      1.3
+++ t/16raw.t   25 Sep 2010 10:01:34 -0000      1.4
@@ -5,7 +5,7 @@
 require 't/test_utils.pl';
 
 my @test_cases = (
-[ 'nested macros', '@macro truc   { arg,  ex}
+[ 'nested_macros', '@macro truc   { arg,  ex}
 in macro \arg\
 @macro othermacro 
 other macro
@@ -13,7 +13,7 @@
 @macro
 @end macro
 '],
-['misc raw','
+['misc_raw','
 @html 
 in html @end html
 
@@ -25,7 +25,7 @@
 in verbatim2
 @end verbatim
 '],
-['misc raw comments','
+['misc_raw_comments','
 @html @c comment space
 in html @end address@hidden comment no space
 

Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/test_utils.pl     24 Sep 2010 21:38:57 -0000      1.8
+++ t/test_utils.pl     25 Sep 2010 10:01:34 -0000      1.9
@@ -23,19 +23,11 @@
   my $name = shift;
   my $generate = shift;
   my $debug = shift;
-  my $file = "t/results/$name.pl";
   my $test = {'name' => $name, 'generate' => $generate, 
-              'file' => $file, 'debug' => $debug};
+              'debug' => $debug};
   
   if ($generate) {
-    local *FH;
-    open (*FH, ">$file") or die "Open $file: $!\n";
-    $test->{'fh'} = *FH;
-    my $FH = $test->{'fh'};
-    print $FH 'use vars qw(%result_texts %result_trees 
%result_errors);'."\n\n";
-  }
-  else {
-    require "$file";
+    mkdir "t/results/$name" if (! -d "t/results/$name");
   }
   bless $test;
   return $test;
@@ -53,19 +45,26 @@
   my $result =  $parser->parse_texi_text($test_text, 1);
   $result = $parser->tree () if (!$result);
 
+  my $file = "t/results/$self->{'name'}/$test_name.pl";
+
   if ($self->{'generate'}) {
     local $Data::Dumper::Purity = 1;
     local $Data::Dumper::Sortkeys = 1;
     local $Data::Dumper::Indent = 1;
-    my $FH = $self->{'fh'};
-    print $FH "################ $test_name\n";
-    print $FH "".Data::Dumper->Dump([$result], 
['$result_trees{\''.$test_name.'\'}']);
-    print $FH "\n".'$result_texts{\''.$test_name.'\'} = 
\''.tree_to_texi($result)."';\n\n";
-    print $FH "".Data::Dumper->Dump([$parser->errors()], 
['$result_errors{\''.$test_name.'\'}']) ."\n\n";
+
+    open (OUT, ">$file") or die "Open $file: $!\n";
+    print OUT 'use vars qw(%result_texts %result_trees 
%result_errors);'."\n\n";
+
+    my $out_result = "".Data::Dumper->Dump([$result], 
['$result_trees{\''.$test_name.'\'}']);
+    $out_result .= "\n".'$result_texts{\''.$test_name.'\'} = 
\''.tree_to_texi($result)."';\n\n";
+    $out_result .= "".Data::Dumper->Dump([$parser->errors()], 
['$result_errors{\''.$test_name.'\'}']) ."\n\n";
+    print OUT $out_result;
+    close (OUT);
     
     print STDERR "--> $test_name\n".tree_to_texi($result)."\n";
   }
   else {
+    require $file;
     ok (Data::Compare::Compare($result, $result_trees{$test_name}, { 
'ignore_hash_keys' => [qw(parent)] }), $test_name.' tree' );
     ok (Data::Compare::Compare($parser->errors(), $result_errors{$test_name}), 
$test_name.' errors' );
     is (tree_to_texi($result), $result_texts{$test_name}, $test_name.' text' );
@@ -73,16 +72,6 @@
   #exit;
 }
 
-sub end_test($)
-{
-  my $self = shift;
-  if ($self->{'generate'}) {
-    my $FH = $self->{'fh'};
-    print $FH "\n1;\n";
-    close ($self->{'fh'});
-  }
-}
-
 sub run_all($$;$$$)
 {
   my $name = shift;
@@ -112,8 +101,6 @@
     plan tests => (1 + scalar(@$ran_tests) * 3);
   }
 
-
-  $test->end_test();
 }
 
 1;

Index: t/results/columnfractions/empty.pl
===================================================================
RCS file: t/results/columnfractions/empty.pl
diff -N t/results/columnfractions/empty.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/empty.pl  25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,36 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'empty'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'empty'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'empty'}{'contents'}[0];
+$result_trees{'empty'}{'contents'}[0]{'parent'} = $result_trees{'empty'};
+
+$result_texts{'empty'} = '@multitable @columnfractions
address@hidden multitable
+';
+
+$result_errors{'empty'} = [
+  {
+    'error_line' => ':1: Empty @columnfractions
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'Empty @columnfractions',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/columnfractions/empty_comment.pl
===================================================================
RCS file: t/results/columnfractions/empty_comment.pl
diff -N t/results/columnfractions/empty_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/empty_comment.pl  25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,50 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'empty_comment'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'empty_comment'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'empty_comment'}{'contents'}[0];
+$result_trees{'empty_comment'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'} 
= $result_trees{'empty_comment'}{'contents'}[0]{'args'}[1];
+$result_trees{'empty_comment'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'empty_comment'}{'contents'}[0];
+$result_trees{'empty_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_comment'};
+
+$result_texts{'empty_comment'} = '@multitable @columnfractions @c
address@hidden multitable
+';
+
+$result_errors{'empty_comment'} = [
+  {
+    'error_line' => ':1: @columnfractions accepts only fractions as argument
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@columnfractions accepts only fractions as argument',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/columnfractions/good.pl
===================================================================
RCS file: t/results/columnfractions/good.pl
diff -N t/results/columnfractions/good.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/good.pl   25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,46 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'good'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '0.4',
+              'type' => 'fraction'
+            },
+            {
+              'parent' => {},
+              'text' => '.6',
+              'type' => 'fraction'
+            },
+            {
+              'parent' => {},
+              'text' => '5.',
+              'type' => 'fraction'
+            }
+          ],
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'good'}{'contents'}[0]{'args'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good'}{'contents'}[0]{'args'}[0];
+$result_trees{'good'}{'contents'}[0]{'args'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good'}{'contents'}[0]{'args'}[0];
+$result_trees{'good'}{'contents'}[0]{'args'}[0]{'args'}[2]{'parent'} = 
$result_trees{'good'}{'contents'}[0]{'args'}[0];
+$result_trees{'good'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good'}{'contents'}[0];
+$result_trees{'good'}{'contents'}[0]{'parent'} = $result_trees{'good'};
+
+$result_texts{'good'} = '@multitable @columnfractions 0.4 .6 5.
address@hidden multitable
+';
+
+$result_errors{'good'} = [];
+
+

Index: t/results/columnfractions/good_comment.pl
===================================================================
RCS file: t/results/columnfractions/good_comment.pl
diff -N t/results/columnfractions/good_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/good_comment.pl   25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,60 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'good_comment'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '0.4',
+              'type' => 'fraction'
+            },
+            {
+              'parent' => {},
+              'text' => '.6',
+              'type' => 'fraction'
+            },
+            {
+              'parent' => {},
+              'text' => '5.',
+              'type' => 'fraction'
+            }
+          ],
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' comment
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[0];
+$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[0];
+$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'args'}[2]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[0];
+$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0];
+$result_trees{'good_comment'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[1];
+$result_trees{'good_comment'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0];
+$result_trees{'good_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'good_comment'};
+
+$result_texts{'good_comment'} = '@multitable @columnfractions 0.4 .6 5. @c 
comment
address@hidden multitable
+';
+
+$result_errors{'good_comment'} = [];
+
+

Index: t/results/columnfractions/good_space_comment.pl
===================================================================
RCS file: t/results/columnfractions/good_space_comment.pl
diff -N t/results/columnfractions/good_space_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/good_space_comment.pl     25 Sep 2010 10:01:35 
-0000      1.1
@@ -0,0 +1,54 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'good_space_comment'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '0',
+              'type' => 'fraction'
+            },
+            {
+              'parent' => {},
+              'text' => '1',
+              'type' => 'fraction'
+            }
+          ],
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' space comment
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0]{'args'}[0]{'parent'}
 = $result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0];
+$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0]{'args'}[1]{'parent'}
 = $result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0];
+$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good_space_comment'}{'contents'}[0];
+$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'}
 = $result_trees{'good_space_comment'}{'contents'}[0]{'args'}[1];
+$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good_space_comment'}{'contents'}[0];
+$result_trees{'good_space_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'good_space_comment'};
+
+$result_texts{'good_space_comment'} = '@multitable @columnfractions 0 1 @c 
space comment
address@hidden multitable
+';
+
+$result_errors{'good_space_comment'} = [];
+
+

Index: t/results/columnfractions/not_fraction.pl
===================================================================
RCS file: t/results/columnfractions/not_fraction.pl
diff -N t/results/columnfractions/not_fraction.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/not_fraction.pl   25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,36 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'not_fraction'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'not_fraction'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'not_fraction'}{'contents'}[0];
+$result_trees{'not_fraction'}{'contents'}[0]{'parent'} = 
$result_trees{'not_fraction'};
+
+$result_texts{'not_fraction'} = '@multitable @columnfractions
address@hidden multitable
+';
+
+$result_errors{'not_fraction'} = [
+  {
+    'error_line' => ':1: column fraction not a number: aaa
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'column fraction not a number: aaa',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/columnfractions/wrong_command.pl
===================================================================
RCS file: t/results/columnfractions/wrong_command.pl
diff -N t/results/columnfractions/wrong_command.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/columnfractions/wrong_command.pl  25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,62 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'wrong_command'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'cmdname' => 'columnfractions',
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '3.4'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'b',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' 
+'
+        }
+      ],
+      'cmdname' => 'multitable',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'wrong_command'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'wrong_command'}{'contents'}[0];
+$result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'args'}[0];
+$result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'} 
= $result_trees{'wrong_command'}{'contents'}[0]{'args'}[1];
+$result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'wrong_command'}{'contents'}[0];
+$result_trees{'wrong_command'}{'contents'}[0]{'args'}[2]{'parent'} = 
$result_trees{'wrong_command'}{'contents'}[0];
+$result_trees{'wrong_command'}{'contents'}[0]{'parent'} = 
$result_trees{'wrong_command'};
+
+$result_texts{'wrong_command'} = '@multitable @columnfractions @b{3.4}  
address@hidden multitable
+';
+
+$result_errors{'wrong_command'} = [
+  {
+    'error_line' => ':1: @columnfractions accepts only fractions as argument
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@columnfractions accepts only fractions as argument',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/coverage/commands.pl
===================================================================
RCS file: t/results/coverage/commands.pl
diff -N t/results/coverage/commands.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage/commands.pl      25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,289 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'commands'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'cmdname' => '@',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'TeX',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'cmdname' => '
+',
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => 'e'
+            }
+          ],
+          'cmdname' => '"',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'i'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'dotless',
+                  'parent' => {},
+                  'remaining_args' => 0
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => '^',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'a'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => '~',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => 'a',
+              'type' => 'space_command_arg'
+            }
+          ],
+          'cmdname' => 'ringaccent',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'a'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'b'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'email',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => ' index entry in text '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'LaTeX',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'majorheading '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in b'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'b',
+              'parent' => {},
+              'remaining_args' => 0
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'majorheading',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'commands'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[2];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[5];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[7];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'args'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[9];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[11]{'args'}[0]{'parent'} 
= $result_trees{'commands'}{'contents'}[0]{'contents'}[11];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'parent'} 
= $result_trees{'commands'}{'contents'}[0]{'contents'}[13];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[1];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[1]{'parent'} 
= $result_trees{'commands'}{'contents'}[0]{'contents'}[13];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'contents'}[14]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
+$result_trees{'commands'}{'contents'}[0]{'parent'} = $result_trees{'commands'};
+$result_trees{'commands'}{'contents'}[1]{'parent'} = $result_trees{'commands'};
+$result_trees{'commands'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[2];
+$result_trees{'commands'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[2]{'contents'}[1];
+$result_trees{'commands'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'commands'}{'contents'}[2];
+$result_trees{'commands'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'commands'}{'contents'}[2];
+$result_trees{'commands'}{'contents'}[2]{'parent'} = $result_trees{'commands'};
+$result_trees{'commands'}{'contents'}[3]{'parent'} = $result_trees{'commands'};
+$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0];
+$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0];
+$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0];
+$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[4];
+$result_trees{'commands'}{'contents'}[4]{'parent'} = $result_trees{'commands'};
+
+$result_texts{'commands'} = '@@ @TeX{} @
+@"e @address@hidden @~{a} @ringaccent a
address@hidden, b}
+
+ index entry in text @LaTeX{}
+
address@hidden majorheading @b{in b}
+';
+
+$result_errors{'commands'} = [];
+
+

Index: t/results/coverage_braces/footnote.pl
===================================================================
RCS file: t/results/coverage_braces/footnote.pl
diff -N t/results/coverage_braces/footnote.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/footnote.pl       25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,97 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'footnote'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in footnote.
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'normal_line'
+                },
+                {
+                  'contents' => [
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'in footnote r'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'brace_command_arg'
+                        }
+                      ],
+                      'cmdname' => 'r',
+                      'parent' => {},
+                      'remaining_args' => 0
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '. '
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'cmdname' => 'footnote',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' after footnote.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0];
+$result_trees{'footnote'}{'contents'}[0]{'parent'} = $result_trees{'footnote'};
+
+$result_texts{'footnote'} = 'address@hidden footnote.
+
address@hidden footnote r}. } after footnote.';
+
+$result_errors{'footnote'} = [];
+
+

Index: t/results/coverage_braces/nested.pl
===================================================================
RCS file: t/results/coverage_braces/nested.pl
diff -N t/results/coverage_braces/nested.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/nested.pl 25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,69 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'nested'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'type the characters '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'l o g o u t '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'RET'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'key',
+                  'parent' => {},
+                  'remaining_args' => 0
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'kbd',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => '.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[1];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
+$result_trees{'nested'}{'contents'}[0]{'parent'} = $result_trees{'nested'};
+
+$result_texts{'nested'} = 'type the characters @kbd{l o g o u t @key{RET}}.';
+
+$result_errors{'nested'} = [];
+
+

Index: t/results/coverage_braces/nested_args.pl
===================================================================
RCS file: t/results/coverage_braces/nested_args.pl
diff -N t/results/coverage_braces/nested_args.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/nested_args.pl    25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,96 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'nested_args'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'cmdname' => '@',
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in samp'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'samp',
+                  'parent' => {},
+                  'remaining_args' => 0
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'descr '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in b'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'b',
+                  'parent' => {},
+                  'remaining_args' => 0
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'xref',
+          'parent' => {},
+          'remaining_args' => 3
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested_args'}{'contents'}[0];
+$result_trees{'nested_args'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_args'};
+
+$result_texts{'nested_args'} = '@xref{@@ @samp{in samp}, descr @b{in b}}';
+
+$result_errors{'nested_args'} = [];
+
+

Index: t/results/coverage_braces/simple.pl
===================================================================
RCS file: t/results/coverage_braces/simple.pl
diff -N t/results/coverage_braces/simple.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/simple.pl 25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,44 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'simple'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'in  b'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'b',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => '.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0]{'contents'}[0];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
+$result_trees{'simple'}{'contents'}[0]{'parent'} = $result_trees{'simple'};
+
+$result_texts{'simple'} = '@b{in  b}.';
+
+$result_errors{'simple'} = [];
+
+

Index: t/results/coverage_braces/too_much_args.pl
===================================================================
RCS file: t/results/coverage_braces/too_much_args.pl
diff -N t/results/coverage_braces/too_much_args.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/too_much_args.pl  25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,51 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'too_much_args'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'AZE'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'A truc Z b, E eep'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'abbr',
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[1];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'too_much_args'}{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'parent'} = 
$result_trees{'too_much_args'};
+
+$result_texts{'too_much_args'} = '@abbr{AZE, A truc Z b, E eep}';
+
+$result_errors{'too_much_args'} = [];
+
+

Index: t/results/paragraph/comment_between_text.pl
===================================================================
RCS file: t/results/paragraph/comment_between_text.pl
diff -N t/results/paragraph/comment_between_text.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/comment_between_text.pl 25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,46 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'comment_between_text'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text
+'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' comment
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => 'end para'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'comment_between_text'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'comment_between_text'}{'contents'}[0];
+$result_trees{'comment_between_text'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'comment_between_text'}{'contents'}[0]{'contents'}[1];
+$result_trees{'comment_between_text'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'comment_between_text'}{'contents'}[0];
+$result_trees{'comment_between_text'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'comment_between_text'}{'contents'}[0];
+$result_trees{'comment_between_text'}{'contents'}[0]{'parent'} = 
$result_trees{'comment_between_text'};
+
+$result_texts{'comment_between_text'} = 'text
address@hidden comment
+end para';
+
+$result_errors{'comment_between_text'} = [];
+
+

Index: t/results/paragraph/no_paragraph_commands.pl
===================================================================
RCS file: t/results/paragraph/no_paragraph_commands.pl
diff -N t/results/paragraph/no_paragraph_commands.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/no_paragraph_commands.pl        25 Sep 2010 10:01:35 
-0000      1.1
@@ -0,0 +1,126 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'no_paragraph_commands'} = {
+  'contents' => [
+    {
+      'cmdname' => '*',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'title font'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        }
+      ],
+      'cmdname' => 'titlefont',
+      'parent' => {},
+      'remaining_args' => 0
+    },
+    {
+      'parent' => {},
+      'text' => '
+'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'aa'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bb'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'cc'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'dd'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'ee'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        }
+      ],
+      'cmdname' => 'image',
+      'parent' => {},
+      'remaining_args' => 0
+    },
+    {
+      'parent' => {},
+      'text' => '
+'
+    }
+  ]
+};
+$result_trees{'no_paragraph_commands'}{'contents'}[0]{'parent'} = 
$result_trees{'no_paragraph_commands'};
+$result_trees{'no_paragraph_commands'}{'contents'}[1]{'parent'} = 
$result_trees{'no_paragraph_commands'};
+$result_trees{'no_paragraph_commands'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_paragraph_commands'}{'contents'}[2]{'args'}[0];
+$result_trees{'no_paragraph_commands'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'no_paragraph_commands'}{'contents'}[2];
+$result_trees{'no_paragraph_commands'}{'contents'}[2]{'parent'} = 
$result_trees{'no_paragraph_commands'};
+$result_trees{'no_paragraph_commands'}{'contents'}[3]{'parent'} = 
$result_trees{'no_paragraph_commands'};
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[0];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'no_paragraph_commands'}{'contents'}[4];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[1];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[1]{'parent'} = 
$result_trees{'no_paragraph_commands'}{'contents'}[4];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[2];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[2]{'parent'} = 
$result_trees{'no_paragraph_commands'}{'contents'}[4];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[3];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[3]{'parent'} = 
$result_trees{'no_paragraph_commands'}{'contents'}[4];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[4];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'args'}[4]{'parent'} = 
$result_trees{'no_paragraph_commands'}{'contents'}[4];
+$result_trees{'no_paragraph_commands'}{'contents'}[4]{'parent'} = 
$result_trees{'no_paragraph_commands'};
+$result_trees{'no_paragraph_commands'}{'contents'}[5]{'parent'} = 
$result_trees{'no_paragraph_commands'};
+
+$result_texts{'no_paragraph_commands'} = '@*
address@hidden font}
address@hidden, bb, cc, dd, ee}
+';
+
+$result_errors{'no_paragraph_commands'} = [];
+
+

Index: t/results/paragraph/paragraph_command.pl
===================================================================
RCS file: t/results/paragraph/paragraph_command.pl
diff -N t/results/paragraph/paragraph_command.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/paragraph_command.pl    25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,73 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'paragraph_command'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'cmdname' => '@',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'aaa'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'b',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'paragraph_command'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'paragraph_command'}{'contents'}[0];
+$result_trees{'paragraph_command'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'paragraph_command'}{'contents'}[0];
+$result_trees{'paragraph_command'}{'contents'}[0]{'parent'} = 
$result_trees{'paragraph_command'};
+$result_trees{'paragraph_command'}{'contents'}[1]{'parent'} = 
$result_trees{'paragraph_command'};
+$result_trees{'paragraph_command'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'paragraph_command'}{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'paragraph_command'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'paragraph_command'}{'contents'}[2]{'contents'}[0];
+$result_trees{'paragraph_command'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'paragraph_command'}{'contents'}[2];
+$result_trees{'paragraph_command'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'paragraph_command'}{'contents'}[2];
+$result_trees{'paragraph_command'}{'contents'}[2]{'parent'} = 
$result_trees{'paragraph_command'};
+
+$result_texts{'paragraph_command'} = '@@
+
address@hidden
+';
+
+$result_errors{'paragraph_command'} = [];
+
+

Index: t/results/paragraph/text.pl
===================================================================
RCS file: t/results/paragraph/text.pl
diff -N t/results/paragraph/text.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/text.pl 25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,24 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'text'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'text'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'text'}{'contents'}[0];
+$result_trees{'text'}{'contents'}[0]{'parent'} = $result_trees{'text'};
+
+$result_texts{'text'} = 'text';
+
+$result_errors{'text'} = [];
+
+

Index: t/results/paragraph/text_comment.pl
===================================================================
RCS file: t/results/paragraph/text_comment.pl
diff -N t/results/paragraph/text_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/text_comment.pl 25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,37 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'text_comment'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' comment',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'text_comment'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'text_comment'}{'contents'}[0];
+$result_trees{'text_comment'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'text_comment'}{'contents'}[0]{'contents'}[1];
+$result_trees{'text_comment'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'text_comment'}{'contents'}[0];
+$result_trees{'text_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'text_comment'};
+
+$result_texts{'text_comment'} = 'address@hidden comment';
+
+$result_errors{'text_comment'} = [];
+
+

Index: t/results/paragraph/text_line.pl
===================================================================
RCS file: t/results/paragraph/text_line.pl
diff -N t/results/paragraph/text_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/text_line.pl    25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,42 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'text_line'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    }
+  ]
+};
+$result_trees{'text_line'}{'contents'}[0]{'parent'} = 
$result_trees{'text_line'};
+$result_trees{'text_line'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'text_line'}{'contents'}[1];
+$result_trees{'text_line'}{'contents'}[1]{'parent'} = 
$result_trees{'text_line'};
+$result_trees{'text_line'}{'contents'}[2]{'parent'} = 
$result_trees{'text_line'};
+
+$result_texts{'text_line'} = '
+text
+
+';
+
+$result_errors{'text_line'} = [];
+
+

Index: t/results/paragraph/text_space_comment.pl
===================================================================
RCS file: t/results/paragraph/text_space_comment.pl
diff -N t/results/paragraph/text_space_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/text_space_comment.pl   25 Sep 2010 10:01:35 -0000      
1.1
@@ -0,0 +1,37 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'text_space_comment'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => ' text  '
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' space comment',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'text_space_comment'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'text_space_comment'}{'contents'}[0];
+$result_trees{'text_space_comment'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'text_space_comment'}{'contents'}[0]{'contents'}[1];
+$result_trees{'text_space_comment'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'text_space_comment'}{'contents'}[0];
+$result_trees{'text_space_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'text_space_comment'};
+
+$result_texts{'text_space_comment'} = ' text  @c space comment';
+
+$result_errors{'text_space_comment'} = [];
+
+

Index: t/results/paragraph/two_lines.pl
===================================================================
RCS file: t/results/paragraph/two_lines.pl
diff -N t/results/paragraph/two_lines.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/paragraph/two_lines.pl    25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,33 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'two_lines'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text l 1
+'
+        },
+        {
+          'parent' => {},
+          'text' => 'text l 2
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'two_lines'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'two_lines'}{'contents'}[0];
+$result_trees{'two_lines'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'two_lines'}{'contents'}[0];
+$result_trees{'two_lines'}{'contents'}[0]{'parent'} = 
$result_trees{'two_lines'};
+
+$result_texts{'two_lines'} = 'text l 1
+text l 2
+';
+
+$result_errors{'two_lines'} = [];
+
+

Index: t/results/raw/misc_raw.pl
===================================================================
RCS file: t/results/raw/misc_raw.pl
diff -N t/results/raw/misc_raw.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/raw/misc_raw.pl   25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,93 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'misc_raw'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'html',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in html ',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'tex',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in tex
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in verbatim
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => 'in verbatim2
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'misc_raw'}{'contents'}[0]{'parent'} = $result_trees{'misc_raw'};
+$result_trees{'misc_raw'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[1];
+$result_trees{'misc_raw'}{'contents'}[1]{'parent'} = $result_trees{'misc_raw'};
+$result_trees{'misc_raw'}{'contents'}[2]{'parent'} = $result_trees{'misc_raw'};
+$result_trees{'misc_raw'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[3];
+$result_trees{'misc_raw'}{'contents'}[3]{'parent'} = $result_trees{'misc_raw'};
+$result_trees{'misc_raw'}{'contents'}[4]{'parent'} = $result_trees{'misc_raw'};
+$result_trees{'misc_raw'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[5];
+$result_trees{'misc_raw'}{'contents'}[5]{'contents'}[1]{'parent'} = 
$result_trees{'misc_raw'}{'contents'}[5];
+$result_trees{'misc_raw'}{'contents'}[5]{'parent'} = $result_trees{'misc_raw'};
+
+$result_texts{'misc_raw'} = '
address@hidden
+in html @end html
+
address@hidden
+in tex
address@hidden tex
+
address@hidden
+in verbatim
+in verbatim2
address@hidden verbatim
+';
+
+$result_errors{'misc_raw'} = [];
+
+

Index: t/results/raw/misc_raw_comments.pl
===================================================================
RCS file: t/results/raw/misc_raw_comments.pl
diff -N t/results/raw/misc_raw_comments.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/raw/misc_raw_comments.pl  25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,136 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'misc_raw_comments'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'html',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '@c comment space
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => 'in html ',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => ' comment no space
+',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'c',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'tex',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in tex
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '    '
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => ' comment after end tex
+',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'c',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in verbatim @c in verbatim
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => 'in verbatim2
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'misc_raw_comments'}{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[1];
+$result_trees{'misc_raw_comments'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[1];
+$result_trees{'misc_raw_comments'}{'contents'}[1]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[2];
+$result_trees{'misc_raw_comments'}{'contents'}[2]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[3]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[4];
+$result_trees{'misc_raw_comments'}{'contents'}[4]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[5]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[6]{'args'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[6];
+$result_trees{'misc_raw_comments'}{'contents'}[6]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[7]{'parent'} = 
$result_trees{'misc_raw_comments'};
+$result_trees{'misc_raw_comments'}{'contents'}[8]{'contents'}[0]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[8];
+$result_trees{'misc_raw_comments'}{'contents'}[8]{'contents'}[1]{'parent'} = 
$result_trees{'misc_raw_comments'}{'contents'}[8];
+$result_trees{'misc_raw_comments'}{'contents'}[8]{'parent'} = 
$result_trees{'misc_raw_comments'};
+
+$result_texts{'misc_raw_comments'} = '
address@hidden
address@hidden comment space
+in html @end html
address@hidden comment no space
+
address@hidden
+in tex
address@hidden tex
+    @c comment after end tex
+
address@hidden
+in verbatim @c in verbatim
+in verbatim2
address@hidden verbatim
+';
+
+$result_errors{'misc_raw_comments'} = [];
+
+

Index: t/results/raw/nested_macros.pl
===================================================================
RCS file: t/results/raw/nested_macros.pl
diff -N t/results/raw/nested_macros.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/raw/nested_macros.pl      25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,82 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'nested_macros'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'truc',
+          'type' => 'macro_arg_name'
+        },
+        {
+          'parent' => {},
+          'text' => '{ arg,  ex}',
+          'type' => 'macro_arg_args'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in macro \\arg\\
+',
+          'type' => 'raw'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => 'othermacro',
+              'type' => 'macro_arg_name'
+            },
+            {
+              'parent' => {},
+              'text' => '',
+              'type' => 'macro_arg_args'
+            }
+          ],
+          'cmdname' => 'macro',
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'other macro
+',
+              'type' => 'raw'
+            }
+          ],
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '@macro
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'nested_macros'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'nested_macros'}{'contents'}[0];
+$result_trees{'nested_macros'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_macros'};
+
+$result_texts{'nested_macros'} = '@macro truc { arg,  ex}
+in macro \arg\
address@hidden othermacro 
+other macro
address@hidden macro
address@hidden
address@hidden macro
+';
+
+$result_errors{'nested_macros'} = [];
+
+

Index: t/results/verb/comments.pl
===================================================================
RCS file: t/results/verb/comments.pl
diff -N t/results/verb/comments.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/verb/comments.pl  25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,124 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'comments'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' comment @c comment
+',
+                  'type' => 'raw'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'in a verb ',
+                  'type' => 'raw'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'verb',
+          'parent' => {},
+          'remaining_args' => 0,
+          'type' => 'a'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' comment
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'something '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' in verb',
+                  'type' => 'raw'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'verb',
+          'parent' => {},
+          'remaining_args' => 0,
+          'type' => ','
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' other comment',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[0]{'contents'}[0];
+$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[0];
+$result_trees{'comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[0]{'contents'}[1];
+$result_trees{'comments'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'comments'}{'contents'}[0];
+$result_trees{'comments'}{'contents'}[0]{'parent'} = $result_trees{'comments'};
+$result_trees{'comments'}{'contents'}[1]{'parent'} = $result_trees{'comments'};
+$result_trees{'comments'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
+$result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[2]{'contents'}[1];
+$result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
+$result_trees{'comments'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
+$result_trees{'comments'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[2]{'contents'}[3];
+$result_trees{'comments'}{'contents'}[2]{'contents'}[3]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
+$result_trees{'comments'}{'contents'}[2]{'parent'} = $result_trees{'comments'};
+
+$result_texts{'comments'} = '@verb{a comment @c comment
+in a verb address@hidden comment
+
+something @verb{, in verb,} @c other comment';
+
+$result_errors{'comments'} = [];
+
+

Index: t/results/verb/end_of_line.pl
===================================================================
RCS file: t/results/verb/end_of_line.pl
diff -N t/results/verb/end_of_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/verb/end_of_line.pl       25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,85 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'end_of_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'verb at end of line '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'raw'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'raw'
+                },
+                {
+                  'parent' => {},
+                  'text' => '@{ in verb at end of line @c comment
+',
+                  'type' => 'raw'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'and now end',
+                  'type' => 'raw'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'verb',
+          'parent' => {},
+          'remaining_args' => 0,
+          'type' => ''
+        },
+        {
+          'parent' => {},
+          'text' => 'after end.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'end_of_line'}{'contents'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'end_of_line'}{'contents'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'end_of_line'}{'contents'}[0];
+$result_trees{'end_of_line'}{'contents'}[0]{'parent'} = 
$result_trees{'end_of_line'};
+
+$result_texts{'end_of_line'} = 'verb at end of line @verb{
+
address@hidden in verb at end of line @c comment
+and now end}after end.';
+
+$result_errors{'end_of_line'} = [
+  {
+    'error_line' => ':1: @verb without associated character
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@verb without associated character',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/verb/multiline.pl
===================================================================
RCS file: t/results/verb/multiline.pl
diff -N t/results/verb/multiline.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/verb/multiline.pl 25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,64 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'multiline'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'raw'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'qdsqsddqsdsq
+',
+                  'type' => 'raw'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'raw'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'verb',
+          'parent' => {},
+          'remaining_args' => 0,
+          'type' => '@'
+        },
+        {
+          'parent' => {},
+          'text' => 'after verb.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} 
= $result_trees{'multiline'}{'contents'}[0]{'contents'}[0];
+$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'multiline'}{'contents'}[0];
+$result_trees{'multiline'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'multiline'}{'contents'}[0];
+$result_trees{'multiline'}{'contents'}[0]{'parent'} = 
$result_trees{'multiline'};
+
+$result_texts{'multiline'} = '@verb{@
+qdsqsddqsdsq
+
address@hidden verb.';
+
+$result_errors{'multiline'} = [];
+
+

Index: t/results/verb/nested.pl
===================================================================
RCS file: t/results/verb/nested.pl
diff -N t/results/verb/nested.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/verb/nested.pl    25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,66 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'nested'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'in b '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => ' in verb { } ',
+                          'type' => 'raw'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'verb',
+                  'parent' => {},
+                  'remaining_args' => 0,
+                  'type' => '/'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' in b end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'b',
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[0];
+$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
+$result_trees{'nested'}{'contents'}[0]{'parent'} = $result_trees{'nested'};
+
+$result_texts{'nested'} = '@b{in b @verb{/ in verb { } /} in b end}';
+
+$result_errors{'nested'} = [];
+
+

Index: t/results/verb/simple.pl
===================================================================
RCS file: t/results/verb/simple.pl
diff -N t/results/verb/simple.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/verb/simple.pl    25 Sep 2010 10:01:35 -0000      1.1
@@ -0,0 +1,41 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'simple'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '  }   .  ',
+                  'type' => 'raw'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'verb',
+          'parent' => {},
+          'remaining_args' => 0,
+          'type' => '.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0]{'contents'}[0];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
+$result_trees{'simple'}{'contents'}[0]{'parent'} = $result_trees{'simple'};
+
+$result_texts{'simple'} = '@verb{.  }   .  .}';
+
+$result_errors{'simple'} = [];
+
+

Index: t/results/columnfractions.pl
===================================================================
RCS file: t/results/columnfractions.pl
diff -N t/results/columnfractions.pl
--- t/results/columnfractions.pl        23 Sep 2010 17:26:41 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,341 +0,0 @@
-use vars qw(%result_texts %result_trees %result_errors);
-
-################ good
-$result_trees{'good'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => '0.4',
-              'type' => 'fraction'
-            },
-            {
-              'parent' => {},
-              'text' => '.6',
-              'type' => 'fraction'
-            },
-            {
-              'parent' => {},
-              'text' => '5.',
-              'type' => 'fraction'
-            }
-          ],
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'good'}{'contents'}[0]{'args'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good'}{'contents'}[0]{'args'}[0];
-$result_trees{'good'}{'contents'}[0]{'args'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good'}{'contents'}[0]{'args'}[0];
-$result_trees{'good'}{'contents'}[0]{'args'}[0]{'args'}[2]{'parent'} = 
$result_trees{'good'}{'contents'}[0]{'args'}[0];
-$result_trees{'good'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good'}{'contents'}[0];
-$result_trees{'good'}{'contents'}[0]{'parent'} = $result_trees{'good'};
-
-$result_texts{'good'} = '@multitable @columnfractions 0.4 .6 5.
address@hidden multitable
-';
-
-$result_errors{'good'} = [];
-
-
-################ good_comment
-$result_trees{'good_comment'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => '0.4',
-              'type' => 'fraction'
-            },
-            {
-              'parent' => {},
-              'text' => '.6',
-              'type' => 'fraction'
-            },
-            {
-              'parent' => {},
-              'text' => '5.',
-              'type' => 'fraction'
-            }
-          ],
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' comment
-',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[0];
-$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[0];
-$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'args'}[2]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[0];
-$result_trees{'good_comment'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0];
-$result_trees{'good_comment'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0]{'args'}[1];
-$result_trees{'good_comment'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good_comment'}{'contents'}[0];
-$result_trees{'good_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'good_comment'};
-
-$result_texts{'good_comment'} = '@multitable @columnfractions 0.4 .6 5. @c 
comment
address@hidden multitable
-';
-
-$result_errors{'good_comment'} = [];
-
-
-################ good_space_comment
-$result_trees{'good_space_comment'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => '0',
-              'type' => 'fraction'
-            },
-            {
-              'parent' => {},
-              'text' => '1',
-              'type' => 'fraction'
-            }
-          ],
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' space comment
-',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0]{'args'}[0]{'parent'}
 = $result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0];
-$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0]{'args'}[1]{'parent'}
 = $result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0];
-$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'good_space_comment'}{'contents'}[0];
-$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'}
 = $result_trees{'good_space_comment'}{'contents'}[0]{'args'}[1];
-$result_trees{'good_space_comment'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'good_space_comment'}{'contents'}[0];
-$result_trees{'good_space_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'good_space_comment'};
-
-$result_texts{'good_space_comment'} = '@multitable @columnfractions 0 1 @c 
space comment
address@hidden multitable
-';
-
-$result_errors{'good_space_comment'} = [];
-
-
-################ not_fraction
-$result_trees{'not_fraction'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'not_fraction'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'not_fraction'}{'contents'}[0];
-$result_trees{'not_fraction'}{'contents'}[0]{'parent'} = 
$result_trees{'not_fraction'};
-
-$result_texts{'not_fraction'} = '@multitable @columnfractions
address@hidden multitable
-';
-
-$result_errors{'not_fraction'} = [
-  {
-    'error_line' => ':1: column fraction not a number: aaa
-',
-    'file_name' => '',
-    'line_nr' => 1,
-    'macro' => '',
-    'text' => 'column fraction not a number: aaa',
-    'type' => 'error'
-  }
-];
-
-
-################ empty
-$result_trees{'empty'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'empty'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'empty'}{'contents'}[0];
-$result_trees{'empty'}{'contents'}[0]{'parent'} = $result_trees{'empty'};
-
-$result_texts{'empty'} = '@multitable @columnfractions
address@hidden multitable
-';
-
-$result_errors{'empty'} = [
-  {
-    'error_line' => ':1: Empty @columnfractions
-',
-    'file_name' => '',
-    'line_nr' => 1,
-    'macro' => '',
-    'text' => 'Empty @columnfractions',
-    'type' => 'error'
-  }
-];
-
-
-################ empty_comment
-$result_trees{'empty_comment'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'empty_comment'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'empty_comment'}{'contents'}[0];
-$result_trees{'empty_comment'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'} 
= $result_trees{'empty_comment'}{'contents'}[0]{'args'}[1];
-$result_trees{'empty_comment'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'empty_comment'}{'contents'}[0];
-$result_trees{'empty_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_comment'};
-
-$result_texts{'empty_comment'} = '@multitable @columnfractions @c
address@hidden multitable
-';
-
-$result_errors{'empty_comment'} = [
-  {
-    'error_line' => ':1: @columnfractions accepts only fractions as argument
-',
-    'file_name' => '',
-    'line_nr' => 1,
-    'macro' => '',
-    'text' => '@columnfractions accepts only fractions as argument',
-    'type' => 'error'
-  }
-];
-
-
-################ wrong_command
-$result_trees{'wrong_command'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'cmdname' => 'columnfractions',
-          'parent' => {}
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => '3.4'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'b',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => ' 
-'
-        }
-      ],
-      'cmdname' => 'multitable',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'wrong_command'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'wrong_command'}{'contents'}[0];
-$result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'args'}[0];
-$result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'args'}[0]{'parent'} 
= $result_trees{'wrong_command'}{'contents'}[0]{'args'}[1];
-$result_trees{'wrong_command'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'wrong_command'}{'contents'}[0];
-$result_trees{'wrong_command'}{'contents'}[0]{'args'}[2]{'parent'} = 
$result_trees{'wrong_command'}{'contents'}[0];
-$result_trees{'wrong_command'}{'contents'}[0]{'parent'} = 
$result_trees{'wrong_command'};
-
-$result_texts{'wrong_command'} = '@multitable @columnfractions @b{3.4}  
address@hidden multitable
-';
-
-$result_errors{'wrong_command'} = [
-  {
-    'error_line' => ':1: @columnfractions accepts only fractions as argument
-',
-    'file_name' => '',
-    'line_nr' => 1,
-    'macro' => '',
-    'text' => '@columnfractions accepts only fractions as argument',
-    'type' => 'error'
-  }
-];
-
-
-
-1;

Index: t/results/coverage.pl
===================================================================
RCS file: t/results/coverage.pl
diff -N t/results/coverage.pl
--- t/results/coverage.pl       25 Sep 2010 08:42:50 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,292 +0,0 @@
-use vars qw(%result_texts %result_trees %result_errors);
-
-################ commands
-$result_trees{'commands'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'cmdname' => '@',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => ' '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'TeX',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => ' '
-        },
-        {
-          'cmdname' => '
-',
-          'parent' => {}
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => 'e'
-            }
-          ],
-          'cmdname' => '"',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => ' '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'args' => [
-                    {
-                      'contents' => [
-                        {
-                          'parent' => {},
-                          'text' => 'i'
-                        }
-                      ],
-                      'parent' => {},
-                      'type' => 'brace_command_arg'
-                    }
-                  ],
-                  'cmdname' => 'dotless',
-                  'parent' => {},
-                  'remaining_args' => 0
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => '^',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => ' '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'a'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => '~',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => ' '
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => 'a',
-              'type' => 'space_command_arg'
-            }
-          ],
-          'cmdname' => 'ringaccent',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => '
-'
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'a'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            },
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'b'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'email',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => '
-'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => ' index entry in text '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'LaTeX',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => '
-'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'args' => [
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'majorheading '
-            },
-            {
-              'args' => [
-                {
-                  'contents' => [
-                    {
-                      'parent' => {},
-                      'text' => 'in b'
-                    }
-                  ],
-                  'parent' => {},
-                  'type' => 'brace_command_arg'
-                }
-              ],
-              'cmdname' => 'b',
-              'parent' => {},
-              'remaining_args' => 0
-            },
-            {
-              'parent' => {},
-              'text' => '
-'
-            }
-          ],
-          'parent' => {},
-          'type' => 'misc_line_arg'
-        }
-      ],
-      'cmdname' => 'majorheading',
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'commands'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[2];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[5];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[7];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'args'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[0]{'contents'}[9];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[9]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[10]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[11]{'args'}[0]{'parent'} 
= $result_trees{'commands'}{'contents'}[0]{'contents'}[11];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'parent'} 
= $result_trees{'commands'}{'contents'}[0]{'contents'}[13];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[1];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'args'}[1]{'parent'} 
= $result_trees{'commands'}{'contents'}[0]{'contents'}[13];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[13]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'contents'}[14]{'parent'} = 
$result_trees{'commands'}{'contents'}[0];
-$result_trees{'commands'}{'contents'}[0]{'parent'} = $result_trees{'commands'};
-$result_trees{'commands'}{'contents'}[1]{'parent'} = $result_trees{'commands'};
-$result_trees{'commands'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[2];
-$result_trees{'commands'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[2]{'contents'}[1];
-$result_trees{'commands'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'commands'}{'contents'}[2];
-$result_trees{'commands'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'commands'}{'contents'}[2];
-$result_trees{'commands'}{'contents'}[2]{'parent'} = $result_trees{'commands'};
-$result_trees{'commands'}{'contents'}[3]{'parent'} = $result_trees{'commands'};
-$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0];
-$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1];
-$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0];
-$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'commands'}{'contents'}[4]{'args'}[0];
-$result_trees{'commands'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'commands'}{'contents'}[4];
-$result_trees{'commands'}{'contents'}[4]{'parent'} = $result_trees{'commands'};
-
-$result_texts{'commands'} = '@@ @TeX{} @
-@"e @address@hidden @~{a} @ringaccent a
address@hidden, b}
-
- index entry in text @LaTeX{}
-
address@hidden majorheading @b{in b}
-';
-
-$result_errors{'commands'} = [];
-
-
-
-1;

Index: t/results/coverage_braces.pl
===================================================================
RCS file: t/results/coverage_braces.pl
diff -N t/results/coverage_braces.pl
--- t/results/coverage_braces.pl        23 Sep 2010 23:24:42 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,356 +0,0 @@
-use vars qw(%result_texts %result_trees %result_errors);
-
-################ simple
-$result_trees{'simple'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'in  b'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'b',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => '.'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0]{'contents'}[0];
-$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
-$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
-$result_trees{'simple'}{'contents'}[0]{'parent'} = $result_trees{'simple'};
-
-$result_texts{'simple'} = '@b{in  b}.';
-
-$result_errors{'simple'} = [];
-
-
-################ nested
-$result_trees{'nested'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'type the characters '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'l o g o u t '
-                },
-                {
-                  'args' => [
-                    {
-                      'contents' => [
-                        {
-                          'parent' => {},
-                          'text' => 'RET'
-                        }
-                      ],
-                      'parent' => {},
-                      'type' => 'brace_command_arg'
-                    }
-                  ],
-                  'cmdname' => 'key',
-                  'parent' => {},
-                  'remaining_args' => 0
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'kbd',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => '.'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[1];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
-$result_trees{'nested'}{'contents'}[0]{'parent'} = $result_trees{'nested'};
-
-$result_texts{'nested'} = 'type the characters @kbd{l o g o u t @key{RET}}.';
-
-$result_errors{'nested'} = [];
-
-
-################ nested_args
-$result_trees{'nested_args'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'cmdname' => '@',
-                  'parent' => {}
-                },
-                {
-                  'parent' => {},
-                  'text' => ' '
-                },
-                {
-                  'args' => [
-                    {
-                      'contents' => [
-                        {
-                          'parent' => {},
-                          'text' => 'in samp'
-                        }
-                      ],
-                      'parent' => {},
-                      'type' => 'brace_command_arg'
-                    }
-                  ],
-                  'cmdname' => 'samp',
-                  'parent' => {},
-                  'remaining_args' => 0
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            },
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'descr '
-                },
-                {
-                  'args' => [
-                    {
-                      'contents' => [
-                        {
-                          'parent' => {},
-                          'text' => 'in b'
-                        }
-                      ],
-                      'parent' => {},
-                      'type' => 'brace_command_arg'
-                    }
-                  ],
-                  'cmdname' => 'b',
-                  'parent' => {},
-                  'remaining_args' => 0
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'xref',
-          'parent' => {},
-          'remaining_args' => 3
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'args'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'nested_args'}{'contents'}[0]{'contents'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested_args'}{'contents'}[0];
-$result_trees{'nested_args'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_args'};
-
-$result_texts{'nested_args'} = '@xref{@@ @samp{in samp}, descr @b{in b}}';
-
-$result_errors{'nested_args'} = [];
-
-
-################ too much args
-$result_trees{'too much args'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'AZE'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            },
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'A truc Z b, E eep'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'abbr',
-          'parent' => {},
-          'remaining_args' => 0
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'too much 
args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'too much args'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'too much 
args'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = $result_trees{'too 
much args'}{'contents'}[0]{'contents'}[0];
-$result_trees{'too much 
args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'too much args'}{'contents'}[0]{'contents'}[0]{'args'}[1];
-$result_trees{'too much 
args'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'} = $result_trees{'too 
much args'}{'contents'}[0]{'contents'}[0];
-$result_trees{'too much args'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'too much args'}{'contents'}[0];
-$result_trees{'too much args'}{'contents'}[0]{'parent'} = $result_trees{'too 
much args'};
-
-$result_texts{'too much args'} = '@abbr{AZE, A truc Z b, E eep}';
-
-$result_errors{'too much args'} = [];
-
-
-################ footnote
-$result_trees{'footnote'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'text'
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'contents' => [
-                    {
-                      'parent' => {},
-                      'text' => 'in footnote.
-'
-                    }
-                  ],
-                  'parent' => {},
-                  'type' => 'paragraph'
-                },
-                {
-                  'parent' => {},
-                  'text' => '
-',
-                  'type' => 'normal_line'
-                },
-                {
-                  'contents' => [
-                    {
-                      'args' => [
-                        {
-                          'contents' => [
-                            {
-                              'parent' => {},
-                              'text' => 'in footnote r'
-                            }
-                          ],
-                          'parent' => {},
-                          'type' => 'brace_command_arg'
-                        }
-                      ],
-                      'cmdname' => 'r',
-                      'parent' => {},
-                      'remaining_args' => 0
-                    },
-                    {
-                      'parent' => {},
-                      'text' => '. '
-                    }
-                  ],
-                  'parent' => {},
-                  'type' => 'paragraph'
-                }
-              ],
-              'parent' => {}
-            }
-          ],
-          'cmdname' => 'footnote',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => ' after footnote.'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0]{'contents'}[1];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'footnote'}{'contents'}[0];
-$result_trees{'footnote'}{'contents'}[0]{'parent'} = $result_trees{'footnote'};
-
-$result_texts{'footnote'} = 'address@hidden footnote.
-
address@hidden footnote r}. } after footnote.';
-
-$result_errors{'footnote'} = [];
-
-
-
-1;

Index: t/results/paragraph.pl
===================================================================
RCS file: t/results/paragraph.pl
diff -N t/results/paragraph.pl
--- t/results/paragraph.pl      23 Sep 2010 17:26:41 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,414 +0,0 @@
-use vars qw(%result_texts %result_trees %result_errors);
-
-################ text
-$result_trees{'text'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'text'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'text'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'text'}{'contents'}[0];
-$result_trees{'text'}{'contents'}[0]{'parent'} = $result_trees{'text'};
-
-$result_texts{'text'} = 'text';
-
-$result_errors{'text'} = [];
-
-
-################ text comment
-$result_trees{'text comment'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'text'
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' comment',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'text comment'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'text comment'}{'contents'}[0];
-$result_trees{'text 
comment'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'text comment'}{'contents'}[0]{'contents'}[1];
-$result_trees{'text comment'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'text comment'}{'contents'}[0];
-$result_trees{'text comment'}{'contents'}[0]{'parent'} = $result_trees{'text 
comment'};
-
-$result_texts{'text comment'} = 'address@hidden comment';
-
-$result_errors{'text comment'} = [];
-
-
-################ text space comment
-$result_trees{'text space comment'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => ' text  '
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' space comment',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'text space comment'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'text space comment'}{'contents'}[0];
-$result_trees{'text space 
comment'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'text space comment'}{'contents'}[0]{'contents'}[1];
-$result_trees{'text space comment'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'text space comment'}{'contents'}[0];
-$result_trees{'text space comment'}{'contents'}[0]{'parent'} = 
$result_trees{'text space comment'};
-
-$result_texts{'text space comment'} = ' text  @c space comment';
-
-$result_errors{'text space comment'} = [];
-
-
-################ text line
-$result_trees{'text line'} = {
-  'contents' => [
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'text
-'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    }
-  ]
-};
-$result_trees{'text line'}{'contents'}[0]{'parent'} = $result_trees{'text 
line'};
-$result_trees{'text line'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'text line'}{'contents'}[1];
-$result_trees{'text line'}{'contents'}[1]{'parent'} = $result_trees{'text 
line'};
-$result_trees{'text line'}{'contents'}[2]{'parent'} = $result_trees{'text 
line'};
-
-$result_texts{'text line'} = '
-text
-
-';
-
-$result_errors{'text line'} = [];
-
-
-################ comment between text
-$result_trees{'comment between text'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'text
-'
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' comment
-',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => 'end para'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'comment between text'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'comment between text'}{'contents'}[0];
-$result_trees{'comment between 
text'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'comment between text'}{'contents'}[0]{'contents'}[1];
-$result_trees{'comment between text'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'comment between text'}{'contents'}[0];
-$result_trees{'comment between text'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'comment between text'}{'contents'}[0];
-$result_trees{'comment between text'}{'contents'}[0]{'parent'} = 
$result_trees{'comment between text'};
-
-$result_texts{'comment between text'} = 'text
address@hidden comment
-end para';
-
-$result_errors{'comment between text'} = [];
-
-
-################ two lines
-$result_trees{'two lines'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'text l 1
-'
-        },
-        {
-          'parent' => {},
-          'text' => 'text l 2
-'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'two lines'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'two lines'}{'contents'}[0];
-$result_trees{'two lines'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'two lines'}{'contents'}[0];
-$result_trees{'two lines'}{'contents'}[0]{'parent'} = $result_trees{'two 
lines'};
-
-$result_texts{'two lines'} = 'text l 1
-text l 2
-';
-
-$result_errors{'two lines'} = [];
-
-
-################ no paragraph commands
-$result_trees{'no paragraph commands'} = {
-  'contents' => [
-    {
-      'cmdname' => '*',
-      'parent' => {}
-    },
-    {
-      'parent' => {},
-      'text' => '
-'
-    },
-    {
-      'args' => [
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'title font'
-            }
-          ],
-          'parent' => {},
-          'type' => 'brace_command_arg'
-        }
-      ],
-      'cmdname' => 'titlefont',
-      'parent' => {},
-      'remaining_args' => 0
-    },
-    {
-      'parent' => {},
-      'text' => '
-'
-    },
-    {
-      'args' => [
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'aa'
-            }
-          ],
-          'parent' => {},
-          'type' => 'brace_command_arg'
-        },
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'bb'
-            }
-          ],
-          'parent' => {},
-          'type' => 'brace_command_arg'
-        },
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'cc'
-            }
-          ],
-          'parent' => {},
-          'type' => 'brace_command_arg'
-        },
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'dd'
-            }
-          ],
-          'parent' => {},
-          'type' => 'brace_command_arg'
-        },
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'ee'
-            }
-          ],
-          'parent' => {},
-          'type' => 'brace_command_arg'
-        }
-      ],
-      'cmdname' => 'image',
-      'parent' => {},
-      'remaining_args' => 0
-    },
-    {
-      'parent' => {},
-      'text' => '
-'
-    }
-  ]
-};
-$result_trees{'no paragraph commands'}{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'};
-$result_trees{'no paragraph commands'}{'contents'}[1]{'parent'} = 
$result_trees{'no paragraph commands'};
-$result_trees{'no paragraph 
commands'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[2]{'args'}[0];
-$result_trees{'no paragraph commands'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[2];
-$result_trees{'no paragraph commands'}{'contents'}[2]{'parent'} = 
$result_trees{'no paragraph commands'};
-$result_trees{'no paragraph commands'}{'contents'}[3]{'parent'} = 
$result_trees{'no paragraph commands'};
-$result_trees{'no paragraph 
commands'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[0];
-$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4];
-$result_trees{'no paragraph 
commands'}{'contents'}[4]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[1];
-$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[1]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4];
-$result_trees{'no paragraph 
commands'}{'contents'}[4]{'args'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[2];
-$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[2]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4];
-$result_trees{'no paragraph 
commands'}{'contents'}[4]{'args'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[3];
-$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[3]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4];
-$result_trees{'no paragraph 
commands'}{'contents'}[4]{'args'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[4];
-$result_trees{'no paragraph commands'}{'contents'}[4]{'args'}[4]{'parent'} = 
$result_trees{'no paragraph commands'}{'contents'}[4];
-$result_trees{'no paragraph commands'}{'contents'}[4]{'parent'} = 
$result_trees{'no paragraph commands'};
-$result_trees{'no paragraph commands'}{'contents'}[5]{'parent'} = 
$result_trees{'no paragraph commands'};
-
-$result_texts{'no paragraph commands'} = '@*
address@hidden font}
address@hidden, bb, cc, dd, ee}
-';
-
-$result_errors{'no paragraph commands'} = [];
-
-
-################ paragraph command
-$result_trees{'paragraph command'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'cmdname' => '@',
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => '
-'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'aaa'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'b',
-          'parent' => {},
-          'remaining_args' => 0
-        },
-        {
-          'parent' => {},
-          'text' => '.
-'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'paragraph command'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'paragraph command'}{'contents'}[0];
-$result_trees{'paragraph command'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'paragraph command'}{'contents'}[0];
-$result_trees{'paragraph command'}{'contents'}[0]{'parent'} = 
$result_trees{'paragraph command'};
-$result_trees{'paragraph command'}{'contents'}[1]{'parent'} = 
$result_trees{'paragraph command'};
-$result_trees{'paragraph 
command'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'paragraph command'}{'contents'}[2]{'contents'}[0]{'args'}[0];
-$result_trees{'paragraph 
command'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'paragraph command'}{'contents'}[2]{'contents'}[0];
-$result_trees{'paragraph command'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'paragraph command'}{'contents'}[2];
-$result_trees{'paragraph command'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'paragraph command'}{'contents'}[2];
-$result_trees{'paragraph command'}{'contents'}[2]{'parent'} = 
$result_trees{'paragraph command'};
-
-$result_texts{'paragraph command'} = '@@
-
address@hidden
-';
-
-$result_errors{'paragraph command'} = [];
-
-
-
-1;

Index: t/results/raw.pl
===================================================================
RCS file: t/results/raw.pl
diff -N t/results/raw.pl
--- t/results/raw.pl    23 Sep 2010 20:14:14 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,312 +0,0 @@
-use vars qw(%result_texts %result_trees %result_errors);
-
-################ nested macros
-$result_trees{'nested macros'} = {
-  'contents' => [
-    {
-      'args' => [
-        {
-          'parent' => {},
-          'text' => 'truc',
-          'type' => 'macro_arg_name'
-        },
-        {
-          'parent' => {},
-          'text' => '{ arg,  ex}',
-          'type' => 'macro_arg_args'
-        }
-      ],
-      'cmdname' => 'macro',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'in macro \\arg\\
-',
-          'type' => 'raw'
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => 'othermacro',
-              'type' => 'macro_arg_name'
-            },
-            {
-              'parent' => {},
-              'text' => '',
-              'type' => 'macro_arg_args'
-            }
-          ],
-          'cmdname' => 'macro',
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'other macro
-',
-              'type' => 'raw'
-            }
-          ],
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => '@macro
-',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'nested macros'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0];
-$result_trees{'nested macros'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0];
-$result_trees{'nested macros'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0];
-$result_trees{'nested 
macros'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0]{'contents'}[1];
-$result_trees{'nested 
macros'}{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0]{'contents'}[1];
-$result_trees{'nested 
macros'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0]{'contents'}[1];
-$result_trees{'nested macros'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0];
-$result_trees{'nested macros'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'nested macros'}{'contents'}[0];
-$result_trees{'nested macros'}{'contents'}[0]{'parent'} = 
$result_trees{'nested macros'};
-
-$result_texts{'nested macros'} = '@macro truc { arg,  ex}
-in macro \arg\
address@hidden othermacro 
-other macro
address@hidden macro
address@hidden
address@hidden macro
-';
-
-$result_errors{'nested macros'} = [];
-
-
-################ misc raw
-$result_trees{'misc raw'} = {
-  'contents' => [
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'cmdname' => 'html',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'in html ',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'cmdname' => 'tex',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'in tex
-',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'cmdname' => 'verbatim',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'in verbatim
-',
-          'type' => 'raw'
-        },
-        {
-          'parent' => {},
-          'text' => 'in verbatim2
-',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'misc raw'}{'contents'}[0]{'parent'} = $result_trees{'misc raw'};
-$result_trees{'misc raw'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'misc raw'}{'contents'}[1];
-$result_trees{'misc raw'}{'contents'}[1]{'parent'} = $result_trees{'misc raw'};
-$result_trees{'misc raw'}{'contents'}[2]{'parent'} = $result_trees{'misc raw'};
-$result_trees{'misc raw'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'misc raw'}{'contents'}[3];
-$result_trees{'misc raw'}{'contents'}[3]{'parent'} = $result_trees{'misc raw'};
-$result_trees{'misc raw'}{'contents'}[4]{'parent'} = $result_trees{'misc raw'};
-$result_trees{'misc raw'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'misc raw'}{'contents'}[5];
-$result_trees{'misc raw'}{'contents'}[5]{'contents'}[1]{'parent'} = 
$result_trees{'misc raw'}{'contents'}[5];
-$result_trees{'misc raw'}{'contents'}[5]{'parent'} = $result_trees{'misc raw'};
-
-$result_texts{'misc raw'} = '
address@hidden
-in html @end html
-
address@hidden
-in tex
address@hidden tex
-
address@hidden
-in verbatim
-in verbatim2
address@hidden verbatim
-';
-
-$result_errors{'misc raw'} = [];
-
-
-################ misc raw comments
-$result_trees{'misc raw comments'} = {
-  'contents' => [
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'cmdname' => 'html',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => '@c comment space
-',
-          'type' => 'raw'
-        },
-        {
-          'parent' => {},
-          'text' => 'in html ',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    },
-    {
-      'args' => [
-        {
-          'parent' => {},
-          'text' => ' comment no space
-',
-          'type' => 'misc_arg'
-        }
-      ],
-      'cmdname' => 'c',
-      'parent' => {}
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'cmdname' => 'tex',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'in tex
-',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    },
-    {
-      'parent' => {},
-      'text' => '    '
-    },
-    {
-      'args' => [
-        {
-          'parent' => {},
-          'text' => ' comment after end tex
-',
-          'type' => 'misc_arg'
-        }
-      ],
-      'cmdname' => 'c',
-      'parent' => {}
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'cmdname' => 'verbatim',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'in verbatim @c in verbatim
-',
-          'type' => 'raw'
-        },
-        {
-          'parent' => {},
-          'text' => 'in verbatim2
-',
-          'type' => 'raw'
-        }
-      ],
-      'parent' => {}
-    }
-  ]
-};
-$result_trees{'misc raw comments'}{'contents'}[0]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[1];
-$result_trees{'misc raw comments'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[1];
-$result_trees{'misc raw comments'}{'contents'}[1]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[2];
-$result_trees{'misc raw comments'}{'contents'}[2]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[3]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[4];
-$result_trees{'misc raw comments'}{'contents'}[4]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[5]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[6]{'args'}[0]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[6];
-$result_trees{'misc raw comments'}{'contents'}[6]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[7]{'parent'} = 
$result_trees{'misc raw comments'};
-$result_trees{'misc raw comments'}{'contents'}[8]{'contents'}[0]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[8];
-$result_trees{'misc raw comments'}{'contents'}[8]{'contents'}[1]{'parent'} = 
$result_trees{'misc raw comments'}{'contents'}[8];
-$result_trees{'misc raw comments'}{'contents'}[8]{'parent'} = 
$result_trees{'misc raw comments'};
-
-$result_texts{'misc raw comments'} = '
address@hidden
address@hidden comment space
-in html @end html
address@hidden comment no space
-
address@hidden
-in tex
address@hidden tex
-    @c comment after end tex
-
address@hidden
-in verbatim @c in verbatim
-in verbatim2
address@hidden verbatim
-';
-
-$result_errors{'misc raw comments'} = [];
-
-
-
-1;

Index: t/results/verb.pl
===================================================================
RCS file: t/results/verb.pl
diff -N t/results/verb.pl
--- t/results/verb.pl   24 Sep 2010 21:38:57 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,379 +0,0 @@
-use vars qw(%result_texts %result_trees %result_errors);
-
-################ simple
-$result_trees{'simple'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => '  }   .  ',
-                  'type' => 'raw'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'verb',
-          'parent' => {},
-          'remaining_args' => 0,
-          'type' => '.'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0]{'contents'}[0];
-$result_trees{'simple'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
-$result_trees{'simple'}{'contents'}[0]{'parent'} = $result_trees{'simple'};
-
-$result_texts{'simple'} = '@verb{.  }   .  .}';
-
-$result_errors{'simple'} = [];
-
-
-################ multiline
-$result_trees{'multiline'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => '
-',
-                  'type' => 'raw'
-                },
-                {
-                  'parent' => {},
-                  'text' => 'qdsqsddqsdsq
-',
-                  'type' => 'raw'
-                },
-                {
-                  'parent' => {},
-                  'text' => '
-',
-                  'type' => 'raw'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'verb',
-          'parent' => {},
-          'remaining_args' => 0,
-          'type' => '@'
-        },
-        {
-          'parent' => {},
-          'text' => 'after verb.'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} 
= $result_trees{'multiline'}{'contents'}[0]{'contents'}[0];
-$result_trees{'multiline'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'multiline'}{'contents'}[0];
-$result_trees{'multiline'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'multiline'}{'contents'}[0];
-$result_trees{'multiline'}{'contents'}[0]{'parent'} = 
$result_trees{'multiline'};
-
-$result_texts{'multiline'} = '@verb{@
-qdsqsddqsdsq
-
address@hidden verb.';
-
-$result_errors{'multiline'} = [];
-
-
-################ nested
-$result_trees{'nested'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => 'in b '
-                },
-                {
-                  'args' => [
-                    {
-                      'contents' => [
-                        {
-                          'parent' => {},
-                          'text' => ' in verb { } ',
-                          'type' => 'raw'
-                        }
-                      ],
-                      'parent' => {},
-                      'type' => 'brace_command_arg'
-                    }
-                  ],
-                  'cmdname' => 'verb',
-                  'parent' => {},
-                  'remaining_args' => 0,
-                  'type' => '/'
-                },
-                {
-                  'parent' => {},
-                  'text' => ' in b end'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'b',
-          'parent' => {},
-          'remaining_args' => 0
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0]{'contents'}[0];
-$result_trees{'nested'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested'}{'contents'}[0];
-$result_trees{'nested'}{'contents'}[0]{'parent'} = $result_trees{'nested'};
-
-$result_texts{'nested'} = '@b{in b @verb{/ in verb { } /} in b end}';
-
-$result_errors{'nested'} = [];
-
-
-################ comments
-$result_trees{'comments'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => ' comment @c comment
-',
-                  'type' => 'raw'
-                },
-                {
-                  'parent' => {},
-                  'text' => 'in a verb ',
-                  'type' => 'raw'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'verb',
-          'parent' => {},
-          'remaining_args' => 0,
-          'type' => 'a'
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' comment
-',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    },
-    {
-      'parent' => {},
-      'text' => '
-',
-      'type' => 'normal_line'
-    },
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'something '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => ' in verb',
-                  'type' => 'raw'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'verb',
-          'parent' => {},
-          'remaining_args' => 0,
-          'type' => ','
-        },
-        {
-          'parent' => {},
-          'text' => ' '
-        },
-        {
-          'args' => [
-            {
-              'parent' => {},
-              'text' => ' other comment',
-              'type' => 'misc_arg'
-            }
-          ],
-          'cmdname' => 'c',
-          'parent' => {}
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[0]{'contents'}[0];
-$result_trees{'comments'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[0];
-$result_trees{'comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[0]{'contents'}[1];
-$result_trees{'comments'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'comments'}{'contents'}[0];
-$result_trees{'comments'}{'contents'}[0]{'parent'} = $result_trees{'comments'};
-$result_trees{'comments'}{'contents'}[1]{'parent'} = $result_trees{'comments'};
-$result_trees{'comments'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
-$result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'args'}[0];
-$result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[2]{'contents'}[1];
-$result_trees{'comments'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
-$result_trees{'comments'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
-$result_trees{'comments'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'comments'}{'contents'}[2]{'contents'}[3];
-$result_trees{'comments'}{'contents'}[2]{'contents'}[3]{'parent'} = 
$result_trees{'comments'}{'contents'}[2];
-$result_trees{'comments'}{'contents'}[2]{'parent'} = $result_trees{'comments'};
-
-$result_texts{'comments'} = '@verb{a comment @c comment
-in a verb address@hidden comment
-
-something @verb{, in verb,} @c other comment';
-
-$result_errors{'comments'} = [];
-
-
-################ end_of_line
-$result_trees{'end_of_line'} = {
-  'contents' => [
-    {
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => 'verb at end of line '
-        },
-        {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'parent' => {},
-                  'text' => '
-',
-                  'type' => 'raw'
-                },
-                {
-                  'parent' => {},
-                  'text' => '
-',
-                  'type' => 'raw'
-                },
-                {
-                  'parent' => {},
-                  'text' => '@{ in verb at end of line @c comment
-',
-                  'type' => 'raw'
-                },
-                {
-                  'parent' => {},
-                  'text' => 'and now end',
-                  'type' => 'raw'
-                }
-              ],
-              'parent' => {},
-              'type' => 'brace_command_arg'
-            }
-          ],
-          'cmdname' => 'verb',
-          'parent' => {},
-          'remaining_args' => 0,
-          'type' => ''
-        },
-        {
-          'parent' => {},
-          'text' => 'after end.'
-        }
-      ],
-      'parent' => {},
-      'type' => 'paragraph'
-    }
-  ]
-};
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'end_of_line'}{'contents'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'end_of_line'}{'contents'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'end_of_line'}{'contents'}[0];
-$result_trees{'end_of_line'}{'contents'}[0]{'parent'} = 
$result_trees{'end_of_line'};
-
-$result_texts{'end_of_line'} = 'verb at end of line @verb{
-
address@hidden in verb at end of line @c comment
-and now end}after end.';
-
-$result_errors{'end_of_line'} = [
-  {
-    'error_line' => ':1: @verb without associated character
-',
-    'file_name' => '',
-    'line_nr' => 1,
-    'macro' => '',
-    'text' => '@verb without associated character',
-    'type' => 'error'
-  }
-];
-
-
-
-1;



reply via email to

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