texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Sat, 30 Mar 2024 05:57:23 -0400 (EDT)

branch: master
commit 7c8c81357cf69ea6549b3c3e0b7948342ce981a3
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri Mar 29 13:54:10 2024 +0100

    * tp/Texinfo/Convert/Utils.pm (find_innermost_accent_contents): return
    undef for the inner accent command text element if there is no
    argument at all.  Update callers.
    
    * tp/Texinfo/Convert/HTML.pm (unit_is_top_output_unit)
    (_default_format_element_header): return 0 and not an empty string for
    better looking debug messages.
    
    * tp/Texinfo/Structuring.pm (unsplit): take into account the XS sub
    return.
    
    * tp/Texinfo/Structuring.pm (@relative_directions_order)
    (@file_directions_order, @all_directions_order)
    (print_output_unit_directions): use the same aorder as in C/XS for the
    output unit directions output message.
    
    * tp/Texinfo/Convert/Converter.pm (convert_accents),
    tp/Texinfo/Convert/HTML.pm (_convert_printindex_command)
    (_convert_def_line_type, _convert),
    tp/Texinfo/XS/convert/convert_html.c (convert_printindex_command)
    (convert_def_line_type, convert_to_html_internal),
    tp/Texinfo/XS/convert/converter.c (convert_accents): add explanation
    argument to tree conversion functions calls.
    
    * tp/Texinfo/XS/convert/convert_html.c
    (html_default_format_element_header): actually output debug message.
    
    * tp/Texinfo/XS/convert/convert_html.c (direction_string)
    (convert_explained_command): correct and update debug messages.
---
 ChangeLog                                          |  32 ++++
 tp/Texinfo/Convert/Converter.pm                    |   9 +-
 tp/Texinfo/Convert/HTML.pm                         |  52 ++++---
 tp/Texinfo/Convert/Text.pm                         |   5 +-
 tp/Texinfo/Convert/Unicode.pm                      |   8 +-
 tp/Texinfo/Convert/Utils.pm                        |   9 +-
 tp/Texinfo/Structuring.pm                          |  24 ++-
 tp/Texinfo/XS/convert/convert_html.c               |  39 +++--
 tp/Texinfo/XS/convert/converter.c                  |   8 +-
 tp/t/accents.t                                     |   8 +-
 .../html_tests/footnotestyle_separate_late.pl      |  26 ++--
 tp/t/results/html_tests/index_below.pl             |  10 +-
 tp/t/results/html_tests/redirection_same_labels.pl |  28 ++--
 tp/t/results/html_tests/split_html_text.pl         |  12 +-
 .../html_tests/transliterated_names_conflicts.pl   |  26 ++--
 tp/t/results/moresectioning/chapter_sections.pl    |  42 +++---
 .../character_and_spaces_in_refs_out.pl            |  52 +++----
 tp/t/results/moresectioning/complex.pl             | 158 ++++++++++----------
 .../moresectioning/complex_split_at_node.pl        | 166 ++++++++++-----------
 .../results/moresectioning/internal_top_node_up.pl |   8 +-
 .../non_automatic_internal_top_node_up.pl          |   8 +-
 .../non_automatic_top_node_up_and_url.pl           |   8 +-
 .../non_automatic_top_node_up_url.pl               |   8 +-
 .../moresectioning/sectioning_part_appendix.pl     |  52 +++----
 .../sectioning_part_appendix_no_top.pl             |  46 +++---
 .../results/moresectioning/top_chapter_sections.pl |  48 +++---
 tp/t/results/moresectioning/top_node_up_url.pl     |   8 +-
 .../sectioning/chapter_before_and_after_part.pl    |   6 +-
 tp/t/results/sectioning/chapter_before_part.pl     |   4 +-
 tp/t/results/sectioning/double_part.pl             |  14 +-
 .../results/sectioning/explicit_node_directions.pl |  16 +-
 tp/t/results/sectioning/lone_Top_node.pl           |   2 +-
 .../sectioning/node_part_chapter_after_chapter.pl  |  22 +--
 .../sectioning/node_part_chapter_after_top.pl      |  10 +-
 tp/t/results/sectioning/node_up_external_node.pl   |  10 +-
 .../nodes_after_top_before_chapter_nodes.pl        |  16 +-
 .../nodes_after_top_before_chapter_sections.pl     |   2 +-
 .../nodes_after_top_before_section_nodes.pl        |  16 +-
 .../nodes_after_top_before_section_sections.pl     |   2 +-
 .../nodes_no_node_top_explicit_directions.pl       |   8 +-
 tp/t/results/sectioning/part_chapter_after_top.pl  |  10 +-
 tp/t/results/sectioning/part_node_after_top.pl     |  10 +-
 tp/t/results/sectioning/part_node_before_top.pl    |   6 +-
 .../sectioning/part_node_chapter_after_top.pl      |  12 +-
 .../sectioning/part_node_chapter_appendix.pl       |  16 +-
 .../sectioning/part_node_chapter_node_appendix.pl  |  22 +--
 .../sectioning/part_node_node_part_appendix.pl     |  20 +--
 tp/t/results/sectioning/part_node_part_appendix.pl |  16 +-
 .../sectioning/part_node_part_node_appendix.pl     |  20 +--
 tp/t/results/sectioning/top_part_chapter.pl        |   6 +-
 tp/t/results/sectioning/top_without_node_nodes.pl  |   2 +-
 .../sectioning/top_without_node_sections.pl        |   8 +-
 .../transliterated_split_equivalent_nodes.pl       |  24 +--
 tp/t/results/sectioning/two_nodes_at_the_end.pl    |  14 +-
 .../sectioning/two_nodes_between_chapters.pl       |  26 ++--
 .../sectioning/unnumbered_before_node_top_top.pl   |   6 +-
 .../unnumbered_top_without_node_nodes.pl           |  10 +-
 .../unnumbered_top_without_node_sections.pl        |  14 +-
 58 files changed, 688 insertions(+), 582 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6b92a5596b..6d60a94f4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,35 @@
+2024-03-29  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/Utils.pm (find_innermost_accent_contents): return
+       undef for the inner accent command text element if there is no
+       argument at all.  Update callers.
+
+       * tp/Texinfo/Convert/HTML.pm (unit_is_top_output_unit)
+       (_default_format_element_header): return 0 and not an empty string for
+       better looking debug messages.
+
+       * tp/Texinfo/Structuring.pm (unsplit): take into account the XS sub
+       return.
+
+       * tp/Texinfo/Structuring.pm (@relative_directions_order)
+       (@file_directions_order, @all_directions_order)
+       (print_output_unit_directions): use the same aorder as in C/XS for the
+       output unit directions output message.
+
+       * tp/Texinfo/Convert/Converter.pm (convert_accents),
+       tp/Texinfo/Convert/HTML.pm (_convert_printindex_command)
+       (_convert_def_line_type, _convert),
+       tp/Texinfo/XS/convert/convert_html.c (convert_printindex_command)
+       (convert_def_line_type, convert_to_html_internal),
+       tp/Texinfo/XS/convert/converter.c (convert_accents): add explanation
+       argument to tree conversion functions calls.
+
+       * tp/Texinfo/XS/convert/convert_html.c
+       (html_default_format_element_header): actually output debug message.
+
+       * tp/Texinfo/XS/convert/convert_html.c (direction_string)
+       (convert_explained_command): correct and update debug messages.
+
 2024-03-28  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Convert/HTML.pm (html_convert_css_string)
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index 7f2f4f385c..261a30099c 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -1509,7 +1509,14 @@ sub convert_accents($$$;$$)
 
   my ($contents_element, $stack)
       = Texinfo::Convert::Utils::find_innermost_accent_contents($accent);
