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 04:53:20 -0500 (EST)

branch: master
commit da17a2979b3a84e298188c350cb6cc66db35ef6e
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Jan 11 10:53:07 2023 +0100

    * tp/Texinfo/Convert/HTML.pm (output): add context for node
    and section names for redirection files conflicts for translation.
    
    * tp/Makefile.am (test_files), tp/Makefile.tres, tp/t/html_tests.t:
    add tests for different possibilities for file conflict with
    redirection files, file_name_conflict_with_section,
    filenameconflictwithnonsplit (which actually shows that there cannot
    be a conflict), file_name_conflict_with_user_defined.
---
 ChangeLog                                          |  11 +
 tp/Makefile.am                                     |   1 +
 tp/Makefile.tres                                   |   8 +
 tp/Texinfo/Convert/HTML.pm                         |  10 +-
 tp/t/html_tests.t                                  |  53 ++-
 .../redirection_file_collision_with_user_def.init  |  26 ++
 .../html_tests/file_name_conflict_with_Top.pl      | 338 +++++++++++++++
 .../res_html/Chapter.html                          |  35 ++
 .../res_html/index.html                            |  42 ++
 .../html_tests/file_name_conflict_with_section.pl  | 254 +++++++++++
 .../res_html/Chap.html                             |  32 ++
 .../res_html/index.html                            |  41 ++
 .../file_name_conflict_with_user_defined.pl        | 463 +++++++++++++++++++++
 .../res_html/Chapter-1.html                        |  41 ++
 .../res_html/Chapter-2.html                        |  22 +
 .../res_html/index.html                            |  42 ++
 .../res_html/myanchor.html                         |  38 ++
 .../html_tests/filenameconflictwithnonsplit.pl     | 194 +++++++++
 .../res_html/filenameconflictwithnonsplit.html     |  29 ++
 .../res_html/index.html                            |  22 +
 20 files changed, 1694 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3fcf749de2..e90e752e56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2023-01-11  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/HTML.pm (output): add context for node
+       and section names for redirection files conflicts for translation.
+
+       * tp/Makefile.am (test_files), tp/Makefile.tres, tp/t/html_tests.t:
+       add tests for different possibilities for file conflict with
+       redirection files, file_name_conflict_with_section,
+       filenameconflictwithnonsplit (which actually shows that there cannot
+       be a conflict), file_name_conflict_with_user_defined.
+
 2023-01-11  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Convert/HTML.pm: reindent, cut at 80 columns, remove
diff --git a/tp/Makefile.am b/tp/Makefile.am
index 6ef5887a6d..b41a1d8094 100644
--- a/tp/Makefile.am
+++ b/tp/Makefile.am
@@ -171,6 +171,7 @@ test_files = \
  t/init/misc_file_collision.init \
  t/init/only_toc_out.init \
  t/init/redefine_need.init \
+ t/init/redirection_file_collision_with_user_def.init
  t/init/special_element_customization.pm \
  t/init/t2h_singular.init \
  t/init/test_directions.init \
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index 61d88d6173..9c66904a88 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -557,6 +557,14 @@ test_files_generated_list = 
$(test_tap_files_generated_list) \
   t/results/html_tests/empty_lines_at_beginning_no_setfilename.pl \
   t/results/html_tests/empty_lines_at_beginning_no_setfilename_no_element.pl \
   t/results/html_tests/empty_titlefont.pl \
