texinfo-commits
[Top][All Lists]
Advanced

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

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


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

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/23 17:33:24

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
        tp/t           : 02coverage.t 03coverage_braces.t 19def.t 
        tp/t/results/coverage: def.pl 
        tp/t/results/coverage_braces: no_brace.pl 
Added files:
        tp/t           : 25regions.t 
        tp/t/results/coverage_braces: anchor_not_closed.pl 
                                      empty_line_in_anchor.pl 
                                      footnote_not_closed.pl 
                                      no_brace_space_end_line.pl 
        tp/t/results/def: def_defx_mismatch.pl defx_after_comment.pl 
                          defx_after_empty_line.pl 
                          defx_after_paragraph_end.pl defx_after_text.pl 
        tp/t/results/regions: copying_not_closed.pl double_copying.pl 

Log message:
        Verify that a def*x is right after the corresponding @def*.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.95&r2=1.96
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/02coverage.t?cvsroot=texinfo&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/03coverage_braces.t?cvsroot=texinfo&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/19def.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/25regions.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/def.pl?cvsroot=texinfo&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/no_brace.pl?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/anchor_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/empty_line_in_anchor.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/footnote_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/no_brace_space_end_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/def_defx_mismatch.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/defx_after_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/defx_after_empty_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/defx_after_paragraph_end.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/defx_after_text.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/regions/copying_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/regions/double_copying.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- TODO        23 Oct 2010 15:36:53 -0000      1.31
+++ TODO        23 Oct 2010 17:33:22 -0000      1.32
@@ -25,6 +25,9 @@
 dotless:
 "%c%s expects `i' or `j' as argument, not `%s'"
 
+no warning in 
+t/25regions.t double_copying
+
 Texinfo::Convert::Text
 @c in menu lines (and maybe at other places) should be replaced by 
 \n and not eat the end of line.
@@ -67,3 +70,7 @@
 invalid/caption_not_closed.texi
 invalid/code_not_closed_no_newline.texi
 invalid/code_not_closed.texi 
