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/19def.t t/r...


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Parser.pm t/19def.t t/r...
Date: Sat, 23 Oct 2010 21:52:53 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/23 21:52:53

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
        tp/t           : 19def.t 
        tp/t/results/invalid_nestings: center.pl 
Added files:
        tp/t/results/def: all_empty_def.pl empty_def_arguments.pl 
                          empty_deftypeop_name.pl wrong_braces_simple.pl 
                          wrong_braces_with_end_of_lines.pl 

Log message:
        Fix bracketed closing on def line.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.96&r2=1.97
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/19def.t?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/all_empty_def.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/empty_def_arguments.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/empty_deftypeop_name.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/wrong_braces_simple.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/wrong_braces_with_end_of_lines.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/center.pl?cvsroot=texinfo&r1=1.2&r2=1.3

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- TODO        23 Oct 2010 17:33:22 -0000      1.32
+++ TODO        23 Oct 2010 21:52:52 -0000      1.33
@@ -28,6 +28,9 @@
 no warning in 
 t/25regions.t double_copying
 
+no warning in
+t/19def.t empty_def_arguments
+
 Texinfo::Convert::Text
 @c in menu lines (and maybe at other places) should be replaced by 
 \n and not eat the end of line.
@@ -74,3 +77,4 @@
 invalid/command_without_open_brace.texi
 invalid/copying_not_closed.texi
 invalid/def_bad_defx_command.texi
+invalid/def_braces_and_empty.texi

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -b -r1.96 -r1.97
--- Texinfo/Parser.pm   23 Oct 2010 17:33:22 -0000      1.96
+++ Texinfo/Parser.pm   23 Oct 2010 21:52:53 -0000      1.97
@@ -910,11 +910,11 @@
   my $located_line_nr = $line_nr;
   # use the beginning of the @-command for the error message
   # line number if available. FIXME. not implemented
-  $located_line_nr = $current->{'parent'}->{'line_nr'}
-    if ($current->{'parent'}->{'line_nr'});
+  $located_line_nr = $current->{'line_nr'}
+    if ($current->{'line_nr'});
   _line_error ($self, sprintf($self->__("%c%s missing close brace"),
-               ord('@'), $current->{'parent'}->{'cmdname'}), $located_line_nr);
-  $current = $current->{'parent'}->{'parent'};
+               ord('@'), $current->{'cmdname'}), $located_line_nr);
+  $current = $current->{'parent'};
   return $current;
 }
 
@@ -929,7 +929,7 @@
   while ($current->{'parent'} and $current->{'parent'}->{'cmdname'}
           and exists $brace_commands{$current->{'parent'}->{'cmdname'}}
           and !exists 
$context_brace_commands{$current->{'parent'}->{'cmdname'}}) {
-    $current = _close_brace_command($self, $current, $line_nr);
+    $current = _close_brace_command($self, $current->{'parent'}, $line_nr);
   }
   if ($current->{'type'} and $current->{'type'} eq 'paragraph') {
     print STDERR "CLOSE PARA\n" if ($self->{'debug'});
@@ -980,9 +980,15 @@
       $current = $current->{'parent'};
     } elsif ($current->{'parent'}->{'cmdname'}
              and exists 
$context_brace_commands{$current->{'parent'}->{'cmdname'}}) {
-      $current = _close_brace_command($self, $current, $line_nr);
+      $current = _close_brace_command($self, $current->{'parent'}, $line_nr);
       pop @{$self->{'context_stack'}};
-    } else { # silently close containers and @-commands without brace nor @end
+    } else { 
+      if ($current->{'type'} and $current->{'type'} eq 'bracketed') {
+        # FIXME record the line number in the braccketed and use it
+        _line_error ($self, sprintf($self->__("Misplaced %c"),
+                                             ord('{')), $line_nr);
+      }
+      # silently close containers and @-commands without brace nor @end
       $current = $current->{'parent'};
     }
 
@@ -1424,6 +1430,36 @@
   return address@hidden, @args_results];
 }
 
