texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Wed, 11 Jan 2023 02:41:44 -0500 (EST)

branch: master
commit 2d279f1d39bf026eeb243beb9f00aecb0b0bf2d2
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Jan 11 08:39:09 2023 +0100

    * tp/Texinfo/Convert/Converter.pm (register_normalize_case_filename),
    tp/Texinfo/Convert/HTML.pm (_html_set_pages_files, output): associate
    file names to the source of the name, an element, a special file or a
    stand in file (in case nothing good was found as file name).  Keep
    the information on redirection pages created.  Warn using both the
    redirected node information and the information on file source.
    Rename _normalize_filename_case as register_normalize_case_filename in
    Texinfo::Convert::Converter such that it can be used directly.
    
    * tp/Texinfo/Report.pm (line_warn, line_error, document_warn)
    (document_error): add a continuation optional argument to convey
    that the line is a continuation line for a warning or error message.
    
    * tp/Texinfo/Convert/Converter.pm (registered_filename): new function
    to return the normalized file names for file that were registered.  A
    file registered may nt be created.  Not used for now.
---
 ChangeLog                                          |  19 +++
 tp/Texinfo/Convert/Converter.pm                    |  25 +++-
 tp/Texinfo/Convert/HTML.pm                         | 146 ++++++++++++++++++++-
 tp/Texinfo/Convert/NodeNameNormalization.pm        |   2 +-
 tp/Texinfo/Report.pm                               |  63 ++++++---
 tp/t/results/html_tests/redirection_same_labels.pl |  42 ++++++
 .../redirection_same_labels/res_html/i.html        |  10 +-
 .../html_tests/transliterated_names_conflicts.pl   |  42 ++++++
 .../res_html/Pres.html                             |  28 +++-
 .../equivalent_nodes_defined_linked.pl             |   1 +
 .../results/sectioning/double_node_anchor_float.pl |   6 +
 tp/t/results/sectioning/double_top.pl              |   2 +
 tp/t/results/sectioning/double_top_in_menu.pl      |   1 +
 .../reference_to_only_special_spaces_node.pl       |   1 +
 14 files changed, 348 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 88ad3e2013..1e00f70197 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -43,6 +43,25 @@
        files in subdirectories in infodir.
        * doc/filesys.c (info_suffixes): Remove "/index".
 
+2023-01-10  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/Converter.pm (register_normalize_case_filename),
+       tp/Texinfo/Convert/HTML.pm (_html_set_pages_files, output): associate
+       file names to the source of the name, an element, a special file or a
+       stand in file (in case nothing good was found as file name).  Keep
+       the information on redirection pages created.  Warn using both the
+       redirected node information and the information on file source.
+       Rename _normalize_filename_case as register_normalize_case_filename in
+       Texinfo::Convert::Converter such that it can be used directly.
+
+       * tp/Texinfo/Report.pm (line_warn, line_error, document_warn)
+       (document_error): add a continuation optional argument to convey
+       that the line is a continuation line for a warning or error message.
+
+       * tp/Texinfo/Convert/Converter.pm (registered_filename): new function
+       to return the normalized file names for file that were registered.  A
+       file registered may nt be created.  Not used for now.
+
 2023-01-10  Patrice Dumas  <pertusus@free.fr>
 
        * Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index 1ceb29aa79..e7915b10b1 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -757,7 +757,7 @@ sub initialize_tree_units_files($)
 
 # If CASE_INSENSITIVE_FILENAMES is set, reuse the first
 # filename with the same name insensitive to the case.
-sub _normalize_filename_case($$)
+sub register_normalize_case_filename($$)
 {
   my $self = shift;
   my $filename = shift;
@@ -785,6 +785,25 @@ sub _normalize_filename_case($$)
   return $filename;
 }
 
