texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp TODO Texinfo/Parser.pm t/57invalid_n...


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Parser.pm t/57invalid_n...
Date: Sat, 23 Oct 2010 10:50:13 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/23 10:50:12

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
Added files:
        tp/t           : 57invalid_nestings.t 
        tp/t/results/invalid_nestings: ignored_text.pl in_table.pl 
                                       on_block_command_line.pl 
                                       on_index_entry_line.pl 
                                       on_section_line.pl 

Log message:
        Add tests for invalid nestings.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.91&r2=1.92
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/57invalid_nestings.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/ignored_text.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/in_table.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/on_block_command_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/on_index_entry_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/on_section_line.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- TODO        23 Oct 2010 10:22:21 -0000      1.28
+++ TODO        23 Oct 2010 10:50:12 -0000      1.29
@@ -17,6 +17,8 @@
 
 test invalid, especially commands not closed/bad nesting
 
+in t/57invalid_nestings.t in_table, no warning for bad stuff on @item line.
+
 in hyphenation: only text and accent commands, and should
 only appear in toplevel
 

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -b -r1.91 -r1.92
--- Texinfo/Parser.pm   23 Oct 2010 10:22:22 -0000      1.91
+++ Texinfo/Parser.pm   23 Oct 2010 10:50:12 -0000      1.92
@@ -564,13 +564,13 @@
 
 # commands that accept full text, but no block or top-level commands
 my %full_text_commands;
-foreach my $brace_command (keys (%brace_commands)) {  
-  if ($brace_commands{$brace_command} == 1 
-      and (!$simple_text_commands{$brace_command} 
-           and !$context_brace_commands{$brace_command})) {
-    $full_text_commands{$brace_command} = 1;
-  }
-}
+#foreach my $brace_command (keys (%brace_commands)) {  
+#  if ($brace_commands{$brace_command} == 1 
+#      and (!$simple_text_commands{$brace_command} 
+#           and !$context_brace_commands{$brace_command})) {
+#    $full_text_commands{$brace_command} = 1;
+#  }
+#}
 $full_text_commands{'center'} = 1;
 $full_text_commands{'exdent'} = 1;
 

