texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/t/test_utils.pl (test): initialize test cust


From: Patrice Dumas
Subject: branch master updated: * tp/t/test_utils.pl (test): initialize test customization variables defaults with the same hash as in the main program, %Texinfo::Common::default_main_program_customization_options.
Date: Thu, 11 Apr 2024 07:10:51 -0400

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 494efd4e22 * tp/t/test_utils.pl (test): initialize test customization 
variables defaults with the same hash as in the main program, 
%Texinfo::Common::default_main_program_customization_options.
494efd4e22 is described below

commit 494efd4e2210575811e618c56d4be726d491d808
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Thu Apr 11 13:10:39 2024 +0200

    * tp/t/test_utils.pl (test): initialize test customization variables
    defaults with the same hash as in the main program,
    %Texinfo::Common::default_main_program_customization_options.
    
    * tp/Texinfo/Convert/Texinfo.pm (target_element_to_texi_label),
    tp/Texinfo/XS/main/convert_to_texinfo.c
    (target_element_to_texi_label): handle links to external nodes.
    
    * tp/Texinfo/Structuring.pm (complete_node_tree_with_menus),
    tp/Texinfo/XS/structuring_transfo/structuring.c
    (complete_node_tree_with_menus): no warning on menu and node
    directions mismatch if the node direction is to an external manual.
    
    * tp/t/*.t: update tests by changing node direction or menu,
    adding CHECK_NORMAL_MENU_STRUCTURE set to 0, and comments.
---
 ChangeLog                                          |  18 ++
 tp/Texinfo/Convert/Texinfo.pm                      |   4 +
 tp/Texinfo/Structuring.pm                          |   2 +
 tp/Texinfo/XS/main/convert_to_texinfo.c            |   5 +
 tp/Texinfo/XS/structuring_transfo/structuring.c    |   5 +-
 tp/t/09indices.t                                   |   5 +-
 tp/t/10menu.t                                      |   6 +-
 tp/t/30sectioning.t                                |  23 +-
 tp/t/40moresectioning.t                            |   9 +-
 tp/t/html_tests.t                                  |  13 +-
 tp/t/info_tests.t                                  |   6 +-
 .../character_and_spaces_in_refs_text.texi         |   2 +-
 tp/t/results/indices/index_split.pl                |  11 +-
 .../end_of_line_command_in_node_lines.pl           | 313 ++++++++++++++-------
 .../end_of_line_command_in_node_lines.info         | Bin 1268 -> 1079 bytes
 .../menu/commands_in_nodedescriptionblock.pl       |  24 +-
 .../results/menu/missing_detailmenu_on_subnodes.pl |  31 +-
 .../moresectioning/character_and_spaces_in_refs.pl |  18 +-
 .../character_and_spaces_in_refs_out.pl            |  72 ++---
 .../res_html/other-nodes.html                      |   4 +-
 tp/t/results/moresectioning/complex.pl             |  19 +-
 .../moresectioning/complex_split_at_node.pl        |  19 +-
 tp/t/results/moresectioning/rec_nodes.pl           |  24 +-
 .../sectioning/in_menu_only_special_spaces_node.pl |  16 ++
 .../in_menu_only_special_spaces_node_menu.pl       |  16 ++
 .../transliterated_split_equivalent_nodes.pl       |  17 +-
 .../sectioning/two_nodes_between_chapters_nodes.pl |  17 +-
 .../two_nodes_between_chapters_texi2html.pl        |  17 +-
 tp/t/test_utils.pl                                 |   9 +-
 29 files changed, 533 insertions(+), 192 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9b26460abc..42dacef31f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2024-04-11  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/t/test_utils.pl (test): initialize test customization variables
+       defaults with the same hash as in the main program,
+       %Texinfo::Common::default_main_program_customization_options.
+
+       * tp/Texinfo/Convert/Texinfo.pm (target_element_to_texi_label),
+       tp/Texinfo/XS/main/convert_to_texinfo.c
+       (target_element_to_texi_label): handle links to external nodes.
+
+       * tp/Texinfo/Structuring.pm (complete_node_tree_with_menus),
+       tp/Texinfo/XS/structuring_transfo/structuring.c
+       (complete_node_tree_with_menus): no warning on menu and node
+       directions mismatch if the node direction is to an external manual.
+
+       * tp/t/*.t: update tests by changing node direction or menu,
+       adding CHECK_NORMAL_MENU_STRUCTURE set to 0, and comments.
+
 2024-04-10  Patrice Dumas  <pertusus@free.fr>
 
        * tp/t/test_utils.pl (close_files): add a note explaining why this
diff --git a/tp/Texinfo/Convert/Texinfo.pm b/tp/Texinfo/Convert/Texinfo.pm
index bf9d58f99f..f6f53319f9 100644
--- a/tp/Texinfo/Convert/Texinfo.pm
+++ b/tp/Texinfo/Convert/Texinfo.pm
@@ -129,6 +129,10 @@ sub target_element_to_texi_label($)
 {
   my $element = shift;
   my $label_element = Texinfo::Common::get_label_element($element);
+  # get_label_element does not handle links to external manuals in menus
+  if (!defined($label_element)) {
+    return link_element_to_texi($element);
+  }
   return convert_to_texinfo({'contents' => $label_element->{'contents'}});
 }
 
diff --git a/tp/Texinfo/Structuring.pm b/tp/Texinfo/Structuring.pm
index 12e5f15511..348d5596c1 100644
--- a/tp/Texinfo/Structuring.pm
+++ b/tp/Texinfo/Structuring.pm
@@ -954,6 +954,8 @@ sub complete_node_tree_with_menus($)
       if ($node_directions and $menu_directions) {
         foreach my $direction (@node_directions_names) {
           if ($node_directions->{$direction}
+              and not $node_directions->{$direction}
+                    ->{'extra'}->{'manual_content'}
               and $menu_directions->{$direction}
               and $menu_directions->{$direction}
                 ne $node_directions->{$direction}
diff --git a/tp/Texinfo/XS/main/convert_to_texinfo.c 
b/tp/Texinfo/XS/main/convert_to_texinfo.c
index 5f03d2b150..2ca05cb732 100644
--- a/tp/Texinfo/XS/main/convert_to_texinfo.c
+++ b/tp/Texinfo/XS/main/convert_to_texinfo.c
@@ -247,6 +247,11 @@ char *
 target_element_to_texi_label (const ELEMENT *element)
 {
   const ELEMENT *label_element = get_label_element (element);
+  /* get_label_element does not handle links to external manuals in menus */
+  if (!label_element)
+    {
+      return link_element_to_texi (element);
+    }
   return convert_contents_to_texinfo (label_element);
 }
 