+# return the registered filename if there is one, else return undef.
+# Note that it only tells that a file name has been its name considered,
+# not that the corresponding file is created.
+# currently unused.
+sub registered_filename($$)
+{
+  my $self = shift;
+  my $filename = shift;
+
+  if ($self->get_conf('CASE_INSENSITIVE_FILENAMES')) {
+    if (exists($self->{'filenames'}->{lc($filename)})) {
+      return $self->{'filenames'}->{lc($filename)};
+    }
+  } elsif (exists($self->{'filenames'}->{$filename})) {
+    return $self->{'filenames'}->{$filename};
+  }
+  return undef;
+}
+
 # Sets $tree_unit->{'structure'}->{'unit_filename'}.
 sub set_tree_unit_file($$$)
 {
@@ -796,7 +815,7 @@ sub set_tree_unit_file($$$)
     cluck("set_tree_unit_file: filename not defined\n");
   }
 
-  $filename = $self->_normalize_filename_case($filename);
+  $filename = $self->register_normalize_case_filename($filename);
 
   $tree_unit->{'structure'} = {} if (!($tree_unit->{'structure'}));
 
@@ -830,7 +849,7 @@ sub set_file_path($$$;$)
     cluck("set_file_path: filename not defined\n");
   }
 
-  $filename = $self->_normalize_filename_case($filename);
+  $filename = $self->register_normalize_case_filename($filename);
 
   if (not defined($filepath)) {
     if (defined($destination_directory) and $destination_directory ne '') {
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 5013adf699..7c44ab134d 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -8552,11 +8552,21 @@ sub _html_set_pages_files($$$$$$$$)
 
   my %filenames_paths;
   my %unit_file_name_paths;
+  # associate a file to the source information leading to set the file
+  # name.  Use the first element source information associated to a file
+  # The source information can be either a tree element associated to
+  # the 'file_info_element' key, with a 'file_info_type' 'node' or 'section'...
+  # or a specific source associated to the 'file_info_name' key with
+  # 'file_info_type' 'special_file', or a source set if nothing was found, with
+  # 'file_info_type' 'stand_in_file' and a 'file_info_name'.
+  my %files_source_info = ();
   if (!$self->get_conf('SPLIT')) {
     $filenames_paths{$output_filename} = $output_file;
     foreach my $tree_unit (@$tree_units) {
       $unit_file_name_paths{$tree_unit} = $output_filename;
     }
+    $files_source_info{$output_filename} = {'file_info_type' => 'special_file',
+                                            'file_info_name' => 'non_split'};
   } else {
     my $node_top;
     $node_top = $self->{'labels'}->{'Top'} if ($self->{'labels'});
@@ -8569,6 +8579,8 @@ sub _html_set_pages_files($$$$$$$$)
       die "BUG: No element for top node" if (!defined($node_top_tree_unit));
       $filenames_paths{$top_node_filename} = undef;
       $unit_file_name_paths{$node_top_tree_unit} = $top_node_filename;
+      $files_source_info{$top_node_filename} = {'file_info_type' => 
'special_file',
+                                                'file_info_name' => 'Top'};
     }
     my $file_nr = 0;
     my $previous_page;
@@ -8590,11 +8602,21 @@ sub _html_set_pages_files($$$$$$$$)
                                   $root_command->{'extra'}->{'normalized'}})) {
               $node_filename = 'unknown_node';
               $node_filename .= $extension;
+              my $file_source_info = {'file_info_type' => 'stand_in_file',
+                                      'file_info_name' => 'unknown_node'};
+              $files_source_info{$node_filename} = $file_source_info
+                unless ($files_source_info{$node_filename});
             } else {
               # Nodes with {'extra'}->{'normalized'} should always be in
               # 'labels', and thus in targets.  It is a bug otherwise.
               $node_filename
                 = $self->{'targets'}->{$root_command}->{'node_filename'};
+              my $file_source_info = {'file_info_type' => 'node',
+                                      'file_info_element' => $root_command};
+              $files_source_info{$node_filename} = $file_source_info
+                unless ($files_source_info{$node_filename}
+                        and $files_source_info{$node_filename}
+                              ->{'file_info_type'} ne 'stand_in_file');
             }
             $filenames_paths{$node_filename} = undef;
             $unit_file_name_paths{$file_tree_unit} = $node_filename;
