texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp TODO Texinfo/Parser.pm Texinfo/Conve...


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Parser.pm Texinfo/Conve...
Date: Mon, 18 Oct 2010 00:16:53 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/18 00:16:53

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
        tp/Texinfo/Convert: Text.pm 
        tp/t           : 03coverage_braces.t 55conditionals.t 60macro.t 
                         80include.t 
        tp/t/results/include: test_paths.pl 
        tp/t/results/macro: expand_two_same.pl macro_in_misc_commands.pl 
        tp/t/results/misc_commands: definfoenclose.pl 
        tp/t/results/value: value_in_misc_commands.pl 
Added files:
        tp/t/results/conditionals: many_conditionals.pl 
        tp/t/results/coverage_braces: footnote_ending_on_empty_line.pl 
                                      space_in_footnote.pl 
                                      space_in_image.pl 
        tp/t/results/include: double_include.pl include_at_end_line.pl 
                              include_comment.pl include_space.pl 
                              include_space_comment.pl 
        tp/t/results/macro: simple_imbricated_macro.pl 

Log message:
        Isolate spaces at the end of misc commands and commands with braces
        and more than one argument.  Leading spaces are also only considered
        as special in commands with braces when they accept more than one
        argument.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.79&r2=1.80
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Text.pm?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/03coverage_braces.t?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/55conditionals.t?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/60macro.t?cvsroot=texinfo&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/80include.t?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/conditionals/many_conditionals.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/footnote_ending_on_empty_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/space_in_footnote.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage_braces/space_in_image.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/test_paths.pl?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/double_include.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/include_at_end_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/include_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/include_space.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/include_space_comment.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/expand_two_same.pl?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_in_misc_commands.pl?cvsroot=texinfo&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/simple_imbricated_macro.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/misc_commands/definfoenclose.pl?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/value_in_misc_commands.pl?cvsroot=texinfo&r1=1.5&r2=1.6

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- TODO        17 Oct 2010 19:59:31 -0000      1.23
+++ TODO        18 Oct 2010 00:16:50 -0000      1.24
@@ -33,4 +33,19 @@
 bib-example.texi (big test)
 macro-at.texi (the macro part is already done)
 
-todo: macro_in_pass_texi_commands
+from test_paths.texi
address@hidden/f--ile}
+
+@@image dot.
address@hidden/formatting/f--ile}
+
+@@image dot parent.
address@hidden/test/formatting/f--ile}
+
address@hidden formatting/simplest.texi
+
+@@verbatiminclude dot.
address@hidden ./formatting/simplest.texi
+
+
+todo: setfilename_comment.texi (but done for @include)

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -b -r1.79 -r1.80
--- Texinfo/Parser.pm   17 Oct 2010 20:40:53 -0000      1.79
+++ Texinfo/Parser.pm   18 Oct 2010 00:16:50 -0000      1.80
@@ -1173,6 +1173,36 @@
   return 0;
 }
 