diff --git a/tp/Texinfo/XS/structuring_transfo/structuring.c 
b/tp/Texinfo/XS/structuring_transfo/structuring.c
index 86e8b4b620..1a91518903 100644
--- a/tp/Texinfo/XS/structuring_transfo/structuring.c
+++ b/tp/Texinfo/XS/structuring_transfo/structuring.c
@@ -1214,7 +1214,10 @@ complete_node_tree_with_menus (DOCUMENT *document)
                        = menu_directions->list[d];
                       ELEMENT *menu_dir_manual_content
                        = lookup_extra_element (menu_direction, 
"manual_content");
-                      if (!menu_dir_manual_content)
+                      ELEMENT *node_dir_manual_content
+                       = lookup_extra_element (node_directions->list[d],
+                                               "manual_content");
+                      if (!menu_dir_manual_content && !node_dir_manual_content)
                         {
                           char *node_texi = target_element_to_texi_label 
(node);
                           char *dir_texi = target_element_to_texi_label
diff --git a/tp/t/09indices.t b/tp/t/09indices.t
index 0dad7edc6e..b87272dbde 100644
--- a/tp/t/09indices.t
+++ b/tp/t/09indices.t
@@ -1110,8 +1110,9 @@ my @test_html_file = (
 ],
 ['index_split_split_chapter_no_nodes',
   undef,
-  # we use CHECK_NORMAL_MENU_STRUCTURE as this tests
-  # for a case that may only be tested here (Top before node)
+  # we set CHECK_NORMAL_MENU_STRUCTURE (even if it is the default)
+  # to mark that this tests for a case that may only be tested here
+  # (Top before node).
   # It also tests for node with directions after section which is
   # also in 96moresectioning.t
   {'test_file' => 'index_split.texi', 'CHECK_NORMAL_MENU_STRUCTURE' => 1},
diff --git a/tp/t/10menu.t b/tp/t/10menu.t
index d4612290eb..84cc409fa6 100644
--- a/tp/t/10menu.t
+++ b/tp/t/10menu.t
@@ -520,7 +520,7 @@ Text
 
 @node chap @: b
 @chapter Chap
-'],
+', {'CHECK_NORMAL_MENU_STRUCTURE' => 0,}],
 ['nodedescription_descriptions',
 '@node Top
 @top test of nodedescription used in menu
@@ -668,6 +668,7 @@ where the max column could be. @w{in w}.
 
 @ref{in nodescription}, @ref{f1}.
 
+@c node1 again to test two nodescription expansions
 @menu
 * node1::
 @end menu
@@ -676,7 +677,8 @@ where the max column could be. @w{in w}.
 
 @listoffloats tfloat
 
-',{},{'AUTO_MENU_DESCRIPTION_ALIGN_COLUMN' => 16,
+',{'CHECK_NORMAL_MENU_STRUCTURE' => 0,},
+{'AUTO_MENU_DESCRIPTION_ALIGN_COLUMN' => 16,
        'AUTO_MENU_MAX_WIDTH' => 90}],
 # Note that the following tests also test @appendixsec in a chapter
 # (before another chapter) which does not seems to be tested in any other
diff --git a/tp/t/30sectioning.t b/tp/t/30sectioning.t
index a33bdec148..0c4f1e4459 100644
--- a/tp/t/30sectioning.t
+++ b/tp/t/30sectioning.t
@@ -248,6 +248,7 @@ Text part second.
 ', {'test_split' => 'node'}],
 ['two_nodes_between_chapters',
 $two_nodes_between_chapters_text,
+# mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
 {'test_split' => 'section', 'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['two_nodes_at_the_end',
 $two_nodes_at_the_end_text
@@ -797,7 +798,8 @@ Top node
 * chapter node::
 @end menu
 
-', {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['section_node_before_part',
 '
 @node Top
@@ -828,6 +830,7 @@ Top node
 
 @contents
 ', {'test_formats' => ['plaintext'],
+# mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
     'CHECK_NORMAL_MENU_STRUCTURE' => 1},
    {'CONTENTS_OUTPUT_LOCATION' => 'inline'}],
 ['top_without_node_sections',
@@ -899,7 +902,8 @@ $unnumbered_top_without_node_text,
 
 @node subsection
 @subsection subsection
-', {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['node_up_direction_for_top_with_manual',
 '@node Top,,,(dir)top
 '],
@@ -1038,7 +1042,8 @@ Dummy section with (manual)node node syntax.
 
 @anchor{(manual)anchor}.
 
-', {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['node_nested_parentheses',
 '@node first
 
@@ -1112,7 +1117,8 @@ second node.
 
 @node Section non auto,, Chap1, Top
 @section Section
-', {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['next_no_prev_to_node',
 '@node Top
 
@@ -1146,7 +1152,8 @@ second node.
 @end menu
 
 @node node down
-', {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['double_top_section',
 '@top First top
 
@@ -1181,7 +1188,8 @@ Second top.
 
 @node First
 @chapter chap
-', {'test_split' => 'section', 'CHECK_NORMAL_MENU_STRUCTURE' => 1}
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'test_split' => 'section', 'CHECK_NORMAL_MENU_STRUCTURE' => 1}
 ],
 ['menutextorder',
 '@menu
@@ -1220,7 +1228,8 @@ Second top.
 
 @node sub3
 @section Sub3
-', {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
+', # mark that it is important to test with CHECK_NORMAL_MENU_STRUCTURE set
+{'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['nodes_before_top',
 '@node first, Top, ,(dir)
 
diff --git a/tp/t/40moresectioning.t b/tp/t/40moresectioning.t
index b5d19e711e..86a5bbb88b 100644
--- a/tp/t/40moresectioning.t
+++ b/tp/t/40moresectioning.t
@@ -385,6 +385,9 @@ my $top_chapter_sections_text =
 '.$chapter_sections_text;
 
 my @test_cases = (
+# TODO when a node is in multiple menus, the node directions can be consistent
+# with a menu and not another.  This is the case in that test, the node
+# directions are consistent with the first menu a node appears in.
 ['rec_nodes',
 '@node Top
 Top node
@@ -527,7 +530,8 @@ Second chapter
 @contents
 @bye
 ', # use CHECK_NORMAL_MENU_STRUCTURE to check that lowering leads to
-   # inconsistent menu with sectioning
+   # inconsistent menu with sectioning.  To keep even if it is the default
+   # to mark that it is important for the test.
 {'CHECK_NORMAL_MENU_STRUCTURE' => 1}],
 ['loweredheading',
 '@lowersections
@@ -613,7 +617,8 @@ undef, {'test_file' => 
'character_and_spaces_in_refs_text.texi',
 ['topic_guide',
   undef,
   {'test_file' => 'topic_guide.texi',
-   'test_formats' => ['file_info', 'file_html'],},
+   'test_formats' => ['file_info', 'file_html'],
+   'CHECK_NORMAL_MENU_STRUCTURE' => 0,},
   {'FORMAT_MENU' => 'menu', } # add explicitely for the converter
 ],
 ['anchor_in_footnote_split_node',
diff --git a/tp/t/html_tests.t b/tp/t/html_tests.t
index 4e27d2868e..5307934f3d 100644
--- a/tp/t/html_tests.t
+++ b/tp/t/html_tests.t
@@ -1250,24 +1250,26 @@ $check_htmlxref_text
   undef,
   # also tests for node without section command nor directions after
   # a section, and Top without @top and chapter in menu
-  {'test_file' => 'node_footnote.texi'},
+  {'test_file' => 'node_footnote.texi', 'CHECK_NORMAL_MENU_STRUCTURE' => 0,},
   {'FORMAT_MENU' => 'menu'}
 ],
 ['node_footnote_end',
   undef,
+  # test with CHECK_NORMAL_MENU_STRUCTURE for node_footnote.texi
+  # only done here, to keep even though it is the default.
   {'test_file' => 'node_footnote.texi', 'CHECK_NORMAL_MENU_STRUCTURE' => 1},
   {'SPLIT' => '', 'USE_NODES' => 0}
 ],
 # actually the same output as node_footnote_end.
 ['node_footnote_separated',
   undef,
-  {'test_file' => 'node_footnote.texi'},
+  {'test_file' => 'node_footnote.texi', 'CHECK_NORMAL_MENU_STRUCTURE' => 0},
   {'SPLIT' => '', 'USE_NODES' => 0,
-   'footnotestyle' => 'separate'}
+   'footnotestyle' => 'separate',}
 ],
 ['node_footnote_use_node_separate',
   undef,
-  {'test_file' => 'node_footnote.texi'},
+  {'test_file' => 'node_footnote.texi', 'CHECK_NORMAL_MENU_STRUCTURE' => 0},
   {'footnotestyle' => 'separate', 'FORMAT_MENU' => 'menu'}
 ],
 ['simplest_test_date_in_header',
@@ -1281,7 +1283,8 @@ $check_htmlxref_text
   {'SPLIT' => 'chapter', 'footnotestyle' => 'separate'}
 ],
 # FIXME which TEXI2HTML options are really interesting for the test?
-# The CHECK_NORMAL_MENU_STRUCTURE test is relevant and to keep
+# The CHECK_NORMAL_MENU_STRUCTURE setting is relevant and to keep,
+# even though it is set by default, to mark that it is on purpose.
 ['sectioning_check_menu_structure',
   undef,
   # tests for node with directions after section
diff --git a/tp/t/info_tests.t b/tp/t/info_tests.t
index 09f650ea90..6c52b3a069 100644
--- a/tp/t/info_tests.t
+++ b/tp/t/info_tests.t
@@ -1055,6 +1055,11 @@ undef, {'test_file' => 'nodequote.texi',},
 '@node Top
 @top top
 
+@menu
+* chap @* f     nl Something? @* After punct::
+* new n::
+@end menu
+
 @node chap @* f     nl Something? @* After punct
 @chapter Chap
 
@@ -1076,7 +1081,6 @@ text @* f     nl Something? @* After punct
 @xref{ankh @* p, addll@*gg}.
 
 @menu
-* chap @* f     nl Something? @* After punct::
 * ankh @* p::
 * what @* is: ankh @* p.
 * what @* is: ankh p.
diff --git a/tp/t/input_files/character_and_spaces_in_refs_text.texi 
b/tp/t/input_files/character_and_spaces_in_refs_text.texi
index 41a14a84a1..167f492eb9 100644
--- a/tp/t/input_files/character_and_spaces_in_refs_text.texi
+++ b/tp/t/input_files/character_and_spaces_in_refs_text.texi
@@ -24,7 +24,7 @@
 @ref{ Top}
 @ref{  local   node}
 
-@node other nodes, !_"#$%&'()*+-., Top, Top
+@node other nodes, !_"#$%&'()*+-., node to avoid DocBook or LaTeX ignored, Top
 @chapter Chapter with nodes
 
 @menu
diff --git a/tp/t/results/indices/index_split.pl 
b/tp/t/results/indices/index_split.pl
index cabceb7e91..6252ddefb0 100644
--- a/tp/t/results/indices/index_split.pl
+++ b/tp/t/results/indices/index_split.pl
@@ -3484,7 +3484,16 @@ $result_menus{'index_split'}[8] = 
$result_menus{'index_split'}[2]{'extra'}{'menu
 $result_menus{'index_split'}[9] = 
$result_menus{'index_split'}[2]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 $result_menus{'index_split'}[10] = 
$result_menus{'index_split'}[0]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 
-$result_errors{'index_split'} = [];
+$result_errors{'index_split'} = [
+  {
+    'error_line' => 'warning: node `node in section 3\' is next for `section 
3\' in menu but not in sectioning
+',
+    'file_name' => 'index_split.texi',
+    'line_nr' => 85,
+    'text' => 'node `node in section 3\' is next for `section 3\' in menu but 
not in sectioning',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'index_split'} = {};
diff --git a/tp/t/results/info_tests/end_of_line_command_in_node_lines.pl 
b/tp/t/results/info_tests/end_of_line_command_in_node_lines.pl
index 55012edccf..5e3fc411c7 100644
--- a/tp/t/results/info_tests/end_of_line_command_in_node_lines.pl
+++ b/tp/t/results/info_tests/end_of_line_command_in_node_lines.pl
@@ -67,6 +67,168 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
       'contents' => [
         {
           'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'menu',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'text' => '* ',
+                  'type' => 'menu_entry_leading_text'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'chap '
+                    },
+                    {
+                      'cmdname' => '*'
+                    },
+                    {
+                      'text' => ' f     nl Something? '
+                    },
+                    {
+                      'cmdname' => '*'
+                    },
+                    {
+                      'text' => ' After punct'
+                    }
+                  ],
+                  'extra' => {
+                    'node_content' => {
+                      'contents' => [
+                        {},
+                        {},
+                        {},
+                        {},
+                        {}
+                      ]
+                    },
+                    'normalized' => 'chap-f-nl-Something_003f-After-punct'
+                  },
+                  'type' => 'menu_entry_node'
+                },
+                {
+                  'text' => '::',
+                  'type' => 'menu_entry_separator'
+                },
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'text' => '
+'
+                        }
+                      ],
+                      'type' => 'preformatted'
+                    }
+                  ],
+                  'type' => 'menu_entry_description'
+                }
+              ],
+              'source_info' => {
+                'line_nr' => 5
+              },
+              'type' => 'menu_entry'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => '* ',
+                  'type' => 'menu_entry_leading_text'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'new n'
+                    }
+                  ],
+                  'extra' => {
+                    'node_content' => {
+                      'contents' => [
+                        {}
+                      ]
+                    },
+                    'normalized' => 'new-n'
+                  },
+                  'type' => 'menu_entry_node'
+                },
+                {
+                  'text' => '::',
+                  'type' => 'menu_entry_separator'
+                },
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'text' => '
+'
+                        }
+                      ],
+                      'type' => 'preformatted'
+                    }
+                  ],
+                  'type' => 'menu_entry_description'
+                }
+              ],
+              'source_info' => {
+                'line_nr' => 6
+              },
+              'type' => 'menu_entry'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'menu'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'text_arg' => 'menu'
+              },
+              'info' => {
+                'spaces_before_argument' => {
+                  'text' => ' '
+                }
+              },
+              'source_info' => {
+                'line_nr' => 7
+              }
+            }
+          ],
+          'source_info' => {
+            'line_nr' => 4
+          }
+        },
+        {
+          'text' => '
 ',
           'type' => 'empty_line'
         }