+sub _close_current($$$)
+{
+  my $self = shift;
+  my $current = shift;
+  my $line_nr = shift;
+
+  if ($current->{'cmdname'}) {
+    if (exists($brace_commands{$current->{'cmdname'}})) {
+      $current = _close_brace_command($self, $current, $line_nr);
+    } else {
+      _line_error($self, sprintf($self->__("Closing address@hidden"), 
+                                $current->{'cmdname'}), $line_nr);
+      $current = $current->{'parent'};
+    }
+  } elsif ($current->{'type'}) {
+    if ($current->{'type'} eq 'bracketed') {
+    # FIXME record the line number in the braccketed and use it
+      _line_error ($self, sprintf($self->__("Misplaced %c"),
+                                             ord('{')), $line_nr);
+      $current = $current->{'parent'};
+    } else {
+      $current = $current->{'parent'} if ($current->{'parent'});
+    }
+  } else {
+    $current = $current->{'parent'} if ($current->{'parent'});
+    print STDERR "Where am I?"._print_current($current);
+  }
+  return $current;
+}
+
 # close constructs and do stuff at end of line (or end of the document)
 sub _end_line($$$);
 sub _end_line($$$)
@@ -1432,6 +1468,8 @@
   my $current = shift;
   my $line_nr = shift;
 
+  my $current_old = $current;
+
   my $included_file = 0;
 
   # a line consisting only of spaces.
@@ -1718,23 +1756,26 @@
     print STDERR "Still opened line command 