+sub _isolate_last_space($$)
+{
+  my $self = shift;
+  my $current = shift;
+  if ($current->{'contents'} and @{$current->{'contents'}}) {
+    my $index = -1;
+    $index = -2 
+      if (scalar(@{$current->{'contents'}}) > 1 
+        and $current->{'contents'}->[-1]->{'cmdname'}
+        and 
$self->{'misc_commands'}->{$current->{'contents'}->[-1]->{'cmdname'}});
+    if (defined($current->{'contents'}->[$index]->{'text'}) 
+        and !$current->{'contents'}->[$index]->{'type'}
+        and $current->{'contents'}->[$index]->{'text'} =~ /\s+$/) {
+      if ($current->{'contents'}->[$index]->{'text'} !~ /\S/) {
+        $current->{'contents'}->[$index]->{'type'} = 'spaces_at_end';
+      } else {
+        $current->{'contents'}->[$index]->{'text'} =~ s/(\s+)$//;
+        my $spaces = $1;
+        my $new_spaces = { 'text' => $spaces, 'parent' => $current,
+                           'type' => 'spaces_at_end' };
+        if ($index == -1) {
+          push @{$current->{'contents'}}, $new_spaces;
+        } else {
+          splice (@{$current->{'contents'}}, $index+1, 0, $new_spaces);
+        }
+      }
+    }
+  }
+}
+
 # close constructs and do stuff at end of line (or end of the document)
 sub _end_line($$$)
 {
@@ -1406,6 +1436,7 @@
   if ($current->{'type'} and $current->{'type'} eq 'misc_line_arg'
     and $current->{'parent'}->{'cmdname'} 
     and $current->{'parent'}->{'cmdname'} eq 'include') {
+    $self->_isolate_last_space($current);
     my $filename = Texinfo::Convert::Text::convert ($current);
     chomp($filename);
     my $file;
@@ -1997,7 +2028,9 @@
                 { 'type' => 'misc_arg', 'text' => $arg, 
                   'parent' => $current->{'contents'}->[-1] };
             }
-            $current = _end_line($self, $current, $line_nr);
+            my $included_file;
+            ($current, $included_file) = 
+              _end_line_and_include_file ($self, $current, $line_nr, $text);
             last NEXT_LINE if ($command eq 'bye');
             last;
           } else {
@@ -2222,7 +2255,9 @@
                                         $command), $line_nr);
           }
           if ($command eq "\n") {
-            $current = _end_line($self, $current, $line_nr);
+            my $included_file;
+            ($current, $included_file) = 
+              _end_line_and_include_file ($self, $current, $line_nr, $text);
             last;
           }
         } else {
@@ -2251,11 +2286,17 @@
             $current = $current->{'args'}->[-1];
             if ($context_brace_commands{$command}) {
               push @{$self->{'context_stack'}}, 
$current->{'parent'}->{'cmdname'};
+              $line =~ s/([^\S\n]*)//;
+              push @{$current->{'contents'}}, { 'type' => 'empty_line', 
+                                        'text' => $1,
+                                        'parent' => $current };
             } else {
               $current->{'type'} = 'brace_command_arg';
               push @{$current->{'contents'}}, 
                  {'type' => 'empty_spaces_before_argument',
-                  'text' => '' } unless ($current->{'parent'}->{'cmdname'} eq 
'verb');
+                  'text' => '' } 
+                      if ($brace_commands{$current->{'parent'}->{'cmdname'}}
+                           and 
$brace_commands{$current->{'parent'}->{'cmdname'}} > 1);
             }
             print STDERR "OPENED address@hidden>{'parent'}->{'cmdname'}, 
remaining: $current->{'parent'}->{'remaining_args'}, "
               .($current->{'type'} ? "type: $current->{'type'}" : '')."\n"