Index: t/57invalid_nestings.t
===================================================================
RCS file: t/57invalid_nestings.t
diff -N t/57invalid_nestings.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/57invalid_nestings.t      23 Oct 2010 10:50:12 -0000      1.1
@@ -0,0 +1,39 @@
+use strict;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+['on_section_line',
+'@section @noindent Text @titlefont{in titlefont} @anchor{in address@hidden 
@exdent exdent
+'],
+['on_block_command_line',
+'@multitable address@hidden anchor}} @titlefont{in titlefont}
address@hidden @titlefont{in titlefont}
address@hidden multitable
+
address@hidden @indent @titlefont{in titlefont} @anchor{in address@hidden 
@exdent exdent
address@hidden quotation
+'],
+['ignored_text',
+'@node before ignore @ifinfo
+in ifinfo
address@hidden ifinfo on the node line'],
+['in_table',
+'@table @xref
address@hidden table
+
address@hidden @code
address@hidden @indent @titlefont{in titlefont} @anchor{in address@hidden 
@exdent exdent
+in address@hidden in item}
address@hidden table
+'],
+['on_index_entry_line',
+'@cindex @indent @titlefont{in titlefont} @anchor{in address@hidden @exdent 
exdent
+']
+);
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('invalid_nestings', address@hidden, $arg_test_case,
+   $arg_generate, $arg_debug);
+

Index: t/results/invalid_nestings/ignored_text.pl
===================================================================
RCS file: t/results/invalid_nestings/ignored_text.pl
diff -N t/results/invalid_nestings/ignored_text.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/ignored_text.pl  23 Oct 2010 10:50:12 -0000      
1.1
@@ -0,0 +1,56 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'ignored_text'} = {
+  'contents' => [
+    {
+      'contents' => [],
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'before ignore '
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 3
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'ignored_text'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'ignored_text'}{'contents'}[1]{'args'}[0];
+$result_trees{'ignored_text'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'ignored_text'}{'contents'}[1]{'args'}[0];
+$result_trees{'ignored_text'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'ignored_text'}{'contents'}[1];
+$result_trees{'ignored_text'}{'contents'}[1]{'parent'} = 
$result_trees{'ignored_text'};
+
+$result_texis{'ignored_text'} = '@node before ignore ';
+
+
+$result_texts{'ignored_text'} = '';
+
+$result_errors{'ignored_text'} = [
+  {
+    'error_line' => ':1: warning: @ifinfo should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@ifinfo should only appear at a line beginning',
+    'type' => 'warning'
+  }
+];
+
+

Index: t/results/invalid_nestings/in_table.pl
===================================================================
RCS file: t/results/invalid_nestings/in_table.pl
diff -N t/results/invalid_nestings/in_table.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/in_table.pl      23 Oct 2010 10:50:12 -0000      
1.1
@@ -0,0 +1,320 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'in_table'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'xref',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'code',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'cmdname' => 'indent',
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in titlefont'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'titlefont',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in anchor'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'anchor',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'footnote'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'paragraph'
+                        }
+                      ],
+                      'parent' => {}
+                    }
+                  ],
+                  'cmdname' => 'footnote',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'cmdname' => 'exdent',
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'exdent'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'parent' => {}
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'in item'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'footnote in item'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {}
+                }
+              ],
+              'cmdname' => 'footnote',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'in_table'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[0]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'in_table'}{'contents'}[0]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'in_table'}{'contents'}[0]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[0];
+$result_trees{'in_table'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[0];
+$result_trees{'in_table'}{'contents'}[0]{'parent'} = $result_trees{'in_table'};
+$result_trees{'in_table'}{'contents'}[1]{'parent'} = $result_trees{'in_table'};
+$result_trees{'in_table'}{'contents'}[2]{'parent'} = $result_trees{'in_table'};
+$result_trees{'in_table'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[3];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[5];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[1];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[1]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'in_table'}{'contents'}[3]{'contents'}[2];
+$result_trees{'in_table'}{'contents'}[3]{'contents'}[2]{'parent'} = 
$result_trees{'in_table'}{'contents'}[3];
+$result_trees{'in_table'}{'contents'}[3]{'parent'} = $result_trees{'in_table'};
+$result_trees{'in_table'}{'contents'}[4]{'parent'} = $result_trees{'in_table'};
+
+$result_texis{'in_table'} = '@table @xref
address@hidden table
+
address@hidden @code
address@hidden @indent @titlefont{in titlefont} @anchor{in address@hidden 
@exdent exdent
+in address@hidden in item}
address@hidden table
+';
+
+
+$result_texts{'in_table'} = '
+in titlefont  exdent
+in item
+';
+
+$result_errors{'in_table'} = [
+  {
+    'error_line' => ':1: warning: @xref should not appear in @table
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@xref should not appear in @table',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @exdent should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@exdent should only appear at a line beginning',
+    'type' => 'warning'
+  }
+];
+
+

Index: t/results/invalid_nestings/on_block_command_line.pl
===================================================================
RCS file: t/results/invalid_nestings/on_block_command_line.pl
diff -N t/results/invalid_nestings/on_block_command_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/on_block_command_line.pl 23 Oct 2010 10:50:12 
-0000      1.1
@@ -0,0 +1,380 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'on_block_command_line'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in anchor'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'anchor',
+                  'contents' => [],
+                  'parent' => {}
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in titlefont'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'titlefont',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'multitable',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'contents' => [
+            {
+              'cmdname' => 'item',
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in titlefont'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'titlefont',
+                  'contents' => [],
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'cell_number' => 1
+          },
+          'type' => 'row'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'max_columns' => 2,
+        'prototypes' => [
+          {},
+          {}
+        ]
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'indent',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in titlefont'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'titlefont',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in anchor'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'anchor',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'footnote'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {}
+                }
+              ],
+              'cmdname' => 'footnote',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'cmdname' => 'exdent',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'exdent
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'quotation',
+      'contents' => [],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'on_block_command_line'}{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'on_block_command_line'}{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'on_block_command_line'}{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'parent'} = 
$result_trees{'on_block_command_line'};
+$result_trees{'on_block_command_line'}{'contents'}[0]{'special'}{'prototypes'}[0]
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'on_block_command_line'}{'contents'}[0]{'special'}{'prototypes'}[1]
 = 