@@ -8609,11 +8631,19 @@ sub _html_set_pages_files($$$$$$$$)
                 and defined($top_node_filename)) {
               $filenames_paths{$top_node_filename} = undef;
               $unit_file_name_paths{$file_tree_unit} = $top_node_filename;
+              $files_source_info{$top_node_filename}
+                  = {'file_info_type' => 'special_file', 'file_info_name' => 
'Top'};
             } else {
               my $section_filename
                    = $self->{'targets'}->{$command}->{'section_filename'};
               $filenames_paths{$section_filename} = undef;
               $unit_file_name_paths{$file_tree_unit} = $section_filename;
+              $files_source_info{$section_filename}
+                = {'file_info_type' => 'section',
+                   'file_info_element' => $command}
+                 unless($files_source_info{$section_filename}
+                        and $files_source_info{$section_filename}
+                                       ->{'file_info_type'} ne 
'stand_in_file');
             }
           } else {
             # when everything else has failed
@@ -8621,11 +8651,18 @@ sub _html_set_pages_files($$$$$$$$)
                 and defined($top_node_filename)) {
               $filenames_paths{$top_node_filename} = undef;
               $unit_file_name_paths{$file_tree_unit} = $top_node_filename;
+              $files_source_info{$top_node_filename}
+                = {'file_info_type' => 'stand_in_file', 'file_info_name' => 
'Top'}
+                  unless($files_source_info{$top_node_filename});
             } else {
               my $filename = $document_name . "_$file_nr";
               $filename .= $extension;
               $filenames_paths{$filename} = undef;
               $unit_file_name_paths{$file_tree_unit} = $filename;
+              $files_source_info{$filename}
+                 = {'file_info_type' => 'stand_in_file',
+                    'file_info_name' => 'unknown'}
+                unless($files_source_info{$filename});
             }
             $file_nr++;
           }
@@ -8640,6 +8677,10 @@ sub _html_set_pages_files($$$$$$$$)
 
   foreach my $tree_unit (@$tree_units) {
     my $filename = $unit_file_name_paths{$tree_unit};
+    # check
+    if (!$files_source_info{$filename}) {
+      print STDERR "BUG: no files_source_info: $filename\n";
+    }
     my $filepath = $filenames_paths{$filename};
     if (defined($self->{'file_id_setting'}->{'tree_unit_file_name'})) {
       # NOTE the information that it is associated with @top or @node Top
@@ -8650,6 +8691,8 @@ sub _html_set_pages_files($$$$$$$$)
       if (defined($user_filename)) {
         $filename = $user_filename;
         $filenames_paths{$filename} = $user_filepath;
+        $files_source_info{$filename} = {'file_info_type' => 'special_file',
+                                         'file_info_name' => 'user_defined'};
       }
     }
     $self->set_tree_unit_file($tree_unit, $filename);
@@ -8679,6 +8722,12 @@ sub _html_set_pages_files($$$$$$$$)
            #." $special_element"
            .": $filename($self->{'file_counters'}->{$filename})\n"
                  if ($self->get_conf('DEBUG'));
+        my $file_source_info = {'file_info_element' => $special_element,
+                                'file_info_type' => 'special_element'};
+        $files_source_info{$filename} = $file_source_info
+          unless($files_source_info{$filename}
+                 and $files_source_info{$filename}->{'file_info_type'}
+                       ne 'stand_in_file');
       }
     }
   }
@@ -8686,6 +8735,7 @@ sub _html_set_pages_files($$$$$$$$)
     $self->set_file_path($filename, $destination_directory,
                          $filenames_paths{$filename});
   }
+  return %files_source_info;
 }
 
 # $ROOT is a parsed Texinfo tree.  Return a list of the "elements" we need to
@@ -10593,9 +10643,11 @@ sub output($$)
 
   # determine file names associated with the different pages, and setup
   # the counters for special element pages.
+  my %files_source_info;
   if ($output_file ne '') {
-    $self->_html_set_pages_files($tree_units, $special_elements, $output_file,
-                  $destination_directory, $output_filename, $document_name);
+    %files_source_info =
+      $self->_html_set_pages_files($tree_units, $special_elements, 
$output_file,
+                    $destination_directory, $output_filename, $document_name);
   }
 
   $self->_prepare_contents_elements();
