texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp Texinfo/Parser.pm t/57invalid_nestin...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Parser.pm t/57invalid_nestin...
Date: Fri, 20 Jan 2012 21:41:05 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        12/01/20 21:41:05

Modified files:
        tp/Texinfo     : Parser.pm 
        tp/t           : 57invalid_nestings.t 
Added files:
        tp/t/results/invalid_nestings: node_on_index_entry_line.pl 
                                       section_on_def_line.pl 
                                       section_on_defx_line.pl 
                                       section_on_index_entry_line.pl 

Log message:
        Handle rightly a @node or @section closing a line command.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.354&r2=1.355
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/57invalid_nestings.t?cvsroot=texinfo&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/node_on_index_entry_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/section_on_def_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/section_on_defx_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/section_on_index_entry_line.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -b -r1.354 -r1.355
--- Texinfo/Parser.pm   18 Jan 2012 22:31:13 -0000      1.354
+++ Texinfo/Parser.pm   20 Jan 2012 21:41:04 -0000      1.355
@@ -1316,7 +1316,11 @@
     $type = 'def_item';
   }
 
-  #print STDERR "_gather_def_item in "._print_current($current)."\n";
+  # This may happen for a construct like
+  # @deffnx a b @section
+  # but otherwise the end of line will lead to the command closing
+  return if (!$current->{'cmdname'} or $current->{'cmdname'} =~ /x$/);
+  #print STDERR "_gather_def_item($type) in "._print_current($current)."\n";
   my $def_item = {'type' => $type,
                   'parent' => $current,
                   'contents' => []};
@@ -1491,6 +1495,7 @@
   my $interrupting_command = shift;
 
   if ($current->{'cmdname'}) {
+    print STDERR "CLOSING address@hidden>{'cmdname'}\n" if ($self->{'DEBUG'});
     if (exists($brace_commands{$current->{'cmdname'}})) {
       pop @{$self->{'context_stack'}}
          if (exists $context_brace_commands{$current->{'cmdname'}});
@@ -1511,7 +1516,7 @@
           my $conditional = pop @{$current->{'parent'}->{'contents'}};
         }
       }
-      pop @{$self->{'context_stack'}} if
+      my $context = pop @{$self->{'context_stack'}} if
          ($preformatted_commands{$current->{'cmdname'}}
            or $menu_commands{$current->{'cmdname'}});
       pop @{$self->{'regions_stack'}} 