$result_trees{'on_block_command_line'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'on_block_command_line'}{'contents'}[1]{'parent'} = 
$result_trees{'on_block_command_line'};
+$result_trees{'on_block_command_line'}{'contents'}[2]{'parent'} = 
$result_trees{'on_block_command_line'};
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[3];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[5];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'on_block_command_line'}{'contents'}[3];
+$result_trees{'on_block_command_line'}{'contents'}[3]{'parent'} = 
$result_trees{'on_block_command_line'};
+$result_trees{'on_block_command_line'}{'contents'}[4]{'parent'} = 
$result_trees{'on_block_command_line'};
+
+$result_texis{'on_block_command_line'} = '@multitable address@hidden anchor}} 
@titlefont{in titlefont}
address@hidden @titlefont{in titlefont}
address@hidden multitable
+
address@hidden @indent @titlefont{in titlefont} @anchor{in address@hidden 
@exdent exdent
address@hidden quotation
+';
+
+
+$result_texts{'on_block_command_line'} = 'in titlefont
+
+in titlefont  exdent
+
+';
+
+$result_errors{'on_block_command_line'} = [
+  {
+    'error_line' => ':1: warning: @titlefont should not appear in @multitable
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@titlefont should not appear in @multitable',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @indent should not appear in @quotation
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@indent should not appear in @quotation',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @titlefont should not appear in @quotation
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@titlefont should not appear in @quotation',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @anchor should not appear in @quotation
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@anchor should not appear in @quotation',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @footnote should not appear in @quotation
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@footnote should not appear in @quotation',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @exdent should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@exdent should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @exdent should not appear in @quotation
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@exdent should not appear in @quotation',
+    'type' => 'warning'
+  }
+];
+
+

Index: t/results/invalid_nestings/on_index_entry_line.pl
===================================================================
RCS file: t/results/invalid_nestings/on_index_entry_line.pl
diff -N t/results/invalid_nestings/on_index_entry_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/on_index_entry_line.pl   23 Oct 2010 10:50:12 
-0000      1.1
@@ -0,0 +1,202 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'on_index_entry_line'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'indent',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in titlefont'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'titlefont',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in anchor'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'anchor',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'footnote'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {}
+                }
+              ],
+              'cmdname' => 'footnote',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'cmdname' => 'exdent',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'exdent'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'cindex',
+      'parent' => {}
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[5];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'on_index_entry_line'}{'contents'}[0];
+$result_trees{'on_index_entry_line'}{'contents'}[0]{'parent'} = 
$result_trees{'on_index_entry_line'};
+
+$result_texis{'on_index_entry_line'} = '@cindex @indent @titlefont{in 
titlefont} @anchor{in address@hidden @exdent exdent
+';
+
+
+$result_texts{'on_index_entry_line'} = '';
+
+$result_errors{'on_index_entry_line'} = [
+  {
+    'error_line' => ':1: warning: @indent should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@indent should not appear in @cindex',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @titlefont should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@titlefont should not appear in @cindex',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @anchor should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@anchor should not appear in @cindex',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @footnote should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@footnote should not appear in @cindex',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @exdent should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@exdent should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @exdent should not appear in @cindex
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@exdent should not appear in @cindex',
+    'type' => 'warning'
+  }
+];
+
+

Index: t/results/invalid_nestings/on_section_line.pl
===================================================================
RCS file: t/results/invalid_nestings/on_section_line.pl
diff -N t/results/invalid_nestings/on_section_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/on_section_line.pl       23 Oct 2010 10:50:12 
-0000      1.1
@@ -0,0 +1,213 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'on_section_line'} = {
+  'contents' => [
+    {
+      'contents' => [],
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'cmdname' => 'noindent',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Text '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in titlefont'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'titlefont',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in anchor'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'anchor',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'footnote'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {}
+                }
+              ],
+              'cmdname' => 'footnote',
+              'contents' => [],
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'cmdname' => 'exdent',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'exdent'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [],
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[4];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[5]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[6];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[6]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[7]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[8]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[9]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[10]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[11]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'contents'}[12]{'parent'}
 = $result_trees{'on_section_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'on_section_line'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'on_section_line'}{'contents'}[1];
+$result_trees{'on_section_line'}{'contents'}[1]{'parent'} = 
$result_trees{'on_section_line'};
+
+$result_texis{'on_section_line'} = '@section @noindent Text @titlefont{in 
titlefont} @anchor{in address@hidden @exdent exdent
+';
+
+
+$result_texts{'on_section_line'} = 'Text in titlefont  exdent
+';
+
+$result_errors{'on_section_line'} = [
+  {
+    'error_line' => ':1: warning: @noindent should not appear in @section
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@noindent should not appear in @section',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @titlefont should not appear in @section
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@titlefont should not appear in @section',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @anchor should not appear in @section
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@anchor should not appear in @section',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @footnote should not appear in @section
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@footnote should not appear in @section',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @exdent should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@exdent should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @exdent should not appear in @section
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@exdent should not appear in @section',
+    'type' => 'warning'
+  }
+];
+
+



reply via email to

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