[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Mon, 4 Dec 2023 18:42:14 -0500 (EST) |
branch: master
commit f4c3b703190d46eb0d44ccd23d39788d98dcb4ab
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Dec 4 23:38:16 2023 +0100
* tp/Texinfo/Convert/HTML.pm (command_tree): copy tree in substituted
strings in argument of gdt to obtain the same output as with XS code.
* tp/Texinfo/Convert/HTML.pm (_convert_heading_command): fix code
setting expanded_format_raw sared state.
* tp/Texinfo/Convert/HTML.pm (_convert_heading_command): rearrange
code, defining @heading_classes only where it is used.
* tp/Texinfo/Convert/HTML.pm (_external_node_href): tighten the regexp
used to remove inf or info extension. Rename $href as $htmlxref_href.
Move code.
* tp/Texinfo/Convert/HTML.pm (_mini_toc): remove useless code.
* tp/t/html_tests.t ($check_htmlxref_text): add test of .inf as manual
name extension.
---
ChangeLog | 20 ++++++
tp/TODO | 4 ++
tp/Texinfo/Convert/HTML.pm | 68 ++++++++++----------
tp/t/html_tests.t | 2 +
.../html_tests/acronym_in_node_and_section.pl | 2 +-
tp/t/results/html_tests/check_htmlxref.pl | 74 +++++++++++++++++++++-
.../html_tests/check_htmlxref_ignore_ref_top_up.pl | 74 +++++++++++++++++++++-
tp/t/results/html_tests/check_htmlxref_menu.pl | 70 ++++++++++++++++++++
.../check_htmlxref_menu/res_html/chapter.html | 4 +-
.../html_tests/check_htmlxref_no_use_nodes.pl | 70 ++++++++++++++++++++
.../html_tests/headings_after_lone_nodes.pl | 3 +-
11 files changed, 354 insertions(+), 37 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 8998410e0f..a105ffe39b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2023-12-04 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/Convert/HTML.pm (command_tree): copy tree in substituted
+ strings in argument of gdt to obtain the same output as with XS code.
+
+ * tp/Texinfo/Convert/HTML.pm (_convert_heading_command): fix code
+ setting expanded_format_raw sared state.
+
+ * tp/Texinfo/Convert/HTML.pm (_convert_heading_command): rearrange
+ code, defining @heading_classes only where it is used.
+
+ * tp/Texinfo/Convert/HTML.pm (_external_node_href): tighten the regexp
+ used to remove inf or info extension. Rename $href as $htmlxref_href.
+ Move code.
+
+ * tp/Texinfo/Convert/HTML.pm (_mini_toc): remove useless code.
+
+ * tp/t/html_tests.t ($check_htmlxref_text): add test of .inf as manual
+ name extension.
+
2023-12-02 Gavin Smith <gavinsmith0123@gmail.com>
* tp/Texinfo/Convert/Plaintext.pm (node_line): Rename to
diff --git a/tp/TODO b/tp/TODO
index fae66ba51e..c1b797ba16 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -10,6 +10,10 @@ This is the todo list for texi2any
Before next release
===================
+it is not documented that .info or .inf at the end of the @ref file name
argument of the source cross reference command is ignored when doing the HTML
cross ref.
+in HTML Cross-reference Link Basics:
+Any directory part in the file name argument of the source cross reference
command is ignored. Thus, @xref{,,,../foo} and @xref{,,,foo} both use ‘foo’ as
the manual name. This is because any such attempted hardwiring of the directory
is very unlikely to be useful for all the output formats that use the manual
name.
+
Document that Texinfo::Document::rebuild_document or
Texinfo::Document::rebuild_tree should be called after tree modifications
if the parser is XS but converters are perl.
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 85ddaf2ecf..0b15ce89d1 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -1211,7 +1211,8 @@ sub command_tree($$;$)
or !defined($self->get_conf('NUMBER_SECTIONS')))) {
my $substituted_strings
= {'number' => {'text' => $section_number},
- 'section_title' => $command->{'args'}->[0]};
+ 'section_title'
+ => Texinfo::Common::copy_treeNonXS($command->{'args'}->[0])};
if ($command->{'cmdname'} eq 'appendix'
and $command->{'extra'}->{'section_level'} == 1) {
@@ -4461,16 +4462,15 @@ sub _convert_heading_command($$$$$)
}
}
- my @heading_classes;
my $level_corrected_cmdname = $cmdname;
+ my $level_set_class;
if ($element->{'extra'}
and defined $element->{'extra'}->{'section_level'}) {
# if the level was changed, use a consistent command name
$level_corrected_cmdname
= Texinfo::Structuring::section_level_adjusted_command_name($element);
if ($level_corrected_cmdname ne $cmdname) {
- push @heading_classes,
- "${cmdname}-level-set-${level_corrected_cmdname}";
+ $level_set_class = "${cmdname}-level-set-${level_corrected_cmdname}";
}
}
@@ -4523,11 +4523,12 @@ sub _convert_heading_command($$$$$)
if ($self->get_conf('USE_NEXT_HEADING_FOR_LONE_NODE')) {
my $expanded_format_raw
= $self->shared_conversion_state('expanded_format_raw', {});
+
# if no format is expanded, the formats will be checked each time
# but this is very unlikely, as html is always expanded.
- if (length(keys(%$expanded_format_raw)) == 0) {
+ if (scalar(keys(%$expanded_format_raw)) == 0) {
foreach my $output_format_command
- (keys(%Texinfo::Comon::texinfo_output_formats)) {
+ (keys(%Texinfo::Common::texinfo_output_formats)) {
if ($self->is_format_expanded($output_format_command)) {
$expanded_format_raw->{$output_format_command} = 1;
}
@@ -4604,8 +4605,11 @@ sub _convert_heading_command($$$$$)
}
}
- my $heading_class = $level_corrected_cmdname;
- unshift @heading_classes, $heading_class;
+ my @heading_classes;
+ push @heading_classes, $level_corrected_cmdname;
+ if (defined($level_set_class)) {
+ push @heading_classes, $level_set_class;
+ }
if (in_preformatted_context($self)) {
my $id_str = '';
if (defined($heading_id)) {
@@ -8000,6 +8004,8 @@ sub _parse_htmlxref_files($$)
$href =~ s/\/*$// if ($split_or_mono ne 'mono');
}
$htmlxref->{$manual} = {} if (!$htmlxref->{$manual});
+ # $href can be undef if the htmlxref part is missing on the line.
+ # TODO warn?
$htmlxref->{$manual}->{$split_or_mono} = $href;
}
if (!close (HTMLXREF)) {
@@ -10169,18 +10175,19 @@ sub _external_node_href($$$;$)
}
}
my $manual_base = $manual_name;
- $manual_base =~ s/\.info*$//;
+ $manual_base =~ s/\.info?$//;
$manual_base =~ s/^.*\///;
- my $document_split = $self->get_conf('SPLIT');
- $document_split = 'mono' if (!$document_split);
my $split_found;
- my $href;
+ my $htmlxref_href;
my $htmlxref_info = $self->{'htmlxref'}->{$manual_base};
if ($htmlxref_info) {
+ my $document_split = $self->get_conf('SPLIT');
+ $document_split = 'mono' if (!$document_split);
foreach my $split_ordered (@{$htmlxref_entries{$document_split}}) {
if (defined($htmlxref_info->{$split_ordered})) {
$split_found = $split_ordered;
- $href =
$self->url_protect_url_text($htmlxref_info->{$split_ordered});
+ $htmlxref_href
+ = $self->url_protect_url_text($htmlxref_info->{$split_ordered});
last;
}
}
@@ -10214,33 +10221,34 @@ sub _external_node_href($$$;$)
}
if ($target_split) {
- if (defined($href)) {
- $directory = $href;
+ if (defined($htmlxref_href)) {
+ $directory = $htmlxref_href;
} else {
- my $manual_dir = $manual_base;
- if (defined($self->{'output_format'}) and $self->{'output_format'} ne
'') {
- $manual_dir .= '_'.$self->{'output_format'};
- }
if (defined($self->get_conf('EXTERNAL_DIR'))) {
- $directory = $self->get_conf('EXTERNAL_DIR')."/$manual_dir";
+ $directory = $self->get_conf('EXTERNAL_DIR')."/$manual_base";
} elsif ($self->get_conf('SPLIT')) {
- $directory = "../$manual_dir";
+ $directory = "../$manual_base";
+ }
+ if (defined($self->{'output_format'})
+ and $self->{'output_format'} ne '') {
+ $directory .= '_'.$self->{'output_format'};
}
$directory = $self->url_protect_file_text($directory);
}
$directory .= "/";
} else {# target not split
- if (defined($href)) {
- $file = $href;
+ if (defined($htmlxref_href)) {
+ $file = $htmlxref_href;
} else {
- my $manual_file_name = $manual_base . $external_file_extension;
if (defined($self->get_conf('EXTERNAL_DIR'))) {
- $file = $self->get_conf('EXTERNAL_DIR')."/$manual_file_name";
+ $file = $self->get_conf('EXTERNAL_DIR')."/$manual_base";
} elsif ($self->get_conf('SPLIT')) {
- $file = "../$manual_file_name";
+ $file = "../$manual_base";
} else {
- $file = $manual_file_name;
+ $file = $manual_base;
}
+ $file .= $external_file_extension;
+
$file = $self->url_protect_file_text($file);
}
}
@@ -10318,11 +10326,7 @@ sub _mini_toc
my $href = $self->command_href($section);
if ($text ne '') {
if ($href ne '') {
- my $href_attribute = '';
- if ($href ne '') {
- $href_attribute = " href=\"$href\"";
- }
- $result .= "<li><a${href_attribute}$accesskey>$text</a>";
+ $result .= "<li><a href=\"$href\"$accesskey>$text</a>";
} else {
$result .= "<li>$text";
}
diff --git a/tp/t/html_tests.t b/tp/t/html_tests.t
index db8c34e9f0..a817495741 100644
--- a/tp/t/html_tests.t
+++ b/tp/t/html_tests.t
@@ -176,6 +176,8 @@ my $check_htmlxref_text = '
@node chapter, (chap_not_existing), (dir)node in dir
@chapter Chapter
+
+@xref{(some_name_inf.inf)aa}.
';
my $top_node_up_implicit_text = '@node Top
diff --git a/tp/t/results/html_tests/acronym_in_node_and_section.pl
b/tp/t/results/html_tests/acronym_in_node_and_section.pl
index 7328bea33f..bc1536fc84 100644
--- a/tp/t/results/html_tests/acronym_in_node_and_section.pl
+++ b/tp/t/results/html_tests/acronym_in_node_and_section.pl
@@ -697,7 +697,7 @@ Next: <a href="#sec-here-is-GHJ" accesskey="n"
rel="next">here is <abbr class="a
<p>
Previous: <a href="#sec-define" accesskey="p" rel="prev">define</a>, Up: <a
href="#chap" accesskey="u" rel="up">chap</a> </p>
</div>
-<h3 class="section" id="here-is-GHJ"><span>1.2 here is <abbr
class="acronym">GHJ</abbr><a class="copiable-link" href="#here-is-GHJ">
¶</a></span></h3>
+<h3 class="section" id="here-is-GHJ"><span>1.2 here is <abbr class="acronym"
title="Good Hypo Jolly">GHJ</abbr><a class="copiable-link" href="#here-is-GHJ">
¶</a></span></h3>
<p>In text <abbr class="acronym" title="Good Hypo Jolly">GHJ</abbr>.
</p></div>
diff --git a/tp/t/results/html_tests/check_htmlxref.pl
b/tp/t/results/html_tests/check_htmlxref.pl
index 5d657cb2e1..6d8dcf232a 100644
--- a/tp/t/results/html_tests/check_htmlxref.pl
+++ b/tp/t/results/html_tests/check_htmlxref.pl
@@ -685,6 +685,61 @@ $result_trees{'check_htmlxref'} = {
}
],
'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '('
+ },
+ {
+ 'text' => 'some_name_inf.inf'
+ },
+ {
+ 'text' => ')'
+ },
+ {
+ 'text' => 'aa'
+ }
+ ],
+ 'extra' => {
+ 'manual_content' => {
+ 'contents' => [
+ {}
+ ]
+ },
+ 'node_content' => {
+ 'contents' => [
+ {}
+ ]
+ }
+ },
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'xref',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '.
+'
+ }
+ ],
+ 'type' => 'paragraph'
+ }
+ ],
'extra' => {
'section_number' => '1'
},
@@ -714,6 +769,8 @@
$result_trees{'check_htmlxref'}{'contents'}[3]{'args'}[1]{'extra'}{'manual_conte
$result_trees{'check_htmlxref'}{'contents'}[4]{'args'}[1]{'extra'}{'manual_content'}{'contents'}[0]
= $result_trees{'check_htmlxref'}{'contents'}[4]{'args'}[1]{'contents'}[1];
$result_trees{'check_htmlxref'}{'contents'}[4]{'args'}[2]{'extra'}{'manual_content'}{'contents'}[0]
= $result_trees{'check_htmlxref'}{'contents'}[4]{'args'}[2]{'contents'}[1];
$result_trees{'check_htmlxref'}{'contents'}[4]{'args'}[2]{'extra'}{'node_content'}{'contents'}[0]
= $result_trees{'check_htmlxref'}{'contents'}[4]{'args'}[2]{'contents'}[3];
+$result_trees{'check_htmlxref'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'check_htmlxref'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[3];
$result_texis{'check_htmlxref'} = '
@node Top, (../there/no_existing_no_manual_direction), first, (dir)
@@ -732,6 +789,8 @@ $result_texis{'check_htmlxref'} = '
@node chapter, (chap_not_existing), (dir)node in dir
@chapter Chapter
+
+@xref{(some_name_inf.inf)aa}.
';
@@ -749,6 +808,8 @@ a
1 Chapter
*********
+
+(some_name_inf.inf)aa.
';
$result_sectioning{'check_htmlxref'} = {
@@ -967,7 +1028,9 @@ Next: <a href="no_existing_no_manual.html#Top"
accesskey="n" rel="next">(no_exis
Next: <a href="chap_not_existing.html#Top" accesskey="n"
rel="next">(chap_not_existing)</a>, Previous: <a href="dir.html#node-in-dir"
accesskey="p" rel="prev">(dir)node in dir</a> </p>
</div>
<h2 class="chapter" id="Chapter"><span>1 Chapter<a class="copiable-link"
href="#Chapter"> ¶</a></span></h2>
-</div>
+
+<p>See <a data-manual="some_name_inf.inf"
href="some_name_inf.html#aa">(some_name_inf.inf)aa</a>.
+</p></div>
</div>
@@ -1039,6 +1102,15 @@ $result_converted_errors{'html'}->{'check_htmlxref'} = [
'macro' => '',
'text' => 'no htmlxref.cnf entry found for `dir\'',
'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: no htmlxref.cnf entry found for
`some_name_inf.inf\'
+',
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => '',
+ 'text' => 'no htmlxref.cnf entry found for `some_name_inf.inf\'',
+ 'type' => 'warning'
}
];
diff --git a/tp/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
b/tp/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
index 7756eabe8e..a785172b0e 100644
--- a/tp/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
+++ b/tp/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
@@ -685,6 +685,61 @@ $result_trees{'check_htmlxref_ignore_ref_top_up'} = {
}
],
'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '('
+ },
+ {
+ 'text' => 'some_name_inf.inf'
+ },
+ {
+ 'text' => ')'
+ },
+ {
+ 'text' => 'aa'
+ }
+ ],
+ 'extra' => {
+ 'manual_content' => {
+ 'contents' => [
+ {}
+ ]
+ },
+ 'node_content' => {
+ 'contents' => [
+ {}
+ ]
+ }
+ },
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'xref',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '.
+'
+ }
+ ],
+ 'type' => 'paragraph'
+ }
+ ],
'extra' => {
'section_number' => '1'
},
@@ -714,6 +769,8 @@
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[3]{'args'}[1]{'ext
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[4]{'args'}[1]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[4]{'args'}[1]{'contents'}[1];
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[4]{'args'}[2]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[4]{'args'}[2]{'contents'}[1];
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[4]{'args'}[2]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[4]{'args'}[2]{'contents'}[3];
+$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_ignore_ref_top_up'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[3];
$result_texis{'check_htmlxref_ignore_ref_top_up'} = '
@node Top, (../there/no_existing_no_manual_direction), first, (dir)
@@ -732,6 +789,8 @@ $result_texis{'check_htmlxref_ignore_ref_top_up'} = '
@node chapter, (chap_not_existing), (dir)node in dir
@chapter Chapter
+
+@xref{(some_name_inf.inf)aa}.
';
@@ -749,6 +808,8 @@ a
1 Chapter
*********
+
+(some_name_inf.inf)aa.
';
$result_sectioning{'check_htmlxref_ignore_ref_top_up'} = {
@@ -967,7 +1028,9 @@ Next: <a href="no_existing_no_manual.html#Top"
accesskey="n" rel="next">(no_exis
Next: <a href="chap_not_existing.html#Top" accesskey="n"
rel="next">(chap_not_existing)</a>, Previous: <a href="dir.html#node-in-dir"
accesskey="p" rel="prev">(dir)node in dir</a> </p>
</div>
<h2 class="chapter" id="Chapter"><span>1 Chapter<a class="copiable-link"
href="#Chapter"> ¶</a></span></h2>
-</div>
+
+<p>See <a data-manual="some_name_inf.inf"
href="some_name_inf.html#aa">(some_name_inf.inf)aa</a>.
+</p></div>
</div>
@@ -1030,6 +1093,15 @@
$result_converted_errors{'html'}->{'check_htmlxref_ignore_ref_top_up'} = [
'macro' => '',
'text' => 'no htmlxref.cnf entry found for `dir\'',
'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: no htmlxref.cnf entry found for
`some_name_inf.inf\'
+',
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => '',
+ 'text' => 'no htmlxref.cnf entry found for `some_name_inf.inf\'',
+ 'type' => 'warning'
}
];
diff --git a/tp/t/results/html_tests/check_htmlxref_menu.pl
b/tp/t/results/html_tests/check_htmlxref_menu.pl
index c515b8c3b5..d9b9087bd1 100644
--- a/tp/t/results/html_tests/check_htmlxref_menu.pl
+++ b/tp/t/results/html_tests/check_htmlxref_menu.pl
@@ -693,6 +693,61 @@ $result_trees{'check_htmlxref_menu'} = {
}
],
'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '('
+ },
+ {
+ 'text' => 'some_name_inf.inf'
+ },
+ {
+ 'text' => ')'
+ },
+ {
+ 'text' => 'aa'
+ }
+ ],
+ 'extra' => {
+ 'manual_content' => {
+ 'contents' => [
+ {}
+ ]
+ },
+ 'node_content' => {
+ 'contents' => [
+ {}
+ ]
+ }
+ },
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'xref',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '.
+'
+ }
+ ],
+ 'type' => 'paragraph'
+ }
+ ],
'extra' => {
'section_number' => '1'
},
@@ -722,6 +777,8 @@
$result_trees{'check_htmlxref_menu'}{'contents'}[3]{'args'}[1]{'extra'}{'manual_
$result_trees{'check_htmlxref_menu'}{'contents'}[4]{'args'}[1]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_menu'}{'contents'}[4]{'args'}[1]{'contents'}[1];
$result_trees{'check_htmlxref_menu'}{'contents'}[4]{'args'}[2]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_menu'}{'contents'}[4]{'args'}[2]{'contents'}[1];
$result_trees{'check_htmlxref_menu'}{'contents'}[4]{'args'}[2]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_menu'}{'contents'}[4]{'args'}[2]{'contents'}[3];
+$result_trees{'check_htmlxref_menu'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_menu'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'check_htmlxref_menu'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_menu'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[3];
$result_texis{'check_htmlxref_menu'} = '
@node Top, (../there/no_existing_no_manual_direction), first, (dir)
@@ -740,6 +797,8 @@ $result_texis{'check_htmlxref_menu'} = '
@node chapter, (chap_not_existing), (dir)node in dir
@chapter Chapter
+
+@xref{(some_name_inf.inf)aa}.
';
@@ -756,6 +815,8 @@ a
1 Chapter
*********
+
+(some_name_inf.inf)aa.
';
$result_sectioning{'check_htmlxref_menu'} = {
@@ -991,6 +1052,15 @@
$result_converted_errors{'file_html'}->{'check_htmlxref_menu'} = [
'macro' => '',
'text' => 'no htmlxref.cnf entry found for `dir\'',
'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: no htmlxref.cnf entry found for
`some_name_inf.inf\'
+',
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => '',
+ 'text' => 'no htmlxref.cnf entry found for `some_name_inf.inf\'',
+ 'type' => 'warning'
}
];
diff --git a/tp/t/results/html_tests/check_htmlxref_menu/res_html/chapter.html
b/tp/t/results/html_tests/check_htmlxref_menu/res_html/chapter.html
index 8194623536..eda96a3a28 100644
--- a/tp/t/results/html_tests/check_htmlxref_menu/res_html/chapter.html
+++ b/tp/t/results/html_tests/check_htmlxref_menu/res_html/chapter.html
@@ -32,7 +32,9 @@ Next: <a href="../chap_not_existing_html/index.html"
accesskey="n" rel="next">(c
</div>
<hr>
<h2 class="chapter" id="Chapter"><span>1 Chapter<a class="copiable-link"
href="#Chapter"> ¶</a></span></h2>
-</div>
+
+<p>See <a data-manual="some_name_inf.inf"
href="../some_name_inf_html/aa.html#aa">(some_name_inf.inf)aa</a>.
+</p></div>
diff --git a/tp/t/results/html_tests/check_htmlxref_no_use_nodes.pl
b/tp/t/results/html_tests/check_htmlxref_no_use_nodes.pl
index e1339a8c0d..8a26a9a0f2 100644
--- a/tp/t/results/html_tests/check_htmlxref_no_use_nodes.pl
+++ b/tp/t/results/html_tests/check_htmlxref_no_use_nodes.pl
@@ -693,6 +693,61 @@ $result_trees{'check_htmlxref_no_use_nodes'} = {
}
],
'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '('
+ },
+ {
+ 'text' => 'some_name_inf.inf'
+ },
+ {
+ 'text' => ')'
+ },
+ {
+ 'text' => 'aa'
+ }
+ ],
+ 'extra' => {
+ 'manual_content' => {
+ 'contents' => [
+ {}
+ ]
+ },
+ 'node_content' => {
+ 'contents' => [
+ {}
+ ]
+ }
+ },
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'xref',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '.
+'
+ }
+ ],
+ 'type' => 'paragraph'
+ }
+ ],
'extra' => {
'section_number' => '1'
},
@@ -722,6 +777,8 @@
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[3]{'args'}[1]{'extra'}{
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[4]{'args'}[1]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[4]{'args'}[1]{'contents'}[1];
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[4]{'args'}[2]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[4]{'args'}[2]{'contents'}[1];
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[4]{'args'}[2]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[4]{'args'}[2]{'contents'}[3];
+$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'manual_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}{'contents'}[0]
=
$result_trees{'check_htmlxref_no_use_nodes'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[3];
$result_texis{'check_htmlxref_no_use_nodes'} = '
@node Top, (../there/no_existing_no_manual_direction), first, (dir)
@@ -740,6 +797,8 @@ $result_texis{'check_htmlxref_no_use_nodes'} = '
@node chapter, (chap_not_existing), (dir)node in dir
@chapter Chapter
+
+@xref{(some_name_inf.inf)aa}.
';
@@ -756,6 +815,8 @@ a
1 Chapter
*********
+
+(some_name_inf.inf)aa.
';
$result_sectioning{'check_htmlxref_no_use_nodes'} = {
@@ -956,6 +1017,15 @@
$result_converted_errors{'file_html'}->{'check_htmlxref_no_use_nodes'} = [
'text' => 'no htmlxref.cnf entry found for
`../there/no_existing_no_manual_direction\'',
'type' => 'warning'
},
+ {
+ 'error_line' => 'warning: no htmlxref.cnf entry found for
`some_name_inf.inf\'
+',
+ 'file_name' => '',
+ 'line_nr' => 19,
+ 'macro' => '',
+ 'text' => 'no htmlxref.cnf entry found for `some_name_inf.inf\'',
+ 'type' => 'warning'
+ },
{
'error_line' => 'warning: no htmlxref.cnf entry found for
`chap_not_existing\'
',
diff --git a/tp/t/results/html_tests/headings_after_lone_nodes.pl
b/tp/t/results/html_tests/headings_after_lone_nodes.pl
index c4123b1a41..ab32c84f45 100644
--- a/tp/t/results/html_tests/headings_after_lone_nodes.pl
+++ b/tp/t/results/html_tests/headings_after_lone_nodes.pl
@@ -1796,10 +1796,11 @@ Previous: <a href="#Top" accesskey="p"
rel="prev">top</a>, Up: <a href="#Top" ac
<h3 class="heading" id="should-not-be-associated-1"><span>should not be
associated<a class="copiable-link" href="#should-not-be-associated-1">
¶</a></span></h3>
<hr>
-<a class="node" id="g_t3-not"></a><div class="nav-panel">
+<a class="node-id" id="g_t3-not"></a><div class="nav-panel">
<p>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>]</p>
</div>
+<h4 class="node"><span>3 not<a class="copiable-link" href="#g_t3-not">
¶</a></span></h4>
in html