@@ -122,7 +284,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
         }
       },
       'source_info' => {
-        'line_nr' => 4
+        'line_nr' => 9
       }
     },
     {
@@ -172,7 +334,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
             'normalized' => 'ankh-p'
           },
           'source_info' => {
-            'line_nr' => 7
+            'line_nr' => 12
           }
         },
         {
@@ -249,7 +411,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
             }
           },
           'source_info' => {
-            'line_nr' => 11
+            'line_nr' => 16
           },
           'type' => 'index_entry_command'
         },
@@ -287,7 +449,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
             }
           },
           'source_info' => {
-            'line_nr' => 13
+            'line_nr' => 18
           }
         },
         {
@@ -305,7 +467,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
         }
       },
       'source_info' => {
-        'line_nr' => 5
+        'line_nr' => 10
       }
     },
     {
@@ -336,7 +498,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
         }
       },
       'source_info' => {
-        'line_nr' => 15
+        'line_nr' => 20
       }
     },
     {
@@ -402,7 +564,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
               ],
               'cmdname' => 'xref',
               'source_info' => {
-                'line_nr' => 18
+                'line_nr' => 23
               }
             },
             {
@@ -448,7 +610,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
               ],
               'cmdname' => 'xref',
               'source_info' => {
-                'line_nr' => 20
+                'line_nr' => 25
               }
             },
             {
@@ -513,7 +675,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
               ],
               'cmdname' => 'xref',
               'source_info' => {
-                'line_nr' => 22
+                'line_nr' => 27
               }
             },
             {
@@ -542,68 +704,6 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
           ],
           'cmdname' => 'menu',
           'contents' => [
-            {
-              'contents' => [
-                {
-                  'text' => '* ',
-                  'type' => 'menu_entry_leading_text'
-                },
-                {
-                  'contents' => [
-                    {
-                      'text' => 'chap '
-                    },
-                    {
-                      'cmdname' => '*'
-                    },
-                    {
-                      'text' => ' f     nl Something? '
-                    },
-                    {
-                      'cmdname' => '*'
-                    },
-                    {
-                      'text' => ' After punct'
-                    }
-                  ],
-                  'extra' => {
-                    'node_content' => {
-                      'contents' => [
-                        {},
-                        {},
-                        {},
-                        {},
-                        {}
-                      ]
-                    },
-                    'normalized' => 'chap-f-nl-Something_003f-After-punct'
-                  },
-                  'type' => 'menu_entry_node'
-                },
-                {
-                  'text' => '::',
-                  'type' => 'menu_entry_separator'
-                },
-                {
-                  'contents' => [
-                    {
-                      'contents' => [
-                        {
-                          'text' => '
-'
-                        }
-                      ],
-                      'type' => 'preformatted'
-                    }
-                  ],
-                  'type' => 'menu_entry_description'
-                }
-              ],
-              'source_info' => {
-                'line_nr' => 25
-              },
-              'type' => 'menu_entry'
-            },
             {
               'contents' => [
                 {
@@ -654,7 +754,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
                 }
               ],
               'source_info' => {
-                'line_nr' => 26
+                'line_nr' => 30
               },
               'type' => 'menu_entry'
             },
@@ -726,7 +826,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
                 }
               ],
               'source_info' => {
-                'line_nr' => 27
+                'line_nr' => 31
               },
               'type' => 'menu_entry'
             },