+  t/results/html_tests/file_name_conflict_with_Top.pl \
+  t/results/html_tests/file_name_conflict_with_Top/res_html \
+  t/results/html_tests/file_name_conflict_with_section.pl \
+  t/results/html_tests/file_name_conflict_with_section/res_html \
+  t/results/html_tests/file_name_conflict_with_user_defined.pl \
+  t/results/html_tests/file_name_conflict_with_user_defined/res_html \
+  t/results/html_tests/filenameconflictwithnonsplit.pl \
+  t/results/html_tests/filenameconflictwithnonsplit/res_html \
   t/results/html_tests/float_copying.pl \
   t/results/html_tests/float_copying/res_html \
   t/results/html_tests/footnotestyle_separate_html_text_no_monolithic.pl \
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 18fd2ec805..05183e2f6f 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -11155,6 +11155,10 @@ sub output($$)
               or $file_info_type eq 'stand_in_file') {
             my $name = $file_source->{'file_info_name'};
             if ($name eq 'non_split') {
+              # This cannot actually happen, as the @anchor/@node/@float
+              # with potentially conflicting name will also be in the
+              # non-split output document and therefore does not need
+              # a redirection.
               $self->document_warn($self,
                             __("conflict with whole document file"), 1);
             } elsif ($name eq 'Top') {
@@ -11173,7 +11177,8 @@ sub output($$)
           } elsif ($file_info_type eq 'node') {
             my $conflicting_node = $file_source->{'file_info_element'};
             $self->line_warn($self,
-               sprintf(__("conflict with \@%s `%s' file"),
+         sprintf(__p('conflict of redirection file with file based on node 
name',
+                     "conflict with \@%s `%s' file"),
                  $conflicting_node->{'cmdname'},
                  Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
                    => $conflicting_node->{'extra'}->{'node_content'}}),
@@ -11200,7 +11205,8 @@ sub output($$)
           } elsif ($file_info_type eq 'section') {
             my $conflicting_section = $file_source->{'file_info_element'};
             $self->line_warn($self,
-               sprintf(__("conflict with \@%s `%s' file"),
+         sprintf(__p('conflict of redirection file with file based on section 
name',
+                     "conflict with \@%s `%s' file"),
                  $conflicting_section->{'cmdname'},
                  Texinfo::Convert::Texinfo::convert_to_texinfo({'contents'
                    => $conflicting_section->{'args'}->[0]->{'contents'}}),
diff --git a/tp/t/html_tests.t b/tp/t/html_tests.t
index d0dd092380..de4e7183bf 100644
--- a/tp/t/html_tests.t
+++ b/tp/t/html_tests.t
@@ -752,6 +752,53 @@ my @file_tests = (
 
 @node @^i
 ', {'test_split' => 'section'}, {'SPLIT' => 'chapter'}],
+['transliterated_names_conflicts',
+  undef,
+  {'test_file' => 'transliterated_names_conflicts.texi',
+   'test_split' => 'node'},
+  {'SPLIT' => 'node'},
+],
+['file_name_conflict_with_section',
+'@node Top
+@top top
+@anchor{Chap}
+
+@chapter Chap
+', {},{'USE_NODES' => 0, 'SPLIT' => 'node'},
+],
+# this shows that a conflict cannot happen as the anchor with the
+# same name as the file is in the file
+['filenameconflictwithnonsplit',
+'@node Top
+@top top
+
+@anchor{filenameconflictwithnonsplit}
+
+', {}, {'SPLIT' => '', 'NODE_FILES' => 1}],
+['file_name_conflict_with_Top',
+'@node Top
+@top top
+
+@node Chapter
+@chapter Chap
+
+@anchor{index}
+', {}, {'SPLIT' => 'node'},
+],
+['file_name_conflict_with_user_defined',
+'@node Top
+@top top
+
+@node Chapter 1
+@chapter Chap 1
+
+@anchor{myanchor}
+
+@node Chapter 2
+@chapter Chap 2
+', {'init_files' => ['redirection_file_collision_with_user_def.init']},
+   {'SPLIT' => 'chapter'},
+],
 # NOTE the result is incorrect, the first footnote text is at the
 # end of the file but the link is towards the separate file.
 # The manual states that the footnotestyle should be in the preamble,
@@ -779,12 +826,6 @@ $itemize_arguments_text
 $itemize_arguments_text
 , {'ENABLE_ENCODING' => 1}, {'OUTPUT_CHARACTERS' => 1}
 ],
-['transliterated_names_conflicts',
-  undef,
-  {'test_file' => 'transliterated_names_conflicts.texi',
-   'test_split' => 'node'},
-  {'SPLIT' => 'node'},
-],
 ['check_htmlxref_no_use_nodes',
 $check_htmlxref_text
 , {}, {'CHECK_HTMLXREF' => 1, 'USE_NODES', 0}],
diff --git a/tp/t/init/redirection_file_collision_with_user_def.init 
b/tp/t/init/redirection_file_collision_with_user_def.init
new file mode 100644
index 0000000000..faa7c42be0
--- /dev/null
+++ b/tp/t/init/redirection_file_collision_with_user_def.init
@@ -0,0 +1,26 @@
+use strict;
+
+texinfo_register_file_id_setting_function('tree_unit_file_name',
+                                          
\&test_redirection_collision_file_name);
+
+sub test_redirection_collision_file_name($$$$)
+{
+  my $converter = shift;
+  my $element = shift;
+  my $filename = shift;
+  my $filepath = shift;
+
+  return ($filename, $filepath) if (defined($filepath));
+
+  my $extension = $converter->get_conf('EXTENSION');
+  my $extension_string = '';
+  if (defined($extension)) {
+    $extension_string = ".$extension";
+  }
+  if (!defined($filepath) and $filename eq 'Chapter-2'.$extension_string) {
+    return ('myanchor'.$extension_string, undef);
+  }
+  return (undef, undef);
+}
+
+1;
diff --git a/tp/t/results/html_tests/file_name_conflict_with_Top.pl 
b/tp/t/results/html_tests/file_name_conflict_with_Top.pl
new file mode 100644
index 0000000000..b3a00bea45
--- /dev/null
+++ b/tp/t/results/html_tests/file_name_conflict_with_Top.pl
@@ -0,0 +1,338 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'file_name_conflict_with_Top'} = {
+  'contents' => [
+    {
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 2,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Chapter'
+          }
+        ],
+        'normalized' => 'Chapter'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chap'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'index'
+                }
+              ],
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'anchor',
+          'extra' => {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'index'
+          },
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 7,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'spaces_after_close_brace'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 5,
+        'macro' => ''
+      }
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'file_name_conflict_with_Top'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_Top'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_Top'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_Top'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_Top'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_Top'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_Top'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_Top'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_Top'}{'contents'}[4]{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_Top'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0];
+
+$result_texis{'file_name_conflict_with_Top'} = '@node Top
+@top top
+
+@node Chapter
+@chapter Chap
+
+@anchor{index}
+';
+
+
+$result_texts{'file_name_conflict_with_Top'} = 'top
+***
+
+1 Chap
+******
+
+';
+
+$result_sectioning{'file_name_conflict_with_Top'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {},
+            'structure' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Chapter'
+                  },
+                  'info' => {},
+                  'structure' => {}
+                }
+              },
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_Top'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'file_name_conflict_with_Top'};
+
+$result_nodes{'file_name_conflict_with_Top'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'info' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'normalized' => 'Chapter'
+      },
+      'info' => {},
+      'structure' => {
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'file_name_conflict_with_Top'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'file_name_conflict_with_Top'};
+$result_nodes{'file_name_conflict_with_Top'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'file_name_conflict_with_Top'};
+
+$result_menus{'file_name_conflict_with_Top'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {}
+};
+
+$result_errors{'file_name_conflict_with_Top'} = [];
+
+
+$result_floats{'file_name_conflict_with_Top'} = {};
+
+
+$result_converted_errors{'file_html'}->{'file_name_conflict_with_Top'} = [
+  {
+    'error_line' => 'warning: @anchor `index\' file index.html for redirection 
exists
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '@anchor `index\' file index.html for redirection exists',
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => 'warning: conflict with Top file
+',
+    'text' => 'conflict with Top file',
+    'type' => 'warning'
+  }
+];
+
+
+1;
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_Top/res_html/Chapter.html 
b/tp/t/results/html_tests/file_name_conflict_with_Top/res_html/Chapter.html
new file mode 100644
index 0000000000..03190063b2
--- /dev/null
+++ b/tp/t/results/html_tests/file_name_conflict_with_Top/res_html/Chapter.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Chapter (top)</title>
+
+<meta name="description" content="Chapter (top)">
+<meta name="keywords" content="Chapter (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<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="index.html" rel="prev" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Chapter">
+<div class="nav-panel">
+<p>
+Previous: <a href="index.html" accesskey="p" rel="prev">top</a>, Up: <a 
href="index.html" accesskey="u" rel="up">top</a> &nbsp; </p>
+</div>
+<hr>
+<h2 class="chapter" id="Chap">1 Chap</h2>
+
+<a class="anchor" id="index"></a></div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_Top/res_html/index.html 
b/tp/t/results/html_tests/file_name_conflict_with_Top/res_html/index.html
new file mode 100644
index 0000000000..e0aa33c655
--- /dev/null
+++ b/tp/t/results/html_tests/file_name_conflict_with_Top/res_html/index.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Top (top)</title>
+
+<meta name="description" content="Top (top)">
+<meta name="keywords" content="Top (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<link href="Chapter.html" rel="next" title="Chapter">
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="Chapter.html" accesskey="n" rel="next">Chap</a> &nbsp; </p>
+</div>
+<hr>
+<h1 class="top" id="top">top</h1>
+
+<ul class="mini-toc">
+<li><a href="Chapter.html" accesskey="1">Chap</a></li>
+</ul>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="Chapter.html" accesskey="n" rel="next">Chap</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/tp/t/results/html_tests/file_name_conflict_with_section.pl 
b/tp/t/results/html_tests/file_name_conflict_with_section.pl
new file mode 100644
index 0000000000..2e00e9583f
--- /dev/null
+++ b/tp/t/results/html_tests/file_name_conflict_with_section.pl
@@ -0,0 +1,254 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'file_name_conflict_with_section'} = {
+  'contents' => [
+    {
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'Chap'
+                }
+              ],
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'anchor',
+          'extra' => {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Chap'
+          },
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 3,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'spaces_after_close_brace'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 2,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chap'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 5,
+        'macro' => ''
+      }
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'file_name_conflict_with_section'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_section'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_section'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_section'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_section'}{'contents'}[2]{'contents'}[0]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_section'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0];
+
+$result_texis{'file_name_conflict_with_section'} = '@node Top
+@top top
+@anchor{Chap}
+
+@chapter Chap
+';
+
+
+$result_texts{'file_name_conflict_with_section'} = 'top
+***
+
+1 Chap
+******
+';
+
+$result_sectioning{'file_name_conflict_with_section'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_section'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'file_name_conflict_with_section'};
+
+$result_nodes{'file_name_conflict_with_section'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {}
+};
+
+$result_menus{'file_name_conflict_with_section'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {}
+};
+
+$result_errors{'file_name_conflict_with_section'} = [];
+
+
+$result_floats{'file_name_conflict_with_section'} = {};
+
+
+$result_converted_errors{'file_html'}->{'file_name_conflict_with_section'} = [
+  {
+    'error_line' => 'warning: @anchor `Chap\' file Chap.html for redirection 
exists
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => '@anchor `Chap\' file Chap.html for redirection exists',
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => 'warning: conflict with @chapter `Chap\' file
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => 'conflict with @chapter `Chap\' file',
+    'type' => 'warning'
+  }
+];
+
+
+1;
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_section/res_html/Chap.html 
b/tp/t/results/html_tests/file_name_conflict_with_section/res_html/Chap.html
new file mode 100644
index 0000000000..269b297618
--- /dev/null
+++ b/tp/t/results/html_tests/file_name_conflict_with_section/res_html/Chap.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>1 Chap (top)</title>
+
+<meta name="description" content="1 Chap (top)">
+<meta name="keywords" content="1 Chap (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="top">
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Chap-1">
+<div class="nav-panel">
+<p>
+ Up : <a href="index.html" accesskey="u" rel="up">top</a> &nbsp; </p>
+</div>
+<hr>
+<h2 class="chapter">1 Chap</h2>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_section/res_html/index.html 
b/tp/t/results/html_tests/file_name_conflict_with_section/res_html/index.html
new file mode 100644
index 0000000000..a159d6ebe1
--- /dev/null
+++ 
b/tp/t/results/html_tests/file_name_conflict_with_section/res_html/index.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>top</title>
+
+<meta name="description" content="top">
+<meta name="keywords" content="top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="top">
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+ &nbsp; </p>
+</div>
+<hr>
+<h1 class="top" id="top">top</h1>
+<a class="anchor" id="Chap"></a>
+<ul class="mini-toc">
+<li><a href="Chap.html" accesskey="1">Chap</a></li>
+</ul>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+ &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/tp/t/results/html_tests/file_name_conflict_with_user_defined.pl 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined.pl
new file mode 100644
index 0000000000..674f0e8e44
--- /dev/null
+++ b/tp/t/results/html_tests/file_name_conflict_with_user_defined.pl
@@ -0,0 +1,463 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'file_name_conflict_with_user_defined'} = {
+  'contents' => [
+    {
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 2,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chapter 1'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Chapter-1'
+          }
+        ],
+        'normalized' => 'Chapter-1'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chap 1'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'myanchor'
+                }
+              ],
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'anchor',
+          'extra' => {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'myanchor'
+          },
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 7,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'spaces_after_close_brace'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 5,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chapter 2'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Chapter-2'
+          }
+        ],
+        'normalized' => 'Chapter-2'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 9,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chap 2'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 10,
+        'macro' => ''
+      }
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[4]{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[5]{'extra'}{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[5]{'args'}[0]{'contents'}[0];
+$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[5]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'file_name_conflict_with_user_defined'}{'contents'}[5]{'args'}[0]{'contents'}[0];
+
+$result_texis{'file_name_conflict_with_user_defined'} = '@node Top
+@top top
+
+@node Chapter 1
+@chapter Chap 1
+
+@anchor{myanchor}
+
+@node Chapter 2
+@chapter Chap 2
+';
+
+
+$result_texts{'file_name_conflict_with_user_defined'} = 'top
+***
+
+1 Chap 1
+********
+
+
+2 Chap 2
+********
+';
+
+$result_sectioning{'file_name_conflict_with_user_defined'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {},
+            'structure' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Chapter-1'
+                  },
+                  'info' => {},
+                  'structure' => {}
+                }
+              },
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            },
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Chapter-2'
+                  },
+                  'info' => {},
+                  'structure' => {}
+                }
+              },
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 2,
+                'section_prev' => {},
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'file_name_conflict_with_user_defined'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'file_name_conflict_with_user_defined'};
+
+$result_nodes{'file_name_conflict_with_user_defined'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'info' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'normalized' => 'Chapter-1'
+      },
+      'info' => {},
+      'structure' => {
+        'node_next' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'associated_section' => {
+              'cmdname' => 'chapter',
+              'extra' => {},
+              'info' => {},
+              'structure' => {
+                'section_number' => 2
+              }
+            },
+            'normalized' => 'Chapter-2'
+          },
+          'info' => {},
+          'structure' => {
+            'node_prev' => {},
+            'node_up' => {}
+          }
+        },
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'file_name_conflict_with_user_defined'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = 
$result_nodes{'file_name_conflict_with_user_defined'}{'structure'}{'node_next'};
+$result_nodes{'file_name_conflict_with_user_defined'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'file_name_conflict_with_user_defined'};
+$result_nodes{'file_name_conflict_with_user_defined'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'file_name_conflict_with_user_defined'};
+$result_nodes{'file_name_conflict_with_user_defined'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'file_name_conflict_with_user_defined'};
+
+$result_menus{'file_name_conflict_with_user_defined'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {}
+};
+
+$result_errors{'file_name_conflict_with_user_defined'} = [];
+
+
+$result_floats{'file_name_conflict_with_user_defined'} = {};
+
+
+$result_converted_errors{'file_html'}->{'file_name_conflict_with_user_defined'}
 = [
+  {
+    'error_line' => 'warning: @anchor `myanchor\' file myanchor.html for 
redirection exists
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '@anchor `myanchor\' file myanchor.html for redirection exists',
+    'type' => 'warning'
+  },
+  {
+    'continuation' => 1,
+    'error_line' => 'warning: conflict with user-defined file
+',
+    'text' => 'conflict with user-defined file',
+    'type' => 'warning'
+  }
+];
+
+
+1;
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/Chapter-1.html
 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/Chapter-1.html
