texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp TODO Texinfo/Structuring.pm t/57inva...


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Structuring.pm t/57inva...
Date: Sat, 12 Mar 2011 00:24:40 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        11/03/12 00:24:39

Modified files:
        tp             : TODO 
        tp/Texinfo     : Structuring.pm 
        tp/t           : 57invalid_nestings.t info_tests.t 
                         plaintext_tests.t 
        tp/t/results/invalid_nestings: in_table.pl 
                                       menu_in_style_command.pl 
        tp/t/results/menu: menu_in_deffn.pl multiple_menus.pl 
                           reference_to_external_manual.pl 
        tp/t/results/plaintext_tests: line_passed_and_formats.pl 
        tp/t/results/sectioning: nodename_parentheses.pl 
Added files:
        tp/t/results/info_tests: space_at_menu_end.pl 
        tp/t/results/invalid_nestings: item_in_ref.pl 
                                       table_on_item_line.pl 
Removed files:
        tp/t/results/plaintext_tests: space_at_menu_end.pl 

Log message:
        Accept external nodes as menu directions.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.106&r2=1.107
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Structuring.pm?cvsroot=texinfo&r1=1.40&r2=1.41
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/57invalid_nestings.t?cvsroot=texinfo&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/info_tests.t?cvsroot=texinfo&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/plaintext_tests.t?cvsroot=texinfo&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/info_tests/space_at_menu_end.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/in_table.pl?cvsroot=texinfo&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/menu_in_style_command.pl?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/item_in_ref.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/table_on_item_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/menu/menu_in_deffn.pl?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/menu/multiple_menus.pl?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/menu/reference_to_external_manual.pl?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/plaintext_tests/line_passed_and_formats.pl?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/plaintext_tests/space_at_menu_end.pl?cvsroot=texinfo&r1=1.3&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/nodename_parentheses.pl?cvsroot=texinfo&r1=1.35&r2=1.36

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -b -r1.106 -r1.107
--- TODO        6 Mar 2011 14:43:58 -0000       1.106
+++ TODO        12 Mar 2011 00:24:37 -0000      1.107
@@ -47,13 +47,6 @@
 @address@hidden leads to R( in @var?  Test in 
 plaintext_tests/characters_and_commands_in_var
 
-Should
address@hidden Top
address@hidden
-* (out)::
address@hidden menu
-lead to Node: Top,  Next: (out),  Up: (dir)
-
 Flag the last end of line of text in a raw format, to let the converter 
 remove it in case a running text is needed.  For example, in
   @html

Index: Texinfo/Structuring.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Structuring.pm,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- Texinfo/Structuring.pm      3 Mar 2011 09:46:06 -0000       1.40
+++ Texinfo/Structuring.pm      12 Mar 2011 00:24:38 -0000      1.41
@@ -220,7 +220,8 @@
         # new command is below
         if ($previous_section->{'level'} < $level) {
           if ($level - $previous_section->{'level'} > 1) {
-            $self->line_error(sprintf($self->__("Upping the section level of 
address@hidden which is too low"), 
+            $self->line_error(sprintf($self->
+                  __("Upping the section level of address@hidden which is too 
low"), 
                                        $content->{'cmdname'}), 
$content->{'line_nr'});
             $content->{'level'} = $previous_section->{'level'} + 1;
           }
@@ -288,11 +289,6 @@
         $number_top_level = $level;
         $number_top_level++ if (!$number_top_level);
       }
-      #if ($unnumbered_commands{$content->{'cmdname'}}) {
-      #  $command_numbers[$content->{'level'}] = 0;
-      #} elsif (!defined($command_numbers[$content->{'level'}])) {
-      #  $command_numbers[$content->{'level'}] = 1;
-      #}
       if (!defined($command_numbers[$content->{'level'}])) {
         if ($unnumbered_commands{$content->{'cmdname'}}) {
           $command_numbers[$content->{'level'}] = 0;
@@ -376,11 +372,14 @@
         my $previous_node;
         foreach my $menu_content (@{$menu->{'contents'}}) {
           if ($menu_content->{'extra'}
-             and $menu_content->{'extra'}->{'menu_entry_node'}
-             and 
!$menu_content->{'extra'}->{'menu_entry_node'}->{'manual_content'}) {
+             and $menu_content->{'extra'}->{'menu_entry_node'}) {
+            my $menu_node;
+            my $external_node;
+            if 
(!$menu_content->{'extra'}->{'menu_entry_node'}->{'manual_content'}) {
             if 
(!$self->{'labels'}->{$menu_content->{'extra'}->{'menu_entry_node'}->{'normalized'}})
 {
               if (!$self->{'novalidate'}) {
-                $self->line_error (sprintf($self->__("Menu reference to 
nonexistent node `%s'"), 
+                  $self->line_error (sprintf($self->
+                   __("Menu reference to nonexistent node `%s'"), 
                   
_node_extra_to_texi($menu_content->{'extra'}->{'menu_entry_node'})), 
                   $menu_content->{'line_nr'});
               }
@@ -390,13 +389,22 @@
               # are kept in $menu_node->{'menu_up_hash'}
               my $normalized_menu_node
                 = 
$menu_content->{'extra'}->{'menu_entry_node'}->{'normalized'};
-              my $menu_node =
-                $self->{'labels'}->{$normalized_menu_node};
+                $menu_node = $self->{'labels'}->{$normalized_menu_node};
               $menu_node->{'menu_up'} = $node;
               $menu_node->{'menu_up_hash'}->{$node->{'extra'}->{'normalized'}} 
=1;
+              }
+            } else {
+              $external_node = 1;
+              $menu_node = {'extra' => 
$menu_content->{'extra'}->{'menu_entry_node'}};
+            }
+            if ($menu_node) {
               if ($previous_node) {
+                if (!$external_node) {
                 $menu_node->{'menu_prev'} = $previous_node;
+                }
+                if (!$previous_node->{'extra'}->{'manual_content'}) {
                 $previous_node->{'menu_next'} = $menu_node;
+                }
               } else {
                 $node->{'menu_child'} = $menu_node;
               }
@@ -437,12 +445,14 @@
         }
         if ($node->{'node_next'}) {
           if (!defined($node->{'menu_next'})) {
-            $self->line_warn(sprintf($self->__("No node following `%s' in 
menu, but `%s' follows in sectioning"), 
+            $self->line_warn(sprintf($self->
+               __("No node following `%s' in menu, but `%s' follows in 
sectioning"), 
              _node_extra_to_texi($node->{'extra'}), 
              _node_extra_to_texi($node->{'node_next'}->{'extra'})), 
              $node->{'line_nr'})
           } elsif ($node->{'menu_next'} ne $node->{'node_next'}) {
-            $self->line_warn(sprintf($self->__("Node following `%s' in menu 
`%s' and in sectioning `%s' differ"), 
+            $self->line_warn(sprintf($self->
+               __("Node following `%s' in menu `%s' and in sectioning `%s' 
differ"), 
             _node_extra_to_texi($node->{'extra'}),
             _node_extra_to_texi($node->{'menu_next'}->{'extra'}), 
             _node_extra_to_texi($node->{'node_next'}->{'extra'})),
@@ -456,9 +466,11 @@
                                                => $self->{'TOP_NODE_UP'} } 
]})};
         if ($node->{'menu_child'}) {
           $node->{'node_next'} = $node->{'menu_child'};
+          if (!$node->{'menu_child'}->{'extra'}->{'manual_content'}) {
           $node->{'menu_child'}->{'node_prev'} = $node;
         }
       }
+      }
     } else {
       my @directions = @{$node->{'extra'}->{'nodes_manuals'}};
       shift @directions;
@@ -476,7 +488,8 @@
             if ($self->{'novalidate'}) {
               $node->{'node_'.$direction} = { 'extra' => $node_direction };
             } else {
-              $self->line_error (sprintf($self->__("%s reference to 
nonexistent `%s'"),
+              $self->line_error (sprintf($self->
+                                  __("%s reference to nonexistent `%s'"),
                     $direction_texts{$direction},
                     _node_extra_to_texi($node_direction)), 
                     $node->{'line_nr'});
@@ -497,14 +510,16 @@
          or 
!$node->{'menu_up_hash'}->{$node->{'node_up'}->{'extra'}->{'normalized'}})) {
       if (!$node->{'node_up'}->{'extra'}->{'manual_content'}) {
       # up node has no menu entry
-          $self->line_error(sprintf($self->__("Node `%s' lacks menu item for 
`%s' despite being its Up target"), 
+          $self->line_error(sprintf($self->
+              __("Node `%s' lacks menu item for `%s' despite being its Up 
target"), 
              _node_extra_to_texi($node->{'node_up'}->{'extra'}), 
              _node_extra_to_texi($node->{'extra'})),
              $node->{'node_up'}->{'line_nr'});
       # This leads to an error when there is an external nodes as up, and 
       # not in Top node.
       } elsif ($node->{'menu_up'}) {
-        $self->line_warn(sprintf($self->__("For `%s', up in menu `%s' and up 
`%s' don't match"), 
+        $self->line_warn(sprintf($self->
+           __("For `%s', up in menu `%s' and up `%s' don't match"), 
           _node_extra_to_texi($node->{'extra'}),
           _node_extra_to_texi($node->{'menu_up'}->{'extra'}), 
           _node_extra_to_texi($node->{'node_up'}->{'extra'})), 
$node->{'line_nr'});
@@ -556,7 +571,8 @@
          and $content->{'extra'}->{'associated_section'}) {
       if ($current->{'extra'}->{'no_section'}) {
         delete $current->{'extra'}->{'no_section'};
-        $current->{'extra'}->{'section'} = 
$content->{'extra'}->{'associated_section'};
+        $current->{'extra'}->{'section'} 
+          = $content->{'extra'}->{'associated_section'};
       } else {
         $current = { 'type' => 'element', 'extra' 
                 => {'section' => $content->{'extra'}->{'associated_section'}}};
@@ -607,7 +623,8 @@
                                
_node_extra_to_texi($ref->{'extra'}->{'node_argument'})), 
                         $ref->{'line_nr'})
     } else {
-      $ref->{'extra'}->{'label'} = 
$labels->{$ref->{'extra'}->{'node_argument'}->{'normalized'}};
+      $ref->{'extra'}->{'label'} 
+        = $labels->{$ref->{'extra'}->{'node_argument'}->{'normalized'}};
     }
   }
 }
@@ -626,7 +643,8 @@
       my $number;
       if ($float->{'float_section'}) {
         my $up = $float->{'float_section'};
-        while ($up->{'section_up'} and 
$command_structuring_level{$up->{'cmdname'}} 
+        while ($up->{'section_up'} 
+               and $command_structuring_level{$up->{'cmdname'}} 
                and 
$command_structuring_level{$up->{'section_up'}->{'cmdname'}}) {
           $up = $up->{'section_up'};
         }

Index: t/57invalid_nestings.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/57invalid_nestings.t,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- t/57invalid_nestings.t      7 Mar 2011 00:09:37 -0000       1.14
+++ t/57invalid_nestings.t      12 Mar 2011 00:24:38 -0000      1.15
@@ -30,6 +30,17 @@
 @table @code
 @item @indent @titlefont{in titlefont} @anchor{in address@hidden @exdent exdent
 in address@hidden in item}
address@hidden @ref{Top,, title
+long title}
address@hidden table
+'],
+['table_on_item_line',
+'@table @asis
address@hidden item @table @asis
+   @item in nested table item
+   in nested table line
+   @end table
+in table line
 @end table
 '],
 ['on_itemize_line',
@@ -349,6 +360,15 @@
 * (truc)::
 @end menu
 }'],
+['item_in_ref',
+'@table @asis
address@hidden first item
+First item text
+
address@hidden,, title in first item
address@hidden second item}
address@hidden table
+'],
 );
 
 my @formatted_cases = (

Index: t/info_tests.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/info_tests.t,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- t/info_tests.t      27 Feb 2011 21:51:30 -0000      1.24
+++ t/info_tests.t      12 Mar 2011 00:24:38 -0000      1.25
@@ -29,6 +29,16 @@
 @bye
 
 '],
+['space_at_menu_end',
+'@node Top
+
address@hidden
+* (out)::
+
address@hidden menu
+
+A para.
+'],
 ['text_before_node',
 '@node Top
 

Index: t/plaintext_tests.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/plaintext_tests.t,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- t/plaintext_tests.t 6 Mar 2011 23:20:36 -0000       1.16
+++ t/plaintext_tests.t 12 Mar 2011 00:24:38 -0000      1.17
@@ -87,16 +87,6 @@
 @end html
 ',{'expanded_formats' => ['html']}
 ],
-['space_at_menu_end',
-'@node Top
-
address@hidden
-* (out)::
-
address@hidden menu
-
-A para.
-'],
 ['star_at_command_formatting',
 '@macro mymacro
 Some text @*

Index: t/results/invalid_nestings/in_table.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/invalid_nestings/in_table.pl,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- t/results/invalid_nestings/in_table.pl      6 Mar 2011 14:44:04 -0000       
1.27
+++ t/results/invalid_nestings/in_table.pl      12 Mar 2011 00:24:38 -0000      
1.28
@@ -349,6 +349,91 @@
                   'type' => 'empty_spaces_after_command'
                 },
                 {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'Top'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    },
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    },
+                    {
+                      'contents' => [
+                        {
+                          'text' => ' ',
+                          'type' => 'empty_spaces_before_argument'
+                        },
+                        {
+                          'parent' => {},
+                          'text' => 'title
+'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'ref',
+                  'contents' => [],
+                  'extra' => {
+                    'brace_command_contents' => [
+                      [
+                        {}
+                      ],
+                      undef
+                    ],
+                    'invalid_nesting' => 1
+                  },
+                  'line_nr' => {
+                    'file_name' => '',
+                    'line_nr' => 7,
+                    'macro' => ''
+                  },
+                  'parent' => {},
+                  'remaining_args' => 2
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'extra' => {
+            'misc_content' => [
+              {}
+            ]
+          },
+          'parent' => {}
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'long title
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
                   'parent' => {},
                   'text' => 'table'
                 },
@@ -371,7 +456,7 @@
           },
           'line_nr' => {
             'file_name' => '',
-            'line_nr' => 7,
+            'line_nr' => 9,
             'macro' => ''
           },
           'parent' => {}
@@ -462,14 +547,27 @@
 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[1];
 $result_trees{'in_table'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'in_table'}{'contents'}[2];
 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[1]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[2];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[2]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0];
-$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0];
 $result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2];
-$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'extra'}{'command'} = 
$result_trees{'in_table'}{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[1];
 $result_trees{'in_table'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'in_table'}{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[3];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[3]{'parent'} = 
$result_trees{'in_table'}{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[4];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'extra'}{'command'} = 
$result_trees{'in_table'}{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[2]{'contents'}[4]{'parent'} = 
$result_trees{'in_table'}{'contents'}[2];
 
$result_trees{'in_table'}{'contents'}[2]{'extra'}{'block_command_line_contents'}[0][0]
 = $result_trees{'in_table'}{'contents'}[2]{'args'}[0]{'contents'}[1];
 $result_trees{'in_table'}{'contents'}[2]{'extra'}{'command_as_argument'} = 
$result_trees{'in_table'}{'contents'}[2]{'args'}[0]{'contents'}[1];
-$result_trees{'in_table'}{'contents'}[2]{'extra'}{'end_command'} = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[2]{'extra'}{'end_command'} = 
$result_trees{'in_table'}{'contents'}[2]{'contents'}[4];
 $result_trees{'in_table'}{'contents'}[2]{'parent'} = $result_trees{'in_table'};
 
 $result_texis{'in_table'} = '@table @xref
@@ -478,6 +576,8 @@
 @table @code
 @item @indent @titlefont{in titlefont} @anchor{in address@hidden @exdent exdent
 in address@hidden in item}
address@hidden @ref{Top,, title
+}long title
 @end table
 ';
 
@@ -485,6 +585,8 @@
 $result_texts{'in_table'} = '
 in titlefont exdent
 in item
+
+long title
 ';
 
 $result_errors{'in_table'} = [
@@ -550,6 +652,33 @@
     'macro' => '',
     'text' => '@exdent should not appear in @item',
     'type' => 'warning'
+  },
+  {
+    'error_line' => ':7: warning: @ref should not appear in @item
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '@ref should not appear in @item',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':7: @ref missing close brace
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '@ref missing close brace',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':8: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 8,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
   }
 ];
 

Index: t/results/invalid_nestings/menu_in_style_command.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/menu_in_style_command.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/results/invalid_nestings/menu_in_style_command.pl 7 Mar 2011 00:09:46 
-0000       1.1
+++ t/results/invalid_nestings/menu_in_style_command.pl 12 Mar 2011 00:24:38 
-0000      1.2
@@ -257,6 +257,15 @@
   'extra' => {
     'normalized' => 'Top'
   },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'truc'
+        }
+      ]
+    }
+  },
   'menus' => [
     {
       'cmdname' => 'menu',
@@ -272,6 +281,7 @@
       }
     }
   ],
+  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -283,11 +293,21 @@
   }
 };
 
$result_nodes{'menu_in_style_command'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'menu_in_style_command'}{'menus'}[0];
+$result_nodes{'menu_in_style_command'}{'node_next'} = 
$result_nodes{'menu_in_style_command'}{'menu_child'};
 
 $result_menus{'menu_in_style_command'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'truc'
+        }
+      ]
+    }
   }
 };
 

Index: t/results/menu/menu_in_deffn.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/menu/menu_in_deffn.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/results/menu/menu_in_deffn.pl     6 Mar 2011 14:44:05 -0000       1.3
+++ t/results/menu/menu_in_deffn.pl     12 Mar 2011 00:24:39 -0000      1.4
@@ -367,6 +367,15 @@
   'extra' => {
     'normalized' => 'Top'
   },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'mynode'
+        }
+      ]
+    }
+  },
   'menus' => [
     {
       'cmdname' => 'menu',
@@ -382,6 +391,7 @@
       }
     }
   ],
+  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -393,11 +403,21 @@
   }
 };
 
$result_nodes{'menu_in_deffn'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'menu_in_deffn'}{'menus'}[0];
+$result_nodes{'menu_in_deffn'}{'node_next'} = 
$result_nodes{'menu_in_deffn'}{'menu_child'};
 
 $result_menus{'menu_in_deffn'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'mynode'
+        }
+      ]
+    }
   }
 };
 

Index: t/results/menu/multiple_menus.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/menu/multiple_menus.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/results/menu/multiple_menus.pl    6 Mar 2011 14:44:06 -0000       1.3
+++ t/results/menu/multiple_menus.pl    12 Mar 2011 00:24:39 -0000      1.4
@@ -376,6 +376,16 @@
   'extra' => {
     'normalized' => 'Top'
   },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'b'
+        }
+      ],
+      'normalized' => 'b'
+    }
+  },
   'menus' => [
     {
       'cmdname' => 'menu',
@@ -404,6 +414,7 @@
       }
     }
   ],
+  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -416,11 +427,22 @@
 };
 
$result_nodes{'multiple_menus'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'multiple_menus'}{'menus'}[0];
 
$result_nodes{'multiple_menus'}{'menus'}[1]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'multiple_menus'}{'menus'}[1];
+$result_nodes{'multiple_menus'}{'node_next'} = 
$result_nodes{'multiple_menus'}{'menu_child'};
 
 $result_menus{'multiple_menus'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'b'
+        }
+      ],
+      'normalized' => 'b'
+    }
   }
 };
 

Index: t/results/menu/reference_to_external_manual.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/menu/reference_to_external_manual.pl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/results/menu/reference_to_external_manual.pl      6 Mar 2011 14:44:06 
-0000       1.10
+++ t/results/menu/reference_to_external_manual.pl      12 Mar 2011 00:24:39 
-0000      1.11
@@ -231,6 +231,15 @@
   'extra' => {
     'normalized' => 'Top'
   },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'info'
+        }
+      ]
+    }
+  },
   'menus' => [
     {
       'cmdname' => 'menu',
@@ -246,6 +255,7 @@
       }
     }
   ],
+  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -257,11 +267,21 @@
   }
 };
 
$result_nodes{'reference_to_external_manual'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'reference_to_external_manual'}{'menus'}[0];
+$result_nodes{'reference_to_external_manual'}{'node_next'} = 
$result_nodes{'reference_to_external_manual'}{'menu_child'};
 
 $result_menus{'reference_to_external_manual'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'info'
+        }
+      ]
+    }
   }
 };
 

Index: t/results/plaintext_tests/line_passed_and_formats.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/plaintext_tests/line_passed_and_formats.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/results/plaintext_tests/line_passed_and_formats.pl        6 Mar 2011 
14:44:07 -0000       1.4
+++ t/results/plaintext_tests/line_passed_and_formats.pl        12 Mar 2011 
00:24:39 -0000      1.5
@@ -3124,6 +3124,16 @@
   'extra' => {
     'normalized' => 'Top'
   },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'manual'
+        }
+      ],
+      'normalized' => 'node'
+    }
+  },
   'menus' => [
     {
       'cmdname' => 'menu',
@@ -3139,6 +3149,7 @@
       }
     }
   ],
+  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -3150,11 +3161,22 @@
   }
 };
 
$result_nodes{'line_passed_and_formats'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'line_passed_and_formats'}{'menus'}[0];
+$result_nodes{'line_passed_and_formats'}{'node_next'} = 
$result_nodes{'line_passed_and_formats'}{'menu_child'};
 
 $result_menus{'line_passed_and_formats'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'manual'
+        }
+      ],
+      'normalized' => 'node'
+    }
   }
 };
 

Index: t/results/sectioning/nodename_parentheses.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/sectioning/nodename_parentheses.pl,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- t/results/sectioning/nodename_parentheses.pl        6 Mar 2011 14:44:09 
-0000       1.35
+++ t/results/sectioning/nodename_parentheses.pl        12 Mar 2011 00:24:39 
-0000      1.36
@@ -1180,6 +1180,16 @@
       'extra' => {
         'normalized' => 'Other-node'
       },
+      'menu_next' => {
+        'extra' => {
+          'manual_content' => [
+            {
+              'text' => 'manual'
+            }
+          ],
+          'normalized' => 'node'
+        }
+      },
       'menu_prev' => {},
       'menu_up' => {},
       'menu_up_hash' => {
@@ -1218,12 +1228,12 @@
     'type' => 'error'
   },
   {
-    'error_line' => ':15: warning: No node following `Other node\' in menu, 
but `node\' follows in sectioning
+    'error_line' => ':15: warning: Node following `Other node\' in menu 
`(manual)node\' and in sectioning `node\' differ
 ',
     'file_name' => '',
     'line_nr' => 15,
     'macro' => '',
-    'text' => 'No node following `Other node\' in menu, but `node\' follows in 
sectioning',
+    'text' => 'Node following `Other node\' in menu `(manual)node\' and in 
sectioning `node\' differ',
     'type' => 'warning'
   },
   {

Index: t/results/info_tests/space_at_menu_end.pl
===================================================================
RCS file: t/results/info_tests/space_at_menu_end.pl
diff -N t/results/info_tests/space_at_menu_end.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/info_tests/space_at_menu_end.pl   12 Mar 2011 00:24:38 -0000      
1.1
@@ -0,0 +1,339 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors);
+
+use utf8;
+
+$result_trees{'space_at_menu_end'} = {
+  'contents' => [
+    {
+      'contents' => [],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Top'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'menu',
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => '* ',
+                  'type' => 'menu_entry_leading_text'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '(out)'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'menu_entry_node'
+                },
+                {
+                  'parent' => {},
+                  'text' => '::',
+                  'type' => 'menu_entry_separator'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'menu_entry_description'
+                }
+              ],
+              'extra' => {
+                'menu_entry_node' => {
+                  'manual_content' => [
+                    {
+                      'parent' => {},
+                      'text' => 'out'
+                    }
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 4,
+                'macro' => ''
+              },
+              'parent' => {},
+              'type' => 'menu_entry'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'after_description_line'
+            },
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'menu_comment'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'menu'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'spaces_at_end'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command' => {},
+                'command_argument' => 'menu',
+                'text_arg' => 'menu'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 6,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'end_command' => {}
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 3,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'A para.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      },
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'space_at_menu_end'}{'contents'}[0]{'parent'} = 
$result_trees{'space_at_menu_end'};
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[2]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'menu_entry_node'}{'manual_content'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'extra'}{'command'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'extra'}{'end_command'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[3];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'extra'}{'node_content'}[0] 
= $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'space_at_menu_end'}{'contents'}[1]{'parent'} = 
$result_trees{'space_at_menu_end'};
+
+$result_texis{'space_at_menu_end'} = '@node Top
+
address@hidden
+* (out)::
+
address@hidden menu
+
+A para.
+';
+
+
+$result_texts{'space_at_menu_end'} = '
+* (out)::
+
+
+A para.
+';
+
+$result_sectioning{'space_at_menu_end'} = {};
+
+$result_nodes{'space_at_menu_end'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'out'
+        }
+      ]
+    }
+  },
+  'menus' => [
+    {
+      'cmdname' => 'menu',
+      'extra' => {
+        'end_command' => {
+          'cmdname' => 'end',
+          'extra' => {
+            'command' => {},
+            'command_argument' => 'menu',
+            'text_arg' => 'menu'
+          }
+        }
+      }
+    }
+  ],
+  'node_next' => {},
+  'node_up' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'dir'
+        }
+      ]
+    }
+  }
+};
+$result_nodes{'space_at_menu_end'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'space_at_menu_end'}{'menus'}[0];
+$result_nodes{'space_at_menu_end'}{'node_next'} = 
$result_nodes{'space_at_menu_end'}{'menu_child'};
+
+$result_menus{'space_at_menu_end'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'out'
+        }
+      ]
+    }
+  }
+};
+
+$result_errors{'space_at_menu_end'} = [];
+
+
+
+$result_converted{'info'}->{'space_at_menu_end'} = 'This is , produced by 
makeinfo version 4.13 from .
+
+
+File: ,  Node: Top,  Next: (out),  Up: (dir)
+
+* Menu:
+
+* (out)::
+
+A para.
+
+
+Tag Table:
+Node: Top52
+
+End Tag Table
+';
+
+1;

Index: t/results/invalid_nestings/item_in_ref.pl
===================================================================
RCS file: t/results/invalid_nestings/item_in_ref.pl
diff -N t/results/invalid_nestings/item_in_ref.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/item_in_ref.pl   12 Mar 2011 00:24:38 -0000      
1.1
@@ -0,0 +1,317 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors);
+
+use utf8;
+
+$result_trees{'item_in_ref'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'asis',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'space_at_end_block_command'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'first item'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'extra' => {
+            'misc_content' => [
+              {}
+            ]
+          },
+          'parent' => {}
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'First item text
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'Top'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => ' ',
+                      'type' => 'empty_spaces_before_argument'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'title in first item
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'ref',
+              'contents' => [],
+              'extra' => {
+                'brace_command_contents' => [
+                  [
+                    {}
+                  ],
+                  undef
+                ]
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 5,
+                'macro' => ''
+              },
+              'parent' => {},
+              'remaining_args' => 2
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'second item'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'extra' => {
+            'invalid_nesting' => 1,
+            'misc_content' => [
+              {}
+            ]
+          },
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'table'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'end',
+          'extra' => {
+            'command' => {},
+            'command_argument' => 'table',
+            'text_arg' => 'table'
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 7,
+            'macro' => ''
+          },
+          'parent' => {}
+        }
+      ],
+      'extra' => {
+        'block_command_line_contents' => [
+          [
+            {}
+          ]
+        ],
+        'command_as_argument' => {},
+        'end_command' => {}
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      },
+      'parent' => {}
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[1];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[2];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'extra'}{'command'} 
= $result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'item_in_ref'}{'contents'}[0];
+$result_trees{'item_in_ref'}{'contents'}[0]{'extra'}{'block_command_line_contents'}[0][0]
 = $result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'item_in_ref'}{'contents'}[0]{'extra'}{'command_as_argument'} = 
$result_trees{'item_in_ref'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'item_in_ref'}{'contents'}[0]{'extra'}{'end_command'} = 
$result_trees{'item_in_ref'}{'contents'}[0]{'contents'}[5];
+$result_trees{'item_in_ref'}{'contents'}[0]{'parent'} = 
$result_trees{'item_in_ref'};
+
+$result_texis{'item_in_ref'} = '@table @asis
address@hidden first item
+First item text
+
address@hidden,, title in first item
address@hidden second item
address@hidden table
+';
+
+
+$result_texts{'item_in_ref'} = 'first item
+First item text
+
+second item
+';
+
+$result_errors{'item_in_ref'} = [
+  {
+    'error_line' => ':6: warning: @item should not appear in @ref
+',
+    'file_name' => '',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => '@item should not appear in @ref',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: @ref missing close brace
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@ref missing close brace',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':6: Misplaced }
+',
+    'file_name' => '',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => 'Misplaced }',
+    'type' => 'error'
+  }
+];
+
+
+1;

Index: t/results/invalid_nestings/table_on_item_line.pl
===================================================================
RCS file: t/results/invalid_nestings/table_on_item_line.pl
diff -N t/results/invalid_nestings/table_on_item_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/table_on_item_line.pl    12 Mar 2011 00:24:38 
-0000      1.1
@@ -0,0 +1,335 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors);
+
+use utf8;
+
+$result_trees{'table_on_item_line'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'asis',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'space_at_end_block_command'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'item '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => ' ',
+                          'type' => 'empty_spaces_after_command'
+                        },
+                        {
+                          'cmdname' => 'asis',
+                          'parent' => {},
+                          'type' => 'command_as_argument'
+                        },
+                        {
+                          'parent' => {},
+                          'text' => '
+',
+                          'type' => 'space_at_end_block_command'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'block_line_arg'
+                    }
+                  ],
+                  'cmdname' => 'table',
+                  'contents' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'before_item'
+                    }
+                  ],
+                  'extra' => {
+                    'block_command_line_contents' => [
+                      [
+                        {}
+                      ]
+                    ],
+                    'command_as_argument' => {},
+                    'invalid_nesting' => 1
+                  },
+                  'line_nr' => {
+                    'file_name' => '',
+                    'line_nr' => 2,
+                    'macro' => ''
+                  },
+                  'parent' => {}
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'extra' => {
+            'misc_content' => [
+              {},
+              {}
+            ]
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '   ',
+          'type' => 'empty_spaces_before_paragraph'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'in nested table item'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'extra' => {
+            'misc_content' => [
+              {}
+            ]
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '   ',
+          'type' => 'empty_spaces_before_paragraph'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'in nested table line
+'
+            },
+            {
+              'parent' => {},
+              'text' => '   '
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'table'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'end',
+          'extra' => {
+            'command' => {},
+            'command_argument' => 'table',
+            'text_arg' => 'table'
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 5,
+            'macro' => ''
+          },
+          'parent' => {}
+        }
+      ],
+      'extra' => {
+        'block_command_line_contents' => [
+          [
+            {}
+          ]
+        ],
+        'command_as_argument' => {},
+        'end_command' => {}
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'in table line
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'extra'}{'block_command_line_contents'}[0][0]
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'extra'}{'command_as_argument'}
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'misc_content'}[1]
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[4];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[4];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'extra'}{'command'}
 = $result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[0];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'extra'}{'block_command_line_contents'}[0][0]
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'extra'}{'command_as_argument'}
 = $result_trees{'table_on_item_line'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'extra'}{'end_command'} = 
$result_trees{'table_on_item_line'}{'contents'}[0]{'contents'}[5];
+$result_trees{'table_on_item_line'}{'contents'}[0]{'parent'} = 
$result_trees{'table_on_item_line'};
+$result_trees{'table_on_item_line'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'table_on_item_line'}{'contents'}[1];
+$result_trees{'table_on_item_line'}{'contents'}[1]{'parent'} = 
$result_trees{'table_on_item_line'};
+
+$result_texis{'table_on_item_line'} = '@table @asis
address@hidden item @table @asis
address@hidden table
+   @item in nested table item
+   in nested table line
+   @end table
+in table line
+';
+
+
+$result_texts{'table_on_item_line'} = 'item 
+in nested table item
+in nested table line
+   in table line
+';
+
+$result_errors{'table_on_item_line'} = [
+  {
+    'error_line' => ':2: warning: @table should only appear at a line beginning
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@table should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':2: warning: @table should not appear in @item
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@table should not appear in @item',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':2: No matching address@hidden table\'
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => 'No matching address@hidden table\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: Unmatched address@hidden table\'
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden table\'',
+    'type' => 'error'
+  }
+];
+
+
+1;

Index: t/results/plaintext_tests/space_at_menu_end.pl
===================================================================
RCS file: t/results/plaintext_tests/space_at_menu_end.pl
diff -N t/results/plaintext_tests/space_at_menu_end.pl
--- t/results/plaintext_tests/space_at_menu_end.pl      6 Mar 2011 14:44:07 
-0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,309 +0,0 @@
-use vars qw(%result_texis %result_texts %result_trees %result_errors 
-   %result_indices %result_sectioning %result_nodes %result_menus
-   %result_floats %result_converted %result_converted_errors);
-
-use utf8;
-
-$result_trees{'space_at_menu_end'} = {
-  'contents' => [
-    {
-      'contents' => [],
-      'parent' => {},
-      'type' => 'text_root'
-    },
-    {
-      'args' => [
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => ' ',
-              'type' => 'empty_spaces_after_command'
-            },
-            {
-              'parent' => {},
-              'text' => 'Top'
-            },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'spaces_at_end'
-            }
-          ],
-          'parent' => {},
-          'type' => 'misc_line_arg'
-        }
-      ],
-      'cmdname' => 'node',
-      'contents' => [
-        {
-          'parent' => {},
-          'text' => '
-',
-          'type' => 'empty_line'
-        },
-        {
-          'cmdname' => 'menu',
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'empty_line_after_command'
-            },
-            {
-              'args' => [
-                {
-                  'parent' => {},
-                  'text' => '* ',
-                  'type' => 'menu_entry_leading_text'
-                },
-                {
-                  'contents' => [
-                    {
-                      'parent' => {},
-                      'text' => '(out)'
-                    }
-                  ],
-                  'parent' => {},
-                  'type' => 'menu_entry_node'
-                },
-                {
-                  'parent' => {},
-                  'text' => '::',
-                  'type' => 'menu_entry_separator'
-                },
-                {
-                  'contents' => [
-                    {
-                      'parent' => {},
-                      'text' => '
-'
-                    }
-                  ],
-                  'parent' => {},
-                  'type' => 'menu_entry_description'
-                }
-              ],
-              'extra' => {
-                'menu_entry_node' => {
-                  'manual_content' => [
-                    {
-                      'parent' => {},
-                      'text' => 'out'
-                    }
-                  ]
-                }
-              },
-              'line_nr' => {
-                'file_name' => '',
-                'line_nr' => 4,
-                'macro' => ''
-              },
-              'parent' => {},
-              'type' => 'menu_entry'
-            },
-            {
-              'parent' => {},
-              'text' => '
-',
-              'type' => 'after_description_line'
-            },
-            {
-              'contents' => [],
-              'parent' => {},
-              'type' => 'menu_comment'
-            },
-            {
-              'args' => [
-                {
-                  'contents' => [
-                    {
-                      'parent' => {},
-                      'text' => ' ',
-                      'type' => 'empty_spaces_after_command'
-                    },
-                    {
-                      'parent' => {},
-                      'text' => 'menu'
-                    },
-                    {
-                      'parent' => {},
-                      'text' => '
-',
-                      'type' => 'spaces_at_end'
-                    }
-                  ],
-                  'parent' => {},
-                  'type' => 'misc_line_arg'
-                }
-              ],
-              'cmdname' => 'end',
-              'extra' => {
-                'command' => {},
-                'command_argument' => 'menu',
-                'text_arg' => 'menu'
-              },
-              'line_nr' => {
-                'file_name' => '',
-                'line_nr' => 6,
-                'macro' => ''
-              },
-              'parent' => {}
-            }
-          ],
-          'extra' => {
-            'end_command' => {}
-          },
-          'line_nr' => {
-            'file_name' => '',
-            'line_nr' => 3,
-            'macro' => ''
-          },
-          'parent' => {}
-        },
-        {
-          'parent' => {},
-          'text' => '
-',
-          'type' => 'empty_line'
-        },
-        {
-          'contents' => [
-            {
-              'parent' => {},
-              'text' => 'A para.
-'
-            }
-          ],
-          'parent' => {},
-          'type' => 'paragraph'
-        }
-      ],
-      'extra' => {
-        'node_content' => [
-          {}
-        ],
-        'nodes_manuals' => [
-          {
-            'node_content' => [],
-            'normalized' => 'Top'
-          }
-        ],
-        'normalized' => 'Top'
-      },
-      'line_nr' => {
-        'file_name' => '',
-        'line_nr' => 1,
-        'macro' => ''
-      },
-      'parent' => {}
-    }
-  ],
-  'type' => 'document_root'
-};
-$result_trees{'space_at_menu_end'}{'contents'}[0]{'parent'} = 
$result_trees{'space_at_menu_end'};
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[2]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'menu_entry_node'}{'manual_content'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'extra'}{'command'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'extra'}{'end_command'}
 = 
$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'contents'}[4];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[3];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'space_at_menu_end'}{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'extra'}{'node_content'}[0] 
= $result_trees{'space_at_menu_end'}{'contents'}[1]{'args'}[0]{'contents'}[1];
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = $result_trees{'space_at_menu_end'}{'contents'}[1]{'extra'}{'node_content'};
-$result_trees{'space_at_menu_end'}{'contents'}[1]{'parent'} = 
$result_trees{'space_at_menu_end'};
-
-$result_texis{'space_at_menu_end'} = '@node Top
-
address@hidden
-* (out)::
-
address@hidden menu
-
-A para.
-';
-
-
-$result_texts{'space_at_menu_end'} = '
-* (out)::
-
-
-A para.
-';
-
-$result_sectioning{'space_at_menu_end'} = {};
-
-$result_nodes{'space_at_menu_end'} = {
-  'cmdname' => 'node',
-  'extra' => {
-    'normalized' => 'Top'
-  },
-  'menus' => [
-    {
-      'cmdname' => 'menu',
-      'extra' => {
-        'end_command' => {
-          'cmdname' => 'end',
-          'extra' => {
-            'command' => {},
-            'command_argument' => 'menu',
-            'text_arg' => 'menu'
-          }
-        }
-      }
-    }
-  ],
-  'node_up' => {
-    'extra' => {
-      'manual_content' => [
-        {
-          'text' => 'dir'
-        }
-      ]
-    }
-  }
-};
-$result_nodes{'space_at_menu_end'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'space_at_menu_end'}{'menus'}[0];
-
-$result_menus{'space_at_menu_end'} = {
-  'cmdname' => 'node',
-  'extra' => {
-    'normalized' => 'Top'
-  }
-};
-
-$result_errors{'space_at_menu_end'} = [];
-
-
-
-$result_converted{'plaintext'}->{'space_at_menu_end'} = '
-* Menu:
-
-* (out)::
-
-A para.
-';
-
-1;



reply via email to

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