texinfo-commits
[Top][All Lists]
Advanced

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

[7439] warn if @menu in invalid context


From: gavinsmith0123
Subject: [7439] warn if @menu in invalid context
Date: Sat, 8 Oct 2016 11:48:58 +0000 (UTC)

Revision: 7439
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7439
Author:   gavin
Date:     2016-10-08 11:48:58 +0000 (Sat, 08 Oct 2016)
Log Message:
-----------
warn if @menu in invalid context

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/tp/Texinfo/Parser.pm
    trunk/tp/t/results/menu/menu_in_deffn.pl
    trunk/tp/t/results/menu/menu_in_example.pl
    trunk/tp/t/results/menu/sc_in_menu.pl

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2016-10-08 10:41:32 UTC (rev 7438)
+++ trunk/ChangeLog     2016-10-08 11:48:58 UTC (rev 7439)
@@ -1,5 +1,11 @@
 2016-10-08  Gavin Smith  <address@hidden>
 
+       * tp/Texinfo/Parser.pm (_parse_texi): If 'menu' element is not 
+       directly under a "root element" (@node or sectioning), don't record
+       it in the list of menus for that node, and issue a warning.
+
+2016-10-08  Gavin Smith  <address@hidden>
+
        * tp/Texinfo/Convert/Plaintext.pm
        (indent_menu_descriptions, indent_one_menu_descriptions):
        Remove.  This feature has not worked in any released version of 

Modified: trunk/tp/Texinfo/Parser.pm
===================================================================
--- trunk/tp/Texinfo/Parser.pm  2016-10-08 10:41:32 UTC (rev 7438)
+++ trunk/tp/Texinfo/Parser.pm  2016-10-08 11:48:58 UTC (rev 7439)
@@ -4819,7 +4819,12 @@
                                 $line_nr);
                     }
                   } elsif ($command eq 'menu') {
-                    push @{$self->{'current_node'}->{'menus'}}, $current;
+                    if ($root_commands{$current->{'parent'}->{'cmdname'}}) {
+                      push @{$self->{'current_node'}->{'menus'}}, $current;
+                    } else {
+                      $self->line_warn($self->__("address@hidden in invalid 
context"), 
+                                       $line_nr);
+                    }
                   }
                 } elsif ($command ne 'direntry') {
                   if ($self->{'SHOW_MENU'}) {

Modified: trunk/tp/t/results/menu/menu_in_deffn.pl
===================================================================
--- trunk/tp/t/results/menu/menu_in_deffn.pl    2016-10-08 10:41:32 UTC (rev 
7438)
+++ trunk/tp/t/results/menu/menu_in_deffn.pl    2016-10-08 11:48:58 UTC (rev 
7439)
@@ -429,31 +429,6 @@
   'extra' => {
     'normalized' => 'Top'
   },
-  'menu_child' => {
-    'extra' => {
-      'manual_content' => [
-        {
-          'text' => 'mynode'
-        }
-      ]
-    }
-  },
-  'menus' => [
-    {
-      'cmdname' => 'menu',
-      'extra' => {
-        'end_command' => {
-          'cmdname' => 'end',
-          'extra' => {
-            'command' => {},
-            'command_argument' => 'menu',
-            'text_arg' => 'menu'
-          }
-        }
-      }
-    }
-  ],
-  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -466,27 +441,26 @@
     'type' => 'top_node_up'
   }
 };
-$result_nodes{'menu_in_deffn'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'menu_in_deffn'}{'menus'}[0];
-$result_nodes{'menu_in_deffn'}{'node_next'} = 
$result_nodes{'menu_in_deffn'}{'menu_child'};
 $result_nodes{'menu_in_deffn'}{'node_up'}{'extra'}{'top_node_up'} = 
$result_nodes{'menu_in_deffn'};
 
 $result_menus{'menu_in_deffn'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
-  },
-  'menu_child' => {
-    'extra' => {
-      'manual_content' => [
-        {
-          'text' => 'mynode'
-        }
-      ]
-    }
   }
 };
 
-$result_errors{'menu_in_deffn'} = [];
+$result_errors{'menu_in_deffn'} = [
+  {
+    'error_line' => ':4: warning: @menu in invalid context
+',
+    'file_name' => '',
+    'line_nr' => 4,
+    'macro' => '',
+    'text' => '@menu in invalid context',
+    'type' => 'warning'
+  }
+];
 
 
 1;

Modified: trunk/tp/t/results/menu/menu_in_example.pl
===================================================================
--- trunk/tp/t/results/menu/menu_in_example.pl  2016-10-08 10:41:32 UTC (rev 
7438)
+++ trunk/tp/t/results/menu/menu_in_example.pl  2016-10-08 11:48:58 UTC (rev 
7439)
@@ -736,31 +736,6 @@
   'extra' => {
     'normalized' => 'Top'
   },