@@ -790,7 +890,7 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
                 }
               ],
               'source_info' => {
-                'line_nr' => 28
+                'line_nr' => 32
               },
               'type' => 'menu_entry'
             },
@@ -821,12 +921,12 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
                 }
               },
               'source_info' => {
-                'line_nr' => 29
+                'line_nr' => 33
               }
             }
           ],
           'source_info' => {
-            'line_nr' => 24
+            'line_nr' => 29
           }
         }
       ],
@@ -839,12 +939,18 @@ $result_trees{'end_of_line_command_in_node_lines'} = {
         }
       },
       'source_info' => {
-        'line_nr' => 16
+        'line_nr' => 21
       }
     }
   ],
   'type' => 'document_root'
 };
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[1]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[2]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[3]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[3];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[4]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[4];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0];
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[4]{'contents'}[6]{'extra'}{'element_node'}
 = $result_trees{'end_of_line_command_in_node_lines'}{'contents'}[3];
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[1]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
@@ -860,19 +966,19 @@ 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[5]
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[1]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'contents'}[1];
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[2]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'contents'}[2];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[3]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'contents'}[3];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[4]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[0]{'contents'}[1]{'contents'}[4];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'contents'}[0];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[1]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'contents'}[1];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[2]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[1]{'contents'}[2];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'contents'}[0];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[1]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'contents'}[1];
+$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[2]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[1]{'contents'}[3]{'contents'}[2];
 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[2]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[2]{'contents'}[3]{'contents'}[0];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[2]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[1]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[2]{'contents'}[3]{'contents'}[1];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[2]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[2]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[2]{'contents'}[3]{'contents'}[2];
-$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[3]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'end_of_line_command_in_node_lines'}{'contents'}[6]{'contents'}[7]{'contents'}[3]{'contents'}[3]{'contents'}[0];
 
 $result_texis{'end_of_line_command_in_node_lines'} = '@node Top
 @top top
 
+@menu
+* chap @* f     nl Something? @* After punct::
+* new n::
+@end menu
+
 @node chap @* f     nl Something? @* After punct
 @chapter Chap
 
@@ -894,7 +1000,6 @@ text @* f     nl Something? @* After punct
 @xref{ankh @* p, addll@*gg}.
 
 @menu
-* chap @* f     nl Something? @* After punct::
 * ankh @* p::
 * what @* is: ankh @* p.
 * what @* is: ankh p.
@@ -905,6 +1010,11 @@ text @* f     nl Something? @* After punct
 $result_texts{'end_of_line_command_in_node_lines'} = 'top
 ***
 
+* chap 
+ f     nl Something? 
+ After punct::
+* new n::
+
 1 Chap
 ******
 
@@ -928,9 +1038,6 @@ ankh
 ankh 
  p.
 
-* chap 
- f     nl Something? 
- After punct::
 * ankh 
  p::
 * what 
@@ -1073,6 +1180,9 @@ $result_nodes{'end_of_line_command_in_node_lines'}[2] = 
$result_nodes{'end_of_li
 $result_menus{'end_of_line_command_in_node_lines'} = [
   {
     'extra' => {
+      'menus' => [
+        {}
+      ],
       'normalized' => 'Top'
     }
   },
@@ -1082,18 +1192,13 @@ $result_menus{'end_of_line_command_in_node_lines'} = [
         'next' => {
           'extra' => {
             'menu_directions' => {
-              'next' => {},
               'prev' => {},
-              'up' => {
-                'extra' => {
-                  'menus' => [
-                    {}
-                  ],
-                  'normalized' => 'new-n'
-                }
-              }
+              'up' => {}
             },
-            'normalized' => 'ankh-p'
+            'menus' => [
+              {}
+            ],
+            'normalized' => 'new-n'
           }
         },
         'up' => {}
@@ -1103,16 +1208,16 @@ $result_menus{'end_of_line_command_in_node_lines'} = [
   },
   {}
 ];
-$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}
 = 
$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'};
-$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'prev'}
 = 
$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'};
-$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'up'}
 = 
$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'up'};
-$result_menus{'end_of_line_command_in_node_lines'}[2] = 
$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'up'};
+$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'prev'}
 = $result_menus{'end_of_line_command_in_node_lines'}[1];
+$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'up'}
 = $result_menus{'end_of_line_command_in_node_lines'}[0];
+$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'up'}
 = $result_menus{'end_of_line_command_in_node_lines'}[0];