$self->{'context_stack'}->[-1]:"._print_current($current) 
       if ($self->{'debug'});
     if ($self->{'context_stack'}->[-1] eq 'def') {
-      while ($current->{'parent'} and !($current->{'parent'}->{'parent'}
-            and $current->{'parent'}->{'parent'}->{'type'}
-            and $current->{'parent'}->{'parent'}->{'type'} eq 'def_line')) {
-        _line_error($self, sprintf($self->__("Closing address@hidden"), 
-                                  $current->{'cmdname'}), $line_nr)
-          if (exists $current->{'cmdname'});
-        $current = $current->{'parent'};
+      while ($current->{'parent'} and !($current->{'parent'}->{'type'}
+            and $current->{'parent'}->{'type'} eq 'def_line')) {
+        $current = $self->_close_current($current, $line_nr);
       }
     } else {
       while ($current->{'parent'} and !($current->{'type'}
              and ($current->{'type'} eq 'brace_line_arg'
                   or $current->{'type'} eq 'misc_line_arg'))) {
-        _line_error($self, sprintf($self->__("Closing address@hidden"), 
-                                  $current->{'cmdname'}), $line_nr)
-          if (exists $current->{'cmdname'});
+        $current = $self->_close_current($current, $line_nr);
+      }
+    }
+    if ($current eq $current_old) {
+      my $indent = '- ';
+      print STDERR "$indent"._print_current($current);
+      while ($current->{'parent'}) {
+        $indent = '-'.$indent;
         $current = $current->{'parent'};
+        print STDERR "$indent"._print_current($current);
       }
+      die "BUG: didn't go up (infinite loop)\n" 
     }
 
     my $other_included_file = 0;

Index: t/19def.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/19def.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/19def.t   23 Oct 2010 17:33:23 -0000      1.4
+++ t/19def.t   23 Oct 2010 21:52:53 -0000      1.5
@@ -303,6 +303,81 @@
 
 @deftypefn {var then code} {ret_type1} {fun_name1} @var{A1} @code{A2} @var{A3} 
@code{A4}
 @end deftypefn
+'],
+['wrong_braces_simple',
+'@deffn truc machin bidule chose and }
address@hidden deffn
+
address@hidden truc machin bidule chose and } after
address@hidden deffn
+
address@hidden truc machin bidule chose and {
address@hidden deffn
+
address@hidden truc machin bidule chose and { and after
address@hidden deffn
+
address@hidden a b c d e
address@hidden truc machin bidule chose and }
address@hidden truc machin bidule chose and } after
address@hidden truc machin bidule chose and {
address@hidden truc machin bidule chose and { and after
address@hidden deffn
+'],
+['wrong_braces_with_end_of_lines',
+'@deffn category name args { @
+  more args
+deffn with @{
address@hidden deffn 
+
address@hidden category name args } @
+  more args
+deffn with @}
address@hidden deffn 
+'],
+['empty_def_arguments',
+'@deffn fset @var{i} a g
address@hidden @b{id @samp{i} ule}    
address@hidden 
address@hidden aaa
address@hidden {} {}
address@hidden
address@hidden { }
address@hidden
address@hidden {}
address@hidden deffn
+'],
+['all_empty_def',
+'@deffn
address@hidden deffn
+
address@hidden
address@hidden defvr
+
address@hidden
address@hidden deftypefn
+
address@hidden
address@hidden deftypeop
+
address@hidden
address@hidden deftypevr
+
address@hidden
address@hidden defcv
+
address@hidden
address@hidden deftypecv
+
address@hidden
address@hidden defop
+
address@hidden
address@hidden deftp
+'],
+['empty_deftypeop_name',
+'@deftypeop address@hidden address@hidden address@hidden
address@hidden deftypeop
 ']
 );
 

Index: t/results/invalid_nestings/center.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/invalid_nestings/center.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/results/invalid_nestings/center.pl        23 Oct 2010 14:28:40 -0000      
1.2
+++ t/results/invalid_nestings/center.pl        23 Oct 2010 21:52:53 -0000      
1.3
@@ -563,12 +563,12 @@
     'type' => 'warning'
   },
   {
-    'error_line' => ':11: Closing @code
+    'error_line' => ':11: @code missing close brace
 ',
     'file_name' => '',
     'line_nr' => 11,
     'macro' => '',
-    'text' => 'Closing @code',
+    'text' => '@code missing close brace',
     'type' => 'error'
   },
   {
@@ -590,12 +590,12 @@
     'type' => 'warning'
   },
   {
-    'error_line' => ':15: Closing @code
+    'error_line' => ':15: @code missing close brace
 ',
     'file_name' => '',
     'line_nr' => 15,
     'macro' => '',
-    'text' => 'Closing @code',
+    'text' => '@code missing close brace',
     'type' => 'error'
   },
   {

Index: t/results/def/all_empty_def.pl
===================================================================
RCS file: t/results/def/all_empty_def.pl
diff -N t/results/def/all_empty_def.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/all_empty_def.pl      23 Oct 2010 21:52:53 -0000      1.1
@@ -0,0 +1,448 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'all_empty_def'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'defvr',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'defvr'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deftypefn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deftypefn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deftypeop',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deftypeop'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deftypevr',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deftypevr'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'defcv',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'defcv'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deftypecv',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deftypecv'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'defop',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'defop'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deftp',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deftp'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'all_empty_def'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[0]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[1]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[2]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[3]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[3];
+$result_trees{'all_empty_def'}{'contents'}[3]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[4]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[5]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[6]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[6];
+$result_trees{'all_empty_def'}{'contents'}[6]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[7]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[8]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[9]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[9]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[9]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[9];
+$result_trees{'all_empty_def'}{'contents'}[9]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[10]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[11]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[12]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[12]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[12]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[12];
+$result_trees{'all_empty_def'}{'contents'}[12]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[13]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[14]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[15]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[15]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[15]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[15]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[15]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[15];
+$result_trees{'all_empty_def'}{'contents'}[15]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[16]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[17]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[18]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[18]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[18]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[18]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[18]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[18];
+$result_trees{'all_empty_def'}{'contents'}[18]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[19]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[20]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[21]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[21]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[21]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[21]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[21]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[21];
+$result_trees{'all_empty_def'}{'contents'}[21]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[22]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[23]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[24]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[24]{'contents'}[0]{'args'}[0];
+$result_trees{'all_empty_def'}{'contents'}[24]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'all_empty_def'}{'contents'}[24]{'contents'}[0];
+$result_trees{'all_empty_def'}{'contents'}[24]{'contents'}[0]{'parent'} = 
$result_trees{'all_empty_def'}{'contents'}[24];
+$result_trees{'all_empty_def'}{'contents'}[24]{'parent'} = 
$result_trees{'all_empty_def'};
+$result_trees{'all_empty_def'}{'contents'}[25]{'parent'} = 
$result_trees{'all_empty_def'};
+
+$result_texis{'all_empty_def'} = '@deffn
address@hidden deffn
+
address@hidden
address@hidden defvr
+
address@hidden
address@hidden deftypefn
+
address@hidden
address@hidden deftypeop
+
address@hidden
address@hidden deftypevr
+
address@hidden
address@hidden defcv
+
address@hidden
address@hidden deftypecv
+
address@hidden
address@hidden defop
+
address@hidden
address@hidden deftp
+';
+
+
+$result_texts{'all_empty_def'} = '
+
+
+
+
+
+
+
+';
+
+$result_errors{'all_empty_def'} = [];
+
+

Index: t/results/def/empty_def_arguments.pl
===================================================================
RCS file: t/results/def/empty_def_arguments.pl
diff -N t/results/def/empty_def_arguments.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/empty_def_arguments.pl        23 Oct 2010 21:52:53 -0000      
1.1
@@ -0,0 +1,571 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'empty_def_arguments'} = {
+  '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' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'id '
+                        },
+                        {
+                          'args' => [
+                            {
+                              'contents' => [
+                                {
+                                  'parent' => {},
+                                  'text' => 'i'
+                                }
+                              ],
+                              'parent' => {},
+                              'type' => 'brace_command_arg'
+                            }
+                          ],
+                          'cmdname' => 'samp',
+                          'contents' => [],
+                          'parent' => {}
+                        },
+                        {
+                          'parent' => {},
+                          'text' => ' ule'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'b',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => '    
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' 
+',
+                  'type' => 'empty_line_after_command'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'aaa
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'aaa'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'truc'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' '
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'truc'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[2];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[4]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[3];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[6]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'parent'} = 
$result_trees{'empty_def_arguments'}{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'special'}{'def_args'}[0][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'special'}{'def_args'}[2][1]
 = 
$result_trees{'empty_def_arguments'}{'contents'}[0]{'contents'}[8]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_def_arguments'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_def_arguments'};
+$result_trees{'empty_def_arguments'}{'contents'}[1]{'parent'} = 
$result_trees{'empty_def_arguments'};
+
+$result_texis{'empty_def_arguments'} = '@deffn fset @var{i} a g
address@hidden @b{id @samp{i} ule}    
address@hidden 
address@hidden aaa
address@hidden {} {}
address@hidden
address@hidden { }
address@hidden
address@hidden {}
address@hidden deffn
+';
+
+
+$result_texts{'empty_def_arguments'} = 'fset i a g
+id i ule    
+aaa
+ 
+
+truc  
+truc
+ 
+';
+
+$result_errors{'empty_def_arguments'} = [];
+
+

Index: t/results/def/empty_deftypeop_name.pl
===================================================================
RCS file: t/results/def/empty_deftypeop_name.pl
diff -N t/results/def/empty_deftypeop_name.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/empty_deftypeop_name.pl       23 Oct 2010 21:52:53 -0000      
1.1
@@ -0,0 +1,192 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'empty_deftypeop_name'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deftypeop',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'Command'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'com'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'code',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'Window'
+                    },
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'int'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'brace_command_arg'
+                        }
+                      ],
+                      'cmdname' => 'code',
+                      'contents' => [],
+                      'parent' => {}
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' expose'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'exp'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'var',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'Command'
+                }
+              ],
+              [
+                'class',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'type',
+                {}
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'expose'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deftypeop'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'contents'}[1];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[5]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'parent'}
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'empty_deftypeop_name'}{'contents'}[0];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[1][1]
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[3][1]
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[6][1]
 = 