new file mode 100644
index 0000000000..658e841221
--- /dev/null
+++ 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/Chapter-1.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Chapter 1 (top)</title>
+
+<meta name="description" content="Chapter 1 (top)">
+<meta name="keywords" content="Chapter 1 (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<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="myanchor.html" rel="next" title="Chapter 2">
+<link href="index.html" rel="prev" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Chapter-1">
+<div class="nav-panel">
+<p>
+Next: <a href="myanchor.html" accesskey="n" rel="next">Chap 2</a>, Previous: 
<a href="index.html" accesskey="p" rel="prev">top</a>, Up: <a href="index.html" 
accesskey="u" rel="up">top</a> &nbsp; </p>
+</div>
+<h2 class="chapter" id="Chap-1">1 Chap 1</h2>
+
+<a class="anchor" id="myanchor"></a>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="myanchor.html" accesskey="n" rel="next">Chap 2</a>, Previous: 
<a href="index.html" accesskey="p" rel="prev">top</a>, Up: <a href="index.html" 
accesskey="u" rel="up">top</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/Chapter-2.html
 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/Chapter-2.html
new file mode 100644
index 0000000000..475a4199be
--- /dev/null
+++ 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/Chapter-2.html
@@ -0,0 +1,22 @@
+<!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>Chapter 2 (top)</title>
+
+<meta name="description" content="Chapter 2 (top)">
+<meta name="keywords" content="Chapter 2 (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+
+<meta http-equiv="Refresh" content="0; url=myanchor.html#Chapter-2">
+<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="myanchor.html#Chapter-2">Chapter 2</a>.</p>
+</body>
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/index.html
 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/index.html