+$result_menus{'end_of_line_command_in_node_lines'}[2] = 
$result_menus{'end_of_line_command_in_node_lines'}[1]{'extra'}{'menu_directions'}{'next'};
 
 $result_errors{'end_of_line_command_in_node_lines'} = [
   {
     'error_line' => 'warning: @menu entry node name `ankh p\' different from 
anchor name `ankh @* p\'
 ',
-    'line_nr' => 28,
+    'line_nr' => 32,
     'text' => '@menu entry node name `ankh p\' different from anchor name 
`ankh @* p\'',
     'type' => 'warning'
   }
diff --git 
a/tp/t/results/info_tests/end_of_line_command_in_node_lines/res_info/end_of_line_command_in_node_lines.info
 
b/tp/t/results/info_tests/end_of_line_command_in_node_lines/res_info/end_of_line_command_in_node_lines.info
index 1e2f960b00..d05ed35393 100644
Binary files 
a/tp/t/results/info_tests/end_of_line_command_in_node_lines/res_info/end_of_line_command_in_node_lines.info
 and 
b/tp/t/results/info_tests/end_of_line_command_in_node_lines/res_info/end_of_line_command_in_node_lines.info
 differ
diff --git a/tp/t/results/menu/commands_in_nodedescriptionblock.pl 
b/tp/t/results/menu/commands_in_nodedescriptionblock.pl
index 99ebc0ecd2..97e8534440 100644
--- a/tp/t/results/menu/commands_in_nodedescriptionblock.pl
+++ b/tp/t/results/menu/commands_in_nodedescriptionblock.pl
@@ -826,6 +826,16 @@ $result_trees{'commands_in_nodedescriptionblock'} = {
 ',
           'type' => 'empty_line'
         },
+        {
+          'args' => [
+            {
+              'text' => ' node1 again to test two nodescription expansions
+',
+              'type' => 'rawline_arg'
+            }
+          ],
+          'cmdname' => 'c'
+        },
         {
           'args' => [
             {
@@ -882,7 +892,7 @@ $result_trees{'commands_in_nodedescriptionblock'} = {
                 }
               ],
               'source_info' => {
-                'line_nr' => 35
+                'line_nr' => 36
               },
               'type' => 'menu_entry'
             },
@@ -913,12 +923,12 @@ $result_trees{'commands_in_nodedescriptionblock'} = {
                 }
               },
               'source_info' => {
-                'line_nr' => 36
+                'line_nr' => 37
               }
             }
           ],
           'source_info' => {
-            'line_nr' => 34
+            'line_nr' => 35
           }
         },
         {
@@ -955,7 +965,7 @@ $result_trees{'commands_in_nodedescriptionblock'} = {
             }
           },
           'source_info' => {
-            'line_nr' => 38
+            'line_nr' => 39
           }
         },
         {
@@ -990,7 +1000,7 @@ $result_trees{'commands_in_nodedescriptionblock'} = {
             }
           },
           'source_info' => {
-            'line_nr' => 40
+            'line_nr' => 41
           }
         },
         {
@@ -1028,7 +1038,7 @@ 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_
 $result_trees{'commands_in_nodedescriptionblock'}{'contents'}[4] = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'extra'}{'float_section'};
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[1]{'contents'}[2]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0];
-$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[3]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[3]{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[6]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
 $result_texis{'commands_in_nodedescriptionblock'} = '@node Top
 @top test commands in nodedescriptionblock
@@ -1063,6 +1073,7 @@ where the max column could be. @w{in w}.
 
 @ref{in nodescription}, @ref{f1}.
 
+@c node1 again to test two nodescription expansions
 @menu
 * node1::
 @end menu
@@ -1536,6 +1547,7 @@ where the max column could be. <w>in w</w>.
 
 <para><ref label="in-nodescription"><xrefnodename>in 
nodescription</xrefnodename></ref>, <ref 
label="f1"><xrefnodename>f1</xrefnodename></ref>.
 </para>
+<!-- c node1 again to test two nodescription expansions -->
 <menu endspaces=" ">
 <menuentry><menuleadingtext>* 
</menuleadingtext><menunode>node1</menunode><menuseparator>::</menuseparator><menudescription><pre
 xml:space="preserve">
 </pre></menudescription></menuentry></menu>
diff --git a/tp/t/results/menu/missing_detailmenu_on_subnodes.pl 
b/tp/t/results/menu/missing_detailmenu_on_subnodes.pl
index 01fb97f5c2..5048f30b21 100644
--- a/tp/t/results/menu/missing_detailmenu_on_subnodes.pl
+++ b/tp/t/results/menu/missing_detailmenu_on_subnodes.pl
@@ -1383,7 +1383,36 @@ $result_menus{'missing_detailmenu_on_subnodes'}[3] = 
$result_menus{'missing_deta
 $result_menus{'missing_detailmenu_on_subnodes'}[4] = 
$result_menus{'missing_detailmenu_on_subnodes'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 $result_menus{'missing_detailmenu_on_subnodes'}[5] = 
$result_menus{'missing_detailmenu_on_subnodes'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 
-$result_errors{'missing_detailmenu_on_subnodes'} = [];
+$result_errors{'missing_detailmenu_on_subnodes'} = [
+  {
+    'error_line' => 'warning: node `section chap 2\' is next for `section\' in 
menu but not in sectioning
+',
+    'line_nr' => 23,
+    'text' => 'node `section chap 2\' is next for `section\' in menu but not 
in sectioning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node `chapter 2\' is prev for `section\' in menu 
but not in sectioning
+',
+    'line_nr' => 23,
+    'text' => 'node `chapter 2\' is prev for `section\' in menu but not in 
sectioning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node `section\' is next for `chapter 2\' in menu 
but not in sectioning
+',
+    'line_nr' => 26,
+    'text' => 'node `section\' is next for `chapter 2\' in menu but not in 
sectioning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node `section\' is prev for `section chap 2\' in 
menu but not in sectioning
+',
+    'line_nr' => 34,
+    'text' => 'node `section\' is prev for `section chap 2\' in menu but not 
in sectioning',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'missing_detailmenu_on_subnodes'} = {};
diff --git a/tp/t/results/moresectioning/character_and_spaces_in_refs.pl 
b/tp/t/results/moresectioning/character_and_spaces_in_refs.pl
index 166fdfd2c9..fc0b3ee4bd 100644
--- a/tp/t/results/moresectioning/character_and_spaces_in_refs.pl
+++ b/tp/t/results/moresectioning/character_and_spaces_in_refs.pl
@@ -792,7 +792,7 @@ $result_trees{'character_and_spaces_in_refs'} = {
         {
           'contents' => [
             {
-              'text' => 'Top'
+              'text' => 'node to avoid DocBook or LaTeX ignored'
             }
           ],
           'extra' => {
@@ -801,7 +801,7 @@ $result_trees{'character_and_spaces_in_refs'} = {
                 {}
               ]
             },
-            'normalized' => 'Top'
+            'normalized' => 'node-to-avoid-DocBook-or-LaTeX-ignored'
           },
           'info' => {
             'spaces_before_argument' => {
@@ -1416,7 +1416,7 @@ $result_texis{'character_and_spaces_in_refs'} = '@node Top
 @ref{ Top}
 @ref{  local   node}
 
-@node other nodes, !_"#$%&\'()*+-., Top, Top
+@node other nodes, !_"#$%&\'()*+-., node to avoid DocBook or LaTeX ignored, Top
 @chapter Chapter with nodes
 
 @menu
@@ -1633,7 +1633,7 @@ 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'ne
 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'up'}
 = 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'};
 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'prev'}
 = 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'};
 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'up'}
 = 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'};
-$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'prev'}
 = $result_nodes{'character_and_spaces_in_refs'}[0];
+$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'prev'}
 = 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'};
 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'up'}
 = $result_nodes{'character_and_spaces_in_refs'}[0];
 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'prev'}
 = $result_nodes{'character_and_spaces_in_refs'}[0];
 
$result_nodes{'character_and_spaces_in_refs'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'up'}
 = $result_nodes{'character_and_spaces_in_refs'}[0];
@@ -1753,7 +1753,7 @@ Testing local nodes
 node::
 
 
-File: ,  Node: other nodes,  Next: !_"#$%&\'()*+-.,  Prev: Top,  Up: Top
+File: ,  Node: other nodes,  Next: !_"#$%&\'()*+-.,  Prev: node to avoid 
DocBook or LaTeX ignored,  Up: Top
 
 2 Chapter with nodes
 ********************
@@ -1778,9 +1778,9 @@ Tag Table:
 Node: Top65
 Node: node to avoid DocBook or LaTeX ignored236
 Node: other nodes658
-Node: !_"#$%&\'()*+-.839
-Node: /;<=>?[\\]^_`|~933
-Node: local node1026
+Node: !_"#$%&\'()*+-.874
+Node: /;<=>?[\\]^_`|~968
+Node: local node1061
 
 End Tag Table
 
@@ -1868,7 +1868,7 @@ Next: <a href="#other-nodes" accesskey="n" 
rel="next">Chapter with nodes</a>, Pr
 <div class="chapter-level-extent" id="other-nodes">
 <div class="nav-panel">
 <p>
-Next: <a 
href="#g_t_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e"
 accesskey="n" rel="next">!_&quot;#$%&amp;\'()*+-.</a>, Previous: <a 