@@ -2281,18 +2322,25 @@
           #print STDERR "GGGGG". _print_current ($current);
           if ($current->{'type'} and ($current->{'type'} eq 'bracketed')) {
              $current = $current->{'parent'};
+           # the following will not happen for footnote if there is 
+           # a paragraph withing the footnote
           } elsif ($current->{'parent'}
                    and $current->{'parent'}->{'cmdname'}
                    and (exists 
$brace_commands{$current->{'parent'}->{'cmdname'}}
                          or 
$self->{'definfoenclose'}->{$current->{'parent'}->{'cmdname'}})) {
+             # for math
              if ($context_brace_commands{$current->{'parent'}->{'cmdname'}}) {
                pop @{$self->{'context_stack'}};
              }
              # first is the arg.
+             $self->_isolate_last_space($current) 
+               if ($brace_commands{$current->{'parent'}->{'cmdname'}} 
+                   and $brace_commands{$current->{'parent'}->{'cmdname'}} > 1);
              print STDERR "CLOSING address@hidden>{'parent'}->{'cmdname'}\n" 
if ($self->{'debug'});
              $current = $current->{'parent'}->{'parent'};
-          # footnote caption closing
+          # footnote caption closing, when there is a paragraph inside.
           } elsif ($context_brace_commands{$self->{'context_stack'}->[-1]}) {
+             # closing the context under broader situations
              $current = _end_paragraph($self, $current, $line_nr);
              if ($current->{'parent'}
                    and $current->{'parent'}->{'cmdname'}
@@ -2310,6 +2358,7 @@
         } elsif ($separator eq ','
                  and $current->{'parent'}->{'remaining_args'}) {
           _abort_empty_line ($self, $current);
+          $self->_isolate_last_space($current);
           my $type = $current->{'type'};
           $current = $current->{'parent'};
           $current->{'remaining_args'}--;

Index: Texinfo/Convert/Text.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Text.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- Texinfo/Convert/Text.pm     17 Oct 2010 15:51:31 -0000      1.4
+++ Texinfo/Convert/Text.pm     18 Oct 2010 00:16:52 -0000      1.5
@@ -176,7 +176,9 @@
 }
  
 my %ignored_types;
-foreach my $type ('empty_line_after_command', 'empty_spaces_after_command') {
+foreach my $type ('empty_line_after_command', 
+            'empty_spaces_after_command', 'spaces_at_end',
+            'empty_spaces_before_argument') {
   $ignored_types{$type} = 1;
 }
 
@@ -207,14 +209,11 @@
   return $text;
 }
 
-sub convert($;$);
+sub convert($);
 
-sub convert($;$)
+sub convert($)
 {
   my $root = shift;
-  my $state = shift;
-  
-  $state = {} if (!defined($state));
 
   if (0) {
     print STDERR "root\n";
@@ -236,8 +235,6 @@
   my $result = '';
   if (defined($root->{'text'})) {
     $result = $root->{'text'};
-    $result =~ s/\s*$// if ($state->{'trim_end_space'});
-    $result =~ s/^\s*// if ($state->{'trim_begin_space'});
   }
   if ($root->{'cmdname'}) {
     my $command = $root->{'cmdname'};
@@ -254,7 +251,7 @@
       return '' if (!$root->{'args'});
       return ascii_accents(convert($root->{'args'}->[0]), $root->{'cmdname'});
     } elsif ($root->{'cmdname'} eq 'image') {
-      return convert($root->{'args'}->[0], {'trim_around_spaces' => 1});
+      return convert($root->{'args'}->[0]);
     } elsif ($root->{'cmdname'} eq 'email') {
       my $mail = _normalise_space(convert($root->{'args'}->[0]));
       my $text;
@@ -295,18 +292,8 @@
     }
   }
   if ($root->{'contents'}) {
-    my $content_nr = 0;
     foreach my $content (@{$root->{'contents'}}) {
-      $content_nr++;
-      my $convert_state = {};
-      if ($state->{'trim_around_spaces'}) {
-        if ($content_nr == 1) {
-          $convert_state = {'trim_begin_space' => 1};
-        } elsif ($content_nr == scalar(@{$root->{'contents'}})) {
-          $convert_state = {'trim_end_space' => 1};
-        }
-      }
-      $result .= convert($content, $convert_state);
+      $result .= convert($content);
     }
   }
   $result = '{'.$result.'}' 

Index: t/03coverage_braces.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/03coverage_braces.t,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/03coverage_braces.t       4 Oct 2010 22:10:54 -0000       1.5
+++ t/03coverage_braces.t       18 Oct 2010 00:16:52 -0000      1.6
@@ -10,7 +10,12 @@
 ['footnote', 'address@hidden footnote.
 
 @r{in footnote r}. } after footnote.'],
-['no_brace', '@TeX and @code code']
+['no_brace', '@TeX and @code code'],
+['space_in_footnote','address@hidden in footnote.}'],
+['footnote_ending_on_empty_line','address@hidden in footnote.
+
+}'],
+['space_in_image','@image{ a ,bb, cc,dd ,e }. @image{ f }.']
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/55conditionals.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/55conditionals.t,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/55conditionals.t  16 Oct 2010 09:37:06 -0000      1.5
+++ t/55conditionals.t  18 Oct 2010 00:16:52 -0000      1.6
@@ -64,7 +64,42 @@
 not tex
 @end ifnottex
 
-After.']
+After.'],
+['many_conditionals',
+'@html
+This is html text.
address@hidden html
+
address@hidden
+This is ifhtml text.
address@hidden ifhtml
+
address@hidden
+This is ifnothtml text.
address@hidden ifnothtml
+
+
address@hidden
+This is ifinfo text.
address@hidden ifinfo
+
address@hidden
+This is ifnotinfo text.
address@hidden ifnotinfo
+
+
address@hidden
+This is tex text.
address@hidden tex
+
address@hidden
+This is iftex text.
address@hidden iftex
+
address@hidden
+This is ifnottex text.
address@hidden ifnottex
+', { 'expanded_formats' => ['info', 'html'] }]
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/60macro.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/60macro.t,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- t/60macro.t 17 Oct 2010 20:40:53 -0000      1.22
+++ t/60macro.t 18 Oct 2010 00:16:52 -0000      1.23
@@ -298,18 +298,6 @@
 * 3rd node: address@hidden
 @end menu
 '],
-['nested_macro_call',
-'@macro machin{}
-(machin)
address@hidden macro
-
address@hidden truc{}
address@hidden
-
address@hidden macro
-
-Before @truc{} after truc.
-'],
 ['macro_in_accent',
 '@macro a-letter
 a
@@ -333,6 +321,18 @@
 
 @page-macro{} on the line
 '],
+['nested_macro_call',
+'@macro machin{}
+(machin)
address@hidden macro
+
address@hidden truc{}
address@hidden
+
address@hidden macro
+
+Before @truc{} after truc.
+'],
 ['two_macros_on_a_line',
 '@macro mymacro
 in mymacro
@@ -360,6 +360,18 @@
 
 in macro} @mymacro{}
 '],
+['simple_imbricated_macro',
+'@macro truc {}
+truc.
address@hidden bidule {}
+bidule.
address@hidden macro
address@hidden macro
+
address@hidden
+
address@hidden
+'],
 ['macro_in_macro_arg','
 @macro macro1
 a, @macro2

Index: t/80include.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/80include.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/80include.t       17 Oct 2010 20:40:53 -0000      1.4
+++ t/80include.t       18 Oct 2010 00:16:52 -0000      1.5
@@ -107,7 +107,22 @@
 
 @@include dot path.
 @include ./inc_file.texi 
-']
+'],
+['include_comment',
+'@include address@hidden comment'],
+['include_space_comment',
+'@include inc_file.texi @c comment'],
+['include_space',
+'@include inc_file.texi  
+'],
+['double_include',
+'
address@hidden inc_file.texi @include inc_file.texi
+'],
+['include_at_end_line',
+'@include inc_file.texi@
+
+After.']
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/results/include/test_paths.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/include/test_paths.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/results/include/test_paths.pl     17 Oct 2010 20:40:53 -0000      1.1
+++ t/results/include/test_paths.pl     18 Oct 2010 00:16:52 -0000      1.2
@@ -58,8 +58,13 @@
                 },
                 {
                   'parent' => {},
-                  'text' => './inc_file.texi 
-'
+                  'text' => './inc_file.texi'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' 
+',
+                  'type' => 'spaces_at_end'
                 }
               ],
               'parent' => {},
@@ -85,6 +90,7 @@
 $result_trees{'test_paths'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'test_paths'}{'contents'}[4];
 
$result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0];
 
$result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0];
+$result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0];
 $result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'args'}[0]{'parent'} 
= $result_trees{'test_paths'}{'contents'}[4]{'contents'}[2];
 $result_trees{'test_paths'}{'contents'}[4]{'contents'}[2]{'parent'} = 
$result_trees{'test_paths'}{'contents'}[4];
 $result_trees{'test_paths'}{'contents'}[4]{'parent'} = 
$result_trees{'test_paths'};
@@ -112,7 +118,7 @@
     'file_name' => '',
     'line_nr' => 6,
     'macro' => '',
-    'text' => '@include: Cannot find ./inc_file.texi ',
+    'text' => '@include: Cannot find ./inc_file.texi',
     'type' => 'error'
   }
 ];

Index: t/results/macro/expand_two_same.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/macro/expand_two_same.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/results/macro/expand_two_same.pl  17 Oct 2010 10:50:46 -0000      1.8
+++ t/results/macro/expand_two_same.pl  18 Oct 2010 00:16:52 -0000      1.9
@@ -64,9 +64,9 @@
             {
               'contents' => [
                 {
+                  'parent' => {},
                   'text' => '
-',
-                  'type' => 'empty_spaces_before_argument'
+'
                 },
                 {
                   'parent' => {},
@@ -96,9 +96,9 @@
             {
               'contents' => [
                 {
+                  'parent' => {},
                   'text' => '
-',
-                  'type' => 'empty_spaces_before_argument'
+'
                 },
                 {
                   'parent' => {},
@@ -167,11 +167,13 @@
 $result_trees{'expand_two_same'}{'contents'}[1]{'parent'} = 
$result_trees{'expand_two_same'};
 $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[2];
 $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[2];
+$result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2]{'args'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2]{'args'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2];
 $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[2];
 $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[3]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[2];
 $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[4]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[2];
+$result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5]{'args'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5]{'args'}[0];
 
$result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5];
 $result_trees{'expand_two_same'}{'contents'}[2]{'contents'}[5]{'parent'} = 
$result_trees{'expand_two_same'}{'contents'}[2];

Index: t/results/macro/macro_in_misc_commands.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/macro/macro_in_misc_commands.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- t/results/macro/macro_in_misc_commands.pl   17 Oct 2010 20:40:53 -0000      
1.7
+++ t/results/macro/macro_in_misc_commands.pl   18 Oct 2010 00:16:52 -0000      
1.8
@@ -832,12 +832,8 @@
             {
               'contents' => [
                 {
-                  'text' => ' ',
-                  'type' => 'empty_spaces_before_argument'
-                },
-                {
                   'parent' => {},
-                  'text' => 'is it really strong? '
+                  'text' => ' is it really strong? '
                 }
               ],
               'parent' => {},
@@ -2766,7 +2762,7 @@
 $result_trees{'macro_in_misc_commands'}{'contents'}[53]{'args'}[0]{'parent'} = 
$result_trees{'macro_in_misc_commands'}{'contents'}[53];
 $result_trees{'macro_in_misc_commands'}{'contents'}[53]{'parent'} = 
$result_trees{'macro_in_misc_commands'};
 $result_trees{'macro_in_misc_commands'}{'contents'}[54]{'parent'} = 
$result_trees{'macro_in_misc_commands'};
-$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0]{'args'}[0];
+$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0]{'args'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[55];
 
$result_trees{'macro_in_misc_commands'}{'contents'}[55]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_misc_commands'}{'contents'}[55];

Index: t/results/misc_commands/definfoenclose.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/misc_commands/definfoenclose.pl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/results/misc_commands/definfoenclose.pl   17 Oct 2010 10:50:47 -0000      
1.10
+++ t/results/misc_commands/definfoenclose.pl   18 Oct 2010 00:16:52 -0000      
1.11
@@ -255,12 +255,8 @@
             {
               'contents' => [
                 {
-                  'text' => ' ',
-                  'type' => 'empty_spaces_before_argument'
-                },
-                {
                   'parent' => {},
-                  'text' => 'is it really strong? '
+                  'text' => ' is it really strong? '
                 }
               ],
               'parent' => {},
@@ -326,7 +322,7 @@
 $result_trees{'definfoenclose'}{'contents'}[11]{'args'}[0]{'parent'} = 
$result_trees{'definfoenclose'}{'contents'}[11];
 $result_trees{'definfoenclose'}{'contents'}[11]{'parent'} = 
$result_trees{'definfoenclose'};
 $result_trees{'definfoenclose'}{'contents'}[12]{'parent'} = 
$result_trees{'definfoenclose'};
-$result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0]{'args'}[0];
+$result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0]{'args'}[0];
 
$result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0];
 $result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[0]{'parent'} = 
$result_trees{'definfoenclose'}{'contents'}[13];
 $result_trees{'definfoenclose'}{'contents'}[13]{'contents'}[1]{'parent'} = 
$result_trees{'definfoenclose'}{'contents'}[13];

Index: t/results/value/value_in_misc_commands.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/value/value_in_misc_commands.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/results/value/value_in_misc_commands.pl   17 Oct 2010 10:50:48 -0000      
1.5
+++ t/results/value/value_in_misc_commands.pl   18 Oct 2010 00:16:52 -0000      
1.6
@@ -702,12 +702,8 @@
             {
               'contents' => [
                 {
-                  'text' => ' ',
-                  'type' => 'empty_spaces_before_argument'
-                },
-                {
                   'parent' => {},
-                  'text' => 'is it really strong? '
+                  'text' => ' is it really strong? '
                 }
               ],
               'parent' => {},
@@ -2368,7 +2364,7 @@
 $result_trees{'value_in_misc_commands'}{'contents'}[41]{'args'}[0]{'parent'} = 
$result_trees{'value_in_misc_commands'}{'contents'}[41];
 $result_trees{'value_in_misc_commands'}{'contents'}[41]{'parent'} = 
$result_trees{'value_in_misc_commands'};
 $result_trees{'value_in_misc_commands'}{'contents'}[42]{'parent'} = 
$result_trees{'value_in_misc_commands'};
-$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0]{'args'}[0];
+$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0]{'args'}[0];
 
$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0];
 
$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_misc_commands'}{'contents'}[43];
 
$result_trees{'value_in_misc_commands'}{'contents'}[43]{'contents'}[1]{'parent'}
 = $result_trees{'value_in_misc_commands'}{'contents'}[43];

Index: t/results/conditionals/many_conditionals.pl
===================================================================
RCS file: t/results/conditionals/many_conditionals.pl
diff -N t/results/conditionals/many_conditionals.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/conditionals/many_conditionals.pl 18 Oct 2010 00:16:52 -0000      
1.1
@@ -0,0 +1,203 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'many_conditionals'} = {
+  'contents' => [
+    {
+      'cmdname' => 'html',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => 'This is html text.
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'This is ifhtml text.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'This is ifinfo text.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'tex',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => 'This is tex text.
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'This is ifnottex text.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
+$result_trees{'many_conditionals'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[0];
+$result_trees{'many_conditionals'}{'contents'}[0]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[1]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[2]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[3];
+$result_trees{'many_conditionals'}{'contents'}[3]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[4]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[5]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[6]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[7]{'contents'}[0]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[7];
+$result_trees{'many_conditionals'}{'contents'}[7]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[8]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[9]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[10]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[11]{'contents'}[0]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[11];
+$result_trees{'many_conditionals'}{'contents'}[11]{'contents'}[1]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[11];
+$result_trees{'many_conditionals'}{'contents'}[11]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[12]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[13]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[14]{'parent'} = 
$result_trees{'many_conditionals'};
+$result_trees{'many_conditionals'}{'contents'}[15]{'contents'}[0]{'parent'} = 
$result_trees{'many_conditionals'}{'contents'}[15];
+$result_trees{'many_conditionals'}{'contents'}[15]{'parent'} = 
$result_trees{'many_conditionals'};
+
+$result_texis{'many_conditionals'} = '@html
+This is html text.
address@hidden html
+
+This is ifhtml text.
+
+
+
+This is ifinfo text.
+
+
+
address@hidden
+This is tex text.
address@hidden tex
+
+
+This is ifnottex text.
+';
+
+
+$result_texts{'many_conditionals'} = '
+This is ifhtml text.
+
+
+
+This is ifinfo text.
+
+
+
+
+
+This is ifnottex text.
+';
+
+$result_errors{'many_conditionals'} = [];
+
+

Index: t/results/coverage_braces/footnote_ending_on_empty_line.pl
===================================================================
RCS file: t/results/coverage_braces/footnote_ending_on_empty_line.pl
diff -N t/results/coverage_braces/footnote_ending_on_empty_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/footnote_ending_on_empty_line.pl  18 Oct 2010 
00:16:52 -0000      1.1
@@ -0,0 +1,69 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'footnote_ending_on_empty_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in footnote.
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'cmdname' => 'footnote',
+          'contents' => [],
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'footnote_ending_on_empty_line'}{'contents'}[0];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'footnote_ending_on_empty_line'}{'contents'}[0];
+$result_trees{'footnote_ending_on_empty_line'}{'contents'}[0]{'parent'} = 
$result_trees{'footnote_ending_on_empty_line'};
+
+$result_texis{'footnote_ending_on_empty_line'} = 'address@hidden in footnote.
+
+}';
+
+
+$result_texts{'footnote_ending_on_empty_line'} = 'text';
+
+$result_errors{'footnote_ending_on_empty_line'} = [];
+
+

Index: t/results/coverage_braces/space_in_footnote.pl
===================================================================
RCS file: t/results/coverage_braces/space_in_footnote.pl
diff -N t/results/coverage_braces/space_in_footnote.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/space_in_footnote.pl      18 Oct 2010 00:16:52 
-0000      1.1
@@ -0,0 +1,59 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'space_in_footnote'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'text'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in footnote.'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'cmdname' => 'footnote',
+          'contents' => [],
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'space_in_footnote'}{'contents'}[0];
+$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1];
+$result_trees{'space_in_footnote'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'space_in_footnote'}{'contents'}[0];
+$result_trees{'space_in_footnote'}{'contents'}[0]{'parent'} = 
$result_trees{'space_in_footnote'};
+
+$result_texis{'space_in_footnote'} = 'address@hidden in footnote.}';
+
+
+$result_texts{'space_in_footnote'} = 'text';
+
+$result_errors{'space_in_footnote'} = [];
+
+