@@ -11016,6 +11068,7 @@ sub output($$)
   $self->{'current_filename'} = undef;
   if ($self->get_conf('NODE_FILES')
       and $self->{'labels'} and $output_file ne '') {
+    my %redirection_filenames;
     foreach my $label (sort(keys (%{$self->{'labels'}}))) {
       my $node = $self->{'labels'}->{$label};
       my $target = $self->_get_target($node);
@@ -11036,15 +11089,100 @@ sub output($$)
       }
 
       if (defined($filename) and $node_filename ne $filename) {
+        # first condition finds conflict with tree elements
+        if ($self->{'elements_in_file_count'}->{$node_filename}
+            or $redirection_filenames{$node_filename}) {
+          $self->line_warn($self,
+             sprintf(__("\@%s `%s' file %s for redirection exists"),
+               $node->{'cmdname'},
+               Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
+                 => $node->{'extra'}->{'node_content'}}),
+               $node_filename),
+            $node->{'source_info'});
+          my $file_source = $files_source_info{$node_filename};
+          my $file_info_type = $file_source->{'file_info_type'};
+          if ($file_info_type eq 'special_file'
+              or $file_info_type eq 'stand_in_file') {
+            my $name = $file_source->{'file_info_name'};
+            if ($name eq 'non_split') {
+              $self->document_warn($self,
+                            __("conflict with whole document file"), 1);
+            } elsif ($name eq 'Top') {
+              $self->document_warn($self,
+                           __("conflict with Top file"), 1);
+            } elsif ($name eq 'user_defined') {
+              $self->document_warn($self,
+                            __("conflict with user-defined file"), 1);
+           } elsif ($name eq 'unknown_node') {
+              $self->document_warn($self,
+                           __("conflict with unknown node file"), 1);
+            } elsif ($name eq 'unknown') {
+              $self->document_warn($self,
+                            __("conflict with file without known source"), 1);
+            }
+          } elsif ($file_info_type eq 'node') {
+            my $conflicting_node = $file_source->{'file_info_element'};
+            $self->line_warn($self,
+               sprintf(__("conflict with \@%s `%s' file"),
+                 $conflicting_node->{'cmdname'},
+                 Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
+                   => $conflicting_node->{'extra'}->{'node_content'}}),
+                 ),
+              $conflicting_node->{'source_info'}, 1);
+          } elsif ($file_info_type eq 'node') {
+            my $conflicting_node = $file_source->{'file_info_element'};
+            $self->line_warn($self,
+               sprintf(__("conflict with \@%s `%s' file"),
+                 $conflicting_node->{'cmdname'},
+                 Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
+                   => $conflicting_node->{'extra'}->{'node_content'}}),
+                 ),
+              $conflicting_node->{'source_info'}, 1);
+          } elsif ($file_info_type eq 'redirection') {
+            my $conflicting_node = $file_source->{'file_info_element'};
+            $self->line_warn($self,
+               sprintf(__("conflict with \@%s `%s' redirection file"),
+                 $conflicting_node->{'cmdname'},
+                 Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
+                   => $conflicting_node->{'extra'}->{'node_content'}}),
+                 ),
+              $conflicting_node->{'source_info'}, 1);
+          } elsif ($file_info_type eq 'section') {
+            my $conflicting_section = $file_source->{'file_info_element'};
+            $self->line_warn($self,
+               sprintf(__("conflict with \@%s `%s' file"),
+                 $conflicting_section->{'cmdname'},
+                 Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
+                   => $conflicting_section->{'args'}->[0]->{'contents'}}),
+                 ),
+              $conflicting_section->{'source_info'}, 1);
+          } elsif ($file_info_type eq 'special_element') {
+            my $special_element = $file_source->{'file_info_element'};
+            my $element_variety = 
$special_element->{'extra'}->{'special_element_variety'};
+            #my $element_heading_tree = 
$self->special_element_info('heading_tree',
+            #                                                       
$element_variety);
+            $self->document_warn($self,
+               sprintf(__("conflict with %s special element"),
+                       $element_variety), 1);
+
+          }
+          next;
+        }
+        # should be the same as $node_filename as it is the first registration
+        my $redirection_filename
+          = $self->register_normalize_case_filename($node_filename);
+        $redirection_filenames{$node_filename} = $node;
+        $files_source_info{$redirection_filename}
+          = {'file_info_type' => 'redirection', 'file_info_element' => $node};
         my $redirection_page
           = 
