[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> </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> </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> </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> </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>
+ </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>
+ </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> </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> </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> </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> </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> </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> </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>