href="#Top" accesskey="p" rel="prev">Test refs</a>, Up: <a href="#Top" 
accesskey="u" rel="up">Test refs</a> &nbsp; </p>
+Next: <a 
href="#g_t_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e"
 accesskey="n" rel="next">!_&quot;#$%&amp;\'()*+-.</a>, Previous: <a 
href="#node-to-avoid-DocBook-or-LaTeX-ignored" accesskey="p" rel="prev">first 
chapter</a>, Up: <a href="#Top" accesskey="u" rel="up">Test refs</a> &nbsp; </p>
 </div>
 <h2 class="chapter" id="Chapter-with-nodes"><span>2 Chapter with nodes<a 
class="copiable-link" href="#Chapter-with-nodes"> &para;</a></span></h2>
 
diff --git a/tp/t/results/moresectioning/character_and_spaces_in_refs_out.pl 
b/tp/t/results/moresectioning/character_and_spaces_in_refs_out.pl
index 5773a95840..cd7aa32401 100644
--- a/tp/t/results/moresectioning/character_and_spaces_in_refs_out.pl
+++ b/tp/t/results/moresectioning/character_and_spaces_in_refs_out.pl
@@ -804,7 +804,7 @@ $result_trees{'character_and_spaces_in_refs_out'} = [
         {
           'contents' => [
             {
-              'text' => 'Top'
+              'text' => 'node to avoid DocBook or LaTeX ignored'
             }
           ],
           'extra' => {
@@ -813,7 +813,7 @@ $result_trees{'character_and_spaces_in_refs_out'} = [
                 {}
               ]
             },
-            'normalized' => 'Top'
+            'normalized' => 'node-to-avoid-DocBook-or-LaTeX-ignored'
           },
           'info' => {
             'spaces_before_argument' => {
@@ -1455,7 +1455,7 @@ $result_texis{'character_and_spaces_in_refs_out'} = 
'@node Top
 @ref{ Top}
 @ref{  local   node}
 
-@node other nodes, !_"#$%&\'()*+-., Top, Top
+@node other nodes, !_"#$%&\'()*+-., node to avoid DocBook or LaTeX ignored, Top
 @chapter Chapter with nodes
 
 @menu
@@ -1735,7 +1735,7 @@ 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'
 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeBack'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeForward'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeNext'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
-$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'};
+$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeUp'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'};
 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Prev'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'This'}
 = 
$result_sectioning{'character_and_spaces_in_refs_out'}{'extra'}{'section_childs'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'};
@@ -1835,7 +1835,25 @@ $result_nodes{'character_and_spaces_in_refs_out'} = [
                                                 },
                                                 'node_directions' => {
                                                   'next' => {},
-                                                  'prev' => {},
+                                                  'prev' => {
+                                                    'associated_unit' => {},
+                                                    'cmdname' => 'node',
+                                                    'extra' => {
+                                                      'associated_section' => {
+                                                        'associated_unit' => 
{},
+                                                        'cmdname' => 'chapter',
+                                                        'extra' => {
+                                                          'section_number' => 
'1'
+                                                        }
+                                                      },
+                                                      'node_directions' => {
+                                                        'next' => {},
+                                                        'prev' => {},
+                                                        'up' => {}
+                                                      },
+                                                      'normalized' => 
'node-to-avoid-DocBook-or-LaTeX-ignored'
+                                                    }
+                                                  },
                                                   'up' => {}
                                                 },
                                                 'normalized' => 'other-nodes'
@@ -1916,25 +1934,7 @@ $result_nodes{'character_and_spaces_in_refs_out'} = [
             'next' => {},
             'prev' => {}
           },
-          'unit_command' => {
-            'associated_unit' => {},
-            'cmdname' => 'node',
-            'extra' => {
-              'associated_section' => {
-                'associated_unit' => {},
-                'cmdname' => 'chapter',
-                'extra' => {
-                  'section_number' => '1'
-                }
-              },
-              'node_directions' => {
-                'next' => {},
-                'prev' => {},
-                'up' => {}
-              },
-              'normalized' => 'node-to-avoid-DocBook-or-LaTeX-ignored'
-            }
-          },
+          'unit_command' => {},
           'unit_type' => 'unit'
         },
         'Forward' => {},
@@ -1991,7 +1991,11 @@ 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directi
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'associated_unit'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'associated_section'}{'associated_unit'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'direction
 [...]
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForwa
 [...]
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'associated_unit'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'associated_section'}{'associated_unit'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'di 
[...]
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'Fa
 [...]
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'up'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'up'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'up'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directi
 [...]
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'up'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forw
 [...]
@@ -2017,7 +2021,7 @@ 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directi
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeBack'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeForward'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeNext'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeUp'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Prev'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'This'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'};
@@ -2036,11 +2040,7 @@ 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directi
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'Up'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'tree_unit_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'tree_unit_directions'}{'prev'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'}{'associated_unit'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'}{'extra'}{'associated_section'}{'associated_unit'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'}{'extra'}{'node_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'};
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'}{'extra'}{'node_directions'}{'up'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'Forward'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'NodeForward'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'NodeNext'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
@@ -2048,8 +2048,8 @@ 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directi
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'tree_unit_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'unit_command'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0];
 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'extra'}{'associated_section'}{'associated_unit'}
 = $result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
-$result_nodes{'character_and_spaces_in_refs_out'}[0]{'extra'}{'node_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'};
-$result_nodes{'character_and_spaces_in_refs_out'}[1] = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'unit_command'};
+$result_nodes{'character_and_spaces_in_refs_out'}[0]{'extra'}{'node_directions'}{'next'}
 = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'};
+$result_nodes{'character_and_spaces_in_refs_out'}[1] = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'};
 $result_nodes{'character_and_spaces_in_refs_out'}[2] = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'};
 $result_nodes{'character_and_spaces_in_refs_out'}[3] = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'}{'extra'}{'node_directions'}{'prev'};
 $result_nodes{'character_and_spaces_in_refs_out'}[4] = 
$result_nodes{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'node_directions'}{'prev'};
@@ -2274,7 +2274,7 @@ 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directi
 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeBack'}
 = 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeForward'}
 = 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeNext'}
 = 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
-$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = $result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
+$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeUp'}
 = $result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'};
 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Prev'}
 = 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'};
 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'This'}
 = 
$result_menus{'character_and_spaces_in_refs_out'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'};
@@ -2504,7 +2504,7 @@ 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForwa
 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeBack'}
 = 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'};
 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeForward'}
 = 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeNext'}
 = 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Forward'};
-$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = $result_elements{'character_and_spaces_in_refs_out'}[0];
+$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodePrev'}
 = 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'};
 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'NodeUp'}
 = $result_elements{'character_and_spaces_in_refs_out'}[0];
 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Prev'}
 = 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'};
 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'This'}
 = 
$result_elements{'character_and_spaces_in_refs_out'}[0]{'directions'}{'FastForward'}{'directions'}{'FastForward'};
@@ -2560,7 +2560,7 @@ output unit: @node other nodes
   Prev: @node node to avoid DocBook or LaTeX ignored
   Up: @node Top
   NodeNext: @node !_"#$%&\'()*+-.
-  NodePrev: @node Top
+  NodePrev: @node node to avoid DocBook or LaTeX ignored
   NodeUp: @node Top
   NodeForward: @node !_"#$%&\'()*+-.
   NodeBack: @node node to avoid DocBook or LaTeX ignored
diff --git 
a/tp/t/results/moresectioning/character_and_spaces_in_refs_out/res_html/other-nodes.html
 