@@ -1520,9 +1525,17 @@
     } else {
       # There @item and @tab commands are closed, and also line commands
       # with invalid content
+      if ($current->{'cmdname'} and $current->{'args'}
+          and $current->{'args'}->[0] and $current->{'args'}->[0]->{'type'}
+          and $current->{'args'}->[0]->{'type'} eq 'misc_line_arg') {
+        my $context = pop @{$self->{'context_stack'}};
+        die "BUG: _close_current, command with misc_line_arg, context: 
$context\n" 
+          if ($context ne 'line' and $context ne 'def');
+      }
       $current = $current->{'parent'};
     }
   } elsif ($current->{'type'}) {
+    print STDERR "CLOSING type $current->{'type'}\n" if ($self->{'DEBUG'});
     if ($current->{'type'} eq 'bracketed') {
       $self->_command_error($current, $line_nr, 
                             $self->__("Misplaced %c"), ord('{'));
@@ -3926,6 +3939,7 @@
             }
             $self->_register_and_warn_invalid($command, $invalid_parent,
                                               $line_nr, $misc);
+            # also sets invalid_nesting in that case
             $misc->{'extra'}->{'invalid_nesting'} = 1 if ($only_in_headings);
             $self->_register_global_command($command, $misc, $line_nr);
 

Index: t/57invalid_nestings.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/57invalid_nestings.t,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- t/57invalid_nestings.t      12 Jan 2012 08:15:06 -0000      1.23
+++ t/57invalid_nestings.t      20 Jan 2012 21:41:04 -0000      1.24
@@ -72,6 +72,32 @@
 ['on_index_entry_line',
 '@cindex @indent @titlefont{in titlefont} @anchor{in address@hidden @exdent 
exdent
 '],
+['section_on_index_entry_line', 
+'@cindex a @section b
+
+Somethin
+'],
+['node_on_index_entry_line',
+'
address@hidden entry @node a, (m)b, (m)c, (h)d
+
+Content
+'],
+['section_on_def_line',
+'@deffn a b @section s
+
+Something
+
address@hidden deffn
+'],
+['section_on_defx_line',
+'@deffn h j k l 
address@hidden a b @section s
+
+Something
+
address@hidden deffn
+'],
 ['center',
 '@center @indent @titlefont{in titlefont} @anchor{in address@hidden
 

Index: t/results/invalid_nestings/node_on_index_entry_line.pl
===================================================================
RCS file: t/results/invalid_nestings/node_on_index_entry_line.pl
diff -N t/results/invalid_nestings/node_on_index_entry_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/node_on_index_entry_line.pl      20 Jan 2012 
21:41:04 -0000      1.1
@@ -0,0 +1,316 @@
+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 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'node_on_index_entry_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'extra' => {
+                    'command' => {}
+                  },
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'entry '
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'cindex',
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 2,
+            'macro' => ''
+          },
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'a'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'text' => ' ',
+              'type' => 'empty_spaces_before_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '(m)b'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'text' => ' ',
+              'type' => 'empty_spaces_before_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '(m)c'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'text' => ' ',
+              'type' => 'empty_spaces_before_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '(h)d'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Content
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'extra' => {
+        'invalid_nesting' => 1,
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'a'
+          },
+          {
+            'manual_content' => [
+              {
+                'parent' => {},
+                'text' => 'm'
+              }
+            ],
+            'node_content' => [
+              {
+                'parent' => {},
+                'text' => 'b'
+              }
+            ],
+            'normalized' => 'b'
+          },
+          {
+            'manual_content' => [
+              {
+                'parent' => {},
+                'text' => 'm'
+              }
+            ],
+            'node_content' => [
+              {
+                'parent' => {},
+                'text' => 'c'
+              }
+            ],
+            'normalized' => 'c'
+          },
+          {
+            'manual_content' => [
+              {
+                'parent' => {},
+                'text' => 'h'
+              }
+            ],
+            'node_content' => [
+              {
+                'parent' => {},
+                'text' => 'd'
+              }
+            ],
+            'normalized' => 'd'
+          }
+        ],
+        'normalized' => 'a'
+      },
+      'line_nr' => {},
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[0];
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[0];
+$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'parent'} = 
$result_trees{'node_on_index_entry_line'};
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'parent'} 
= $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[1]{'parent'} 
= $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[2];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[2]{'parent'} 
= $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3]{'parent'} 
= $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = 
$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[1]{'manual_content'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[1]{'node_content'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[1];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[2]{'manual_content'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[2];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[2]{'node_content'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[2];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[3]{'manual_content'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[3]{'node_content'}[0]{'parent'}
 = $result_trees{'node_on_index_entry_line'}{'contents'}[1]{'args'}[3];
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'line_nr'} = 
$result_trees{'node_on_index_entry_line'}{'contents'}[0]{'contents'}[1]{'line_nr'};
+$result_trees{'node_on_index_entry_line'}{'contents'}[1]{'parent'} = 
$result_trees{'node_on_index_entry_line'};
+
+$result_texis{'node_on_index_entry_line'} = '
address@hidden entry @node a, (m)b, (m)c, (h)d
+
+Content
+';
+
+
+$result_texts{'node_on_index_entry_line'} = '
+
+Content
+';
+
+$result_sectioning{'node_on_index_entry_line'} = {};
+
+$result_nodes{'node_on_index_entry_line'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'a'
+  },
+  'node_next' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'm'
+        }
+      ],
+      'normalized' => 'b'
+    }
+  },
+  'node_prev' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'm'
+        }
+      ],
+      'normalized' => 'c'
+    }
+  },
+  'node_up' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'h'
+        }
+      ],
+      'normalized' => 'd'
+    }
+  }
+};
+
+$result_menus{'node_on_index_entry_line'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'a'
+  }
+};
+
+$result_errors{'node_on_index_entry_line'} = [
+  {
+    'error_line' => ':2: warning: @node should only appear at a line beginning
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@node should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':2: warning: @node should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@node should not appear in @cindex',
+    'type' => 'warning'
+  }
+];
+
+
+1;