Index: t/results/coverage_braces/space_in_image.pl
===================================================================
RCS file: t/results/coverage_braces/space_in_image.pl
diff -N t/results/coverage_braces/space_in_image.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage_braces/space_in_image.pl 18 Oct 2010 00:16:52 -0000      
1.1
@@ -0,0 +1,158 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'space_in_image'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => ' ',
+              'type' => 'empty_spaces_before_argument'
+            },
+            {
+              'parent' => {},
+              'text' => 'a'
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bb'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'text' => ' ',
+              'type' => 'empty_spaces_before_argument'
+            },
+            {
+              'parent' => {},
+              'text' => 'cc'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'dd'
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'e'
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'brace_command_arg'
+        }
+      ],
+      'cmdname' => 'image',
+      'contents' => [],
+      'parent' => {},
+      'remaining_args' => 0
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '. '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'f'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'image',
+          'contents' => [],
+          'parent' => {},
+          'remaining_args' => 4
+        },
+        {
+          'parent' => {},
+          'text' => '.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[1];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[2];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[2]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[3];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[3];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[3]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[4];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[0]{'args'}[4];
+$result_trees{'space_in_image'}{'contents'}[0]{'args'}[4]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[0];
+$result_trees{'space_in_image'}{'contents'}[0]{'parent'} = 
$result_trees{'space_in_image'};
+$result_trees{'space_in_image'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[1];
+$result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_in_image'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[1];
+$result_trees{'space_in_image'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'space_in_image'}{'contents'}[1];
+$result_trees{'space_in_image'}{'contents'}[1]{'parent'} = 
$result_trees{'space_in_image'};
+
+$result_texis{'space_in_image'} = '@image{ a ,bb, cc,dd ,e }. @image{ f }.';
+
+
+$result_texts{'space_in_image'} = 'a. f.';
+
+$result_errors{'space_in_image'} = [];
+
+

Index: t/results/include/double_include.pl
===================================================================
RCS file: t/results/include/double_include.pl
diff -N t/results/include/double_include.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/include/double_include.pl 18 Oct 2010 00:16:52 -0000      1.1
@@ -0,0 +1,67 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'double_include'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'inc_file.texi In included file.'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'include',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'double_include'}{'contents'}[0]{'parent'} = 
$result_trees{'double_include'};
+$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'double_include'}{'contents'}[1]{'args'}[0];
+$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'double_include'}{'contents'}[1]{'args'}[0];
+$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'double_include'}{'contents'}[1]{'args'}[0];
+$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'double_include'}{'contents'}[1];
+$result_trees{'double_include'}{'contents'}[1]{'parent'} = 
$result_trees{'double_include'};
+
+$result_texis{'double_include'} = '
address@hidden inc_file.texi In included file.
+';
+
+
+$result_texts{'double_include'} = '
+';
+
+$result_errors{'double_include'} = [
+  {
+    'error_line' => 'inc_file.texi:2: @include: Cannot find inc_file.texi In 
included file.
+',
+    'file_name' => 't/include//inc_file.texi',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@include: Cannot find inc_file.texi In included file.',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/include/include_at_end_line.pl
===================================================================
RCS file: t/results/include/include_at_end_line.pl
diff -N t/results/include/include_at_end_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/include/include_at_end_line.pl    18 Oct 2010 00:16:52 -0000      
1.1
@@ -0,0 +1,78 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'include_at_end_line'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'inc_file.texi'
+            },
+            {
+              'cmdname' => '
+',
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'include',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'After.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'include_at_end_line'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'include_at_end_line'}{'contents'}[0];
+$result_trees{'include_at_end_line'}{'contents'}[0]{'parent'} = 
$result_trees{'include_at_end_line'};
+$result_trees{'include_at_end_line'}{'contents'}[1]{'parent'} = 
$result_trees{'include_at_end_line'};
+$result_trees{'include_at_end_line'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'include_at_end_line'}{'contents'}[2];
+$result_trees{'include_at_end_line'}{'contents'}[2]{'parent'} = 
$result_trees{'include_at_end_line'};
+
+$result_texis{'include_at_end_line'} = '@include inc_file.texi@
+
+After.';
+
+
+$result_texts{'include_at_end_line'} = '
+After.';
+
+$result_errors{'include_at_end_line'} = [
+  {
+    'error_line' => ':1: @include: Cannot find inc_file.texi 
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@include: Cannot find inc_file.texi ',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/include/include_comment.pl
===================================================================
RCS file: t/results/include/include_comment.pl
diff -N t/results/include/include_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/include/include_comment.pl        18 Oct 2010 00:16:52 -0000      
1.1
@@ -0,0 +1,30 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'include_comment'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'In included file.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'include_comment'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'include_comment'}{'contents'}[0];
+$result_trees{'include_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'include_comment'};
+
+$result_texis{'include_comment'} = 'In included file.
+';
+
+
+$result_texts{'include_comment'} = 'In included file.
+';
+
+$result_errors{'include_comment'} = [];
+
+

Index: t/results/include/include_space.pl
===================================================================
RCS file: t/results/include/include_space.pl
diff -N t/results/include/include_space.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/include/include_space.pl  18 Oct 2010 00:16:52 -0000      1.1
@@ -0,0 +1,30 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'include_space'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'In included file.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'include_space'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'include_space'}{'contents'}[0];
+$result_trees{'include_space'}{'contents'}[0]{'parent'} = 
$result_trees{'include_space'};
+
+$result_texis{'include_space'} = 'In included file.
+';
+
+
+$result_texts{'include_space'} = 'In included file.
+';
+
+$result_errors{'include_space'} = [];
+
+

Index: t/results/include/include_space_comment.pl
===================================================================
RCS file: t/results/include/include_space_comment.pl
diff -N t/results/include/include_space_comment.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/include/include_space_comment.pl  18 Oct 2010 00:16:52 -0000      
1.1
@@ -0,0 +1,30 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'include_space_comment'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'In included file.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'include_space_comment'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'include_space_comment'}{'contents'}[0];
+$result_trees{'include_space_comment'}{'contents'}[0]{'parent'} = 
$result_trees{'include_space_comment'};
+
+$result_texis{'include_space_comment'} = 'In included file.
+';
+
+
+$result_texts{'include_space_comment'} = 'In included file.
+';
+
+$result_errors{'include_space_comment'} = [];
+
+

Index: t/results/macro/simple_imbricated_macro.pl
===================================================================
RCS file: t/results/macro/simple_imbricated_macro.pl
diff -N t/results/macro/simple_imbricated_macro.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/simple_imbricated_macro.pl  18 Oct 2010 00:16:52 -0000      
1.1
@@ -0,0 +1,170 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'simple_imbricated_macro'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'truc',
+          'type' => 'macro_name'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'truc.
+',
+          'type' => 'raw'
+        },
+        {
+          'cmdname' => 'macro',
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bidule.
+',
+              'type' => 'raw'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'arg_line' => ' bidule {}
+'
+          }
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'arg_line' => ' truc {}
+',
+        'macrobody' => 'truc.
address@hidden bidule {}
+bidule.
address@hidden macro
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'truc.
+'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => 'bidule',
+              'type' => 'macro_name'
+            }
+          ],
+          'cmdname' => 'macro',
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bidule.
+',
+              'type' => 'raw'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'arg_line' => ' bidule {}
+',
+            'macrobody' => 'bidule.
+'
+          }
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'bidule.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'simple_imbricated_macro'}{'contents'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[1];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[0];
+$result_trees{'simple_imbricated_macro'}{'contents'}[0]{'parent'} = 
$result_trees{'simple_imbricated_macro'};
+$result_trees{'simple_imbricated_macro'}{'contents'}[1]{'parent'} = 
$result_trees{'simple_imbricated_macro'};
+$result_trees{'simple_imbricated_macro'}{'contents'}[2]{'parent'} = 
$result_trees{'simple_imbricated_macro'};
+$result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[3];
+$result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[1];
+$result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[1];
+$result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[3];
+$result_trees{'simple_imbricated_macro'}{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[3];
+$result_trees{'simple_imbricated_macro'}{'contents'}[3]{'parent'} = 
$result_trees{'simple_imbricated_macro'};
+$result_trees{'simple_imbricated_macro'}{'contents'}[4]{'parent'} = 
$result_trees{'simple_imbricated_macro'};
+$result_trees{'simple_imbricated_macro'}{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'simple_imbricated_macro'}{'contents'}[5];
+$result_trees{'simple_imbricated_macro'}{'contents'}[5]{'parent'} = 
$result_trees{'simple_imbricated_macro'};
+
+$result_texis{'simple_imbricated_macro'} = '@macro truc {}
+truc.
address@hidden bidule {}
+bidule.
address@hidden macro
address@hidden macro
+
+truc.
address@hidden bidule {}
+bidule.
address@hidden macro
+
+bidule.
+';
+
+
+$result_texts{'simple_imbricated_macro'} = '
+truc.
+
+bidule.
+';
+
+$result_errors{'simple_imbricated_macro'} = [];
+
+



reply via email to

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