new file mode 100644
index 0000000000..1ada25025f
--- /dev/null
+++ 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/index.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Top (top)</title>
+
+<meta name="description" content="Top (top)">
+<meta name="keywords" content="Top (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<link href="Chapter-1.html" rel="next" title="Chapter 1">
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="Chapter-1.html" accesskey="n" rel="next">Chap 1</a> &nbsp; </p>
+</div>
+<h1 class="top" id="top">top</h1>
+
+<ul class="mini-toc">
+<li><a href="Chapter-1.html" accesskey="1">Chap 1</a></li>
+<li><a href="myanchor.html" accesskey="2">Chap 2</a></li>
+</ul>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="Chapter-1.html" accesskey="n" rel="next">Chap 1</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/myanchor.html
 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/myanchor.html
new file mode 100644
index 0000000000..43d74cf963
--- /dev/null
+++ 
b/tp/t/results/html_tests/file_name_conflict_with_user_defined/res_html/myanchor.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Chapter 2 (top)</title>
+
+<meta name="description" content="Chapter 2 (top)">
+<meta name="keywords" content="Chapter 2 (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<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="Chapter-1.html" rel="prev" title="Chapter 1">
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Chapter-2">
+<div class="nav-panel">
+<p>
+Previous: <a href="Chapter-1.html" accesskey="p" rel="prev">Chap 1</a>, Up: <a 
href="index.html" accesskey="u" rel="up">top</a> &nbsp; </p>
+</div>
+<h2 class="chapter" id="Chap-2">2 Chap 2</h2>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Previous: <a href="Chapter-1.html" accesskey="p" rel="prev">Chap 1</a>, Up: <a 
href="index.html" accesskey="u" rel="up">top</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/tp/t/results/html_tests/filenameconflictwithnonsplit.pl 
b/tp/t/results/html_tests/filenameconflictwithnonsplit.pl
new file mode 100644
index 0000000000..736e841952
--- /dev/null
+++ b/tp/t/results/html_tests/filenameconflictwithnonsplit.pl
@@ -0,0 +1,194 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'filenameconflictwithnonsplit'} = {
+  'contents' => [
+    {
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'filenameconflictwithnonsplit'
+                }
+              ],
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'anchor',
+          'extra' => {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'filenameconflictwithnonsplit'
+          },
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 4,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'spaces_after_close_brace'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 2,
+        'macro' => ''
+      }
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'filenameconflictwithnonsplit'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'filenameconflictwithnonsplit'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'filenameconflictwithnonsplit'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'filenameconflictwithnonsplit'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'filenameconflictwithnonsplit'}{'contents'}[2]{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'filenameconflictwithnonsplit'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
+
+$result_texis{'filenameconflictwithnonsplit'} = '@node Top
+@top top
+
+@anchor{filenameconflictwithnonsplit}
+
+';
+
+
+$result_texts{'filenameconflictwithnonsplit'} = 'top
+***
+
+
+';
+
+$result_sectioning{'filenameconflictwithnonsplit'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'filenameconflictwithnonsplit'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'filenameconflictwithnonsplit'};
+
+$result_nodes{'filenameconflictwithnonsplit'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {}
+};
+
+$result_menus{'filenameconflictwithnonsplit'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {}
+};
+
+$result_errors{'filenameconflictwithnonsplit'} = [];
+
+
+$result_floats{'filenameconflictwithnonsplit'} = {};
+
+
+1;
diff --git 
a/tp/t/results/html_tests/filenameconflictwithnonsplit/res_html/filenameconflictwithnonsplit.html
 
b/tp/t/results/html_tests/filenameconflictwithnonsplit/res_html/filenameconflictwithnonsplit.html
new file mode 100644
index 0000000000..0b62d9f4b4
--- /dev/null
+++ 
b/tp/t/results/html_tests/filenameconflictwithnonsplit/res_html/filenameconflictwithnonsplit.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>top</title>
+
+<meta name="description" content="top">
+<meta name="keywords" content="top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="top">top</h1>
+
+<a class="anchor" id="filenameconflictwithnonsplit"></a>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/html_tests/filenameconflictwithnonsplit/res_html/index.html 
b/tp/t/results/html_tests/filenameconflictwithnonsplit/res_html/index.html
new file mode 100644
index 0000000000..e743d7451f
--- /dev/null
+++ b/tp/t/results/html_tests/filenameconflictwithnonsplit/res_html/index.html
@@ -0,0 +1,22 @@
+<!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>Top (top)</title>
+
+<meta name="description" content="Top (top)">
+<meta name="keywords" content="Top (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+
+<meta http-equiv="Refresh" content="0; 
url=filenameconflictwithnonsplit.html#Top">
+<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="filenameconflictwithnonsplit.html#Top">Top</a>.</p>
+</body>



reply via email to

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