&{$self->formatting_function('format_node_redirection_page')}($self,
                                                                          
$node);
         my $out_filename;
         if (defined($destination_directory) and $destination_directory ne '') {
           $out_filename = File::Spec->catfile($destination_directory,
-                                              $node_filename);
+                                              $redirection_filename);
         } else {
-          $out_filename = $node_filename;
+          $out_filename = $redirection_filename;
         }
         my ($encoded_out_filename, $path_encoding)
           = $self->encoded_output_file_name($out_filename);
diff --git a/tp/Texinfo/Convert/NodeNameNormalization.pm 
b/tp/Texinfo/Convert/NodeNameNormalization.pm
index 3c6f05fa55..b9b50c9dfd 100644
--- a/tp/Texinfo/Convert/NodeNameNormalization.pm
+++ b/tp/Texinfo/Convert/NodeNameNormalization.pm
@@ -386,7 +386,7 @@ sub set_nodes_list_labels($$$)
             $registrar->line_error($configuration_information,
               sprintf(__("here is the previous definition as \@%s"),
                                $labels{$normalized}->{'cmdname'}),
-                       $labels{$normalized}->{'source_info'});
+                       $labels{$normalized}->{'source_info'}, 1);
             delete $target->{'extra'}->{'node_content'};
           } else {
             $labels{$normalized} = $target;
diff --git a/tp/Texinfo/Report.pm b/tp/Texinfo/Report.pm
index dfba67e469..d3bb528977 100644
--- a/tp/Texinfo/Report.pm
+++ b/tp/Texinfo/Report.pm
@@ -70,14 +70,18 @@ sub errors($)
 }
 
 # format a line warning