+invalid/commands_not_closed.texi (but maybe still things to test)
+invalid/command_without_open_brace.texi
+invalid/copying_not_closed.texi
+invalid/def_bad_defx_command.texi

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -b -r1.95 -r1.96
--- Texinfo/Parser.pm   23 Oct 2010 15:36:53 -0000      1.95
+++ Texinfo/Parser.pm   23 Oct 2010 17:33:22 -0000      1.96
@@ -2419,9 +2419,21 @@
               if ($def_commands{$command}) {
                 my $base_command = $command;
                 $base_command =~ s/x$//;
+                # check that the def*x is first after @def*, no paragraph
+                # in-between.
+                my $after_paragraph = 0;
+                if ($current->{'contents'}) {
+                  foreach my $content (@{$current->{'contents'}}) {
+                    if ($content->{'type'} and $content->{'type'} eq 
'paragraph') {
+                      $after_paragraph = 1;
+                      last;
+                    }
+                  }
+                }
                 if (!$current->{'cmdname'} 
-                     or $current->{'cmdname'} ne $base_command) {
-                  $self->_line_error(sprintf($self->__("Must be in 
address@hidden' environment to use address@hidden'"), $base_command, $command), 
$line_nr);
+                     or $current->{'cmdname'} ne $base_command
+                     or $after_paragraph) {
+                  $self->_line_error(sprintf($self->__("Must be after 
address@hidden' to use address@hidden'"), $base_command, $command), $line_nr);
                 }
                 push @{$self->{'context_stack'}}, 'def';
                 $current->{'contents'}->[-1]->{'type'} = 'def_line';

Index: t/02coverage.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/02coverage.t,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- t/02coverage.t      23 Oct 2010 16:11:00 -0000      1.19
+++ t/02coverage.t      23 Oct 2010 17:33:22 -0000      1.20
@@ -157,11 +157,10 @@
 @deffnx{truc} machin
 @deffnx {truc} followed by a comment
 @c comment
-Various deff lines
 @deffnx {truc} after a deff item
 @c comment
-text in def item for second def item
 @deffnx {truc} deffnx before end deffn
+Various deff lines
 @end deffn
 '],
 ['nested_block_commands',

Index: t/03coverage_braces.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/03coverage_braces.t,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- t/03coverage_braces.t       23 Oct 2010 15:36:53 -0000      1.7
+++ t/03coverage_braces.t       23 Oct 2010 17:33:23 -0000      1.8
@@ -10,7 +10,12 @@
 ['footnote', 'address@hidden footnote.
 
 @r{in footnote r}. } after footnote.'],
-['no_brace', '@TeX and @code code'],
+['no_brace', '@TeX and @code code and @footnote footnote '],
+['no_brace_space_end_line',
+'@code {c}.
+
address@hidden
+Arg.'],
 ['space_in_footnote','address@hidden in footnote.}'],
 ['footnote_ending_on_empty_line','address@hidden in footnote.
 
@@ -31,8 +36,21 @@
 
 @bye
 '],
-['code_not_closed','@code{in code']
+['code_not_closed','@code{in code'],
+['empty_line_in_anchor',
+'@anchor{an
+
+anchor}
+'],
+['anchor_not_closed',
+'@anchor{my anchor
+
+'],
+['footnote_not_closed',
+'address@hidden in footnote
 
+Second paragraph.
+']
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/19def.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/19def.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/19def.t   23 Oct 2010 15:36:53 -0000      1.3
+++ t/19def.t   23 Oct 2010 17:33:23 -0000      1.4
@@ -92,6 +92,35 @@
 @deffnx empty deffnx
 @end deffn
 '],
+['def_defx_mismatch',
+'@defun {my def} args @var{arg} @dots{}
address@hidden {type} {name} and now the args
+
+In defun.
+
address@hidden defun
+'],
+['defx_after_comment',
+'@deffn fset @var{i} a g
address@hidden comment
address@hidden {truc} bidulr machin...
address@hidden deffn'],
+['defx_after_text',
+'@deffn fset @var{i} a g
+Text in deffn
address@hidden {truc} bidulr machin...
address@hidden deffn'],
+['defx_after_empty_line',
+'@deffn fset @var{i} a g
+
address@hidden {truc} bidulr machin...
address@hidden deffn'],
+['defx_after_paragraph_end',
+'@deffn fset @var{i} a g
+Text in paragraph.
+
address@hidden {truc} bidulr machin...
address@hidden deffn'],
 ['end_of_line_protect_at_end',
 '
 @deffn category2 deffn_name2 arguments2 @'],

Index: t/results/coverage/def.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/coverage/def.pl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- t/results/coverage/def.pl   21 Oct 2010 22:16:40 -0000      1.12
+++ t/results/coverage/def.pl   23 Oct 2010 17:33:24 -0000      1.13
@@ -1120,13 +1120,6 @@
           'parent' => {}
         },
         {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'Various deff lines
-'
-            },
-            {
               'args' => [
                 {
                   'contents' => [
@@ -1233,11 +1226,6 @@
               'parent' => {}
             },
             {
-              'parent' => {},
-              'text' => 'text in def item for second def item
-'
-            },
-            {
               'args' => [
                 {
                   'contents' => [
@@ -1330,6 +1318,13 @@
                 'def_command' => 'deffn'
               },
               'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Various deff lines
+'
             }
           ],
           'parent' => {},
@@ -1475,25 +1470,24 @@
 
$result_trees{'def'}{'contents'}[7]{'contents'}[10]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[10]{'args'}[0]{'contents'}[1];
 $result_trees{'def'}{'contents'}[7]{'contents'}[11]{'args'}[0]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[11];
 $result_trees{'def'}{'contents'}[7]{'contents'}[11]{'parent'} = 
$result_trees{'def'}{'contents'}[7];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[0]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[1];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[1];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[2];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[2]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[3]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[1];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12];
-$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0];
+$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'contents'}[1];
+$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0];
+$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0];
+$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12];
 $result_trees{'def'}{'contents'}[7]{'contents'}[12]{'parent'} = 
$result_trees{'def'}{'contents'}[7];
+$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[12]{'args'}[0]{'contents'}[1];
+$result_trees{'def'}{'contents'}[7]{'contents'}[13]{'args'}[0]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[13];
+$result_trees{'def'}{'contents'}[7]{'contents'}[13]{'parent'} = 
$result_trees{'def'}{'contents'}[7];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'contents'}[1];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[14];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'parent'} = 
$result_trees{'def'}{'contents'}[7];
+$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'def'}{'contents'}[7]{'contents'}[14]{'args'}[0]{'contents'}[1];
+$result_trees{'def'}{'contents'}[7]{'contents'}[15]{'contents'}[0]{'parent'} = 
$result_trees{'def'}{'contents'}[7]{'contents'}[15];
+$result_trees{'def'}{'contents'}[7]{'contents'}[15]{'parent'} = 
$result_trees{'def'}{'contents'}[7];
 $result_trees{'def'}{'contents'}[7]{'parent'} = $result_trees{'def'};
 $result_trees{'def'}{'contents'}[8]{'parent'} = $result_trees{'def'};
 
@@ -1518,11 +1512,10 @@
 @deffnx{truc} machin
 @deffnx {truc} followed by a comment
 @c comment
-Various deff lines
 @deffnx {truc} after a deff item
 @c comment
-text in def item for second def item
 @deffnx {truc} deffnx before end deffn
+Various deff lines
 @end deffn
 ';
 
@@ -1533,28 +1526,8 @@
 def--fn
 
 Various deff lines
-text in def item for second def item
 ';
 
-$result_errors{'def'} = [
-  {
-    'error_line' => ':24: Must be in address@hidden' environment to use 
address@hidden'
-',
-    'file_name' => '',
-    'line_nr' => 24,
-    'macro' => '',
-    'text' => 'Must be in address@hidden' environment to use address@hidden'',
-    'type' => 'error'
-  },
-  {
-    'error_line' => ':27: Must be in address@hidden' environment to use 
address@hidden'
-',
-    'file_name' => '',
-    'line_nr' => 27,
-    'macro' => '',
-    'text' => 'Must be in address@hidden' environment to use address@hidden'',
-    'type' => 'error'
-  }
-];
+$result_errors{'def'} = [];
 
 

Index: t/results/coverage_braces/no_brace.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/coverage_braces/no_brace.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/results/coverage_braces/no_brace.pl       21 Oct 2010 22:16:41 -0000      
1.5
+++ t/results/coverage_braces/no_brace.pl       23 Oct 2010 17:33:24 -0000      
1.6
@@ -20,7 +20,16 @@
         },
         {
           'parent' => {},
-          'text' => ' code'
+          'text' => ' code and '
+        },
+        {
+          'cmdname' => 'footnote',
+          'contents' => [],
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ' footnote '
         }
       ],
       'parent' => {},
@@ -33,12 +42,14 @@
 $result_trees{'no_brace'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'no_brace'}{'contents'}[0];
 $result_trees{'no_brace'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'no_brace'}{'contents'}[0];
 $result_trees{'no_brace'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'no_brace'}{'contents'}[0];
+$result_trees{'no_brace'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'no_brace'}{'contents'}[0];
+$result_trees{'no_brace'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'no_brace'}{'contents'}[0];
 $result_trees{'no_brace'}{'contents'}[0]{'parent'} = $result_trees{'no_brace'};
 
-$result_texis{'no_brace'} = '@TeX and @code code';
+$result_texis{'no_brace'} = '@TeX and @code code and @footnote footnote ';
 
 
-$result_texts{'no_brace'} = 'TeX and  code';
+$result_texts{'no_brace'} = 'TeX and  code and  footnote ';
 
 $result_errors{'no_brace'} = [
   {
@@ -58,6 +69,15 @@
     'macro' => '',
     'text' => '@code expected braces',
     'type' => 'error'
+  },
+  {
+    'error_line' => ':1: @footnote expected braces
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@footnote expected braces',
+    'type' => 'error'
   }
 ];
 

Index: t/25regions.t
===================================================================
RCS file: t/25regions.t
diff -N t/25regions.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/25regions.t       23 Oct 2010 17:33:23 -0000      1.1
@@ -0,0 +1,28 @@
+use strict;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+['copying_not_closed',
+'@copying
+
+This is a copyright notice
+'],
+['double_copying',
+'@copying
+
+This is a copyright notice
+
address@hidden
+And a second one (?)
address@hidden copying
address@hidden copying
+']
+
+);
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('regions', address@hidden, $arg_test_case,
+   $arg_generate, $arg_debug);
+

Index: t/results/coverage_braces/anchor_not_closed.pl
===================================================================
RCS file: t/results/coverage_braces/anchor_not_closed.pl
diff -N t/results/coverage_braces/anchor_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/anchor_not_closed.pl      23 Oct 2010 17:33:24 
-0000      1.1
@@ -0,0 +1,63 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'anchor_not_closed'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'my anchor
+'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'anchor',
+          'contents' => [],
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0];
+$result_trees{'anchor_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'anchor_not_closed'}{'contents'}[0];
+$result_trees{'anchor_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'anchor_not_closed'};
+
+$result_texis{'anchor_not_closed'} = '@anchor{my anchor
+
+}';
+
+
+$result_texts{'anchor_not_closed'} = '';
+
+$result_errors{'anchor_not_closed'} = [
+  {
+    'error_line' => ':2: @anchor missing close brace
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@anchor missing close brace',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/coverage_braces/empty_line_in_anchor.pl
===================================================================
RCS file: t/results/coverage_braces/empty_line_in_anchor.pl
diff -N t/results/coverage_braces/empty_line_in_anchor.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/empty_line_in_anchor.pl   23 Oct 2010 17:33:24 
-0000      1.1
@@ -0,0 +1,87 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'empty_line_in_anchor'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'an
+'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'anchor',
+          'contents' => [],
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'anchor
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'empty_line_in_anchor'}{'contents'}[0];
+$result_trees{'empty_line_in_anchor'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_line_in_anchor'};
+$result_trees{'empty_line_in_anchor'}{'contents'}[1]{'contents'}[0]{'parent'} 
= $result_trees{'empty_line_in_anchor'}{'contents'}[1];
+$result_trees{'empty_line_in_anchor'}{'contents'}[1]{'parent'} = 
$result_trees{'empty_line_in_anchor'};
+
+$result_texis{'empty_line_in_anchor'} = '@anchor{an
+
+}anchor
+';
+
+
+$result_texts{'empty_line_in_anchor'} = 'anchor
+';
+
+$result_errors{'empty_line_in_anchor'} = [
+  {
+    'error_line' => ':2: @anchor missing close brace
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@anchor missing close brace',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':3: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/coverage_braces/footnote_not_closed.pl
===================================================================
RCS file: t/results/coverage_braces/footnote_not_closed.pl
diff -N t/results/coverage_braces/footnote_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/footnote_not_closed.pl    23 Oct 2010 17:33:24 
-0000      1.1
@@ -0,0 +1,93 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'footnote_not_closed'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'AAA'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in footnote
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'Second paragraph.
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'cmdname' => 'footnote',
+          'contents' => [],
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'footnote_not_closed'}{'contents'}[0];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'footnote_not_closed'}{'contents'}[0];
+$result_trees{'footnote_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'footnote_not_closed'};
+
+$result_texis{'footnote_not_closed'} = 'address@hidden in footnote
+
+Second paragraph.
+}';
+
+
+$result_texts{'footnote_not_closed'} = 'AAA';
+
+$result_errors{'footnote_not_closed'} = [
+  {
+    'error_line' => ':3: @footnote missing close brace
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => '@footnote missing close brace',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/coverage_braces/no_brace_space_end_line.pl
===================================================================
RCS file: t/results/coverage_braces/no_brace_space_end_line.pl
diff -N t/results/coverage_braces/no_brace_space_end_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/no_brace_space_end_line.pl        23 Oct 2010 
17:33:24 -0000      1.1
@@ -0,0 +1,109 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'no_brace_space_end_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'cmdname' => 'code',
+          'contents' => [],
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ' c.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'cmdname' => 'code',
+          'contents' => [],
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        },
+        {
+          'parent' => {},
+          'text' => 'Arg.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'no_brace_space_end_line'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_brace_space_end_line'}{'contents'}[0];
+$result_trees{'no_brace_space_end_line'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'no_brace_space_end_line'}{'contents'}[0];
+$result_trees{'no_brace_space_end_line'}{'contents'}[0]{'parent'} = 
$result_trees{'no_brace_space_end_line'};
+$result_trees{'no_brace_space_end_line'}{'contents'}[1]{'parent'} = 
$result_trees{'no_brace_space_end_line'};
+$result_trees{'no_brace_space_end_line'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'no_brace_space_end_line'}{'contents'}[2];
+$result_trees{'no_brace_space_end_line'}{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'no_brace_space_end_line'}{'contents'}[2];
+$result_trees{'no_brace_space_end_line'}{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'no_brace_space_end_line'}{'contents'}[2];
+$result_trees{'no_brace_space_end_line'}{'contents'}[2]{'parent'} = 
$result_trees{'no_brace_space_end_line'};
+
+$result_texis{'no_brace_space_end_line'} = '@code c.
+
address@hidden
+Arg.';
+
+
+$result_texts{'no_brace_space_end_line'} = ' c.
+
+
+Arg.';
+
+$result_errors{'no_brace_space_end_line'} = [
+  {
+    'error_line' => ':1: @code expected braces
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@code expected braces',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':1: Misplaced {
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'Misplaced {',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':1: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':3: @code expected braces
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => '@code expected braces',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/def/def_defx_mismatch.pl
===================================================================
RCS file: t/results/def/def_defx_mismatch.pl
diff -N t/results/def/def_defx_mismatch.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/def_defx_mismatch.pl  23 Oct 2010 17:33:24 -0000      1.1
@@ -0,0 +1,348 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'def_defx_mismatch'} = {
+  'contents' => [
+    {
+      'cmdname' => 'defun',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my def'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' args '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'arg'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'var',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'dots',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'Function'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'defun'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'name'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' and now the args
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'now'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'the'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'In defun.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[5];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'def_defx_mismatch'}{'contents'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[6][1]
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[8][1]
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[5];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'def_defx_mismatch'}{'contents'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'def_defx_mismatch'}{'contents'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[3];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'def_defx_mismatch'}{'contents'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'def_defx_mismatch'}{'contents'}[0];
+$result_trees{'def_defx_mismatch'}{'contents'}[0]{'parent'} = 
$result_trees{'def_defx_mismatch'};
+$result_trees{'def_defx_mismatch'}{'contents'}[1]{'parent'} = 
$result_trees{'def_defx_mismatch'};
+
+$result_texis{'def_defx_mismatch'} = '@defun {my def} args @var{arg} @dots{}
address@hidden {type} {name} and now the args
+
+In defun.
+
address@hidden defun
+';
+
+
+$result_texts{'def_defx_mismatch'} = '
+In defun.
+
+';
+
+$result_errors{'def_defx_mismatch'} = [
+  {
+    'error_line' => ':2: Must be after address@hidden' to use address@hidden'
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => 'Must be after address@hidden' to use address@hidden'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/def/defx_after_comment.pl
===================================================================
RCS file: t/results/def/defx_after_comment.pl
diff -N t/results/def/defx_after_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/defx_after_comment.pl 23 Oct 2010 17:33:24 -0000      1.1
@@ -0,0 +1,221 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'defx_after_comment'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'fset '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'i'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'var',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' a g
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'fset'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'a'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'g'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' comment
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'c',
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'truc'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' bidulr machin...
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'bidulr'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'machin...'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'defx_after_comment'}{'contents'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[1];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'defx_after_comment'}{'contents'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'defx_after_comment'}{'contents'}[0];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'defx_after_comment'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'defx_after_comment'};
+$result_trees{'defx_after_comment'}{'contents'}[1]{'parent'} = 
$result_trees{'defx_after_comment'};
+
+$result_texis{'defx_after_comment'} = '@deffn fset @var{i} a g
address@hidden comment
address@hidden {truc} bidulr machin...
address@hidden deffn';
+
+
+$result_texts{'defx_after_comment'} = '';
+
+$result_errors{'defx_after_comment'} = [];
+
+

Index: t/results/def/defx_after_empty_line.pl
===================================================================
RCS file: t/results/def/defx_after_empty_line.pl
diff -N t/results/def/defx_after_empty_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/defx_after_empty_line.pl      23 Oct 2010 17:33:24 -0000      
1.1
@@ -0,0 +1,215 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'defx_after_empty_line'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'fset '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'i'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'var',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' a g
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'fset'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'a'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'g'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'truc'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' bidulr machin...
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'bidulr'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'machin...'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'defx_after_empty_line'}{'contents'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'defx_after_empty_line'}{'contents'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'defx_after_empty_line'}{'contents'}[0];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'defx_after_empty_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_empty_line'}{'contents'}[0]{'parent'} = 
$result_trees{'defx_after_empty_line'};
+$result_trees{'defx_after_empty_line'}{'contents'}[1]{'parent'} = 
$result_trees{'defx_after_empty_line'};
+
+$result_texis{'defx_after_empty_line'} = '@deffn fset @var{i} a g
+
address@hidden {truc} bidulr machin...
address@hidden deffn';
+
+
+$result_texts{'defx_after_empty_line'} = '
+';
+
+$result_errors{'defx_after_empty_line'} = [];
+
+

Index: t/results/def/defx_after_paragraph_end.pl
===================================================================
RCS file: t/results/def/defx_after_paragraph_end.pl
diff -N t/results/def/defx_after_paragraph_end.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/defx_after_paragraph_end.pl   23 Oct 2010 17:33:24 -0000      
1.1
@@ -0,0 +1,240 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'defx_after_paragraph_end'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'fset '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'i'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'var',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' a g
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'fset'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'a'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'g'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Text in paragraph.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'truc'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' bidulr machin...
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'bidulr'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'machin...'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[1];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'defx_after_paragraph_end'}{'contents'}[0];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_paragraph_end'}{'contents'}[0]{'parent'} = 
$result_trees{'defx_after_paragraph_end'};
+$result_trees{'defx_after_paragraph_end'}{'contents'}[1]{'parent'} = 
$result_trees{'defx_after_paragraph_end'};
+
+$result_texis{'defx_after_paragraph_end'} = '@deffn fset @var{i} a g
+Text in paragraph.
+
address@hidden {truc} bidulr machin...
address@hidden deffn';
+
+
+$result_texts{'defx_after_paragraph_end'} = 'Text in paragraph.
+
+';
+
+$result_errors{'defx_after_paragraph_end'} = [
+  {
+    'error_line' => ':4: Must be after address@hidden' to use address@hidden'
+',
+    'file_name' => '',
+    'line_nr' => 4,
+    'macro' => '',
+    'text' => 'Must be after address@hidden' to use address@hidden'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/def/defx_after_text.pl
===================================================================
RCS file: t/results/def/defx_after_text.pl
diff -N t/results/def/defx_after_text.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/defx_after_text.pl    23 Oct 2010 17:33:24 -0000      1.1
@@ -0,0 +1,231 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'defx_after_text'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'fset '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'i'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'var',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' a g
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'fset'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'a'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'g'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Text in deffn
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'truc'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'bracketed'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => ' bidulr machin...
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'deffnx',
+              'parent' => {},
+              'special' => {
+                'def_args' => [
+                  [
+                    'category',
+                    {}
+                  ],
+                  [
+                    'spaces',
+                    {
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    }
+                  ],
+                  [
+                    'name',
+                    {
+                      'text' => 'bidulr'
+                    }
+                  ],
+                  [
+                    'spaces',
+                    {
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    }
+                  ],
+                  [
+                    'arg',
+                    {
+                      'text' => 'machin...'
+                    }
+                  ]
+                ],
+                'def_command' => 'deffn'
+              },
+              'type' => 'def_line'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'defx_after_text'}{'contents'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'defx_after_text'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'defx_after_text'}{'contents'}[0];
+$result_trees{'defx_after_text'}{'contents'}[0]{'parent'} = 
$result_trees{'defx_after_text'};
+$result_trees{'defx_after_text'}{'contents'}[1]{'parent'} = 
$result_trees{'defx_after_text'};
+
+$result_texis{'defx_after_text'} = '@deffn fset @var{i} a g
+Text in deffn
address@hidden {truc} bidulr machin...
address@hidden deffn';
+
+
+$result_texts{'defx_after_text'} = 'Text in deffn
+';
+
+$result_errors{'defx_after_text'} = [
+  {
+    'error_line' => ':3: Must be after address@hidden' to use address@hidden'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'Must be after address@hidden' to use address@hidden'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/regions/copying_not_closed.pl
===================================================================
RCS file: t/results/regions/copying_not_closed.pl
diff -N t/results/regions/copying_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/regions/copying_not_closed.pl     23 Oct 2010 17:33:24 -0000      
1.1
@@ -0,0 +1,63 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'copying_not_closed'} = {
+  'contents' => [
+    {
+      'cmdname' => 'copying',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'This is a copyright notice
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'copying_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'copying_not_closed'}{'contents'}[0];
+$result_trees{'copying_not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'copying_not_closed'}{'contents'}[0];
+$result_trees{'copying_not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'copying_not_closed'}{'contents'}[0]{'contents'}[2];
+$result_trees{'copying_not_closed'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'copying_not_closed'}{'contents'}[0];
+$result_trees{'copying_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'copying_not_closed'};
+
+$result_texis{'copying_not_closed'} = '@copying
+
+This is a copyright notice
address@hidden copying';
+
+
+$result_texts{'copying_not_closed'} = '';
+
+$result_errors{'copying_not_closed'} = [
+  {
+    'error_line' => ':3: No matching address@hidden copying\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'No matching address@hidden copying\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/regions/double_copying.pl
===================================================================
RCS file: t/results/regions/double_copying.pl
diff -N t/results/regions/double_copying.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/regions/double_copying.pl 23 Oct 2010 17:33:24 -0000      1.1
@@ -0,0 +1,106 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'double_copying'} = {
+  'contents' => [
+    {
+      'cmdname' => 'copying',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'This is a copyright notice
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'copying',
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line_after_command'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'And a second one (?)
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'paragraph'
+            }
+          ],
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'double_copying'}{'contents'}[0];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'double_copying'}{'contents'}[0];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'double_copying'}{'contents'}[0]{'contents'}[2];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'double_copying'}{'contents'}[0];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'double_copying'}{'contents'}[0];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'double_copying'}{'contents'}[0]{'contents'}[4];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'double_copying'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'double_copying'}{'contents'}[0]{'contents'}[4];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'double_copying'}{'contents'}[0];
+$result_trees{'double_copying'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'double_copying'}{'contents'}[0];
+$result_trees{'double_copying'}{'contents'}[0]{'parent'} = 
$result_trees{'double_copying'};
+$result_trees{'double_copying'}{'contents'}[1]{'parent'} = 
$result_trees{'double_copying'};
+
+$result_texis{'double_copying'} = '@copying
+
+This is a copyright notice
+
address@hidden
+And a second one (?)
address@hidden copying
address@hidden copying
+';
+
+
+$result_texts{'double_copying'} = '';
+
+$result_errors{'double_copying'} = [];
+
+



reply via email to

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