$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'empty_deftypeop_name'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_deftypeop_name'};
+$result_trees{'empty_deftypeop_name'}{'contents'}[1]{'parent'} = 
$result_trees{'empty_deftypeop_name'};
+
+$result_texis{'empty_deftypeop_name'} = '@deftypeop address@hidden 
address@hidden address@hidden
address@hidden deftypeop
+';
+
+
+$result_texts{'empty_deftypeop_name'} = 'Commandcom Windowint exposeexp
+';
+
+$result_errors{'empty_deftypeop_name'} = [];
+
+

Index: t/results/def/wrong_braces_simple.pl
===================================================================
RCS file: t/results/def/wrong_braces_simple.pl
diff -N t/results/def/wrong_braces_simple.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/wrong_braces_simple.pl        23 Oct 2010 21:52:53 -0000      
1.1
@@ -0,0 +1,1145 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'wrong_braces_simple'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and 
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and  after
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => '  ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'after'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' and after
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'a b c d e
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'a'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'b'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'c'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'd'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'e'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and 
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and  after
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => '  ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'after'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc machin bidule chose and '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' and after
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'machin'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'and'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'wrong_braces_simple'}{'contents'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[0]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[1]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[2]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'wrong_braces_simple'}{'contents'}[3];
+$result_trees{'wrong_braces_simple'}{'contents'}[3]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[4]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[5]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'wrong_braces_simple'}{'contents'}[6];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'special'}{'def_args'}[10][1]
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[6]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[7]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[8]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'parent'} = 
$result_trees{'wrong_braces_simple'}{'contents'}[9];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'special'}{'def_args'}[10][1]
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[9]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[9]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[10]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[11]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[0]{'parent'} 
= $result_trees{'wrong_braces_simple'}{'contents'}[12];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[1]{'parent'} 
= $result_trees{'wrong_braces_simple'}{'contents'}[12];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[2]{'parent'} 
= $result_trees{'wrong_braces_simple'}{'contents'}[12];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'parent'} 
= $result_trees{'wrong_braces_simple'}{'contents'}[12];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'special'}{'def_args'}[10][1]
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[3]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'parent'} 
= $result_trees{'wrong_braces_simple'}{'contents'}[12];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'special'}{'def_args'}[10][1]
 = 