-sub line_warn($$$$)
+sub line_warn($$$$;$)
 {
   my $self = shift;
   my $configuration_information = shift;
   my $text = shift;
-  chomp ($text);
   my $error_location_info = shift;
+  my $continuation = shift;
+
   return if (!defined($error_location_info));
+
+  chomp ($text);
+
   my $warn_line;
 
   if (defined($error_location_info->{'macro'})
@@ -95,19 +99,24 @@ sub line_warn($$$$)
   my %location_info = %{$error_location_info};
   delete $location_info{'file_name'} if (exists ($location_info{'file_name'})
                                   and not 
defined($location_info{'file_name'}));
-  push @{$self->{'errors_warnings'}},
-       { 'type' => 'warning', 'text' => $text, 'error_line' => $warn_line,
+  my $warning
+    = { 'type' => 'warning', 'text' => $text, 'error_line' => $warn_line,
          %location_info };
+  $warning->{'continuation'} = $continuation if ($continuation);
+  push @{$self->{'errors_warnings'}}, $warning;
 }
 
 # format a line error
-sub line_error($$$$)
+sub line_error($$$$;$)
 {
   my $self = shift;
   my $configuration_information = shift;
   my $text = shift;
-  chomp ($text);
   my $error_location_info = shift;
+  my $continuation = shift;
+
+  chomp ($text);
+
   if (defined($error_location_info)) {
     my $macro_text = '';
     $macro_text = " (possibly involving \@$error_location_info->{'macro'})"
@@ -118,19 +127,22 @@ sub line_error($$$$)
     my %location_info = %{$error_location_info};
     delete $location_info{'file_name'} if (exists ($location_info{'file_name'})
                                   and not 
defined($location_info{'file_name'}));
-    push @{$self->{'errors_warnings'}},
-         { 'type' => 'error', 'text' => $text,
+    my $error = { 'type' => 'error', 'text' => $text,
            'error_line' => $error_text,
            %{$error_location_info} };
+    $error->{'continuation'} = $continuation if ($continuation);
+    push @{$self->{'errors_warnings'}}, $error;
   }
-  $self->{'error_nrs'}++;
+  $self->{'error_nrs'}++ unless ($continuation);
 }
 
-sub document_warn($$$)
+sub document_warn($$$;$)
 {
   my $self = shift;
   my $configuration_information = shift;
   my $text = shift;
+  my $continuation = shift;
+
   chomp($text);
 
   my $warn_line;
@@ -143,15 +155,19 @@ sub document_warn($$$)
     $warn_line = sprintf(__p("whole document warning", "warning: %s")."\n",
                          $text);
   }
-  push @{$self->{'errors_warnings'}},
-    { 'type' => 'warning', 'text' => $text, 'error_line' => $warn_line };
+  my $warning = { 'type' => 'warning', 'text' => $text,
+                  'error_line' => $warn_line };
+  $warning->{'continuation'} = $continuation if ($continuation);
+  push @{$self->{'errors_warnings'}}, $warning;
 }
 
-sub document_error($$$)
+sub document_error($$$;$)
 {
   my $self = shift;
   my $configuration_information = shift;
   my $text = shift;
+  my $continuation = shift;
+
   chomp($text);
   my $error_line;
   if (defined($configuration_information)
@@ -162,9 +178,11 @@ sub document_error($$$)
   } else {
     $error_line = "$text\n";
   }
-  push @{$self->{'errors_warnings'}},
-    { 'type' => 'error', 'text' => $text, 'error_line' => $error_line };
-  $self->{'error_nrs'}++;
+  my $error = { 'type' => 'error', 'text' => $text,
+                'error_line' => $error_line, };
+  $error->{'continuation'} = $continuation if ($continuation);
+  push @{$self->{'errors_warnings'}}, $error;
+  $self->{'error_nrs'}++ unless ($continuation);
 }
 
 1;
@@ -269,9 +287,9 @@ the error or warning.
 
 =back
 
-=item $registrar->line_warn($text, $configuration_information, 
$error_location_info)
+=item $registrar->line_warn($text, $configuration_information, 
$error_location_info, $continuation)
 
-=item $registrar->line_error($text, $configuration_information, 
$error_location_info)
+=item $registrar->line_error($text, $configuration_information, 
$error_location_info, $continuation)
 X<C<line_warn>>
 X<C<line_error>>
 
@@ -285,18 +303,23 @@ be setup to point to a file name, using the C<file_name> 
key and
 to a line number, using the C<line_nr> key.  The C<file_name> key value
 should be a binary string.
 
+The I<$continuation> optional arguments, if true, conveys that
+the line is a continuation line of a message.
+
 The I<source_info> key of Texinfo tree elements is described
 in more details in L<Texinfo::Parser/source_info>.
 
-=item $registrar->document_warn($configuration_information, $text)
+=item $registrar->document_warn($configuration_information, $text, 
$continuation)
 
-=item $registrar->document_error($configuration_information, $text)
+=item $registrar->document_error($configuration_information, $text, 
$continuation)
 X<C<document_warn>>
 X<C<document_error>>
 
 Register a document-wide error or warning.  I<$text> is the error or
 warning message.  The I<$configuration_information> object gives
 some information that can modify the messages or their delivery.
+The I<$continuation> optional arguments, if true, conveys that
+the line is a continuation line of a message.
 
 =back
 
diff --git a/tp/t/results/html_tests/redirection_same_labels.pl 
b/tp/t/results/html_tests/redirection_same_labels.pl
index db98c2436e..9590a26fe1 100644
--- a/tp/t/results/html_tests/redirection_same_labels.pl
+++ b/tp/t/results/html_tests/redirection_same_labels.pl
@@ -1794,4 +1794,46 @@ element: @chapter circumflex
   Up: @top the top
 ';
 
+$result_converted_errors{'file_html'}->{'redirection_same_labels'} = [
+  {
+    'error_line' => 'warning: @node `@"i\' file i.html for redirection exists
+',
+    'file_name' => '',
+    'line_nr' => 20,
+    'macro' => '',
+    'text' => '@node `@"i\' file i.html for redirection exists',
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => 'warning: conflict with @node `@^i\' redirection file
+',
+    'file_name' => '',
+    'line_nr' => 31,
+    'macro' => '',
+    'text' => 'conflict with @node `@^i\' redirection file',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: @node `@~{@dotless{i}}\' file i.html for 
redirection exists
+',
+    'file_name' => '',
+    'line_nr' => 22,
+    'macro' => '',
+    'text' => '@node `@~{@dotless{i}}\' file i.html for redirection exists',
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => 'warning: conflict with @node `@^i\' redirection file
+',
+    'file_name' => '',
+    'line_nr' => 31,
+    'macro' => '',
+    'text' => 'conflict with @node `@^i\' redirection file',
+    'type' => 'warning'
+  }
+];
+
+
 1;
diff --git a/tp/t/results/html_tests/redirection_same_labels/res_html/i.html 
b/tp/t/results/html_tests/redirection_same_labels/res_html/i.html
index c6505ed0fb..c4253e9c2b 100644
--- a/tp/t/results/html_tests/redirection_same_labels/res_html/i.html
+++ b/tp/t/results/html_tests/redirection_same_labels/res_html/i.html
@@ -4,19 +4,19 @@
 <!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>&#297; (the top)</title>
+<title>&icirc; (the top)</title>
 
-<meta name="description" content="&#297; (the top)">
-<meta name="keywords" content="&#297; (the top)">
+<meta name="description" content="&icirc; (the top)">
+<meta name="keywords" content="&icirc; (the top)">
 <meta name="resource-type" content="document">
 <meta name="distribution" content="global">
 
-<meta http-equiv="Refresh" content="0; url=umlaut.html#g_t_0129">
+<meta http-equiv="Refresh" content="0; url=circumflex.html#g_t_00ee">
 <meta name="viewport" content="width=device-width,initial-scale=1">
 
 </head>
 
 <body lang="en">
 
-<p>The node you are looking for is at <a 
href="umlaut.html#g_t_0129">&#297;</a>.</p>
+<p>The node you are looking for is at <a 
href="circumflex.html#g_t_00ee">&icirc;</a>.</p>
 </body>
diff --git a/tp/t/results/html_tests/transliterated_names_conflicts.pl 
b/tp/t/results/html_tests/transliterated_names_conflicts.pl
index ac4f31c82a..679f9fa644 100644
--- a/tp/t/results/html_tests/transliterated_names_conflicts.pl
+++ b/tp/t/results/html_tests/transliterated_names_conflicts.pl
@@ -1200,4 +1200,46 @@ element: @node Other node
   Up: @node Top
 ';
 
+$result_converted_errors{'file_html'}->{'transliterated_names_conflicts'} = [
+  {
+    'error_line' => "warning: \@float `Pr\x{e8}s' file Pres.html for 
redirection exists
+",
+    'file_name' => 'transliterated_names_conflicts.texi',
+    'line_nr' => 14,
+    'macro' => '',
+    'text' => "\@float `Pr\x{e8}s' file Pres.html for redirection exists",
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => "warning: conflict with \@node `Pr\x{e9}s' file
+",
+    'file_name' => 'transliterated_names_conflicts.texi',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => "conflict with \@node `Pr\x{e9}s' file",
+    'type' => 'warning'
+  },
+  {
+    'error_line' => "warning: \@anchor `Pr\x{ea}s' file Pres.html for 
redirection exists
+",
+    'file_name' => 'transliterated_names_conflicts.texi',
+    'line_nr' => 12,
+    'macro' => '',
+    'text' => "\@anchor `Pr\x{ea}s' file Pres.html for redirection exists",
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => "warning: conflict with \@node `Pr\x{e9}s' file
+",
+    'file_name' => 'transliterated_names_conflicts.texi',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => "conflict with \@node `Pr\x{e9}s' file",
+    'type' => 'warning'
+  }
+];
+
+
 1;
diff --git 
a/tp/t/results/html_tests/transliterated_names_conflicts/res_html/Pres.html 
b/tp/t/results/html_tests/transliterated_names_conflicts/res_html/Pres.html
index b5a90a8cf1..bf18d7e5b0 100644
--- a/tp/t/results/html_tests/transliterated_names_conflicts/res_html/Pres.html
+++ b/tp/t/results/html_tests/transliterated_names_conflicts/res_html/Pres.html
@@ -1,22 +1,36 @@
 <!DOCTYPE html>
 <html>
 <!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
-<!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>Prês (Same transliterated names)</title>
+<title>Prés (Same transliterated names)</title>
 
-<meta name="description" content="Prês (Same transliterated names)">
-<meta name="keywords" content="Prês (Same transliterated names)">
+<meta name="description" content="Prés (Same transliterated names)">
+<meta name="keywords" content="Prés (Same transliterated names)">
 <meta name="resource-type" content="document">
 <meta name="distribution" content="global">
-
-<meta http-equiv="Refresh" content="0; url=Other-node.html#Pr_00eas">
 <meta name="viewport" content="width=device-width,initial-scale=1">
 
+<link href="index.html" rel="start" title="Top">
+<link href="index.html" rel="up" title="Top">
+<link href="Other-node.html" rel="next" title="Other node">
+<link href="index.html" rel="prev" title="Top">
+
+
 </head>
 
 <body lang="en">
+<div class="chapter-level-extent" id="Pr_00e9s">
+<div class="nav-panel">
+<p>
+Next: <a href="Other-node.html" accesskey="n" rel="next">Other chapter</a>, 
Previous: <a href="index.html" accesskey="p" rel="prev">Same transliterated 
names</a>, Up: <a href="index.html" accesskey="u" rel="up">Same transliterated 
names</a> &nbsp; </p>
+</div>
+<hr>
+<h2 class="chapter" id="Pres">1 Prés</h2>
+
+</div>
+
+
 
-<p>The node you are looking for is at <a 
href="Other-node.html#Pr_00eas">Prês</a>.</p>
 </body>
+</html>
diff --git a/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl 
b/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl
index a3cccdedbe..7a62e99993 100644
--- a/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl
+++ b/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl
@@ -616,6 +616,7 @@ $result_errors{'equivalent_nodes_defined_linked'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
diff --git a/tp/t/results/sectioning/double_node_anchor_float.pl 
b/tp/t/results/sectioning/double_node_anchor_float.pl
index 1dec2054aa..d668637864 100644
--- a/tp/t/results/sectioning/double_node_anchor_float.pl
+++ b/tp/t/results/sectioning/double_node_anchor_float.pl
@@ -550,6 +550,7 @@ $result_errors{'double_node_anchor_float'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
@@ -568,6 +569,7 @@ $result_errors{'double_node_anchor_float'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
@@ -586,6 +588,7 @@ $result_errors{'double_node_anchor_float'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @anchor
 ',
     'file_name' => '',
@@ -604,6 +607,7 @@ $result_errors{'double_node_anchor_float'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
@@ -622,6 +626,7 @@ $result_errors{'double_node_anchor_float'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @anchor
 ',
     'file_name' => '',
@@ -640,6 +645,7 @@ $result_errors{'double_node_anchor_float'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @float
 ',
     'file_name' => '',
diff --git a/tp/t/results/sectioning/double_top.pl 
b/tp/t/results/sectioning/double_top.pl
index 3d3e87067d..29f86f00b7 100644
--- a/tp/t/results/sectioning/double_top.pl
+++ b/tp/t/results/sectioning/double_top.pl
@@ -228,6 +228,7 @@ $result_errors{'double_top'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
@@ -246,6 +247,7 @@ $result_errors{'double_top'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
diff --git a/tp/t/results/sectioning/double_top_in_menu.pl 
b/tp/t/results/sectioning/double_top_in_menu.pl
index 6a20c5c2d2..315c7e53d5 100644
--- a/tp/t/results/sectioning/double_top_in_menu.pl
+++ b/tp/t/results/sectioning/double_top_in_menu.pl
@@ -394,6 +394,7 @@ $result_errors{'double_top_in_menu'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => '',
diff --git a/tp/t/results/sectioning/reference_to_only_special_spaces_node.pl 
b/tp/t/results/sectioning/reference_to_only_special_spaces_node.pl
index 9b05288e2e..5c1c40cfeb 100644
--- a/tp/t/results/sectioning/reference_to_only_special_spaces_node.pl
+++ b/tp/t/results/sectioning/reference_to_only_special_spaces_node.pl
@@ -615,6 +615,7 @@ $result_errors{'reference_to_only_special_spaces_node'} = [
     'type' => 'error'
   },
   {
+    'continuation' => 1,
     'error_line' => 'here is the previous definition as @node
 ',
     'file_name' => 'reference_to_only_special_spaces_node.texi',



reply via email to

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