-  my $arg_text = $self->convert_tree($contents_element);
+  my $arg_text = '';
+  if (defined($contents_element)) {
+    # NOTE the explanation argument is HTML specific, it may theoretically
+    # be used for something else in other formats.  The type (string) should
+    # be fixed to the type used in C/XS.
+    $arg_text = $self->convert_tree($contents_element,
+                                    "ACCENT ARG ".$accent->{'cmdname'});
+  }
 
   if ($output_encoded_characters) {
     my $encoded = Texinfo::Convert::Unicode::encoded_accents($self,
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index db084037c0..15096952b4 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -1934,7 +1934,11 @@ sub unit_is_top_output_unit($$)
   my $self = shift;
   my $output_unit = shift;
   my $top_output_unit = _get_top_unit($self);
-  return (defined($top_output_unit) and $top_output_unit eq $output_unit);
+  if (defined($top_output_unit) and $top_output_unit eq $output_unit) {
+    return 1;
+  } else {
+    return 0;
+  }
 }
 
 my %default_formatting_references;
@@ -4648,9 +4652,12 @@ sub _default_format_element_header($$$$)
            and ($output_unit->{'tree_unit_directions'}->{'next'}
                 or $output_unit->{'tree_unit_directions'}->{'prev'}))) {
     my $is_top = $self->unit_is_top_output_unit($output_unit);
-    my $first_in_page = (defined($output_unit->{'unit_filename'})
-           and $self->count_elements_in_filename('current',
-                           $output_unit->{'unit_filename'}) == 1);
+    my $first_in_page = 0;
+    if (defined($output_unit->{'unit_filename'})
+        and $self->count_elements_in_filename('current',
+                           $output_unit->{'unit_filename'}) == 1) {
+      $first_in_page = 1;
+    }
     my $previous_is_top = 0;
     $previous_is_top = 1
       if ($output_unit->{'tree_unit_directions'}->{'prev'}
@@ -6800,15 +6807,16 @@ sub _convert_printindex_command($$$$)
   # now format the index entries
   $result
    .= $self->html_attribute_class('table', ["$index_name-entries-$cmdname"])
-    ." border=\"0\">\n" . '<tr><td></td>'
-    . $self->html_attribute_class('th', ["entries-header-$cmdname"]).'>'
-      # TRANSLATORS: index entries column header in index formatting
-    . $self->convert_tree($self->cdt('Index Entry')) .'</th>'
-    . $self->html_attribute_class('th', ["sections-header-$cmdname"]).'>'
-      # TRANSLATORS: section of index entry column header in index formatting
-    . $self->convert_tree($self->cdt('Section')) . "</th></tr>\n"
-    . "<tr><td colspan=\"3\">".$self->get_conf('DEFAULT_RULE')
-    ."</td></tr>\n";
+   ." border=\"0\">\n" . '<tr><td></td>'
+   . $self->html_attribute_class('th', ["entries-header-$cmdname"]).'>'
+     # TRANSLATORS: index entries column header in index formatting
+   . $self->convert_tree($self->cdt('Index Entry'), 'th idx entries 1') 
.'</th>'
+   . $self->html_attribute_class('th', ["sections-header-$cmdname"]).'>'
+     # TRANSLATORS: section of index entry column header in index formatting
+   . $self->convert_tree($self->cdt('Section'), 'th idx entries 2')
+   ."</th></tr>\n"
+   . "<tr><td colspan=\"3\">".$self->get_conf('DEFAULT_RULE')
+   ."</td></tr>\n";
   $result .= $result_index_entries;
   $result .= "</table>\n";
 
@@ -7755,16 +7763,19 @@ sub _convert_def_line_type($$$$)
 
   if ($name_element) {
     $def_call .= $self->html_attribute_class('strong', ['def-name']).'>'.
-       $self->convert_tree({'type' => '_code', 'contents' => [$name_element]})
+       $self->convert_tree({'type' => '_code', 'contents' => [$name_element]},
+                           "DEF_NAME $def_command")
        .'</strong>';
   }
 
   if ($arguments) {
+    my $explanation = "DEF_ARGS $def_command";
   # arguments not only metasyntactic variables
   # (deftypefn, deftypevr, deftypeop, deftypecv)
     if ($Texinfo::Common::def_no_var_arg_commands{$base_command_name}) {
-      my $arguments_formatted = $self->convert_tree({'type' => '_code',
-                                                  'contents' => [$arguments]});
+      my $arguments_formatted
+        = $self->convert_tree({'type' => '_code', 'contents' => [$arguments]},
+                              $explanation);
       if ($arguments_formatted =~ /\S/) {
         $def_call .= ' ' unless($element->{'extra'}->{'omit_def_name_space'});
         $def_call .= $self->html_attribute_class('code',
@@ -7775,7 +7786,7 @@ sub _convert_def_line_type($$$$)
       # only metasyntactic variable arguments (deffn, defvr, deftp, defop, 
defcv)
       # FIXME not part of the API
       _set_code_context($self, 0);
-      my $arguments_formatted = $self->convert_tree($arguments);
+      my $arguments_formatted = $self->convert_tree($arguments, $explanation);
       _pop_code_context($self);
       if ($arguments_formatted =~ /\S/) {
         $def_call .= ' ' unless($element->{'extra'}->{'omit_def_name_space'});
@@ -7844,7 +7855,8 @@ sub _convert_def_line_type($$$$)
       if ($open ne '') {
         $result .= $open.'>';
       }
-      $result .= $self->convert_tree($category_tree);
+      my $explanation = "DEF_CATEGORY $def_command";
+      $result .= $self->convert_tree($category_tree, $explanation);
       if ($open ne '') {
         $result .= '</span>';
       }
@@ -13234,6 +13246,7 @@ sub _convert($$;$)
   # cache return value of get_conf for speed
 
   if ($debug) {
+    cluck() if (!defined($explanation));
     $explanation = 'NO EXPLANATION' if (!defined($explanation));
     my $contexts_str = _debug_print_html_contexts($self);
     print STDERR "ELEMENT($explanation) ".$contexts_str.", ->";
@@ -13488,7 +13501,8 @@ sub _convert($$;$)
     my $content_formatted = '';
     if ($type_name eq 'definfoenclose_command') {
       if ($element->{'args'}) {
-        $content_formatted = $self->_convert($element->{'args'}->[0]);
+        $content_formatted = $self->_convert($element->{'args'}->[0],
+                                             "DEFINFOENCLOSE_ARG");
       }
     } elsif ($element->{'contents'}) {
       my $content_idx = 0;
diff --git a/tp/Texinfo/Convert/Text.pm b/tp/Texinfo/Convert/Text.pm
index 3d22580064..2ca74f4586 100644
--- a/tp/Texinfo/Convert/Text.pm
+++ b/tp/Texinfo/Convert/Text.pm
@@ -320,7 +320,10 @@ sub text_accents($;$$)
   my $options = {};
   $options->{'enabled_encoding'} = $encoding if (defined($encoding));
   $options->{'set_case'} = $set_case if (defined($set_case));
-  my $text = convert_to_text($contents_element, $options);
+  my $text = '';
+  if (defined($contents_element)) {
+    $text = convert_to_text($contents_element, $options);
+  }
 
   my $result = Texinfo::Convert::Unicode::encoded_accents(undef, $text,
                      $stack, $encoding, \&ascii_accent_fallback, $set_case);
diff --git a/tp/Texinfo/Convert/Unicode.pm b/tp/Texinfo/Convert/Unicode.pm
index 781ad1d1e3..5048d0e511 100644
--- a/tp/Texinfo/Convert/Unicode.pm
+++ b/tp/Texinfo/Convert/Unicode.pm
@@ -1399,11 +1399,13 @@ sub _eight_bit_and_unicode_point($$)
 sub _format_unicode_accents_stack($$$$;$)
 {
   my $converter = shift;
-  my $result = shift;
+  my $inner_text = shift;
   my $stack = shift;
   my $format_accent = shift;
   my $set_case = shift;
 
+  my $result = $inner_text;
+
   while (@$stack) {
     my $formatted_result = unicode_accent($result, $stack->[-1]);
     last if (!defined($formatted_result));
@@ -1413,9 +1415,9 @@ sub _format_unicode_accents_stack($$$$;$)
   }
   if ($set_case) {
     if ($set_case > 0) {
-      $result = uc ($result);
+      $result = uc($result);
     } else {
-      $result = lc ($result);
+      $result = lc($result);
     }
   }
   while (@$stack) {
diff --git a/tp/Texinfo/Convert/Utils.pm b/tp/Texinfo/Convert/Utils.pm
index dae44d596c..cb66a01b93 100644
--- a/tp/Texinfo/Convert/Utils.pm
+++ b/tp/Texinfo/Convert/Utils.pm
@@ -219,16 +219,16 @@ sub find_innermost_accent_contents($)
       cluck "BUG: Not an accent command in accent\n";
       #print STDERR 
Texinfo::Convert::Texinfo::convert_to_texinfo($current)."\n";
       #print STDERR Data::Dumper->Dump([$current]);
-      return ({}, \@accent_commands);
+      return (undef, \@accent_commands);
     }
     push @accent_commands, $current;
     # A bogus accent, that may happen
     if (!$current->{'args'}) {
-      return ({}, \@accent_commands);
+      return (undef, \@accent_commands);
     }
     my $arg = $current->{'args'}->[0];
     if (!$arg->{'contents'}) {
-      return ({}, \@accent_commands);
+      return (undef, \@accent_commands);
     }
     # inside the argument of an accent
     my $text_contents = [];
@@ -655,7 +655,8 @@ I<$element> should be an accent command Texinfo tree 
element.  Returns
 an element containing the innermost accent @-command contents,
 normally a text element with one or two letter, and an array reference
 containing the accent commands nested in I<$element> (including
-I<$element>).
+I<$element>).  If there is no argument at all for the accent command,
+I<$contents_element> is C<undef>.
 
 =item $heading_element = find_root_command_next_heading_command($element, 
$expanded_format_raw, $do_not_ignore_contents, $do_not_ignore_index_entries)
 
diff --git a/tp/Texinfo/Structuring.pm b/tp/Texinfo/Structuring.pm
index 1b87d0ce55..6fa28d26b2 100644
--- a/tp/Texinfo/Structuring.pm
+++ b/tp/Texinfo/Structuring.pm
@@ -1784,14 +1784,17 @@ sub unsplit($)
 {
   my $document = shift;
 
+  my $unsplit_needed = 0;
   my $XS_unsplit_needed = _XS_unsplit($document);
+  if ($XS_unsplit_needed > 0) {
+    $unsplit_needed = 1;
+  }
 
   my $root = $document->tree();
   if (!$root->{'type'} or $root->{'type'} ne 'document_root'
       or !$root->{'contents'}) {
     return 0;
   }
-  my $unsplit_needed = 0;
   foreach my $content (@{$root->{'contents'}}) {
     if ($content->{'associated_unit'}) {
       delete $content->{'associated_unit'};
@@ -2216,6 +2219,16 @@ sub output_unit_texi($)
                                                           $unit_command);
 }
 
+# Should be in the same order as relative_unit_direction_name
+# in main/output_unit.c
+my @relative_directions_order = ('This', 'Forward', 'Back', 'FastForward',
+ 'FastBack', 'Next', 'Prev', 'Up', 'SectionNext', 'SectionPrev',
+ 'SectionUp', 'NodeNext', 'NodePrev', 'NodeUp', 'NodeForward', 'NodeBack');
+my @file_directions_order = ('PrevFile', 'NextFile');
+my @all_directions_order
+    = (@relative_directions_order, @file_directions_order,
+       map {'FirstInFile'.$_} @relative_directions_order);
+
 # Used for debugging and in test suite, but not generally useful. Not
 # documented in pod section and not exportable as it should not, in
 # general, be used.
@@ -2225,9 +2238,12 @@ sub print_output_unit_directions($)
   my $result = 'output unit: '.output_unit_texi($output_unit)."\n";
 
   if ($output_unit->{'directions'}) {
-    foreach my $direction (sort(keys(%{$output_unit->{'directions'}}))) {
-      $result .= "  $direction: ".
-       output_unit_texi($output_unit->{'directions'}->{$direction})."\n";
+    #foreach my $direction (sort(keys(%{$output_unit->{'directions'}}))) {
+    foreach my $direction (@all_directions_order) {
+      if (defined($output_unit->{'directions'}->{$direction})) {
+        $result .= "  $direction: ".
+         output_unit_texi($output_unit->{'directions'}->{$direction})."\n";
+      }
     }
   } else {
     $result .= "  NO DIRECTION\n";
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index 2962e7bfde..b348c43f08 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -2918,9 +2918,9 @@ direction_string (CONVERTER *self, int direction,
           else
             converted_tree = translated_tree;
 
-          xasprintf (&context_str, "DIRECTION %s %s/%s",
+          xasprintf (&context_str, "DIRECTION %s (%s/%s)", direction_name,
                     direction_string_type_names[string_type],
-                    direction_string_context_names[context], direction_name);
+                    direction_string_context_names[context]);
 
           add_tree_to_build (self, converted_tree);
           result_string
@@ -7894,6 +7894,8 @@ html_default_format_element_header (CONVERTER *self,
           free (elt_str);
         }
       text_printf (&debug_txt, ") %s\n", output_unit_texi (output_unit));
+      fprintf (stderr, "%s", debug_txt.text);
+      free (debug_txt.text);
     }
 
   /* Do the heading if the command is the first command in the element */
@@ -8826,7 +8828,7 @@ convert_explained_command (CONVERTER *self, const enum 
command_id cmd,
                              self, substrings, 0);
       destroy_named_string_element_list (substrings);
 
-      xasprintf (&context_str, "convert explained  %s",
+      xasprintf (&context_str, "convert explained %s",
                  builtin_command_name (cmd));
       add_tree_to_build (self, tree);
       convert_to_html_internal (self, tree, result, context_str);
@@ -13446,7 +13448,8 @@ convert_printindex_command (CONVERTER *self, const enum 
command_id cmd,
   free (attribute_class);
   text_append_n (result, ">", 1);
   /* TRANSLATORS: index entries column header in index formatting */
-  translate_convert_to_html_internal ("Index Entry", self, 0, 0, result, 0);
+  translate_convert_to_html_internal ("Index Entry", self, 0, 0, result,
+                                      "th idx entries 1");
   text_append_n (result, "</th>", 5);
 
   xasprintf (&index_name_cmd_class, "sections-header-%s",
@@ -13459,7 +13462,8 @@ convert_printindex_command (CONVERTER *self, const enum 
command_id cmd,
   free (attribute_class);
   text_append_n (result, ">", 1);
   /* TRANSLATORS: section of index entry column header in index formatting */
-  translate_convert_to_html_internal ("Section", self, 0, 0, result, 0);
+  translate_convert_to_html_internal ("Section", self, 0, 0, result,
+                                      "th idx entries 2");
   text_append_n (result, "</th></tr>\n", 11);
   text_append_n (result, "<tr><td colspan=\"3\">", 20);
   text_append (result, self->conf->DEFAULT_RULE.string);
@@ -14844,6 +14848,9 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
     {
       char *attribute_class = html_attribute_class (self, "strong",
                                                     &def_name_classes);
+      char *explanation;
+      xasprintf (&explanation, "DEF_NAME %s", builtin_command_name(def_cmd));
+
       ELEMENT *root_code = new_element (ET__code);
 
       add_to_contents_as_array (root_code, parsed_def->name);
@@ -14854,17 +14861,20 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
       free (attribute_class);
       text_append_n (&def_call, ">", 1);
 
-      convert_to_html_internal (self, root_code, &def_call, 0);
+      convert_to_html_internal (self, root_code, &def_call, explanation);
 
       remove_tree_to_build (self, root_code);
       destroy_element (root_code);
 
       text_append_n (&def_call, "</strong>", 9);
+      free (explanation);
     }
 
   if (parsed_def->args)
     {
       char *args_formatted;
+      char *explanation;
+      xasprintf (&explanation, "DEF_ARGS %s", builtin_command_name(def_cmd));
    /* arguments not only metasyntactic variables
       (deftypefn, deftypevr, deftypeop, deftypecv) */
       /* Texinfo::Common::def_no_var_arg_commands{$base_command_name} */
@@ -14877,7 +14887,7 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
 
           add_tree_to_build (self, root_code);
 
-          args_formatted = html_convert_tree (self, root_code, 0);
+          args_formatted = html_convert_tree (self, root_code, explanation);
 
           remove_tree_to_build (self, root_code);
           destroy_element (root_code);
@@ -14901,7 +14911,8 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
       else
         {
           html_set_code_context (self, 0);
-          args_formatted = html_convert_tree (self, parsed_def->args, 0);
+          args_formatted = html_convert_tree (self, parsed_def->args,
+                                              explanation);
           html_pop_code_context (self);
           if (args_formatted[strspn (args_formatted, whitespace_chars)] != 
'\0')
             {
@@ -14919,6 +14930,7 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
               text_append_n (&def_call, "</var>", 6);
             }
         }
+      free (explanation);
       free (args_formatted);
     }
 
@@ -15030,6 +15042,11 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
           char *attribute_open = html_attribute_class (self, "span",
                                              &category_def_classes);
           size_t open_len = strlen (attribute_open);
+          char *explanation;
+
+          xasprintf (&explanation, "DEF_CATEGORY %s",
+                     builtin_command_name(def_cmd));
+
           if (open_len)
             {
               text_append_n (result, attribute_open, open_len);
@@ -15037,11 +15054,12 @@ convert_def_line_type (CONVERTER *self, const enum 
element_type type,
             }
           free (attribute_open);
           add_tree_to_build (self, category_tree);
-          convert_to_html_internal (self, category_tree, result, 0);
+          convert_to_html_internal (self, category_tree, result, explanation);
           remove_tree_to_build (self, category_tree);
           destroy_element_and_children (category_tree);
           if (open_len)
             text_append_n (result, "</span>", 7);
+          free (explanation);
         }
     }
 
@@ -18287,7 +18305,8 @@ convert_to_html_internal (CONVERTER *self, const 
ELEMENT *element,
           if (element->args.number > 0)
             {
               convert_to_html_internal (self, element->args.list[0],
-                                        &content_formatted, 0);
+                                        &content_formatted,
+                                        "DEFINFOENCLOSE_ARG");
             }
         }
       else if (element->contents.number > 0)
diff --git a/tp/Texinfo/XS/convert/converter.c 
b/tp/Texinfo/XS/convert/converter.c
index d088c90237..2572527837 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -561,7 +561,13 @@ convert_accents (CONVERTER *self, const ELEMENT *accent,
   int i;
 
   if (accent_stack->argument)
-    arg_text = (*convert_tree) (self, accent_stack->argument, 0);
+    {
+      char *explanation;
+      xasprintf (&explanation, "ACCENT ARG %s",
+                 builtin_command_name (accent->cmd));
+      arg_text = (*convert_tree) (self, accent_stack->argument, explanation);
+      free (explanation);
+    }
   else
     arg_text = strdup ("");
 
diff --git a/tp/t/accents.t b/tp/t/accents.t
index 2245767130..e4bd21a3d7 100644
--- a/tp/t/accents.t
+++ b/tp/t/accents.t
@@ -44,7 +44,12 @@ sub test_accent_stack ($)
   my $accent_tree = _find_accent($root);
   my ($contents_element, $commands_stack) =
     Texinfo::Convert::Utils::find_innermost_accent_contents($accent_tree);
-  my $text = Texinfo::Convert::Text::convert_to_text($contents_element);
+  my $text;
+  if (defined($contents_element)) {
+    $text = Texinfo::Convert::Text::convert_to_text($contents_element);
+  } else {
+    $text = "";
+  }
   my @stack = map {$_->{'cmdname'}} @$commands_stack;
   if (defined($reference)) {
     ok ($reference eq join('|',($text, @stack)), 'innermost '.$name);
@@ -89,6 +94,7 @@ sub test_enable_encoding ($)
   my $reference_xml = $test->[3];
   my $reference_xml_numeric_entity = $test->[4];
   my $reference_unicode = $test->[5];
+
   my $parser = Texinfo::Parser::parser();
   my $root = $parser->parse_texi_line($texi);
   my $accent_tree = _find_accent($root);
diff --git a/tp/t/results/html_tests/footnotestyle_separate_late.pl 
b/tp/t/results/html_tests/footnotestyle_separate_late.pl
index b1567960b3..378a01ea07 100644
--- a/tp/t/results/html_tests/footnotestyle_separate_late.pl
+++ b/tp/t/results/html_tests/footnotestyle_separate_late.pl
@@ -884,33 +884,33 @@ $result_elements{'footnotestyle_separate_late'}[2] = 
$result_elements{'footnotes
 
 
 $result_directions_text{'footnotestyle_separate_late'} = 'output unit: @node 
Top
-  FastForward: @node chap f
+  This: @node Top
   Forward: @node chap f
-  NodeForward: @node chap f
+  FastForward: @node chap f
   NodeNext: @node chap f
-  This: @node Top
+  NodeForward: @node chap f
 output unit: @node chap f
+  This: @node chap f
+  Forward: @node chap s
   Back: @node Top
-  FastBack: @node Top
   FastForward: @node chap s
-  Forward: @node chap s
+  FastBack: @node Top
   Next: @node chap s
-  NodeBack: @node Top
-  NodeForward: @node chap s
+  Up: @node Top
   NodeNext: @node chap s
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node chap f
-  Up: @node Top
+  NodeForward: @node chap s
+  NodeBack: @node Top
 output unit: @node chap s
+  This: @node chap s
   Back: @node chap f
   FastBack: @node chap f
-  NodeBack: @node chap f
-  NodePrev: @node chap f
-  NodeUp: @node Top
   Prev: @node chap f
-  This: @node chap s
   Up: @node Top
+  NodePrev: @node chap f
+  NodeUp: @node Top
+  NodeBack: @node chap f
 ';
 
 1;
diff --git a/tp/t/results/html_tests/index_below.pl 
b/tp/t/results/html_tests/index_below.pl
index e29607add4..0647ffea76 100644
--- a/tp/t/results/html_tests/index_below.pl
+++ b/tp/t/results/html_tests/index_below.pl
@@ -413,19 +413,19 @@ $result_elements{'index_below'}[2] = 
$result_elements{'index_below'}[0]{'directi
 
 
 $result_directions_text{'index_below'} = 'output unit: @top top
-  FastForward: @chapter chap
-  Forward: @chapter chap
   This: @top top
+  Forward: @chapter chap
+  FastForward: @chapter chap
 output unit: @chapter chap
+  This: @chapter chap
+  Forward: @section sec
   Back: @top top
   FastBack: @top top
-  Forward: @section sec
-  This: @chapter chap
   Up: @top top
 output unit: @section sec
+  This: @section sec
   Back: @chapter chap
   FastBack: @chapter chap
-  This: @section sec
   Up: @chapter chap
 ';
 
diff --git a/tp/t/results/html_tests/redirection_same_labels.pl 
b/tp/t/results/html_tests/redirection_same_labels.pl
index 78bad26bfa..dcbe58ebca 100644
--- a/tp/t/results/html_tests/redirection_same_labels.pl
+++ b/tp/t/results/html_tests/redirection_same_labels.pl
@@ -1568,34 +1568,34 @@ $result_elements{'redirection_same_labels'}[2] = 
$result_elements{'redirection_s
 
 
 $result_directions_text{'redirection_same_labels'} = 'output unit: @top the top
-  FastForward: @chapter umlaut
+  This: @top the top
   Forward: @chapter umlaut
-  NodeForward: @chapter umlaut
+  FastForward: @chapter umlaut
   NodeNext: @chapter umlaut
-  This: @top the top
+  NodeForward: @chapter umlaut
 output unit: @chapter umlaut
+  This: @chapter umlaut
+  Forward: @chapter circumflex
   Back: @top the top
-  FastBack: @top the top
   FastForward: @chapter circumflex
-  Forward: @chapter circumflex
+  FastBack: @top the top
   Next: @chapter circumflex
-  NodeBack: @top the top
-  NodeForward: @chapter umlaut
+  Up: @top the top
   NodeNext: @chapter circumflex
   NodePrev: @top the top
   NodeUp: @top the top
-  This: @chapter umlaut
-  Up: @top the top
+  NodeForward: @chapter umlaut
+  NodeBack: @top the top
 output unit: @chapter circumflex
+  This: @chapter circumflex
   Back: @chapter umlaut
   FastBack: @chapter umlaut
-  NodeBack: @chapter circumflex
-  NodeForward: @chapter circumflex
-  NodePrev: @chapter umlaut
-  NodeUp: @top the top
   Prev: @chapter umlaut
-  This: @chapter circumflex
   Up: @top the top
+  NodePrev: @chapter umlaut
+  NodeUp: @top the top
+  NodeForward: @chapter circumflex
+  NodeBack: @chapter circumflex
 ';
 
 $result_converted_errors{'file_html'}->{'redirection_same_labels'} = [
diff --git a/tp/t/results/html_tests/split_html_text.pl 
b/tp/t/results/html_tests/split_html_text.pl
index 3cfd3e2f09..4962f89485 100644
--- a/tp/t/results/html_tests/split_html_text.pl
+++ b/tp/t/results/html_tests/split_html_text.pl
@@ -479,19 +479,19 @@ $result_elements{'split_html_text'}[1] = 
$result_elements{'split_html_text'}[0]{
 
 
 $result_directions_text{'split_html_text'} = 'output unit: @node Top
-  FastForward: @node chap
+  This: @node Top
   Forward: @node chap
-  NodeForward: @node chap
+  FastForward: @node chap
   NodeNext: @node chap
-  This: @node Top
+  NodeForward: @node chap
 output unit: @node chap
+  This: @node chap
   Back: @node Top
   FastBack: @node Top
-  NodeBack: @node Top
+  Up: @node Top
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node chap
-  Up: @node Top
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/html_tests/transliterated_names_conflicts.pl 
b/tp/t/results/html_tests/transliterated_names_conflicts.pl
index 23a3f36a55..a06afc6962 100644
--- a/tp/t/results/html_tests/transliterated_names_conflicts.pl
+++ b/tp/t/results/html_tests/transliterated_names_conflicts.pl
@@ -1055,33 +1055,33 @@ $result_elements{'transliterated_names_conflicts'}[2] = 
$result_elements{'transl
 
 
 $result_directions_text{'transliterated_names_conflicts'} = 'output unit: 
@node Top
-  FastForward: @node Prés
+  This: @node Top
   Forward: @node Prés
-  NodeForward: @node Prés
+  FastForward: @node Prés
   NodeNext: @node Prés
-  This: @node Top
+  NodeForward: @node Prés
 output unit: @node Prés
+  This: @node Prés
+  Forward: @node Other node
   Back: @node Top
-  FastBack: @node Top
   FastForward: @node Other node
-  Forward: @node Other node
+  FastBack: @node Top
   Next: @node Other node
-  NodeBack: @node Top
-  NodeForward: @node Other node
+  Up: @node Top
   NodeNext: @node Other node
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node Prés
-  Up: @node Top
+  NodeForward: @node Other node
+  NodeBack: @node Top
 output unit: @node Other node
+  This: @node Other node
   Back: @node Prés
   FastBack: @node Prés
-  NodeBack: @node Prés
-  NodePrev: @node Prés
-  NodeUp: @node Top
   Prev: @node Prés
-  This: @node Other node
   Up: @node Top
+  NodePrev: @node Prés
+  NodeUp: @node Top
+  NodeBack: @node Prés
 ';
 
 $result_converted_errors{'file_html'}->{'transliterated_names_conflicts'} = [
diff --git a/tp/t/results/moresectioning/chapter_sections.pl 
b/tp/t/results/moresectioning/chapter_sections.pl
index 3d1bf1e68a..be11e50b07 100644
--- a/tp/t/results/moresectioning/chapter_sections.pl
+++ b/tp/t/results/moresectioning/chapter_sections.pl
@@ -903,61 +903,61 @@ $result_elements{'chapter_sections'}[7] = 
$result_elements{'chapter_sections'}[0
 
 
 $result_directions_text{'chapter_sections'} = 'output unit: @unnumbered 
unnumbered
-  FastForward: @chapter First chapter
+  This: @unnumbered unnumbered
   Forward: @chapter First chapter
+  FastForward: @chapter First chapter
   Next: @chapter First chapter
-  This: @unnumbered unnumbered
 output unit: @chapter First chapter
+  This: @chapter First chapter
+  Forward: @section second
   Back: @unnumbered unnumbered
-  FastBack: @unnumbered unnumbered
   FastForward: @chapter Chapter
-  Forward: @section second
+  FastBack: @unnumbered unnumbered
   Next: @chapter Chapter
   Prev: @unnumbered unnumbered
-  This: @chapter First chapter
 output unit: @section second
+  This: @section second
+  Forward: @chapter Chapter
   Back: @chapter First chapter
-  FastBack: @chapter First chapter
   FastForward: @chapter Chapter
-  Forward: @chapter Chapter
-  This: @section second
+  FastBack: @chapter First chapter
   Up: @chapter First chapter
 output unit: @chapter Chapter
+  This: @chapter Chapter
+  Forward: @section Section of chapter
   Back: @section second
-  FastBack: @chapter First chapter
   FastForward: @chapter Chapter 2
-  Forward: @section Section of chapter
+  FastBack: @chapter First chapter
   Next: @chapter Chapter 2
   Prev: @chapter First chapter
-  This: @chapter Chapter
 output unit: @section Section of chapter
+  This: @section Section of chapter
+  Forward: @subsection subsection 1
   Back: @chapter Chapter
-  FastBack: @chapter Chapter
   FastForward: @chapter Chapter 2
-  Forward: @subsection subsection 1
-  This: @section Section of chapter
+  FastBack: @chapter Chapter
   Up: @chapter Chapter
 output unit: @subsection subsection 1
+  This: @subsection subsection 1
+  Forward: @subsection subsection 2
   Back: @section Section of chapter
-  FastBack: @chapter Chapter
   FastForward: @chapter Chapter 2
-  Forward: @subsection subsection 2
+  FastBack: @chapter Chapter
   Next: @subsection subsection 2
-  This: @subsection subsection 1
   Up: @section Section of chapter
 output unit: @subsection subsection 2
+  This: @subsection subsection 2
+  Forward: @chapter Chapter 2
   Back: @subsection subsection 1
-  FastBack: @chapter Chapter
   FastForward: @chapter Chapter 2
-  Forward: @chapter Chapter 2
+  FastBack: @chapter Chapter
   Prev: @subsection subsection 1
-  This: @subsection subsection 2
   Up: @section Section of chapter
 output unit: @chapter Chapter 2
+  This: @chapter Chapter 2
   Back: @subsection subsection 2
   FastBack: @chapter Chapter
   Prev: @chapter Chapter
-  This: @chapter Chapter 2
 ';
 
 
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 c5b832e281..5773a95840 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
@@ -2534,64 +2534,64 @@ $result_elements{'character_and_spaces_in_refs_out'}[5] 
= $result_elements{'char
 
 
 $result_directions_text{'character_and_spaces_in_refs_out'} = 'output unit: 
@node Top
-  FastForward: @node node to avoid DocBook or LaTeX ignored
+  This: @node Top
   Forward: @node node to avoid DocBook or LaTeX ignored
-  NodeForward: @node node to avoid DocBook or LaTeX ignored
+  FastForward: @node node to avoid DocBook or LaTeX ignored
   NodeNext: @node node to avoid DocBook or LaTeX ignored
-  This: @node Top
+  NodeForward: @node node to avoid DocBook or LaTeX ignored
 output unit: @node node to avoid DocBook or LaTeX ignored
+  This: @node node to avoid DocBook or LaTeX ignored
+  Forward: @node other nodes
   Back: @node Top
-  FastBack: @node Top
   FastForward: @node other nodes
-  Forward: @node other nodes
+  FastBack: @node Top
   Next: @node other nodes
-  NodeBack: @node Top
-  NodeForward: @node other nodes
+  Up: @node Top
   NodeNext: @node other nodes
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node node to avoid DocBook or LaTeX ignored
-  Up: @node Top
+  NodeForward: @node other nodes
+  NodeBack: @node Top
 output unit: @node other nodes
+  This: @node other nodes
+  Forward: @node !_"#$%&\'()*+-.
   Back: @node node to avoid DocBook or LaTeX ignored
   FastBack: @node node to avoid DocBook or LaTeX ignored
-  Forward: @node !_"#$%&\'()*+-.
-  NodeBack: @node node to avoid DocBook or LaTeX ignored
-  NodeForward: @node !_"#$%&\'()*+-.
+  Prev: @node node to avoid DocBook or LaTeX ignored
+  Up: @node Top
   NodeNext: @node !_"#$%&\'()*+-.
   NodePrev: @node Top
   NodeUp: @node Top
-  Prev: @node node to avoid DocBook or LaTeX ignored
-  This: @node other nodes
-  Up: @node Top
+  NodeForward: @node !_"#$%&\'()*+-.
+  NodeBack: @node node to avoid DocBook or LaTeX ignored
 output unit: @node !_"#$%&\'()*+-.
+  This: @node !_"#$%&\'()*+-.
+  Forward: @node /;<=>?[\\]^_`|~
   Back: @node other nodes
   FastBack: @node other nodes
-  Forward: @node /;<=>?[\\]^_`|~
-  NodeBack: @node other nodes
-  NodeForward: @node /;<=>?[\\]^_`|~
   NodeNext: @node /;<=>?[\\]^_`|~
   NodePrev: @node other nodes
   NodeUp: @node other nodes
-  This: @node !_"#$%&\'()*+-.
+  NodeForward: @node /;<=>?[\\]^_`|~
+  NodeBack: @node other nodes
 output unit: @node /;<=>?[\\]^_`|~
+  This: @node /;<=>?[\\]^_`|~
+  Forward: @node local   node
   Back: @node !_"#$%&\'()*+-.
   FastBack: @node other nodes
-  Forward: @node local   node
-  NodeBack: @node !_"#$%&\'()*+-.
-  NodeForward: @node local   node
   NodeNext: @node local   node
   NodePrev: @node !_"#$%&\'()*+-.
   NodeUp: @node other nodes
-  This: @node /;<=>?[\\]^_`|~
+  NodeForward: @node local   node
+  NodeBack: @node !_"#$%&\'()*+-.
 output unit: @node local   node
+  This: @node local   node
   Back: @node /;<=>?[\\]^_`|~
   FastBack: @node other nodes
-  NodeBack: @node /;<=>?[\\]^_`|~
-  NodeForward: @node !_"#$%&\'()*+-.
   NodePrev: @node /;<=>?[\\]^_`|~
   NodeUp: @node other nodes
-  This: @node local   node
+  NodeForward: @node !_"#$%&\'()*+-.
+  NodeBack: @node /;<=>?[\\]^_`|~
 ';
 
 1;
diff --git a/tp/t/results/moresectioning/complex.pl 
b/tp/t/results/moresectioning/complex.pl
index 15f25356aa..363b8dfa02 100644
--- a/tp/t/results/moresectioning/complex.pl
+++ b/tp/t/results/moresectioning/complex.pl
@@ -5086,160 +5086,160 @@ $result_elements{'complex'}[12] = 
$result_elements{'complex'}[0]{'directions'}{'
 
 
 $result_directions_text{'complex'} = 'output unit: @top
-  FastForward: @chapter first node chapter
+  This: @top
   Forward: @chapter first node chapter
-  NodeForward: @chapter first node chapter
+  FastForward: @chapter first node chapter
   NodeNext: @chapter first node chapter
   NodePrev: (dir)
-  This: @top
+  NodeForward: @chapter first node chapter
 output unit: @chapter first node chapter
+  This: @chapter first node chapter
+  Forward: @unnumberedsec unnumbered section
   Back: @top
-  FastBack: @top
   FastForward: @chapter second node chapter
-  Forward: @unnumberedsec unnumbered section
+  FastBack: @top
   Next: @chapter second node chapter
-  NodeBack: @top
-  NodeForward: @unnumberedsec unnumbered section
+  Up: @top
   NodePrev: @top
   NodeUp: @top
-  This: @chapter first node chapter
-  Up: @top
+  NodeForward: @unnumberedsec unnumbered section
+  NodeBack: @top
 output unit: @unnumberedsec unnumbered section
+  This: @unnumberedsec unnumbered section
+  Forward: @unnumberedsubsec unnumbered subsection
   Back: @chapter first node chapter
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @unnumberedsubsec unnumbered subsection
+  FastBack: @chapter first node chapter
   Next: @unnumberedsec unnumbered section2
-  NodeBack: @chapter first node chapter
-  NodeForward: @unnumberedsubsec unnumbered subsection
+  Up: @chapter first node chapter
   NodeNext: @unnumberedsec unnumbered section2
   NodeUp: @chapter first node chapter
-  This: @unnumberedsec unnumbered section
-  Up: @chapter first node chapter
+  NodeForward: @unnumberedsubsec unnumbered subsection
+  NodeBack: @chapter first node chapter
 output unit: @unnumberedsubsec unnumbered subsection
+  This: @unnumberedsubsec unnumbered subsection
+  Forward: @subsection numbered subsection
   Back: @unnumberedsec unnumbered section
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @subsection numbered subsection
+  FastBack: @chapter first node chapter
   Next: @subsection numbered subsection
-  NodeBack: @unnumberedsec unnumbered section
-  NodeForward: @subsection numbered subsection
+  Up: @unnumberedsec unnumbered section
   NodeNext: @subsection numbered subsection
   NodeUp: @unnumberedsec unnumbered section
-  This: @unnumberedsubsec unnumbered subsection
-  Up: @unnumberedsec unnumbered section
+  NodeForward: @subsection numbered subsection
+  NodeBack: @unnumberedsec unnumbered section
 output unit: @subsection numbered subsection
+  This: @subsection numbered subsection
+  Forward: @unnumberedsubsec unnumbered subsection2
   Back: @unnumberedsubsec unnumbered subsection
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @unnumberedsubsec unnumbered subsection2
+  FastBack: @chapter first node chapter
   Next: @unnumberedsubsec unnumbered subsection2
-  NodeBack: @unnumberedsubsec unnumbered subsection
-  NodeForward: @unnumberedsubsec unnumbered subsection2
+  Prev: @unnumberedsubsec unnumbered subsection
+  Up: @unnumberedsec unnumbered section
   NodeNext: @unnumberedsubsec unnumbered subsection2
   NodePrev: @unnumberedsubsec unnumbered subsection
   NodeUp: @unnumberedsec unnumbered section
-  Prev: @unnumberedsubsec unnumbered subsection
-  This: @subsection numbered subsection
-  Up: @unnumberedsec unnumbered section
+  NodeForward: @unnumberedsubsec unnumbered subsection2
+  NodeBack: @unnumberedsubsec unnumbered subsection
 output unit: @unnumberedsubsec unnumbered subsection2
+  This: @unnumberedsubsec unnumbered subsection2
+  Forward: @subsection numbered subsection2
   Back: @subsection numbered subsection
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @subsection numbered subsection2
+  FastBack: @chapter first node chapter
   Next: @subsection numbered subsection2
-  NodeBack: @subsection numbered subsection
-  NodeForward: @subsection numbered subsection2
+  Prev: @subsection numbered subsection
+  Up: @unnumberedsec unnumbered section
   NodeNext: @subsection numbered subsection2
   NodePrev: @subsection numbered subsection
   NodeUp: @unnumberedsec unnumbered section
-  Prev: @subsection numbered subsection
-  This: @unnumberedsubsec unnumbered subsection2
-  Up: @unnumberedsec unnumbered section
+  NodeForward: @subsection numbered subsection2
+  NodeBack: @subsection numbered subsection
 output unit: @subsection numbered subsection2
+  This: @subsection numbered subsection2
+  Forward: @unnumberedsec unnumbered section2
   Back: @unnumberedsubsec unnumbered subsection2
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @unnumberedsec unnumbered section2
-  NodeBack: @unnumberedsubsec unnumbered subsection2
-  NodeForward: @unnumberedsec unnumbered section2
-  NodePrev: @unnumberedsubsec unnumbered subsection2
-  NodeUp: @unnumberedsec unnumbered section
+  FastBack: @chapter first node chapter
   Prev: @unnumberedsubsec unnumbered subsection2
-  This: @subsection numbered subsection2
   Up: @unnumberedsec unnumbered section
+  NodePrev: @unnumberedsubsec unnumbered subsection2
+  NodeUp: @unnumberedsec unnumbered section
+  NodeForward: @unnumberedsec unnumbered section2
+  NodeBack: @unnumberedsubsec unnumbered subsection2
 output unit: @unnumberedsec unnumbered section2
+  This: @unnumberedsec unnumbered section2
+  Forward: @subsection numbered subsection3
   Back: @subsection numbered subsection2
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @subsection numbered subsection3
+  FastBack: @chapter first node chapter
   Next: @section numbered section
-  NodeBack: @subsection numbered subsection2
-  NodeForward: @subsection numbered subsection3
+  Prev: @unnumberedsec unnumbered section
+  Up: @chapter first node chapter
   NodeNext: @section numbered section
   NodePrev: @unnumberedsec unnumbered section
   NodeUp: @chapter first node chapter
-  Prev: @unnumberedsec unnumbered section
-  This: @unnumberedsec unnumbered section2
-  Up: @chapter first node chapter
+  NodeForward: @subsection numbered subsection3
+  NodeBack: @subsection numbered subsection2
 output unit: @subsection numbered subsection3
+  This: @subsection numbered subsection3
+  Forward: @section numbered section
   Back: @unnumberedsec unnumbered section2
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @section numbered section
-  NodeBack: @unnumberedsec unnumbered section2
-  NodeForward: @section numbered section
-  NodeUp: @unnumberedsec unnumbered section2
-  This: @subsection numbered subsection3
+  FastBack: @chapter first node chapter
   Up: @unnumberedsec unnumbered section2
+  NodeUp: @unnumberedsec unnumbered section2
+  NodeForward: @section numbered section
+  NodeBack: @unnumberedsec unnumbered section2
 output unit: @section numbered section
+  This: @section numbered section
+  Forward: @chapter second node chapter
   Back: @subsection numbered subsection3
-  FastBack: @chapter first node chapter
   FastForward: @chapter second node chapter
-  Forward: @chapter second node chapter
-  NodeBack: @subsection numbered subsection3
-  NodePrev: @unnumberedsec unnumbered section2
-  NodeUp: @chapter first node chapter
+  FastBack: @chapter first node chapter
   Prev: @unnumberedsec unnumbered section2
-  This: @section numbered section
   Up: @chapter first node chapter
+  NodePrev: @unnumberedsec unnumbered section2
+  NodeUp: @chapter first node chapter
+  NodeBack: @subsection numbered subsection3
 output unit: @chapter second node chapter
+  This: @chapter second node chapter
+  Forward: @unnumbered unnumbered chapter
   Back: @section numbered section
-  FastBack: @chapter first node chapter
   FastForward: @unnumbered unnumbered chapter
-  Forward: @unnumbered unnumbered chapter
+  FastBack: @chapter first node chapter
   Next: @unnumbered unnumbered chapter
-  NodeForward: @unnumbered unnumbered chapter
-  NodeNext: @unnumbered unnumbered chapter
-  NodeUp: @top
   Prev: @chapter first node chapter
-  This: @chapter second node chapter
   Up: @top
+  NodeNext: @unnumbered unnumbered chapter
+  NodeUp: @top
+  NodeForward: @unnumbered unnumbered chapter
 output unit: @unnumbered unnumbered chapter
+  This: @unnumbered unnumbered chapter
+  Forward: @unnumbered unnumbered continuity
   Back: @chapter second node chapter
-  FastBack: @chapter second node chapter
   FastForward: @unnumbered unnumbered continuity
-  Forward: @unnumbered unnumbered continuity
+  FastBack: @chapter second node chapter
   Next: @unnumbered unnumbered continuity
-  NodeBack: @chapter second node chapter
-  NodeForward: @unnumbered unnumbered continuity
+  Prev: @chapter second node chapter
+  Up: @top
   NodeNext: @unnumbered unnumbered continuity
   NodePrev: @chapter second node chapter
   NodeUp: @top
-  Prev: @chapter second node chapter
-  This: @unnumbered unnumbered chapter
-  Up: @top
+  NodeForward: @unnumbered unnumbered continuity
+  NodeBack: @chapter second node chapter
 output unit: @unnumbered unnumbered continuity
+  This: @unnumbered unnumbered continuity
   Back: @unnumbered unnumbered chapter
   FastBack: @unnumbered unnumbered chapter
-  NodeBack: @unnumbered unnumbered chapter
-  NodeForward: @unnumbered unnumbered chapter
+  Prev: @unnumbered unnumbered chapter
+  Up: @top
   NodeNext: @unnumbered unnumbered chapter
   NodePrev: @unnumbered unnumbered continuity
   NodeUp: @top
-  Prev: @unnumbered unnumbered chapter
-  This: @unnumbered unnumbered continuity
-  Up: @top
+  NodeForward: @unnumbered unnumbered chapter
+  NodeBack: @unnumbered unnumbered chapter
 ';
 
 1;
diff --git a/tp/t/results/moresectioning/complex_split_at_node.pl 
b/tp/t/results/moresectioning/complex_split_at_node.pl
index ef6d32ec48..85994a636b 100644
--- a/tp/t/results/moresectioning/complex_split_at_node.pl
+++ b/tp/t/results/moresectioning/complex_split_at_node.pl
@@ -5359,173 +5359,173 @@ $result_elements{'complex_split_at_node'}[14] = 
$result_elements{'complex_split_
 
 
 $result_directions_text{'complex_split_at_node'} = 'output unit: @node Top
-  FastForward: @node First node
+  This: @node Top
   Forward: @node First node
-  NodeForward: @node First node
+  FastForward: @node First node
   NodeNext: @node First node
   NodePrev: (dir)
-  This: @node Top
+  NodeForward: @node First node
 output unit: @node First node
+  This: @node First node
+  Forward: @node unnumbered
   Back: @node Top
-  FastBack: @node Top
   FastForward: @node Second node
-  Forward: @node unnumbered
+  FastBack: @node Top
   Next: @node Second node
-  NodeBack: @node Top
-  NodeForward: @node unnumbered
+  Up: @node Top
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node First node
-  Up: @node Top
+  NodeForward: @node unnumbered
+  NodeBack: @node Top
 output unit: @node unnumbered
+  This: @node unnumbered
+  Forward: @node unnumbered sub
   Back: @node First node
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node unnumbered sub
+  FastBack: @node First node
   Next: @node unnumbered2
-  NodeBack: @node First node
-  NodeForward: @node unnumbered sub
+  Up: @node First node
   NodeNext: @node unnumbered2
   NodeUp: @node First node
-  This: @node unnumbered
-  Up: @node First node
+  NodeForward: @node unnumbered sub
+  NodeBack: @node First node
 output unit: @node unnumbered sub
+  This: @node unnumbered sub
+  Forward: @node numbered sub
   Back: @node unnumbered
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node numbered sub
+  FastBack: @node First node
   Next: @node numbered sub
-  NodeBack: @node unnumbered
-  NodeForward: @node numbered sub
+  Up: @node unnumbered
   NodeNext: @node numbered sub
   NodeUp: @node unnumbered
-  This: @node unnumbered sub
-  Up: @node unnumbered
+  NodeForward: @node numbered sub
+  NodeBack: @node unnumbered
 output unit: @node numbered sub
+  This: @node numbered sub
+  Forward: @node unnumbered sub2
   Back: @node unnumbered sub
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node unnumbered sub2
+  FastBack: @node First node
   Next: @node unnumbered sub2
-  NodeBack: @node unnumbered sub
-  NodeForward: @node unnumbered sub2
+  Prev: @node unnumbered sub
+  Up: @node unnumbered
   NodeNext: @node unnumbered sub2
   NodePrev: @node unnumbered sub
   NodeUp: @node unnumbered
-  Prev: @node unnumbered sub
-  This: @node numbered sub
-  Up: @node unnumbered
+  NodeForward: @node unnumbered sub2
+  NodeBack: @node unnumbered sub
 output unit: @node unnumbered sub2
+  This: @node unnumbered sub2
+  Forward: @node numbered sub2
   Back: @node numbered sub
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node numbered sub2
+  FastBack: @node First node
   Next: @node numbered sub2
-  NodeBack: @node numbered sub
-  NodeForward: @node numbered sub2
+  Prev: @node numbered sub
+  Up: @node unnumbered
   NodeNext: @node numbered sub2
   NodePrev: @node numbered sub
   NodeUp: @node unnumbered
-  Prev: @node numbered sub
-  This: @node unnumbered sub2
-  Up: @node unnumbered
+  NodeForward: @node numbered sub2
+  NodeBack: @node numbered sub
 output unit: @node numbered sub2
+  This: @node numbered sub2
+  Forward: @node unnumbered2
   Back: @node unnumbered sub2
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node unnumbered2
-  NodeBack: @node unnumbered sub2
-  NodeForward: @node unnumbered2
-  NodePrev: @node unnumbered sub2
-  NodeUp: @node unnumbered
+  FastBack: @node First node
   Prev: @node unnumbered sub2
-  This: @node numbered sub2
   Up: @node unnumbered
+  NodePrev: @node unnumbered sub2
+  NodeUp: @node unnumbered
+  NodeForward: @node unnumbered2
+  NodeBack: @node unnumbered sub2
 output unit: @node unnumbered2
+  This: @node unnumbered2
+  Forward: @node numbered sub3
   Back: @node numbered sub2
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node numbered sub3
+  FastBack: @node First node
   Next: @node numbered
-  NodeBack: @node numbered sub2
-  NodeForward: @node numbered sub3
+  Prev: @node unnumbered
+  Up: @node First node
   NodeNext: @node numbered
   NodePrev: @node unnumbered
   NodeUp: @node First node
-  Prev: @node unnumbered
-  This: @node unnumbered2
-  Up: @node First node
+  NodeForward: @node numbered sub3
+  NodeBack: @node numbered sub2
 output unit: @node numbered sub3
+  This: @node numbered sub3
+  Forward: @node numbered
   Back: @node unnumbered2
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node numbered
-  NodeBack: @node unnumbered2
-  NodeForward: @node numbered
-  NodeUp: @node unnumbered2
-  This: @node numbered sub3
+  FastBack: @node First node
   Up: @node unnumbered2
+  NodeUp: @node unnumbered2
+  NodeForward: @node numbered
+  NodeBack: @node unnumbered2
 output unit: @node numbered
+  This: @node numbered
+  Forward: @node between node
   Back: @node numbered sub3
-  FastBack: @node First node
   FastForward: @node Second node
-  Forward: @node between node
-  NodeBack: @node numbered sub3
-  NodePrev: @node unnumbered2
-  NodeUp: @node First node
+  FastBack: @node First node
   Prev: @node unnumbered2
-  This: @node numbered
   Up: @node First node
+  NodePrev: @node unnumbered2
+  NodeUp: @node First node
+  NodeBack: @node numbered sub3
 output unit: @node between node
+  This: @node between node
+  Forward: @node Second node
   Back: @node numbered
   FastForward: @node Second node
-  Forward: @node Second node
   NodeUp: @node Top
-  This: @node between node
 output unit: @node Second node
+  This: @node Second node
+  Forward: @node Third node unnumbered
   Back: @node between node
-  FastBack: @node First node
   FastForward: @node Third node unnumbered
-  Forward: @node Third node unnumbered
+  FastBack: @node First node
   Next: @node Third node unnumbered
-  NodeForward: @node Third node unnumbered
-  NodeNext: @node Third node unnumbered
-  NodeUp: @node Top
   Prev: @node First node
-  This: @node Second node
   Up: @node Top
+  NodeNext: @node Third node unnumbered
+  NodeUp: @node Top
+  NodeForward: @node Third node unnumbered
 output unit: @node Third node unnumbered
+  This: @node Third node unnumbered
+  Forward: @node continuity
   Back: @node Second node
-  FastBack: @node Second node
   FastForward: @node continuity
-  Forward: @node continuity
+  FastBack: @node Second node
   Next: @node continuity
-  NodeBack: @node Second node
-  NodeForward: @node continuity
+  Prev: @node Second node
+  Up: @node Top
   NodeNext: @node continuity
   NodePrev: @node Second node
   NodeUp: @node Top
-  Prev: @node Second node
-  This: @node Third node unnumbered
-  Up: @node Top
+  NodeForward: @node continuity
+  NodeBack: @node Second node
 output unit: @node continuity
+  This: @node continuity
+  Forward: @node Last node no description
   Back: @node Third node unnumbered
   FastBack: @node Third node unnumbered
-  Forward: @node Last node no description
-  NodeBack: @node Third node unnumbered
-  NodeForward: @node Third node unnumbered
+  Prev: @node Third node unnumbered
+  Up: @node Top
   NodeNext: @node Third node unnumbered
   NodePrev: @node Last node no description
   NodeUp: @node Top
-  Prev: @node Third node unnumbered
-  This: @node continuity
-  Up: @node Top
+  NodeForward: @node Third node unnumbered
+  NodeBack: @node Third node unnumbered
 output unit: @node Last node no description
+  This: @node Last node no description
   Back: @node continuity
   FastBack: @node continuity
   NodePrev: @node continuity
   NodeUp: @node Top
-  This: @node Last node no description
 ';
 
 1;
diff --git a/tp/t/results/moresectioning/internal_top_node_up.pl 
b/tp/t/results/moresectioning/internal_top_node_up.pl
index f57cdbff80..19a3b866ac 100644
--- a/tp/t/results/moresectioning/internal_top_node_up.pl
+++ b/tp/t/results/moresectioning/internal_top_node_up.pl
@@ -505,17 +505,17 @@ $result_elements{'internal_top_node_up'}[1] = 
$result_elements{'internal_top_nod
 
 
 $result_directions_text{'internal_top_node_up'} = 'output unit: @node Top
+  This: @node Top
   Forward: @node chap
-  NodeForward: @node chap
   NodeNext: @node chap
-  This: @node Top
+  NodeForward: @node chap
 output unit: @node chap
+  This: @node chap
   Back: @node Top
   FastBack: @node Top
-  NodeBack: @node Top
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node chap
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/moresectioning/non_automatic_internal_top_node_up.pl 
b/tp/t/results/moresectioning/non_automatic_internal_top_node_up.pl
index 45f519e2a5..8ce8598d89 100644
--- a/tp/t/results/moresectioning/non_automatic_internal_top_node_up.pl
+++ b/tp/t/results/moresectioning/non_automatic_internal_top_node_up.pl
@@ -772,16 +772,16 @@ $result_elements{'non_automatic_internal_top_node_up'}[1] 
= $result_elements{'no
 
 
 $result_directions_text{'non_automatic_internal_top_node_up'} = 'output unit: 
@node Top
+  This: @node Top
   Forward: @node chap
-  NodeForward: @node chap
   NodeNext: @node chap
-  This: @node Top
+  NodeForward: @node chap
 output unit: @node chap
+  This: @node chap
   Back: @node Top
   FastBack: @node Top
-  NodeBack: @node Top
   NodePrev: @node Top
-  This: @node chap
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/moresectioning/non_automatic_top_node_up_and_url.pl 
b/tp/t/results/moresectioning/non_automatic_top_node_up_and_url.pl
index 1d5ba43590..df56102115 100644
--- a/tp/t/results/moresectioning/non_automatic_top_node_up_and_url.pl
+++ b/tp/t/results/moresectioning/non_automatic_top_node_up_and_url.pl
@@ -772,16 +772,16 @@ $result_elements{'non_automatic_top_node_up_and_url'}[1] 
= $result_elements{'non
 
 
 $result_directions_text{'non_automatic_top_node_up_and_url'} = 'output unit: 
@node Top
+  This: @node Top
   Forward: @node chap
-  NodeForward: @node chap
   NodeNext: @node chap
-  This: @node Top
+  NodeForward: @node chap
 output unit: @node chap
+  This: @node chap
   Back: @node Top
   FastBack: @node Top
-  NodeBack: @node Top
   NodePrev: @node Top
-  This: @node chap
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/moresectioning/non_automatic_top_node_up_url.pl 
b/tp/t/results/moresectioning/non_automatic_top_node_up_url.pl
index da21ab541f..b141d0ee43 100644
--- a/tp/t/results/moresectioning/non_automatic_top_node_up_url.pl
+++ b/tp/t/results/moresectioning/non_automatic_top_node_up_url.pl
@@ -732,19 +732,19 @@ $result_elements{'non_automatic_top_node_up_url'}[1] = 
$result_elements{'non_aut
 
 
 $result_directions_text{'non_automatic_top_node_up_url'} = 'output unit: @node 
Top
+  This: @node Top
   Forward: @node chap
-  NodeForward: @node chap
   NodeNext: @node chap
   NodePrev: (dir)
   NodeUp: (dir)
-  This: @node Top
+  NodeForward: @node chap
 output unit: @node chap
+  This: @node chap
   Back: @node Top
   FastBack: @node Top
-  NodeBack: @node Top
   NodePrev: @node Top
   NodeUp: (dir)
-  This: @node chap
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/moresectioning/sectioning_part_appendix.pl 
b/tp/t/results/moresectioning/sectioning_part_appendix.pl
index c388fddee2..424088b975 100644
--- a/tp/t/results/moresectioning/sectioning_part_appendix.pl
+++ b/tp/t/results/moresectioning/sectioning_part_appendix.pl
@@ -1196,72 +1196,72 @@ $result_elements{'sectioning_part_appendix'}[9] = 
$result_elements{'sectioning_p
 
 
 $result_directions_text{'sectioning_part_appendix'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter in part
-  This: @top top
 output unit: @chapter chapter
+  This: @chapter chapter
+  Forward: @section section
   Back: @top top
-  FastBack: @top top
   FastForward: @chapter chapter in part
-  Forward: @section section
-  This: @chapter chapter
+  FastBack: @top top
   Up: @top top
 output unit: @section section
+  This: @section section
+  Forward: @subsection subsection
   Back: @chapter chapter
-  FastBack: @chapter chapter
   FastForward: @chapter chapter in part
-  Forward: @subsection subsection
-  This: @section section
+  FastBack: @chapter chapter
   Up: @chapter chapter
 output unit: @subsection subsection
+  This: @subsection subsection
+  Forward: @subsubsection subsubsection
   Back: @section section
-  FastBack: @chapter chapter
   FastForward: @chapter chapter in part
-  Forward: @subsubsection subsubsection
-  This: @subsection subsection
+  FastBack: @chapter chapter
   Up: @section section
 output unit: @subsubsection subsubsection
+  This: @subsubsection subsubsection
+  Forward: @chapter chapter in part
   Back: @subsection subsection
-  FastBack: @chapter chapter
   FastForward: @chapter chapter in part
-  Forward: @chapter chapter in part
-  This: @subsubsection subsubsection
+  FastBack: @chapter chapter
   Up: @subsection subsection
 output unit: @chapter chapter in part
+  This: @chapter chapter in part
+  Forward: @chapter second chapter in part
   Back: @subsubsection subsubsection
-  FastBack: @chapter chapter
   FastForward: @chapter second chapter in part
-  Forward: @chapter second chapter in part
+  FastBack: @chapter chapter
   Next: @chapter second chapter in part
-  This: @chapter chapter in part
 output unit: @chapter second chapter in part
+  This: @chapter second chapter in part
+  Forward: @unnumbered unnumbered
   Back: @chapter chapter in part
-  FastBack: @chapter chapter in part
   FastForward: @unnumbered unnumbered
-  Forward: @unnumbered unnumbered
+  FastBack: @chapter chapter in part
   Next: @unnumbered unnumbered
   Prev: @chapter chapter in part
-  This: @chapter second chapter in part
   Up: @chapter chapter in part
 output unit: @unnumbered unnumbered
+  This: @unnumbered unnumbered
+  Forward: @appendix appendix
   Back: @chapter second chapter in part
-  FastBack: @chapter second chapter in part
   FastForward: @appendix appendix
-  Forward: @appendix appendix
+  FastBack: @chapter second chapter in part
   Prev: @chapter second chapter in part
-  This: @unnumbered unnumbered
   Up: @chapter chapter in part
 output unit: @appendix appendix
+  This: @appendix appendix
+  Forward: @appendixsec appendixsec
   Back: @unnumbered unnumbered
   FastBack: @unnumbered unnumbered
-  Forward: @appendixsec appendixsec
   Prev: @chapter chapter in part
-  This: @appendix appendix
 output unit: @appendixsec appendixsec
+  This: @appendixsec appendixsec
   Back: @appendix appendix
   FastBack: @appendix appendix
-  This: @appendixsec appendixsec
   Up: @appendix appendix
 ';
 
diff --git a/tp/t/results/moresectioning/sectioning_part_appendix_no_top.pl 
b/tp/t/results/moresectioning/sectioning_part_appendix_no_top.pl
index f5141fef5d..f23446a2d3 100644
--- a/tp/t/results/moresectioning/sectioning_part_appendix_no_top.pl
+++ b/tp/t/results/moresectioning/sectioning_part_appendix_no_top.pl
@@ -1069,64 +1069,64 @@ $result_elements{'sectioning_part_appendix_no_top'}[8] 
= $result_elements{'secti
 
 
 $result_directions_text{'sectioning_part_appendix_no_top'} = 'output unit: 
@chapter chapter
-  FastForward: @chapter chapter in part
-  Forward: @section section
   This: @chapter chapter
+  Forward: @section section
+  FastForward: @chapter chapter in part
 output unit: @section section
+  This: @section section
+  Forward: @subsection subsection
   Back: @chapter chapter
-  FastBack: @chapter chapter
   FastForward: @chapter chapter in part
-  Forward: @subsection subsection
-  This: @section section
+  FastBack: @chapter chapter
   Up: @chapter chapter
 output unit: @subsection subsection
+  This: @subsection subsection
+  Forward: @subsubsection subsubsection
   Back: @section section
-  FastBack: @chapter chapter
   FastForward: @chapter chapter in part
-  Forward: @subsubsection subsubsection
-  This: @subsection subsection
+  FastBack: @chapter chapter
   Up: @section section
 output unit: @subsubsection subsubsection
+  This: @subsubsection subsubsection
+  Forward: @chapter chapter in part
   Back: @subsection subsection
-  FastBack: @chapter chapter
   FastForward: @chapter chapter in part
-  Forward: @chapter chapter in part
-  This: @subsubsection subsubsection
+  FastBack: @chapter chapter
   Up: @subsection subsection
 output unit: @chapter chapter in part
+  This: @chapter chapter in part
+  Forward: @chapter second chapter in part
   Back: @subsubsection subsubsection
-  FastBack: @chapter chapter
   FastForward: @chapter second chapter in part
-  Forward: @chapter second chapter in part
+  FastBack: @chapter chapter
   Next: @chapter second chapter in part
-  This: @chapter chapter in part
 output unit: @chapter second chapter in part
+  This: @chapter second chapter in part
+  Forward: @unnumbered unnumbered
   Back: @chapter chapter in part
-  FastBack: @chapter chapter in part
   FastForward: @unnumbered unnumbered
-  Forward: @unnumbered unnumbered
+  FastBack: @chapter chapter in part
   Next: @unnumbered unnumbered
   Prev: @chapter chapter in part
-  This: @chapter second chapter in part
   Up: @chapter chapter in part
 output unit: @unnumbered unnumbered
+  This: @unnumbered unnumbered
+  Forward: @appendix appendix
   Back: @chapter second chapter in part
-  FastBack: @chapter second chapter in part
   FastForward: @appendix appendix
-  Forward: @appendix appendix
+  FastBack: @chapter second chapter in part
   Prev: @chapter second chapter in part
-  This: @unnumbered unnumbered
   Up: @chapter chapter in part
 output unit: @appendix appendix
+  This: @appendix appendix
+  Forward: @appendixsec appendixsec
   Back: @unnumbered unnumbered
   FastBack: @unnumbered unnumbered
-  Forward: @appendixsec appendixsec
   Prev: @chapter chapter in part
-  This: @appendix appendix
 output unit: @appendixsec appendixsec
+  This: @appendixsec appendixsec
   Back: @appendix appendix
   FastBack: @appendix appendix
-  This: @appendixsec appendixsec
   Up: @appendix appendix
 ';
 
diff --git a/tp/t/results/moresectioning/top_chapter_sections.pl 
b/tp/t/results/moresectioning/top_chapter_sections.pl
index 31eb2b0450..ea03b23320 100644
--- a/tp/t/results/moresectioning/top_chapter_sections.pl
+++ b/tp/t/results/moresectioning/top_chapter_sections.pl
@@ -1037,70 +1037,70 @@ $result_elements{'top_chapter_sections'}[8] = 
$result_elements{'top_chapter_sect
 
 
 $result_directions_text{'top_chapter_sections'} = 'output unit: @top top
-  FastForward: @unnumbered unnumbered
-  Forward: @unnumbered unnumbered
   This: @top top
+  Forward: @unnumbered unnumbered
+  FastForward: @unnumbered unnumbered
 output unit: @unnumbered unnumbered
+  This: @unnumbered unnumbered
+  Forward: @chapter First chapter
   Back: @top top
-  FastBack: @top top
   FastForward: @chapter First chapter
-  Forward: @chapter First chapter
+  FastBack: @top top
   Next: @chapter First chapter
-  This: @unnumbered unnumbered
   Up: @top top
 output unit: @chapter First chapter
+  This: @chapter First chapter
+  Forward: @section second
   Back: @unnumbered unnumbered
-  FastBack: @unnumbered unnumbered
   FastForward: @chapter Chapter
-  Forward: @section second
+  FastBack: @unnumbered unnumbered
   Next: @chapter Chapter
   Prev: @unnumbered unnumbered
-  This: @chapter First chapter
   Up: @top top
 output unit: @section second
+  This: @section second
+  Forward: @chapter Chapter
   Back: @chapter First chapter
-  FastBack: @chapter First chapter
   FastForward: @chapter Chapter
-  Forward: @chapter Chapter
-  This: @section second
+  FastBack: @chapter First chapter
   Up: @chapter First chapter
 output unit: @chapter Chapter
+  This: @chapter Chapter
+  Forward: @section Section of chapter
   Back: @section second
-  FastBack: @chapter First chapter
   FastForward: @chapter Chapter 2
-  Forward: @section Section of chapter
+  FastBack: @chapter First chapter
   Next: @chapter Chapter 2
   Prev: @chapter First chapter
-  This: @chapter Chapter
   Up: @top top
 output unit: @section Section of chapter
+  This: @section Section of chapter
+  Forward: @subsection subsection 1
   Back: @chapter Chapter
-  FastBack: @chapter Chapter
   FastForward: @chapter Chapter 2
-  Forward: @subsection subsection 1
-  This: @section Section of chapter
+  FastBack: @chapter Chapter
   Up: @chapter Chapter
 output unit: @subsection subsection 1
+  This: @subsection subsection 1
+  Forward: @subsection subsection 2
   Back: @section Section of chapter
-  FastBack: @chapter Chapter
   FastForward: @chapter Chapter 2
-  Forward: @subsection subsection 2
+  FastBack: @chapter Chapter
   Next: @subsection subsection 2
-  This: @subsection subsection 1
   Up: @section Section of chapter
 output unit: @subsection subsection 2
+  This: @subsection subsection 2
+  Forward: @chapter Chapter 2
   Back: @subsection subsection 1
-  FastBack: @chapter Chapter
   FastForward: @chapter Chapter 2
-  Forward: @chapter Chapter 2
+  FastBack: @chapter Chapter
   Prev: @subsection subsection 1
-  This: @subsection subsection 2
   Up: @section Section of chapter
 output unit: @chapter Chapter 2
+  This: @chapter Chapter 2
   Back: @subsection subsection 2
   FastBack: @chapter Chapter
   Prev: @chapter Chapter
-  This: @chapter Chapter 2
   Up: @top top
 ';
 
diff --git a/tp/t/results/moresectioning/top_node_up_url.pl 
b/tp/t/results/moresectioning/top_node_up_url.pl
index 09179196a2..063e972323 100644
--- a/tp/t/results/moresectioning/top_node_up_url.pl
+++ b/tp/t/results/moresectioning/top_node_up_url.pl
@@ -505,17 +505,17 @@ $result_elements{'top_node_up_url'}[1] = 
$result_elements{'top_node_up_url'}[0]{
 
 
 $result_directions_text{'top_node_up_url'} = 'output unit: @node Top
+  This: @node Top
   Forward: @node chap
-  NodeForward: @node chap
   NodeNext: @node chap
-  This: @node Top
+  NodeForward: @node chap
 output unit: @node chap
+  This: @node chap
   Back: @node Top
   FastBack: @node Top
-  NodeBack: @node Top
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node chap
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/sectioning/chapter_before_and_after_part.pl 
b/tp/t/results/sectioning/chapter_before_and_after_part.pl
index be7723e8f6..8c508a6724 100644
--- a/tp/t/results/sectioning/chapter_before_and_after_part.pl
+++ b/tp/t/results/sectioning/chapter_before_and_after_part.pl
@@ -310,13 +310,13 @@ $result_elements{'chapter_before_and_after_part'}[1] = 
$result_elements{'chapter
 
 
 $result_directions_text{'chapter_before_and_after_part'} = 'output unit: 
@chapter chapter
-  FastForward: @chapter chapter 2
-  Forward: @chapter chapter 2
   This: @chapter chapter
+  Forward: @chapter chapter 2
+  FastForward: @chapter chapter 2
 output unit: @chapter chapter 2
+  This: @chapter chapter 2
   Back: @chapter chapter
   FastBack: @chapter chapter
-  This: @chapter chapter 2
 ';
 
 
diff --git a/tp/t/results/sectioning/chapter_before_part.pl 
b/tp/t/results/sectioning/chapter_before_part.pl
index b7a2acc1ec..e8aed0d3af 100644
--- a/tp/t/results/sectioning/chapter_before_part.pl
+++ b/tp/t/results/sectioning/chapter_before_part.pl
@@ -210,11 +210,11 @@ $result_elements{'chapter_before_part'}[1] = 
$result_elements{'chapter_before_pa
 
 
 $result_directions_text{'chapter_before_part'} = 'output unit: @chapter chapter
-  Forward: @part part
   This: @chapter chapter
+  Forward: @part part
 output unit: @part part
-  Back: @chapter chapter
   This: @part part
+  Back: @chapter chapter
 ';
 
 
diff --git a/tp/t/results/sectioning/double_part.pl 
b/tp/t/results/sectioning/double_part.pl
index b071b1e879..fd33999a25 100644
--- a/tp/t/results/sectioning/double_part.pl
+++ b/tp/t/results/sectioning/double_part.pl
@@ -912,26 +912,26 @@ $result_elements{'double_part'}[2] = 
$result_elements{'double_part'}[0]{'directi
 
 
 $result_directions_text{'double_part'} = 'output unit: @top top
-  FastForward: @chapter chapter after 2 parts
+  This: @top top
   Forward: @part part first
+  FastForward: @chapter chapter after 2 parts
   Next: @part part first
-  NodeForward: @chapter chapter after 2 parts
   NodeNext: @chapter chapter after 2 parts
-  This: @top top
+  NodeForward: @chapter chapter after 2 parts
 output unit: @part part first
+  This: @part part first
+  Forward: @chapter chapter after 2 parts
   Back: @top top
   FastForward: @chapter chapter after 2 parts
-  Forward: @chapter chapter after 2 parts
   Next: @chapter chapter after 2 parts
   Prev: @top top
-  This: @part part first
 output unit: @chapter chapter after 2 parts
+  This: @chapter chapter after 2 parts
   Back: @part part first
   FastBack: @part part first
-  NodeBack: @top top
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter after 2 parts
+  NodeBack: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/explicit_node_directions.pl 
b/tp/t/results/sectioning/explicit_node_directions.pl
index b77927bd5b..8cc7959f16 100644
--- a/tp/t/results/sectioning/explicit_node_directions.pl
+++ b/tp/t/results/sectioning/explicit_node_directions.pl
@@ -729,25 +729,25 @@ $result_elements{'explicit_node_directions'}[2] = 
$result_elements{'explicit_nod
 
 
 $result_directions_text{'explicit_node_directions'} = 'output unit: @node Top
+  This: @node Top
   Forward: @node chap node
-  NodeForward: @node chap node
   NodeNext: @node chap node
-  This: @node Top
+  NodeForward: @node chap node
 output unit: @node chap node
-  Back: @node Top
+  This: @node chap node
   Forward: @node third node
-  NodeBack: @node Top
-  NodeForward: @node third node
+  Back: @node Top
   NodeNext: @node third node
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node chap node
+  NodeForward: @node third node
+  NodeBack: @node Top
 output unit: @node third node
+  This: @node third node
   Back: @node chap node
-  NodeBack: @node chap node
   NodePrev: @node chap node
   NodeUp: @node Top
-  This: @node third node
+  NodeBack: @node chap node
 ';
 
 
diff --git a/tp/t/results/sectioning/lone_Top_node.pl 
b/tp/t/results/sectioning/lone_Top_node.pl
index 5fefe669cc..6c506ff142 100644
--- a/tp/t/results/sectioning/lone_Top_node.pl
+++ b/tp/t/results/sectioning/lone_Top_node.pl
@@ -406,9 +406,9 @@ 
$result_elements{'lone_Top_node'}[0]{'unit_command'}{'associated_unit'} = $resul
 
 
 $result_directions_text{'lone_Top_node'} = 'output unit: @chapter chap
+  This: @chapter chap
   NodePrev: @chapter chap
   NodeUp: @chapter chap
-  This: @chapter chap
 ';
 
 
diff --git a/tp/t/results/sectioning/node_part_chapter_after_chapter.pl 
b/tp/t/results/sectioning/node_part_chapter_after_chapter.pl
index 0baeb0310f..afd6b88252 100644
--- a/tp/t/results/sectioning/node_part_chapter_after_chapter.pl
+++ b/tp/t/results/sectioning/node_part_chapter_after_chapter.pl
@@ -1040,31 +1040,31 @@ $result_elements{'node_part_chapter_after_chapter'}[2] 
= $result_elements{'node_
 
 
 $result_directions_text{'node_part_chapter_after_chapter'} = 'output unit: 
@top top
-  FastForward: @chapter chapter node
+  This: @top top
   Forward: @chapter chapter node
+  FastForward: @chapter chapter node
   Next: @chapter chapter with part node
-  NodeForward: @chapter chapter node
   NodeNext: @chapter chapter node
-  This: @top top
+  NodeForward: @chapter chapter node
 output unit: @chapter chapter node
+  This: @chapter chapter node
+  Forward: @chapter chapter with part node
   Back: @top top
-  FastBack: @top top
   FastForward: @chapter chapter with part node
-  Forward: @chapter chapter with part node
-  NodeBack: @top top
-  NodeForward: @chapter chapter with part node
+  FastBack: @top top
+  Up: @top top
   NodeNext: @chapter chapter with part node
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter node
-  Up: @top top
+  NodeForward: @chapter chapter with part node
+  NodeBack: @top top
 output unit: @chapter chapter with part node
+  This: @chapter chapter with part node
   Back: @chapter chapter node
   FastBack: @chapter chapter node
-  NodeBack: @chapter chapter node
   NodePrev: @chapter chapter node
   NodeUp: @top top
-  This: @chapter chapter with part node
+  NodeBack: @chapter chapter node
 ';
 
 
diff --git a/tp/t/results/sectioning/node_part_chapter_after_top.pl 
b/tp/t/results/sectioning/node_part_chapter_after_top.pl
index 223af78864..0ec7a1ded4 100644
--- a/tp/t/results/sectioning/node_part_chapter_after_top.pl
+++ b/tp/t/results/sectioning/node_part_chapter_after_top.pl
@@ -672,19 +672,19 @@ $result_elements{'node_part_chapter_after_top'}[1] = 
$result_elements{'node_part
 
 
 $result_directions_text{'node_part_chapter_after_top'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
   Back: @top top
   FastBack: @top top
-  NodeBack: @top top
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeBack: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/node_up_external_node.pl 
b/tp/t/results/sectioning/node_up_external_node.pl
index bdfcc77ca3..513089f84d 100644
--- a/tp/t/results/sectioning/node_up_external_node.pl
+++ b/tp/t/results/sectioning/node_up_external_node.pl
@@ -568,18 +568,18 @@ $result_elements{'node_up_external_node'}[1] = 
$result_elements{'node_up_externa
 
 
 $result_directions_text{'node_up_external_node'} = 'output unit: @node Top
+  This: @node Top
   Forward: @node chap first
-  NodeForward: @node chap first
   NodeNext: @node chap first
-  This: @node Top
+  NodeForward: @node chap first
 output unit: @node chap first
+  This: @node chap first
   Back: @node Top
-  NodeBack: @node Top
-  NodeForward: (manual1)
   NodeNext: (manual1)
   NodePrev: (manual2)
   NodeUp: (manual3)
-  This: @node chap first
+  NodeForward: (manual1)
+  NodeBack: @node Top
 ';
 
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
index 892f2a855f..fe7671538e 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
@@ -867,25 +867,25 @@ 
$result_elements{'nodes_after_top_before_chapter_nodes'}[2] = $result_elements{'
 
 
 $result_directions_text{'nodes_after_top_before_chapter_nodes'} = 'output 
unit: @node Top
+  This: @node Top
   Forward: @node second node
-  NodeForward: @node second node
   NodeNext: @node second node
-  This: @node Top
+  NodeForward: @node second node
 output unit: @node second node
-  Back: @node Top
+  This: @node second node
   Forward: @node third node
-  NodeBack: @node Top
-  NodeForward: @node third node
+  Back: @node Top
   NodeNext: @node third node
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node second node
+  NodeForward: @node third node
+  NodeBack: @node Top
 output unit: @node third node
+  This: @node third node
   Back: @node second node
-  NodeBack: @node second node
   NodePrev: @node second node
   NodeUp: @node Top
-  This: @node third node
+  NodeBack: @node second node
 ';
 
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
index d0c0bf87ff..ea36e0a6d0 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
@@ -629,9 +629,9 @@ 
$result_elements{'nodes_after_top_before_chapter_sections'}[0]{'unit_command'}{'
 
 
 $result_directions_text{'nodes_after_top_before_chapter_sections'} = 'output 
unit: @chapter chapter
+  This: @chapter chapter
   NodePrev: @chapter chapter
   NodeUp: @chapter chapter
-  This: @chapter chapter
 ';
 
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl 
b/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl
index b1533d2e41..959d931ebf 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl
@@ -867,25 +867,25 @@ 
$result_elements{'nodes_after_top_before_section_nodes'}[2] = $result_elements{'
 
 
 $result_directions_text{'nodes_after_top_before_section_nodes'} = 'output 
unit: @node Top
+  This: @node Top
   Forward: @node chap node
-  NodeForward: @node chap node
   NodeNext: @node chap node
-  This: @node Top
+  NodeForward: @node chap node
 output unit: @node chap node
-  Back: @node Top
+  This: @node chap node
   Forward: @node third node
-  NodeBack: @node Top
-  NodeForward: @node third node
+  Back: @node Top
   NodeNext: @node third node
   NodePrev: @node Top
   NodeUp: @node Top
-  This: @node chap node
+  NodeForward: @node third node
+  NodeBack: @node Top
 output unit: @node third node
+  This: @node third node
   Back: @node chap node
-  NodeBack: @node chap node
   NodePrev: @node chap node
   NodeUp: @node Top
-  This: @node third node
+  NodeBack: @node chap node
 ';
 
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl 
b/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl
index cab0ade734..d13944cab0 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl
@@ -629,9 +629,9 @@ 
$result_elements{'nodes_after_top_before_section_sections'}[0]{'unit_command'}{'
 
 
 $result_directions_text{'nodes_after_top_before_section_sections'} = 'output 
unit: @subsection subsection
+  This: @subsection subsection
   NodePrev: @subsection subsection
   NodeUp: @subsection subsection
-  This: @subsection subsection
 ';
 
 
diff --git a/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl 
b/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
index c205623ce7..643e1c4387 100644
--- a/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
+++ b/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
@@ -505,16 +505,16 @@ 
$result_elements{'nodes_no_node_top_explicit_directions'}[1] = $result_elements{
 
 
 $result_directions_text{'nodes_no_node_top_explicit_directions'} = 'output 
unit: @node first
+  This: @node first
   Forward: @node second node
-  NodeForward: @node second node
   NodeUp: (dir)
-  This: @node first
+  NodeForward: @node second node
 output unit: @node second node
+  This: @node second node
   Back: @node first
-  NodeBack: @node first
   NodePrev: @node first
   NodeUp: @node first
-  This: @node second node
+  NodeBack: @node first
 ';
 
 
diff --git a/tp/t/results/sectioning/part_chapter_after_top.pl 
b/tp/t/results/sectioning/part_chapter_after_top.pl
index dbfbdcf1fc..4a0e4eeff6 100644
--- a/tp/t/results/sectioning/part_chapter_after_top.pl
+++ b/tp/t/results/sectioning/part_chapter_after_top.pl
@@ -668,19 +668,19 @@ $result_elements{'part_chapter_after_top'}[1] = 
$result_elements{'part_chapter_a
 
 
 $result_directions_text{'part_chapter_after_top'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
   Back: @top top
   FastBack: @top top
-  NodeBack: @top top
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeBack: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_after_top.pl 
b/tp/t/results/sectioning/part_node_after_top.pl
index c0d8ee4a35..dbd21cee1e 100644
--- a/tp/t/results/sectioning/part_node_after_top.pl
+++ b/tp/t/results/sectioning/part_node_after_top.pl
@@ -568,18 +568,18 @@ $result_elements{'part_node_after_top'}[1] = 
$result_elements{'part_node_after_t
 
 
 $result_directions_text{'part_node_after_top'} = 'output unit: @top top
-  FastForward: @part part
+  This: @top top
   Forward: @part part
+  FastForward: @part part
   Next: @part part
-  NodeBack: @top top
-  NodeForward: @top top
   NodeNext: @top top
-  This: @top top
+  NodeForward: @top top
+  NodeBack: @top top
 output unit: @part part
+  This: @part part
   Back: @top top
   FastBack: @top top
   Prev: @top top
-  This: @part part
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_before_top.pl 
b/tp/t/results/sectioning/part_node_before_top.pl
index 3c49c03857..4168dee59d 100644
--- a/tp/t/results/sectioning/part_node_before_top.pl
+++ b/tp/t/results/sectioning/part_node_before_top.pl
@@ -528,10 +528,10 @@ 
$result_elements{'part_node_before_top'}[0]{'unit_command'}{'extra'}{'associated
 
 
 $result_directions_text{'part_node_before_top'} = 'output unit: @top top
-  NodeBack: @top top
-  NodeForward: @top top
-  NodeNext: @top top
   This: @top top
+  NodeNext: @top top
+  NodeForward: @top top
+  NodeBack: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_chapter_after_top.pl 
b/tp/t/results/sectioning/part_node_chapter_after_top.pl
index 6332be088d..b538356952 100644
--- a/tp/t/results/sectioning/part_node_chapter_after_top.pl
+++ b/tp/t/results/sectioning/part_node_chapter_after_top.pl
@@ -919,20 +919,20 @@ $result_elements{'part_node_chapter_after_top'}[1] = 
$result_elements{'part_node
 
 
 $result_directions_text{'part_node_chapter_after_top'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
   Back: @top top
   FastBack: @top top
-  NodeBack: @top top
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
   NodeUp: @top top
-  This: @chapter chapter
+  NodeForward: @chapter chapter
+  NodeBack: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_chapter_appendix.pl 
b/tp/t/results/sectioning/part_node_chapter_appendix.pl
index a18a750e63..6165a079d2 100644
--- a/tp/t/results/sectioning/part_node_chapter_appendix.pl
+++ b/tp/t/results/sectioning/part_node_chapter_appendix.pl
@@ -839,26 +839,26 @@ $result_elements{'part_node_chapter_appendix'}[2] = 
$result_elements{'part_node_
 
 
 $result_directions_text{'part_node_chapter_appendix'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
+  Forward: @appendix Appendix
   Back: @top top
-  FastBack: @top top
   FastForward: @appendix Appendix
-  Forward: @appendix Appendix
-  NodeBack: @top top
+  FastBack: @top top
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeBack: @top top
 output unit: @appendix Appendix
+  This: @appendix Appendix
   Back: @chapter chapter
   FastBack: @chapter chapter
   Prev: @chapter chapter
-  This: @appendix Appendix
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_chapter_node_appendix.pl 
b/tp/t/results/sectioning/part_node_chapter_node_appendix.pl
index e4c1fb0b99..29ab51c076 100644
--- a/tp/t/results/sectioning/part_node_chapter_node_appendix.pl
+++ b/tp/t/results/sectioning/part_node_chapter_node_appendix.pl
@@ -1001,31 +1001,31 @@ $result_elements{'part_node_chapter_node_appendix'}[2] 
= $result_elements{'part_
 
 
 $result_directions_text{'part_node_chapter_node_appendix'} = 'output unit: 
@top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
+  Forward: @appendix Appendix
   Back: @top top
-  FastBack: @top top
   FastForward: @appendix Appendix
-  Forward: @appendix Appendix
-  NodeBack: @top top
-  NodeForward: @appendix Appendix
+  FastBack: @top top
   NodeNext: @appendix Appendix
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeForward: @appendix Appendix
+  NodeBack: @top top
 output unit: @appendix Appendix
+  This: @appendix Appendix
   Back: @chapter chapter
   FastBack: @chapter chapter
-  NodeBack: @chapter chapter
+  Prev: @chapter chapter
   NodePrev: @chapter chapter
   NodeUp: @top top
-  Prev: @chapter chapter
-  This: @appendix Appendix
+  NodeBack: @chapter chapter
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_node_part_appendix.pl 
b/tp/t/results/sectioning/part_node_node_part_appendix.pl
index 1ff798af8e..2d8ed66223 100644
--- a/tp/t/results/sectioning/part_node_node_part_appendix.pl
+++ b/tp/t/results/sectioning/part_node_node_part_appendix.pl
@@ -1078,30 +1078,30 @@ $result_elements{'part_node_node_part_appendix'}[2] = 
$result_elements{'part_nod
 
 
 $result_directions_text{'part_node_node_part_appendix'} = 'output unit: @top 
top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
+  Forward: @appendix Appendix
   Back: @top top
-  FastBack: @top top
   FastForward: @appendix Appendix
-  Forward: @appendix Appendix
-  NodeBack: @top top
-  NodeForward: @appendix Appendix
+  FastBack: @top top
   NodeNext: @appendix Appendix
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeForward: @appendix Appendix
+  NodeBack: @top top
 output unit: @appendix Appendix
+  This: @appendix Appendix
   Back: @chapter chapter
   FastBack: @chapter chapter
-  NodeBack: @chapter chapter
   NodePrev: @chapter chapter
   NodeUp: @top top
-  This: @appendix Appendix
+  NodeBack: @chapter chapter
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_part_appendix.pl 
b/tp/t/results/sectioning/part_node_part_appendix.pl
index 9d29e32aaf..56387b60e8 100644
--- a/tp/t/results/sectioning/part_node_part_appendix.pl
+++ b/tp/t/results/sectioning/part_node_part_appendix.pl
@@ -908,25 +908,25 @@ $result_elements{'part_node_part_appendix'}[2] = 
$result_elements{'part_node_par
 
 
 $result_directions_text{'part_node_part_appendix'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
+  Forward: @appendix Appendix
   Back: @top top
-  FastBack: @top top
   FastForward: @appendix Appendix
-  Forward: @appendix Appendix
-  NodeBack: @top top
+  FastBack: @top top
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeBack: @top top
 output unit: @appendix Appendix
+  This: @appendix Appendix
   Back: @chapter chapter
   FastBack: @chapter chapter
-  This: @appendix Appendix
 ';
 
 
diff --git a/tp/t/results/sectioning/part_node_part_node_appendix.pl 
b/tp/t/results/sectioning/part_node_part_node_appendix.pl
index c88f371cd7..6968fcc9a8 100644
--- a/tp/t/results/sectioning/part_node_part_node_appendix.pl
+++ b/tp/t/results/sectioning/part_node_part_node_appendix.pl
@@ -1074,30 +1074,30 @@ $result_elements{'part_node_part_node_appendix'}[2] = 
$result_elements{'part_nod
 
 
 $result_directions_text{'part_node_part_node_appendix'} = 'output unit: @top 
top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  NodeForward: @chapter chapter
   NodeNext: @chapter chapter
-  This: @top top
+  NodeForward: @chapter chapter
 output unit: @chapter chapter
+  This: @chapter chapter
+  Forward: @appendix Appendix
   Back: @top top
-  FastBack: @top top
   FastForward: @appendix Appendix
-  Forward: @appendix Appendix
-  NodeBack: @top top
-  NodeForward: @appendix Appendix
+  FastBack: @top top
   NodeNext: @appendix Appendix
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter
+  NodeForward: @appendix Appendix
+  NodeBack: @top top
 output unit: @appendix Appendix
+  This: @appendix Appendix
   Back: @chapter chapter
   FastBack: @chapter chapter
-  NodeBack: @chapter chapter
   NodePrev: @chapter chapter
   NodeUp: @top top
-  This: @appendix Appendix
+  NodeBack: @chapter chapter
 ';
 
 
diff --git a/tp/t/results/sectioning/top_part_chapter.pl 
b/tp/t/results/sectioning/top_part_chapter.pl
index 9efd2930d7..f63f08f50f 100644
--- a/tp/t/results/sectioning/top_part_chapter.pl
+++ b/tp/t/results/sectioning/top_part_chapter.pl
@@ -287,14 +287,14 @@ $result_elements{'top_part_chapter'}[1] = 
$result_elements{'top_part_chapter'}[0
 
 
 $result_directions_text{'top_part_chapter'} = 'output unit: @top top
-  FastForward: @chapter chapter
+  This: @top top
   Forward: @chapter chapter
+  FastForward: @chapter chapter
   Next: @chapter chapter
-  This: @top top
 output unit: @chapter chapter
+  This: @chapter chapter
   Back: @top top
   FastBack: @top top
-  This: @chapter chapter
 ';
 
 
diff --git a/tp/t/results/sectioning/top_without_node_nodes.pl 
b/tp/t/results/sectioning/top_without_node_nodes.pl
index 17352f52df..263dc040b6 100644
--- a/tp/t/results/sectioning/top_without_node_nodes.pl
+++ b/tp/t/results/sectioning/top_without_node_nodes.pl
@@ -350,8 +350,8 @@ 
$result_elements{'top_without_node_nodes'}[0]{'unit_command'}{'associated_unit'}
 
 
 $result_directions_text{'top_without_node_nodes'} = 'output unit: @node second
-  NodeUp: (dir)
   This: @node second
+  NodeUp: (dir)
 ';
 
 
diff --git a/tp/t/results/sectioning/top_without_node_sections.pl 
b/tp/t/results/sectioning/top_without_node_sections.pl
index 0752702c86..905b58690a 100644
--- a/tp/t/results/sectioning/top_without_node_sections.pl
+++ b/tp/t/results/sectioning/top_without_node_sections.pl
@@ -464,15 +464,15 @@ $result_elements{'top_without_node_sections'}[1] = 
$result_elements{'top_without
 
 
 $result_directions_text{'top_without_node_sections'} = 'output unit: @top top 
section
-  FastForward: @chapter Chapter
-  Forward: @chapter Chapter
   This: @top top section
+  Forward: @chapter Chapter
+  FastForward: @chapter Chapter
 output unit: @chapter Chapter
+  This: @chapter Chapter
   Back: @top top section
   FastBack: @top top section
-  NodeUp: (dir)
-  This: @chapter Chapter
   Up: @top top section
+  NodeUp: (dir)
 ';
 
 
diff --git a/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl 
b/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
index 719ea08486..6203742779 100644
--- a/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
+++ b/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
@@ -1083,36 +1083,36 @@ 
$result_elements{'transliterated_split_equivalent_nodes'}[3] = $result_elements{
 
 
 $result_directions_text{'transliterated_split_equivalent_nodes'} = 'output 
unit: @node top
+  This: @node top
   Forward: @node @~a
-  NodeForward: @node @~a
   NodeNext: @node @~a
-  This: @node top
+  NodeForward: @node @~a
 output unit: @node @~a
-  Back: @node top
+  This: @node @~a
   Forward: @node n
-  NodeBack: @node top
-  NodeForward: @node n
+  Back: @node top
   NodeNext: @node n
   NodePrev: @node top
   NodeUp: @node top
-  This: @node @~a
+  NodeForward: @node n
+  NodeBack: @node top
 output unit: @node n
+  This: @node n
+  Forward: @node @^a
   Back: @node @~a
   FastBack: @node @~a
-  Forward: @node @^a
-  NodeBack: @node @~a
-  NodeForward: @node @^a
   NodeNext: @node @^a
   NodePrev: @node @~a
   NodeUp: @node top
-  This: @node n
+  NodeForward: @node @^a
+  NodeBack: @node @~a
 output unit: @node @^a
+  This: @node @^a
   Back: @node n
   FastBack: @node @~a
-  NodeBack: @node n
   NodePrev: @node n
   NodeUp: @node top
-  This: @node @^a
+  NodeBack: @node n
 ';
 
 
$result_converted_errors{'file_html'}->{'transliterated_split_equivalent_nodes'}
 = [
diff --git a/tp/t/results/sectioning/two_nodes_at_the_end.pl 
b/tp/t/results/sectioning/two_nodes_at_the_end.pl
index 41fd385de7..140ae96d0d 100644
--- a/tp/t/results/sectioning/two_nodes_at_the_end.pl
+++ b/tp/t/results/sectioning/two_nodes_at_the_end.pl
@@ -933,21 +933,21 @@ $result_elements{'two_nodes_at_the_end'}[1] = 
$result_elements{'two_nodes_at_the
 
 
 $result_directions_text{'two_nodes_at_the_end'} = 'output unit: @top top
-  FastForward: @chapter chapter c1
+  This: @top top
   Forward: @chapter chapter c1
-  NodeForward: @chapter chapter c1
+  FastForward: @chapter chapter c1
   NodeNext: @chapter chapter c1
-  This: @top top
+  NodeForward: @chapter chapter c1
 output unit: @chapter chapter c1
+  This: @chapter chapter c1
   Back: @top top
   FastBack: @top top
-  NodeBack: @top top
-  NodeForward: @chapter chapter c1
+  Up: @top top
   NodeNext: @chapter chapter c1
   NodePrev: @top top
   NodeUp: @top top
-  This: @chapter chapter c1
-  Up: @top top
+  NodeForward: @chapter chapter c1
+  NodeBack: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/two_nodes_between_chapters.pl 
b/tp/t/results/sectioning/two_nodes_between_chapters.pl
index d00ffc4586..0186add701 100644
--- a/tp/t/results/sectioning/two_nodes_between_chapters.pl
+++ b/tp/t/results/sectioning/two_nodes_between_chapters.pl
@@ -1144,33 +1144,33 @@ $result_elements{'two_nodes_between_chapters'}[2] = 
$result_elements{'two_nodes_
 
 
 $result_directions_text{'two_nodes_between_chapters'} = 'output unit: @top top
-  FastForward: @chapter chapter c1
+  This: @top top
   Forward: @chapter chapter c1
-  NodeBack: @chapter chapter c1
-  NodeForward: @chapter chapter c1
+  FastForward: @chapter chapter c1
   NodeNext: @chapter chapter c1
-  This: @top top
+  NodeForward: @chapter chapter c1
+  NodeBack: @chapter chapter c1
 output unit: @chapter chapter c1
+  This: @chapter chapter c1
+  Forward: @chapter chapter c2
   Back: @top top
-  FastBack: @top top
   FastForward: @chapter chapter c2
-  Forward: @chapter chapter c2
+  FastBack: @top top
   Next: @chapter chapter c2
-  NodeBack: @top top
-  NodeForward: @top top
+  Up: @top top
   NodeNext: @top top
   NodePrev: @chapter chapter c1
   NodeUp: @top top
-  This: @chapter chapter c1
-  Up: @top top
+  NodeForward: @top top
+  NodeBack: @top top
 output unit: @chapter chapter c2
+  This: @chapter chapter c2
   Back: @chapter chapter c1
   FastBack: @chapter chapter c1
-  NodePrev: @chapter chapter c1
-  NodeUp: @top top
   Prev: @chapter chapter c1
-  This: @chapter chapter c2
   Up: @top top
+  NodePrev: @chapter chapter c1
+  NodeUp: @top top
 ';
 
 
diff --git a/tp/t/results/sectioning/unnumbered_before_node_top_top.pl 
b/tp/t/results/sectioning/unnumbered_before_node_top_top.pl
index d58ba875a3..27ef40eb79 100644
--- a/tp/t/results/sectioning/unnumbered_before_node_top_top.pl
+++ b/tp/t/results/sectioning/unnumbered_before_node_top_top.pl
@@ -402,15 +402,15 @@ $result_elements{'unnumbered_before_node_top_top'}[1] = 
$result_elements{'unnumb
 
 
 $result_directions_text{'unnumbered_before_node_top_top'} = 'output unit: 
@unnumbered before nodes
-  FastForward: @top top section
+  This: @unnumbered before nodes
   Forward: @top top section
+  FastForward: @top top section
   Next: @top top section
-  This: @unnumbered before nodes
 output unit: @top top section
+  This: @top top section
   Back: @unnumbered before nodes
   FastBack: @unnumbered before nodes
   Prev: @unnumbered before nodes
-  This: @top top section
 ';
 
 
diff --git a/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl 
b/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl
index eea1ecc94a..5f862220b2 100644
--- a/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl
+++ b/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl
@@ -669,16 +669,16 @@ $result_elements{'unnumbered_top_without_node_nodes'}[1] 
= $result_elements{'unn
 
 
 $result_directions_text{'unnumbered_top_without_node_nodes'} = 'output unit: 
@node a node
-  FastBack: @node a node
-  FastForward: @node a node
+  This: @node a node
   Forward: @node second
+  FastForward: @node a node
+  FastBack: @node a node
   NodeUp: (dir)
-  This: @node a node
 output unit: @node second
+  This: @node second
   Back: @node a node
-  NodeUp: (dir)
   Prev: @node a node
-  This: @node second
+  NodeUp: (dir)
 ';
 
 
diff --git a/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl 
b/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl
index 0402991995..994ef3a3a2 100644
--- a/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl
+++ b/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl
@@ -800,25 +800,25 @@ 
$result_elements{'unnumbered_top_without_node_sections'}[2] = $result_elements{'
 
 
 $result_directions_text{'unnumbered_top_without_node_sections'} = 'output 
unit: @unnumbered unnumbered
-  FastForward: @top top section
+  This: @unnumbered unnumbered
   Forward: @top top section
+  FastForward: @top top section
   Next: @top top section
   NodeUp: (dir)
-  This: @unnumbered unnumbered
 output unit: @top top section
+  This: @top top section
+  Forward: @chapter Chapter
   Back: @unnumbered unnumbered
-  FastBack: @unnumbered unnumbered
   FastForward: @chapter Chapter
-  Forward: @chapter Chapter
+  FastBack: @unnumbered unnumbered
   Next: @chapter Chapter
   Prev: @unnumbered unnumbered
-  This: @top top section
 output unit: @chapter Chapter
+  This: @chapter Chapter
   Back: @top top section
   FastBack: @top top section
-  NodeUp: (dir)
   Prev: @top top section
-  This: @chapter Chapter
+  NodeUp: (dir)
 ';
 
 



reply via email to

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