$result_trees{'wrong_braces_simple'}{'contents'}[12]{'contents'}[4]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_simple'}{'contents'}[12]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+$result_trees{'wrong_braces_simple'}{'contents'}[13]{'parent'} = 
$result_trees{'wrong_braces_simple'};
+
+$result_texis{'wrong_braces_simple'} = '@deffn truc machin bidule chose and 
address@hidden deffn
+
address@hidden truc machin bidule chose and  after
address@hidden deffn
+
address@hidden truc machin bidule chose and {
address@hidden deffn
+
address@hidden truc machin bidule chose and { and after
address@hidden deffn
+
address@hidden a b c d e
address@hidden truc machin bidule chose and 
address@hidden truc machin bidule chose and  after
address@hidden truc machin bidule chose and {
address@hidden truc machin bidule chose and { and after
address@hidden deffn
+';
+
+
+$result_texts{'wrong_braces_simple'} = 'truc machin bidule chose and 
+
+truc machin bidule chose and  after
+
+truc machin bidule chose and 
+
+truc machin bidule chose and  and after
+
+a b c d e
+truc machin bidule chose and 
+truc machin bidule chose and  after
+truc machin bidule chose and 
+truc machin bidule chose and  and after
+';
+
+$result_errors{'wrong_braces_simple'} = [
+  {
+    'error_line' => ':1: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':4: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 4,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: Misplaced {
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => 'Misplaced {',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':10: Misplaced {
+',
+    'file_name' => '',
+    'line_nr' => 10,
+    'macro' => '',
+    'text' => 'Misplaced {',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':14: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 14,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':15: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 15,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':16: Misplaced {
+',
+    'file_name' => '',
+    'line_nr' => 16,
+    'macro' => '',
+    'text' => 'Misplaced {',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':17: Misplaced {
+',
+    'file_name' => '',
+    'line_nr' => 17,
+    'macro' => '',
+    'text' => 'Misplaced {',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/def/wrong_braces_with_end_of_lines.pl
===================================================================
RCS file: t/results/def/wrong_braces_with_end_of_lines.pl
diff -N t/results/def/wrong_braces_with_end_of_lines.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/wrong_braces_with_end_of_lines.pl     23 Oct 2010 21:52:53 
-0000      1.1
@@ -0,0 +1,304 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'wrong_braces_with_end_of_lines'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'category name args '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '   more args
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'bracketed'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'category'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'name'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'deffn with '
+            },
+            {
+              'cmdname' => '{',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => ' 
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'category name args    more args
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'category'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'name'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => '    ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'more'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'deffn with '
+            },
+            {
+              'cmdname' => '}',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => ' 
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[6][1]
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[0]{'parent'} = 
$result_trees{'wrong_braces_with_end_of_lines'};
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[1]{'parent'} = 
$result_trees{'wrong_braces_with_end_of_lines'};
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[2]{'parent'} = 
$result_trees{'wrong_braces_with_end_of_lines'};
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3];
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[3]{'parent'} = 
$result_trees{'wrong_braces_with_end_of_lines'};
+$result_trees{'wrong_braces_with_end_of_lines'}{'contents'}[4]{'parent'} = 
$result_trees{'wrong_braces_with_end_of_lines'};
+
+$result_texis{'wrong_braces_with_end_of_lines'} = '@deffn category name args { 
  more args
+}deffn with @{
address@hidden deffn 
+
address@hidden category name args    more args
+deffn with @}
address@hidden deffn 
+';
+
+
+$result_texts{'wrong_braces_with_end_of_lines'} = 'category name args    more 
args
+deffn with {
+
+category name args    more args
+deffn with }
+';
+
+$result_errors{'wrong_braces_with_end_of_lines'} = [
+  {
+    'error_line' => ':2: Misplaced {
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => 'Misplaced {',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':6: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  }
+];
+
+



reply via email to

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