b/tp/t/results/moresectioning/character_and_spaces_in_refs_out/res_html/other-nodes.html
index 151a069157..d64800747e 100644
--- 
a/tp/t/results/moresectioning/character_and_spaces_in_refs_out/res_html/other-nodes.html
+++ 
b/tp/t/results/moresectioning/character_and_spaces_in_refs_out/res_html/other-nodes.html
@@ -14,7 +14,7 @@
 <link href="index.html" rel="start" title="Top">
 <link href="index.html" rel="up" title="Top">
 <link 
href="_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e.html"
 rel="next" title="!_&quot;#$%&amp;'()*+-.">
-<link href="index.html" rel="prev" title="Top">
+<link href="node-to-avoid-DocBook-or-LaTeX-ignored.html" rel="prev" 
title="node to avoid DocBook or LaTeX ignored">
 <style type="text/css">
 <!--
 a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
@@ -29,7 +29,7 @@ span:hover a.copiable-link {visibility: visible}
 <div class="chapter-level-extent" id="other-nodes">
 <div class="nav-panel">
 <p>
-Next: <a 
href="_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e.html"
 accesskey="n" rel="next">!_&quot;#$%&amp;'()*+-.</a>, Previous: <a 
href="index.html" accesskey="p" rel="prev">Test refs</a>, Up: <a 
href="index.html" accesskey="u" rel="up">Test refs</a> &nbsp; </p>
+Next: <a 
href="_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e.html"
 accesskey="n" rel="next">!_&quot;#$%&amp;'()*+-.</a>, Previous: <a 
href="node-to-avoid-DocBook-or-LaTeX-ignored.html" accesskey="p" 
rel="prev">first chapter</a>, Up: <a href="index.html" accesskey="u" 
rel="up">Test refs</a> &nbsp; </p>
 </div>
 <hr>
 <h2 class="chapter" id="Chapter-with-nodes"><span>2 Chapter with nodes<a 
