[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Mon, 30 Sep 2024 14:42:01 -0400 (EDT) |
branch: master
commit 400356e6eba2d25f1f0e344fe8dcebccee071023
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Jul 22 08:52:26 2024 +0200
* tp/Texinfo/Convert/HTML.pm (_initialize_output_state)
(_init_output), tp/Texinfo/XS/convert/ConvertXS.xs
(html_initialize_output_state), tp/Texinfo/XS/convert/convert_html.c
(html_initialize_output_state, html_init_output): move code completing
configuration
from _init_output to _initialize_output_state such that it is set for
convert() too.
* tp/Texinfo/Convert/HTML.pm (_init_conversion_after_setup_handler)
(_init_output, convert), tp/Texinfo/XS/convert/ConvertXS.xs
(html_initialize_output_state, html_init_output)
(html_prepare_conversion_units), tp/Texinfo/XS/convert/convert_html.c
(init_conversion_after_setup_handler): add
init_conversion_after_setup_handler for code common to output and
convert, that is better run, in output(), after the first stage
handler.
* tp/Texinfo/Convert/HTML.pm (_init_output),
tp/Texinfo/XS/convert/convert_html.c (html_init_output): move code
around to register output_init_conf late after setting more
customization variables, including based on document.
---
ChangeLog | 31 +++++-
tp/Texinfo/Convert/HTML.pm | 98 ++++++++---------
tp/Texinfo/XS/convert/ConvertXS.xs | 55 ++++++----
tp/Texinfo/XS/convert/convert_html.c | 50 +++++----
tp/Texinfo/XS/convert/convert_html.h | 1 +
tp/t/html_tests.t | 3 +-
.../html_tests/mathjax_with_texinfo_html_text.pl | 6 +-
tp/t/results/indices/index_no_node_no_top.pl | 116 +++++++++++++++++++++
8 files changed, 256 insertions(+), 104 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 912bb92b08..f8bd183228 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,25 @@
-2024-09-30 Patrice Dumas <pertusus@free.fr>
+2024-07-22 Patrice Dumas <pertusus@free.fr>
- * tp/Texinfo/XS/convert/get_converter_perl_info.h: move back
- get_converter_perl_info.c functions declarations to
- get_converter_perl_info.h.
+ * tp/Texinfo/Convert/HTML.pm (_initialize_output_state)
+ (_init_output), tp/Texinfo/XS/convert/ConvertXS.xs
+ (html_initialize_output_state), tp/Texinfo/XS/convert/convert_html.c
+ (html_initialize_output_state, html_init_output): move code completing
+ configuration from _init_output to _initialize_output_state such that
+ it is set for convert() too.
+
+ * tp/Texinfo/Convert/HTML.pm (_init_conversion_after_setup_handler)
+ (_init_output, convert), tp/Texinfo/XS/convert/ConvertXS.xs
+ (html_initialize_output_state, html_init_output)
+ (html_prepare_conversion_units), tp/Texinfo/XS/convert/convert_html.c
+ (init_conversion_after_setup_handler): add
+ init_conversion_after_setup_handler for code common to output and
+ convert, that is better run, in output(), after the first stage
+ handler.
+
+ * tp/Texinfo/Convert/HTML.pm (_init_output),
+ tp/Texinfo/XS/convert/convert_html.c (html_init_output): move code
+ around to register output_init_conf late after setting more
+ customization variables, including based on document.
2024-07-21 Patrice Dumas <pertusus@free.fr>
@@ -66,6 +83,12 @@
global_direction_unit that uses a bsearch to find the output unit
and the associated Perl object.
+2024-09-30 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/XS/convert/get_converter_perl_info.h: move back
+ get_converter_perl_info.c functions declarations to
+ get_converter_perl_info.h.
+
2024-07-21 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Converter.pm (set_document): remove a redundant
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 8c39873b5a..0c021a2472 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -12457,6 +12457,25 @@ sub _initialize_output_state($$)
# only filled if special elements are actually used.
$self->{'global_units_directions'} = {};
+ if (not defined($self->get_conf('NODE_NAME_IN_INDEX'))) {
+ $self->set_conf('NODE_NAME_IN_INDEX', $self->get_conf('USE_NODES'));
+ }
+
+ if ($self->get_conf('HTML_MATH')
+ and not defined($self->get_conf('CONVERT_TO_LATEX_IN_MATH'))) {
+ $self->set_conf('CONVERT_TO_LATEX_IN_MATH', 1);
+ }
+
+ if ($self->get_conf('CONVERT_TO_LATEX_IN_MATH')) {
+ $self->{'options_latex_math'}
+ = {
Texinfo::Convert::LaTeX::copy_options_for_convert_to_latex_math($self) };
+ }
+
+ if ($self->get_conf('NO_TOP_NODE_OUTPUT')
+ and not defined($self->get_conf('SHOW_TITLE'))) {
+ $self->set_conf('SHOW_TITLE', 1);
+ }
+
$self->_new_document_context($context);
}
@@ -12558,18 +12577,9 @@ sub _prepare_simpletitle($)
}
}
-# Conversion to a string, mostly used in tests.
-# $SELF is the output converter object of class Texinfo::Convert::HTML (this
-# module), and $DOCUMENT is the parsed document from the parser and structuring
-sub convert($$)
+sub _init_conversion_after_setup_handler($)
{
my $self = shift;
- my $document = shift;
-
- $self->conversion_initialization($document);
-
- my $converter_info;
-
# the presence of contents elements in the document is used in diverse
# places, set it once for all here
my @contents_elements_options
@@ -12583,6 +12593,19 @@ sub convert($$)
and $self->get_conf('OUTPUT_ENCODING_NAME') eq 'utf-8') {
$self->{'use_unicode_text'} = 1;
}
+}
+
+# Conversion to a string, mostly used in tests.
+# $SELF is the output converter object of class Texinfo::Convert::HTML (this
+# module), and $DOCUMENT is the parsed document from the parser and structuring
+sub convert($$)
+{
+ my $self = shift;
+ my $document = shift;
+
+ $self->conversion_initialization($document);
+
+ _init_conversion_after_setup_handler($self);
my ($output_units, $special_units, $associated_special_units)
= $self->_prepare_conversion_units($document, undef);
@@ -13302,10 +13325,6 @@ sub _init_output($)
}
$self->set_conf('EXTERNAL_CROSSREF_SPLIT', $self->get_conf('SPLIT'));
- if (not defined($self->get_conf('NODE_NAME_IN_INDEX'))) {
- $self->set_conf('NODE_NAME_IN_INDEX', $self->get_conf('USE_NODES'));
- }
-
my $handler_fatal_error_level = $self->get_conf('HANDLER_FATAL_ERROR_LEVEL');
if (!defined($handler_fatal_error_level)) {
$handler_fatal_error_level =
@@ -13354,21 +13373,6 @@ sub _init_output($)
}
}
- if ($self->get_conf('HTML_MATH')
- and not defined($self->get_conf('CONVERT_TO_LATEX_IN_MATH'))) {
- $self->set_conf('CONVERT_TO_LATEX_IN_MATH', 1);
- }
-
- if ($self->get_conf('CONVERT_TO_LATEX_IN_MATH')) {
- $self->{'options_latex_math'}
- = {
Texinfo::Convert::LaTeX::copy_options_for_convert_to_latex_math($self) };
- }
-
- if ($self->get_conf('NO_TOP_NODE_OUTPUT')
- and not defined($self->get_conf('SHOW_TITLE'))) {
- $self->set_conf('SHOW_TITLE', 1);
- }
-
my $setup_status = $self->run_stage_handlers($self->{'stage_handlers'},
$self->{'document'}, 'setup');
@@ -13378,17 +13382,6 @@ sub _init_output($)
return undef;
}
- # the configuration has potentially been modified for
- # this output file especially. Set a corresponding initial
- # configuration.
- # FIXME in C there is a full copy, except for Perl objects.
- # It cannot be completly equivalent, but here a good equivalent
- # would be deep copy of data and shallow copy of code references.
- # The Clone module does that, but it is not a core module.
- $self->{'output_init_conf'} = { %{$self->{'conf'}} };
- # pass to XS.
- _XS_reset_output_init_conf($self);
-
# set BODY_ELEMENT_ATTRIBUTES
$self->set_global_document_commands('preamble', ['documentlanguage']);
my $structure_preamble_document_language =
$self->get_conf('documentlanguage');
@@ -13399,12 +13392,18 @@ sub _init_output($)
}
$self->set_global_document_commands('before', ['documentlanguage']);
- # the presence of contents elements in the document is used in diverse
- # places, set it once for all here
- my @contents_elements_options
- = grep {Texinfo::Common::valid_customization_option($_)}
- sort(keys(%contents_command_special_unit_variety));
- $self->set_global_document_commands('last', \@contents_elements_options);
+ _init_conversion_after_setup_handler($self);
+
+ # the configuration has potentially been modified for
+ # this output file especially. Set a corresponding initial
+ # configuration.
+ # FIXME in C there is a full copy, except for Perl objects.
+ # It cannot be completly equivalent, but here a good equivalent
+ # would be deep copy of data and shallow copy of code references.
+ # The Clone module does that, but it is not a core module.
+ $self->{'output_init_conf'} = { %{$self->{'conf'}} };
+ # pass to XS.
+ _XS_reset_output_init_conf($self);
my $jslicenses = {};
if ($self->get_conf('HTML_MATH')
@@ -13477,13 +13476,6 @@ sub output($$)
my ($output_file, $destination_directory, $output_filename, $document_name)
= @$paths;
- # cache, as it is checked for each text element
- if ($self->get_conf('OUTPUT_CHARACTERS')
- and $self->get_conf('OUTPUT_ENCODING_NAME')
- and $self->get_conf('OUTPUT_ENCODING_NAME') eq 'utf-8') {
- $self->{'use_unicode_text'} = 1;
- }
-
# Get the list of output units to be processed.
# Customization information in $self->{'conf'} is passed to XS code too.
my ($output_units, $special_units, $associated_special_units)
diff --git a/tp/Texinfo/XS/convert/ConvertXS.xs
b/tp/Texinfo/XS/convert/ConvertXS.xs
index dd50acbeb0..f7980ac4f7 100644
--- a/tp/Texinfo/XS/convert/ConvertXS.xs
+++ b/tp/Texinfo/XS/convert/ConvertXS.xs
@@ -579,19 +579,40 @@ void
html_converter_initialize_sv (SV *converter_in, SV
*default_formatting_references, SV *default_css_string_formatting_references,
SV *default_commands_open, SV *default_commands_conversion, SV
*default_css_string_commands_conversion, SV *default_types_open, SV
*default_types_conversion, SV *default_css_string_types_conversion, SV
*default_output_units_conversion, SV *default_special_unit_body, SV
*default_css_element_class_styles, SV *default_converted_directions_strings)
void
-html_initialize_output_state (SV *converter_in, char *context)
+html_initialize_output_state (SV *converter_in, const char *context)
PREINIT:
CONVERTER *self;
CODE:
self = get_sv_converter (converter_in,
"html_initialize_output_state");
if (self)
{
+ HV *converter_hv = (HV *) SvRV (converter_in);
+
html_initialize_output_state (self, context);
/*
html_conversion_initialization_sv (converter_in, self);
*/
- /* TODO do later and only if self->external_references_number */
+ /* TODO do only if self->external_references_number */
html_pass_converter_output_state (converter_in, self);
+
+ /* internal links code is in Perl */
+ if (self->conf->INTERNAL_LINKS.o.string)
+ self->external_references_number++;
+ /* Conversion to LaTeX is in Perl */
+ if (self->conf->CONVERT_TO_LATEX_IN_MATH.o.integer > 0)
+ self->external_references_number++;
+
+ if (self->conf->CONVERT_TO_LATEX_IN_MATH.o.integer > 0)
+ {
+ HV *options_latex_math_hv =
+ latex_build_options_for_convert_to_latex_math (self);
+ hv_store (converter_hv, "options_latex_math",
+ strlen ("options_latex_math"),
+ newRV_noinc ((SV *)options_latex_math_hv), 0);
+ }
+ if (self->use_unicode_text)
+ hv_store (converter_hv, "use_unicode_text",
+ strlen ("use_unicode_text"), newSViv (1), 0);
}
SV *
@@ -634,21 +655,6 @@ html_init_output (SV *converter_in)
newSVpv_utf8 (self->destination_directory, 0), 0);
}
- /* internal links code is in Perl */
- if (self->conf->INTERNAL_LINKS.o.string)
- self->external_references_number++;
- /* Conversion to LaTeX is in Perl */
- if (self->conf->CONVERT_TO_LATEX_IN_MATH.o.integer > 0)
- self->external_references_number++;
-
- if (self->conf->CONVERT_TO_LATEX_IN_MATH.o.integer > 0)
- {
- HV *options_latex_math_hv =
- latex_build_options_for_convert_to_latex_math (self);
- hv_store (converter_hv, "options_latex_math",
- strlen ("options_latex_math"),
- newRV_noinc ((SV *)options_latex_math_hv), 0);
- }
pass_jslicenses (&self->jslicenses, converter_info_hv);
}
OUTPUT:
@@ -2142,14 +2148,17 @@ html_prepare_conversion_units (SV *converter_in, ...)
self = get_sv_converter (converter_in,
"html_prepare_conversion_units");
- if (self->conf->OUTPUT_CHARACTERS.o.integer > 0
- && self->conf->OUTPUT_ENCODING_NAME.o.string
- /* not sure if strcasecmp is needed or not */
- && !strcasecmp (self->conf->OUTPUT_ENCODING_NAME.o.string,
"utf-8"))
- self->use_unicode_text = 1;
+ converter_hv = (HV *) SvRV (converter_in);
+
+ /* FIXME already done in C for output(), but not for convert()
+ need to remove the redundant call for output() and/or
+ call in C for convert() too */
+ init_conversion_after_setup_handler (self);
+ if (self->use_unicode_text)
+ hv_store (converter_hv, "use_unicode_text",
+ strlen ("use_unicode_text"), newSViv (1), 0);
html_prepare_conversion_units (self);
- converter_hv = (HV *) SvRV (converter_in);
if (self->external_references_number > 0)
{
diff --git a/tp/Texinfo/XS/convert/convert_html.c
b/tp/Texinfo/XS/convert/convert_html.c
index feee84eb90..0624b90b1f 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -17616,6 +17616,20 @@ reset_html_targets (CONVERTER *self, HTML_TARGET_LIST
*targets)
}
}
+void
+init_conversion_after_setup_handler (CONVERTER *self)
+{
+ /* the presence of contents elements in the document is used in diverse
+ places, set it once for all here */
+ set_global_document_commands (self, CL_last, contents_elements_options);
+
+ if (self->conf->OUTPUT_CHARACTERS.o.integer > 0
+ && self->conf->OUTPUT_ENCODING_NAME.o.string
+ /* not sure if strcasecmp is needed or not */
+ && !strcasecmp (self->conf->OUTPUT_ENCODING_NAME.o.string, "utf-8"))
+ self->use_unicode_text = 1;
+}
+
static void
reset_unset_no_arg_commands_formatting_context (CONVERTER *self,
enum command_id cmd, enum conversion_context reset_context,
@@ -18079,6 +18093,20 @@ html_initialize_output_state (CONVERTER *self, const
char *context)
memset (self->global_units_directions, 0,
(D_Last + self->special_unit_varieties.number+1) * sizeof (OUTPUT_UNIT));
+ if (self->conf->NODE_NAME_IN_INDEX.o.integer < 0)
+ set_conf (&self->conf->NODE_NAME_IN_INDEX,
+ self->conf->USE_NODES.o.integer, 0);
+
+ if (self->conf->HTML_MATH.o.string
+ && self->conf->CONVERT_TO_LATEX_IN_MATH.o.integer < 0)
+ {
+ set_conf (&self->conf->CONVERT_TO_LATEX_IN_MATH, 1, 0);
+ }
+
+ if (self->conf->NO_TOP_NODE_OUTPUT.o.integer > 0
+ && self->conf->SHOW_TITLE.o.integer < 0)
+ set_conf (&self->conf->SHOW_TITLE, 1, 0);
+
self->current_formatting_references = &self->formatting_references[0];
self->current_commands_conversion_function
@@ -18699,10 +18727,6 @@ html_init_output (CONVERTER *self, char **paths)
set_conf (&self->conf->EXTERNAL_CROSSREF_SPLIT, 0,
self->conf->SPLIT.o.string);
- if (self->conf->NODE_NAME_IN_INDEX.o.integer < 0)
- set_conf (&self->conf->NODE_NAME_IN_INDEX,
- self->conf->USE_NODES.o.integer, 0);
-
handler_fatal_error_level = self->conf->HANDLER_FATAL_ERROR_LEVEL.o.integer;
if (handler_fatal_error_level < 0)
{
@@ -18747,16 +18771,6 @@ html_init_output (CONVERTER *self, char **paths)
" },");
}
- if (self->conf->HTML_MATH.o.string
- && self->conf->CONVERT_TO_LATEX_IN_MATH.o.integer < 0)
- {
- set_conf (&self->conf->CONVERT_TO_LATEX_IN_MATH, 1, 0);
- }
-
- if (self->conf->NO_TOP_NODE_OUTPUT.o.integer > 0
- && self->conf->SHOW_TITLE.o.integer < 0)
- set_conf (&self->conf->SHOW_TITLE, 1, 0);
-
setup_status = run_stage_handlers (self, HSHT_type_setup);
if (setup_status < handler_fatal_error_level
@@ -18765,8 +18779,6 @@ html_init_output (CONVERTER *self, char **paths)
else
return 0;
- copy_options (self->init_conf, self->conf);
-
set_global_document_commands (self, CL_preamble, conf_for_documentlanguage);
structure_preamble_document_language
@@ -18784,9 +18796,9 @@ html_init_output (CONVERTER *self, char **paths)
}
set_global_document_commands (self, CL_before, conf_for_documentlanguage);
- /* the presence of contents elements in the document is used in diverse
- places, set it once for all here */
- set_global_document_commands (self, CL_last, contents_elements_options);
+ init_conversion_after_setup_handler (self);
+
+ copy_options (self->init_conf, self->conf);
if (self->conf->HTML_MATH.o.string
&& !strcmp (self->conf->HTML_MATH.o.string, "mathjax"))
diff --git a/tp/Texinfo/XS/convert/convert_html.h
b/tp/Texinfo/XS/convert/convert_html.h
index 21beba8b8b..21a528961a 100644
--- a/tp/Texinfo/XS/convert/convert_html.h
+++ b/tp/Texinfo/XS/convert/convert_html.h
@@ -45,6 +45,7 @@ void html_format_setup (void);
void html_converter_initialize (CONVERTER *self);
void html_initialize_output_state (CONVERTER *self, const char *context);
+void init_conversion_after_setup_handler (CONVERTER *self);
void html_conversion_finalization (CONVERTER *self);
int html_init_output (CONVERTER *self, char **paths);
diff --git a/tp/t/html_tests.t b/tp/t/html_tests.t
index afd8dda929..bbbeff7f5c 100644
--- a/tp/t/html_tests.t
+++ b/tp/t/html_tests.t
@@ -755,8 +755,7 @@ in html
', {'FORMAT_MENU' => 'menu'}, {'FORMAT_MENU' => 'menu'},],
['mathjax_with_texinfo',
$mathjax_with_texinfo,
-{},
-{'HTML_MATH' => 'mathjax'}],
+{}, {'HTML_MATH' => 'mathjax'}],
['mathjax_with_texinfo_enable_encoding',
$mathjax_with_texinfo, {'test_formats' => ['latex_text', 'file_latex'],
'full_document' => 1,
diff --git a/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
b/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
index 1134512247..43d1799ba2 100644
--- a/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
+++ b/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
@@ -254,9 +254,9 @@ $result_floats{'mathjax_with_texinfo_html_text'} = {};
-$result_converted{'html_text'}->{'mathjax_with_texinfo_html_text'} = '<pre
class="displaymath tex2jax_process">\\[a<sup class="sup">b - \\frac{\\xi}{phi
©}</sup> ı
-\\]</pre>
-<p>Some <em class="math tex2jax_process">\\(a − b ≥ Å
ê\\)</em>.
+$result_converted{'html_text'}->{'mathjax_with_texinfo_html_text'} = '<pre
class="displaymath tex2jax_process">\\[a^{b - \\frac{\\xi}{phi \\copyright{}}}
\\imath{}
+\\]</em></div>
+<p>Some <em class="math tex2jax_process">\\(a - b \\geq{}
\\mathord{\\text{\\AA{}}} \\hat{e}\\)</em>.
</p>';
1;
diff --git a/tp/t/results/indices/index_no_node_no_top.pl
b/tp/t/results/indices/index_no_node_no_top.pl
index e4db996187..935539c3bd 100644
--- a/tp/t/results/indices/index_no_node_no_top.pl
+++ b/tp/t/results/indices/index_no_node_no_top.pl
@@ -2134,6 +2134,122 @@
$result_converted{'html_text'}->{'index_no_node_no_top'} = '<a class="index-entr
</div>
';
+$result_converted_errors{'html_text'}->{'index_no_node_no_top'} = [
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 41,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 45,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 35,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 37,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 19,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 20,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 21,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 22,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 23,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 24,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 29,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 3,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 11,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' for @printindex cp outside
of any node
+',
+ 'file_name' => 'index_no_node_no_top.texi',
+ 'line_nr' => 13,
+ 'text' => 'entry for index `cp\' for @printindex cp outside of any node',
+ 'type' => 'warning'
+ }
+];
+
+
$result_converted{'xml'}->{'index_no_node_no_top'} =
'<preamblebeforebeginning>\\input texinfo @c -*-texinfo-*-