Index: t/results/invalid_nestings/section_on_def_line.pl
===================================================================
RCS file: t/results/invalid_nestings/section_on_def_line.pl
diff -N t/results/invalid_nestings/section_on_def_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/section_on_def_line.pl   20 Jan 2012 21:41:05 
-0000      1.1
@@ -0,0 +1,212 @@
+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 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'section_on_def_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'cmdname' => 'deffn',
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'extra' => {
+                        'command' => {}
+                      },
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'a b '
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'extra' => {
+                'def_command' => 'deffn',
+                'original_def_cmdname' => 'deffn'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 1,
+                'macro' => ''
+              },
+              'parent' => {},
+              'type' => 'def_line'
+            }
+          ],
+          'line_nr' => {},
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 's'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [],
+      'extra' => {
+        'invalid_nesting' => 1,
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 2,
+      'line_nr' => {},
+      'number' => 1,
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'Something
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'line_nr'} 
= 
$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'section_on_def_line'}{'contents'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[0]{'parent'} = 
$result_trees{'section_on_def_line'};
+$result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'section_on_def_line'}{'contents'}[1];
+$result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'section_on_def_line'}{'contents'}[1];
+$result_trees{'section_on_def_line'}{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'section_on_def_line'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'section_on_def_line'}{'contents'}[1]{'line_nr'} = 
$result_trees{'section_on_def_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'section_on_def_line'}{'contents'}[1]{'parent'} = 
$result_trees{'section_on_def_line'};
+$result_trees{'section_on_def_line'}{'contents'}[2]{'parent'} = 
$result_trees{'section_on_def_line'};
+$result_trees{'section_on_def_line'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'section_on_def_line'}{'contents'}[3];
+$result_trees{'section_on_def_line'}{'contents'}[3]{'parent'} = 
$result_trees{'section_on_def_line'};
+$result_trees{'section_on_def_line'}{'contents'}[4]{'parent'} = 
$result_trees{'section_on_def_line'};
+
+$result_texis{'section_on_def_line'} = '@deffn a b @end deffn
address@hidden s
+
+Something
+
+';
+
+
+$result_texts{'section_on_def_line'} = '1 s
+===
+
+Something
+
+';
+
+$result_sectioning{'section_on_def_line'} = {
+  'level' => 1,
+  'section_childs' => [
+    {
+      'cmdname' => 'section',
+      'extra' => {},
+      'level' => 2,
+      'number' => 1,
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'section_on_def_line'}{'section_childs'}[0]{'section_up'} = 
$result_sectioning{'section_on_def_line'};
+
+$result_errors{'section_on_def_line'} = [
+  {
+    'error_line' => ':1: warning: @section should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@section should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: @section seen before @end deffn
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@section seen before @end deffn',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':1: warning: @section should not appear in @deffn
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@section should not appear in @deffn',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: Unmatched address@hidden deffn\'
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden deffn\'',
+    'type' => 'error'
+  }
+];
+
+
+1;

Index: t/results/invalid_nestings/section_on_defx_line.pl
===================================================================
RCS file: t/results/invalid_nestings/section_on_defx_line.pl
diff -N t/results/invalid_nestings/section_on_defx_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/section_on_defx_line.pl  20 Jan 2012 21:41:05 
-0000      1.1
@@ -0,0 +1,336 @@
+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 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'section_on_defx_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'cmdname' => 'deffn',
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'extra' => {
+                        'command' => {}
+                      },
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'h j k l 
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'extra' => {
+                'def_args' => [
+                  [
+                    'category',
+                    {
+                      'text' => 'h'
+                    }
+                  ],
+                  [
+                    'spaces',
+                    {
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    }
+                  ],
+                  [
+                    'name',
+                    {
+                      'text' => 'j'
+                    }
+                  ],
+                  [
+                    'spaces',
+                    {
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    }
+                  ],
+                  [
+                    'arg',
+                    {
+                      'text' => 'k'
+                    }
+                  ],
+                  [
+                    'spaces',
+                    {
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    }
+                  ],
+                  [
+                    'arg',
+                    {
+                      'text' => 'l'
+                    }
+                  ]
+                ],
+                'def_command' => 'deffn',
+                'def_parsed_hash' => {
+                  'category' => {},
+                  'name' => {}
+                },
+                'index_entry' => {
+                  'command' => {},
+                  'content' => [
+                    {}
+                  ],
+                  'content_normalized' => [
+                    {}
+                  ],
+                  'in_code' => 1,
+                  'index_at_command' => 'deffn',
+                  'index_name' => 'fn',
+                  'index_prefix' => 'f',
+                  'index_type_command' => 'deffn',
+                  'key' => 'j',
+                  'number' => 1
+                },
+                'original_def_cmdname' => 'deffn'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 1,
+                'macro' => ''
+              },
+              'parent' => {},
+              'type' => 'def_line'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'extra' => {
+                        'command' => {}
+                      },
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'a b '
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'deffnx',
+              'extra' => {
+                'def_command' => 'deffn',
+                'original_def_cmdname' => 'deffnx'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 2,
+                'macro' => ''
+              },
+              'parent' => {},
+              'type' => 'def_line'
+            }
+          ],
+          'line_nr' => {},
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 's'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Something
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'invalid_nesting' => 1,
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 2,
+      'line_nr' => {},
+      'number' => 1,
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'category'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'def_args'}[0][1];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'name'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'def_args'}[2][1];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'command'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'content'}[0]
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'def_args'}[2][1];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[0]
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'def_args'}[2][1];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'line_nr'} 
= 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'section_on_defx_line'}{'contents'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[0]{'parent'} = 
$result_trees{'section_on_defx_line'};
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'section_on_defx_line'}{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'section_on_defx_line'}{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'contents'}[0]{'parent'} 
= $result_trees{'section_on_defx_line'}{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_defx_line'}{'contents'}[1]{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'contents'}[1]{'parent'} 
= $result_trees{'section_on_defx_line'}{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'contents'}[2]{'parent'} 
= $result_trees{'section_on_defx_line'}{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'section_on_defx_line'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'line_nr'} = 
$result_trees{'section_on_defx_line'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'line_nr'};
+$result_trees{'section_on_defx_line'}{'contents'}[1]{'parent'} = 
$result_trees{'section_on_defx_line'};
+
+$result_texis{'section_on_defx_line'} = '@deffn h j k l 
address@hidden a b @end deffn
address@hidden s
+
+Something
+
+';
+
+
+$result_texts{'section_on_defx_line'} = 'h: j k l
+1 s
+===
+
+Something
+
+';
+
+$result_sectioning{'section_on_defx_line'} = {
+  'level' => 1,
+  'section_childs' => [
+    {
+      'cmdname' => 'section',
+      'extra' => {},
+      'level' => 2,
+      'number' => 1,
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'section_on_defx_line'}{'section_childs'}[0]{'section_up'} 
= $result_sectioning{'section_on_defx_line'};
+
+$result_errors{'section_on_defx_line'} = [
+  {
+    'error_line' => ':1: Entry for index `fn\' outside of any node
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'Entry for index `fn\' outside of any node',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':2: warning: @section should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@section should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':2: @section seen before @end deffn
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@section seen before @end deffn',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':2: warning: @section should not appear in @deffnx
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => '@section should not appear in @deffnx',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':6: Unmatched address@hidden deffn\'
+',
+    'file_name' => '',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => 'Unmatched address@hidden deffn\'',
+    'type' => 'error'
+  }
+];
+
+
+1;

Index: t/results/invalid_nestings/section_on_index_entry_line.pl
===================================================================
RCS file: t/results/invalid_nestings/section_on_index_entry_line.pl
diff -N t/results/invalid_nestings/section_on_index_entry_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/section_on_index_entry_line.pl   20 Jan 2012 
21:41:05 -0000      1.1
@@ -0,0 +1,172 @@
+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 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'section_on_index_entry_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'extra' => {
+                    'command' => {}
+                  },
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'a '
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'cindex',
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'b'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Somethin
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'extra' => {
+        'invalid_nesting' => 1,
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 2,
+      'line_nr' => {},
+      'number' => 1,
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'parent'} = 
$result_trees{'section_on_index_entry_line'};
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1]{'contents'}[1];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'section_on_index_entry_line'}{'contents'}[1];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'line_nr'} = 
$result_trees{'section_on_index_entry_line'}{'contents'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'section_on_index_entry_line'}{'contents'}[1]{'parent'} = 
$result_trees{'section_on_index_entry_line'};
+
+$result_texis{'section_on_index_entry_line'} = '@cindex a @section b
+
+Somethin
+';
+
+
+$result_texts{'section_on_index_entry_line'} = '1 b
+===
+
+Somethin
+';
+
+$result_sectioning{'section_on_index_entry_line'} = {
+  'level' => 1,
+  'section_childs' => [
+    {
+      'cmdname' => 'section',
+      'extra' => {},
+      'level' => 2,
+      'number' => 1,
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'section_on_index_entry_line'}{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'section_on_index_entry_line'};
+
+$result_errors{'section_on_index_entry_line'} = [
+  {
+    'error_line' => ':1: warning: @section should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@section should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @section should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@section should not appear in @cindex',
+    'type' => 'warning'
+  }
+];
+
+
+1;



reply via email to

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