class="copiable-link" href="#Chapter-with-nodes"> &para;</a></span></h2>
diff --git a/tp/t/results/moresectioning/complex.pl 
b/tp/t/results/moresectioning/complex.pl
index 363b8dfa02..086a6f0898 100644
--- a/tp/t/results/moresectioning/complex.pl
+++ b/tp/t/results/moresectioning/complex.pl
@@ -4634,7 +4634,24 @@ $result_menus{'complex'}[12] = 
$result_menus{'complex'}[1]{'extra'}{'menu_direct
 $result_menus{'complex'}[13] = 
$result_menus{'complex'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 $result_menus{'complex'}[14] = 
$result_menus{'complex'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 
-$result_errors{'complex'} = [];
+$result_errors{'complex'} = [
+  {
+    'error_line' => 'warning: node next pointer for `continuity\' is `Third 
node unnumbered\' but next is `Last node no description\' in menu
+',
+    'file_name' => 'complex_sectioning_case.texi',
+    'line_nr' => 76,
+    'text' => 'node next pointer for `continuity\' is `Third node unnumbered\' 
but next is `Last node no description\' in menu',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node prev pointer for `continuity\' is `Last 
node no description\' but prev is `Third node unnumbered\' in menu
+',
+    'file_name' => 'complex_sectioning_case.texi',
+    'line_nr' => 76,
+    'text' => 'node prev pointer for `continuity\' is `Last node no 
description\' but prev is `Third node unnumbered\' in menu',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'complex'} = {};
diff --git a/tp/t/results/moresectioning/complex_split_at_node.pl 
b/tp/t/results/moresectioning/complex_split_at_node.pl
index 1842dfc8bf..7632a0ab07 100644
--- a/tp/t/results/moresectioning/complex_split_at_node.pl
+++ b/tp/t/results/moresectioning/complex_split_at_node.pl
@@ -4749,7 +4749,24 @@ $result_menus{'complex_split_at_node'}[12] = 
$result_menus{'complex_split_at_nod
 $result_menus{'complex_split_at_node'}[13] = 
$result_menus{'complex_split_at_node'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'unit_command'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'up'}{'extra'}
 [...]
 $result_menus{'complex_split_at_node'}[14] = 
$result_menus{'complex_split_at_node'}[0]{'associated_unit'}{'directions'}{'FastForward'}{'directions'}{'FastForward'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'directions'}{'Back'}{'unit_command'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'up'}{'extra'}
 [...]
 
-$result_errors{'complex_split_at_node'} = [];
+$result_errors{'complex_split_at_node'} = [
+  {
+    'error_line' => 'warning: node next pointer for `continuity\' is `Third 
node unnumbered\' but next is `Last node no description\' in menu
+',
+    'file_name' => 'complex_sectioning_case.texi',
+    'line_nr' => 76,
+    'text' => 'node next pointer for `continuity\' is `Third node unnumbered\' 
but next is `Last node no description\' in menu',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node prev pointer for `continuity\' is `Last 
node no description\' but prev is `Third node unnumbered\' in menu
+',
+    'file_name' => 'complex_sectioning_case.texi',
+    'line_nr' => 76,
+    'text' => 'node prev pointer for `continuity\' is `Last node no 
description\' but prev is `Third node unnumbered\' in menu',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'complex_split_at_node'} = {};
diff --git a/tp/t/results/moresectioning/rec_nodes.pl 
b/tp/t/results/moresectioning/rec_nodes.pl
index ae083895d7..09676e1d75 100644
--- a/tp/t/results/moresectioning/rec_nodes.pl
+++ b/tp/t/results/moresectioning/rec_nodes.pl
@@ -1111,7 +1111,29 @@ $result_menus{'rec_nodes'}[2] = 
$result_menus{'rec_nodes'}[1]{'extra'}{'menu_dir
 $result_menus{'rec_nodes'}[3] = 
$result_menus{'rec_nodes'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'up'};
 $result_menus{'rec_nodes'}[4] = 
$result_menus{'rec_nodes'}[1]{'extra'}{'menu_directions'}{'next'};
 
-$result_errors{'rec_nodes'} = [];
+$result_errors{'rec_nodes'} = [
+  {
+    'error_line' => 'warning: node prev pointer for `chap node\' is `Top\' but 
prev is `other node\' in menu
+',
+    'line_nr' => 9,
+    'text' => 'node prev pointer for `chap node\' is `Top\' but prev is `other 
node\' in menu',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node up pointer for `chap node\' is `Top\' but 
up is `chap node\' in menu
+',
+    'line_nr' => 9,
+    'text' => 'node up pointer for `chap node\' is `Top\' but up is `chap 
node\' in menu',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node up pointer for `other node\' is `chap 
node\' but up is `other node\' in menu
+',
+    'line_nr' => 16,
+    'text' => 'node up pointer for `other node\' is `chap node\' but up is 
`other node\' in menu',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'rec_nodes'} = {};
diff --git a/tp/t/results/sectioning/in_menu_only_special_spaces_node.pl 
b/tp/t/results/sectioning/in_menu_only_special_spaces_node.pl
index 5e239ade03..d45295cc18 100644
--- a/tp/t/results/sectioning/in_menu_only_special_spaces_node.pl
+++ b/tp/t/results/sectioning/in_menu_only_special_spaces_node.pl
@@ -1285,6 +1285,22 @@ $result_errors{'in_menu_only_special_spaces_node'} = [
     'line_nr' => 22,
     'text' => 'empty argument in @node',
     'type' => 'error'
+  },
+  {
+    'error_line' => "warning: node next pointer for `\x{2000}\x{2001}\x{2002}' 
is `' but next is `\x{85}\x{a0}\x{1680}' in menu
+",
+    'file_name' => 'in_menu_only_special_spaces_node.texi',
+    'line_nr' => 16,
+    'text' => "node next pointer for `\x{2000}\x{2001}\x{2002}' is `' but next 
is `\x{85}\x{a0}\x{1680}' in menu",
+    'type' => 'warning'
+  },
+  {
+    'error_line' => "warning: node prev pointer for `\x{85}\x{a0}\x{1680}' is 
`' but prev is `\x{2000}\x{2001}\x{2002}' in menu
+",
+    'file_name' => 'in_menu_only_special_spaces_node.texi',
+    'line_nr' => 25,
+    'text' => "node prev pointer for `\x{85}\x{a0}\x{1680}' is `' but prev is 
`\x{2000}\x{2001}\x{2002}' in menu",
+    'type' => 'warning'
   }
 ];
 
diff --git a/tp/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl 
b/tp/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl
index 2e27b6f8d5..aa29f9135e 100644
--- a/tp/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl
+++ b/tp/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl
@@ -1285,6 +1285,22 @@ $result_errors{'in_menu_only_special_spaces_node_menu'} 
= [
     'line_nr' => 22,
     'text' => 'empty argument in @node',
     'type' => 'error'
+  },
+  {
+    'error_line' => "warning: node next pointer for `\x{2000}\x{2001}\x{2002}' 
is `' but next is `\x{85}\x{a0}\x{1680}' in menu
+",
+    'file_name' => 'in_menu_only_special_spaces_node.texi',
+    'line_nr' => 16,
+    'text' => "node next pointer for `\x{2000}\x{2001}\x{2002}' is `' but next 
is `\x{85}\x{a0}\x{1680}' in menu",
+    'type' => 'warning'
+  },
+  {
+    'error_line' => "warning: node prev pointer for `\x{85}\x{a0}\x{1680}' is 
`' but prev is `\x{2000}\x{2001}\x{2002}' in menu
+",
+    'file_name' => 'in_menu_only_special_spaces_node.texi',
+    'line_nr' => 25,
+    'text' => "node prev pointer for `\x{85}\x{a0}\x{1680}' is `' but prev is 
`\x{2000}\x{2001}\x{2002}' in menu",
+    'type' => 'warning'
   }
 ];
 
diff --git a/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl 
b/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
index 6203742779..a4394134c3 100644
--- a/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
+++ b/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
@@ -945,7 +945,22 @@ $result_menus{'transliterated_split_equivalent_nodes'}[1] 
= $result_menus{'trans
 $result_menus{'transliterated_split_equivalent_nodes'}[2] = 
$result_menus{'transliterated_split_equivalent_nodes'}[0]{'associated_unit'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'}{'extra'}{'menu_directions'}{'prev'};
 $result_menus{'transliterated_split_equivalent_nodes'}[3] = 
$result_menus{'transliterated_split_equivalent_nodes'}[0]{'associated_unit'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'directions'}{'Forward'}{'unit_command'};
 
-$result_errors{'transliterated_split_equivalent_nodes'} = [];
+$result_errors{'transliterated_split_equivalent_nodes'} = [
+  {
+    'error_line' => 'warning: node `n\' is next for `@~a\' in menu but not in 
sectioning
+',
+    'line_nr' => 9,
+    'text' => 'node `n\' is next for `@~a\' in menu but not in sectioning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node `top\' is up for `@~a\' in menu but not in 
sectioning
+',
+    'line_nr' => 9,
+    'text' => 'node `top\' is up for `@~a\' in menu but not in sectioning',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'transliterated_split_equivalent_nodes'} = {};
diff --git a/tp/t/results/sectioning/two_nodes_between_chapters_nodes.pl 
b/tp/t/results/sectioning/two_nodes_between_chapters_nodes.pl
index f35e205bb9..71677f9fba 100644
--- a/tp/t/results/sectioning/two_nodes_between_chapters_nodes.pl
+++ b/tp/t/results/sectioning/two_nodes_between_chapters_nodes.pl
@@ -733,7 +733,22 @@ 
$result_menus{'two_nodes_between_chapters_nodes'}[1]{'extra'}{'menu_directions'}
 $result_menus{'two_nodes_between_chapters_nodes'}[2] = 
$result_menus{'two_nodes_between_chapters_nodes'}[1]{'extra'}{'menu_directions'}{'next'};
 $result_menus{'two_nodes_between_chapters_nodes'}[3] = 
$result_menus{'two_nodes_between_chapters_nodes'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 
-$result_errors{'two_nodes_between_chapters_nodes'} = [];
+$result_errors{'two_nodes_between_chapters_nodes'} = [
+  {
+    'error_line' => 'warning: node next pointer for `chapter 1\' is `Top\' but 
next is `node between chapters\' in menu
+',
+    'line_nr' => 10,
+    'text' => 'node next pointer for `chapter 1\' is `Top\' but next is `node 
between chapters\' in menu',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node prev pointer for `chapter 2\' is `chapter 
1\' but prev is `node between chapters\' in menu
+',
+    'line_nr' => 15,
+    'text' => 'node prev pointer for `chapter 2\' is `chapter 1\' but prev is 
`node between chapters\' in menu',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'two_nodes_between_chapters_nodes'} = {};
diff --git a/tp/t/results/sectioning/two_nodes_between_chapters_texi2html.pl 
b/tp/t/results/sectioning/two_nodes_between_chapters_texi2html.pl
index 39df35cbce..781e3de5b9 100644
--- a/tp/t/results/sectioning/two_nodes_between_chapters_texi2html.pl
+++ b/tp/t/results/sectioning/two_nodes_between_chapters_texi2html.pl
@@ -733,7 +733,22 @@ 
$result_menus{'two_nodes_between_chapters_texi2html'}[1]{'extra'}{'menu_directio
 $result_menus{'two_nodes_between_chapters_texi2html'}[2] = 
$result_menus{'two_nodes_between_chapters_texi2html'}[1]{'extra'}{'menu_directions'}{'next'};
 $result_menus{'two_nodes_between_chapters_texi2html'}[3] = 
$result_menus{'two_nodes_between_chapters_texi2html'}[1]{'extra'}{'menu_directions'}{'next'}{'extra'}{'menu_directions'}{'next'};
 
-$result_errors{'two_nodes_between_chapters_texi2html'} = [];
+$result_errors{'two_nodes_between_chapters_texi2html'} = [
+  {
+    'error_line' => 'warning: node next pointer for `chapter 1\' is `Top\' but 
next is `node between chapters\' in menu
+',
+    'line_nr' => 10,
+    'text' => 'node next pointer for `chapter 1\' is `Top\' but next is `node 
between chapters\' in menu',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: node prev pointer for `chapter 2\' is `chapter 
1\' but prev is `node between chapters\' in menu
+',
+    'line_nr' => 15,
+    'text' => 'node prev pointer for `chapter 2\' is `chapter 1\' but prev is 
`node between chapters\' in menu',
+    'type' => 'warning'
+  }
+];
 
 
 $result_floats{'two_nodes_between_chapters_texi2html'} = {};
diff --git a/tp/t/test_utils.pl b/tp/t/test_utils.pl
index 26c47f7af5..2469462786 100644
--- a/tp/t/test_utils.pl
+++ b/tp/t/test_utils.pl
@@ -949,12 +949,9 @@ sub test($$)
   # Setup default customization options to be ready for init files options
   # setting.
 
-  # TODO use the same as in texi2any.pl?:
-  #   %Texinfo::Common::default_main_program_customization_options
-  # The main difference would be that
-  # CHECK_NORMAL_MENU_STRUCTURE is set to 1.
-  my $test_customization_defaults = {'FORMAT_MENU' => 'menu',
-                                   'CHECK_MISSING_MENU_ENTRY' => 1};
+  my $test_customization_defaults = {
+     %Texinfo::Common::default_main_program_customization_options
+    };
 
   # get symbols in Texinfo::Config namespace before calling the init files
   # such that the added symbols can be removed after running the tests to have



reply via email to

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