-  'menu_child' => {
-    'extra' => {
-      'manual_content' => [
-        {
-          'text' => 'entry'
-        }
-      ]
-    }
-  },
-  'menus' => [
-    {
-      'cmdname' => 'menu',
-      'extra' => {
-        'end_command' => {
-          'cmdname' => 'end',
-          'extra' => {
-            'command' => {},
-            'command_argument' => 'menu',
-            'text_arg' => 'menu'
-          }
-        }
-      }
-    }
-  ],
-  'node_next' => {},
   'node_up' => {
     'extra' => {
       'manual_content' => [
@@ -773,27 +748,26 @@
     'type' => 'top_node_up'
   }
 };
-$result_nodes{'menu_in_example'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'menu_in_example'}{'menus'}[0];
-$result_nodes{'menu_in_example'}{'node_next'} = 
$result_nodes{'menu_in_example'}{'menu_child'};
 $result_nodes{'menu_in_example'}{'node_up'}{'extra'}{'top_node_up'} = 
$result_nodes{'menu_in_example'};
 
 $result_menus{'menu_in_example'} = {
   'cmdname' => 'node',
   'extra' => {
     'normalized' => 'Top'
-  },
-  'menu_child' => {
-    'extra' => {
-      'manual_content' => [
-        {
-          'text' => 'entry'
-        }
-      ]
-    }
   }
 };
 
-$result_errors{'menu_in_example'} = [];
+$result_errors{'menu_in_example'} = [
+  {
+    'error_line' => ':4: warning: @menu in invalid context
+',
+    'file_name' => '',
+    'line_nr' => 4,
+    'macro' => '',
+    'text' => '@menu in invalid context',
+    'type' => 'warning'
+  }
+];
 
 
 
@@ -894,7 +868,7 @@
 
 
 
-$result_converted{'xml'}->{'menu_in_example'} = '<node name="Top" spaces=" 
"><nodename>Top</nodename><nodenext automatic="on">(entry)</nodenext><nodeup 
automatic="on">(dir)</nodeup></node>
+$result_converted{'xml'}->{'menu_in_example'} = '<node name="Top" spaces=" 
"><nodename>Top</nodename><nodeup automatic="on">(dir)</nodeup></node>
 
 <example endspaces=" ">
 <menu endspaces=" ">

Modified: trunk/tp/t/results/menu/sc_in_menu.pl
===================================================================
--- trunk/tp/t/results/menu/sc_in_menu.pl       2016-10-08 10:41:32 UTC (rev 
7438)
+++ trunk/tp/t/results/menu/sc_in_menu.pl       2016-10-08 11:48:58 UTC (rev 
7439)
@@ -1101,31 +1101,6 @@
     'extra' => {
       'normalized' => 'NODE'
     },
-    'menu_child' => {
-      'extra' => {
-        'manual_content' => [
-          {
-            'text' => 'dir'
-          }
-        ],
-        'normalized' => 'EXAMPLE-NODE'
-      }
-    },
-    'menus' => [
-      {
-        'cmdname' => 'menu',
-        'extra' => {
-          'end_command' => {
-            'cmdname' => 'end',
-            'extra' => {
-              'command' => {},
-              'command_argument' => 'menu',
-              'text_arg' => 'menu'
-            }
-          }
-        }
-      }
-    ],
     'node_prev' => {},
     'node_up' => {}
   },
@@ -1157,7 +1132,6 @@
     'type' => 'top_node_up'
   }
 };
-$result_nodes{'sc_in_menu'}{'menu_child'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'sc_in_menu'}{'menu_child'}{'menus'}[0];
 $result_nodes{'sc_in_menu'}{'menu_child'}{'node_prev'} = 
$result_nodes{'sc_in_menu'};
 $result_nodes{'sc_in_menu'}{'menu_child'}{'node_up'} = 
$result_nodes{'sc_in_menu'};
 
$result_nodes{'sc_in_menu'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'sc_in_menu'}{'menus'}[0];
@@ -1174,16 +1148,6 @@
     'extra' => {
       'normalized' => 'NODE'
     },
-    'menu_child' => {
-      'extra' => {
-        'manual_content' => [
-          {
-            'text' => 'dir'
-          }
-        ],
-        'normalized' => 'EXAMPLE-NODE'
-      }
-    },
     'menu_up' => {},
     'menu_up_hash' => {
       'Top' => 1
@@ -1192,7 +1156,17 @@
 };
 $result_menus{'sc_in_menu'}{'menu_child'}{'menu_up'} = 
$result_menus{'sc_in_menu'};
 
-$result_errors{'sc_in_menu'} = [];
+$result_errors{'sc_in_menu'} = [
+  {
+    'error_line' => ':19: warning: @menu in invalid context
+',
+    'file_name' => '',
+    'line_nr' => 19,
+    'macro' => '',
+    'text' => '@menu in invalid context',
+    'type' => 'warning'
+  }
+];
 
 
 




reply via email to

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