[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Thu, 2 May 2024 18:44:08 -0400 (EDT) |
branch: master
commit ed815ef57ff8176b5d402d488bc20127423728b4
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri May 3 00:10:25 2024 +0200
* tp/Texinfo/Convert/DocBook.pm (converter_initialize): set
OPEN_QUOTE_SYMBOL and CLOSE_QUOTE_SYMBOL if undef.
* tp/Texinfo/Convert/LaTeX.pm (_convert),
tp/Texinfo/Convert/Plaintext.pm (_convert): handle undef
deftypefnnewline customization value.
* tp/Makefile.tres, tp/t/converters_tests.t
(conversion_with_undef_customization): add a test with many
customization variables undef.
---
ChangeLog | 13 +
tp/Makefile.tres | 6 +
tp/Texinfo/Convert/DocBook.pm | 7 +
tp/Texinfo/Convert/LaTeX.pm | 3 +-
tp/Texinfo/Convert/Plaintext.pm | 12 +-
tp/t/converters_tests.t | 69 ++
.../conversion_with_undef_customization.pl | 794 +++++++++++++++++++++
.../conversion_with_undef_customization.xml | 23 +
.../res_html/chap_00ea.html | 52 ++
.../conversion_with_undef_customization_abt.html | 39 +
.../res_html/index.html | 57 ++
.../res_html/sec.html | 56 ++
.../conversion_with_undef_customization.info | Bin 0 -> 799 bytes
.../conversion_with_undef_customization.tex | 76 ++
.../conversion_with_undef_customization.xml | 29 +
15 files changed, 1231 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 68ed6a5554..6836161d5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2024-05-02 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/Convert/DocBook.pm (converter_initialize): set
+ OPEN_QUOTE_SYMBOL and CLOSE_QUOTE_SYMBOL if undef.
+
+ * tp/Texinfo/Convert/LaTeX.pm (_convert),
+ tp/Texinfo/Convert/Plaintext.pm (_convert): handle undef
+ deftypefnnewline customization value.
+
+ * tp/Makefile.tres, tp/t/converters_tests.t
+ (conversion_with_undef_customization): add a test with many
+ customization variables undef.
+
2024-05-02 Patrice Dumas <pertusus@free.fr>
* tp/Makefile.tres, tp/t/converters_tests.t (extension_undef): add a
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index 10e218de03..ec3aaca7e4 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -173,6 +173,12 @@ test_files_generated_list =
$(test_tap_files_generated_list) \
t/results/converters_tests/contents_at_document_begin_inline/res_html \
t/results/converters_tests/contents_at_document_begin_separate_element.pl \
t/results/converters_tests/contents_at_document_begin_separate_element/res_html
\
+ t/results/converters_tests/conversion_with_undef_customization.pl \
+ t/results/converters_tests/conversion_with_undef_customization/res_docbook \
+ t/results/converters_tests/conversion_with_undef_customization/res_html \
+ t/results/converters_tests/conversion_with_undef_customization/res_info \
+ t/results/converters_tests/conversion_with_undef_customization/res_latex \
+ t/results/converters_tests/conversion_with_undef_customization/res_xml \
t/results/converters_tests/definition_commands.pl \
t/results/converters_tests/definition_commands/res_html \
t/results/converters_tests/definition_commands/res_latex \
diff --git a/tp/Texinfo/Convert/DocBook.pm b/tp/Texinfo/Convert/DocBook.pm
index 9ab0a835f6..685f3aa8a2 100644
--- a/tp/Texinfo/Convert/DocBook.pm
+++ b/tp/Texinfo/Convert/DocBook.pm
@@ -290,6 +290,13 @@ sub converter_initialize($)
$self->{'context_block_commands'}->{$raw} = 1
if $self->{'expanded_formats'}->{$raw};
}
+
+ foreach my $conf ('OPEN_QUOTE_SYMBOL', 'CLOSE_QUOTE_SYMBOL') {
+ if (not defined($self->get_conf($conf))) {
+ # override undef set in init file/command line
+ $self->force_conf($conf, '');
+ }
+ }
}
sub conversion_initialization($;$)
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index b48551c614..0f006832f3 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -4132,7 +4132,8 @@ sub _convert($$)
$command = $element->{'extra'}->{'def_command'};
}
- my $deftypefnnewline = ($self->get_conf('deftypefnnewline') eq 'on'
+ my $deftypefnnewline = ($self->get_conf('deftypefnnewline')
+ and $self->get_conf('deftypefnnewline') eq 'on'
and ($command eq 'deftypefn' or $command eq 'deftypeop'));
my $def_space = ' ';
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index a970eda277..dff74a6afe 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -3626,7 +3626,8 @@ sub _convert($$)
'name' => $name,
'type' => $type,
'arguments' => $arguments};
- if ($self->get_conf('deftypefnnewline') eq 'on'
+ if ($self->get_conf('deftypefnnewline')
+ and $self->get_conf('deftypefnnewline') eq 'on'
and $command eq 'deftypefn') {
if ($omit_def_space) {
$tree
@@ -3653,7 +3654,8 @@ sub _convert($$)
'category' => $category,
'type' => $type,
'name' => $name};
- if ($self->get_conf('deftypefnnewline') eq 'on'
+ if ($self->get_conf('deftypefnnewline')
+ and $self->get_conf('deftypefnnewline') eq 'on'
and $command eq 'deftypefn') {
$tree = $self->cdt('@tie{}-- {category}:@*{type}@*{name}',
$strings);
@@ -3718,7 +3720,8 @@ sub _convert($$)
'class' => $class,
'type' => $type,
'arguments' => $arguments};
- if ($self->get_conf('deftypefnnewline') eq 'on') {
+ if ($self->get_conf('deftypefnnewline')
+ and $self->get_conf('deftypefnnewline') eq 'on') {
if ($omit_def_space) {
$tree
= $self->cdt('@tie{}-- {category} on
{class}:@*{type}@*{name}{arguments}',
@@ -3745,7 +3748,8 @@ sub _convert($$)
'type' => $type,
'class' => $class,
'name' => $name};
- if ($self->get_conf('deftypefnnewline') eq 'on') {
+ if ($self->get_conf('deftypefnnewline')
+ and $self->get_conf('deftypefnnewline') eq 'on') {
$tree
= $self->cdt('@tie{}-- {category} on {class}:@*{type}@*{name}',
$strings);
diff --git a/tp/t/converters_tests.t b/tp/t/converters_tests.t
index 02cc201e3c..b39ec8439c 100644
--- a/tp/t/converters_tests.t
+++ b/tp/t/converters_tests.t
@@ -1339,6 +1339,75 @@ undef, {'test_file' =>
'../../tests/formatting/indices_in_begin_tables_lists.tex
@chapter Chap
', {'test_input_file_name' => 'extension_undef.texi'}, {'EXTENSION' => undef},
],
+['conversion_with_undef_customization',
+'@node Top
+@top top
+
+@contents
+@shortcontents
+
+@node chap@^e
+@chapter Chap@^e
+
+Text@footnote{Go @samp{s}}
+
+@cindex entry
+
+@node sec
+@section Section
+
+@printindex cp
+
+@deftypefn category type name something ( aa )
+A def.
+@end deftypefn
+', {'test_input_file_name' => 'conversion_with_undef_customization.texi',
+ 'FORMAT_MENU' => 'menu'},
+# set some features for more interesting tests
+{'PROGRAM_NAME_IN_FOOTER' => 1,
+ 'FORMAT_MENU' => 'menu',
+ 'TOP_NODE_UP_URL' => 'aaa',
+ 'USE_LINKS' => 1,
+ 'DO_ABOUT' => 1,
+# set customization variables to undef
+ 'footnotestyle' => undef,
+ 'xrefautomaticsectiontitle' => undef,
+ 'deftypefnnewline' => undef,
+ 'TRANSLITERATE_FILE_NAMES' => undef,
+ 'HEADERS' => undef,
+ 'TOP_NODE_UP' => undef, # requires TOP_NODE_UP_URL
+ 'BIG_RULE' => undef, # not actually interesting as the corresponding code
+ # is not called
+ 'DEFAULT_RULE' => undef,
+ 'HANDLER_FATAL_ERROR_LEVEL' => undef,
+ 'BODY_ELEMENT_ATTRIBUTES' => undef,
+ 'DOCTYPE' => undef,
+ 'PACKAGE_AND_VERSION' => undef,
+ 'NO_NUMBER_FOOTNOTE_SYMBOL' => undef,
+ 'MAX_HEADER_LEVEL' => undef,
+ 'AFTER_TOC_LINES' => undef,
+ 'AFTER_SHORT_TOC_LINES' => undef,
+ 'BEFORE_TOC_LINES' => undef,
+ 'BEFORE_SHORT_TOC_LINES' => undef,
+ 'CONTENTS_OUTPUT_LOCATION' => undef,
+ 'HTML_ROOT_ELEMENT_ATTRIBUTES' => undef,
+ 'JS_WEBLABELS_FILE' => undef,
+ 'OUTPUT_ENCODING_NAME' => undef,
+ 'HTML_MATH' => undef,
+ 'INDEX_ENTRY_COLON' => undef,
+ 'MENU_SYMBOL' => undef, # requires FORMAT_MENU menu
+ 'MENU_ENTRY_COLON' => undef, # requires FORMAT_MENU menu
+ 'LINKS_BUTTONS' => undef, # requires USE_LINKS set
+ 'SECTION_BUTTONS' => undef, # more interesting with DO_ABOUT set
+ # next are for Plaintext/Info and HTML
+ 'OPEN_QUOTE_SYMBOL' => undef,
+ 'CLOSE_QUOTE_SYMBOL' => undef,
+ 'NUMBER_FOOTNOTES' => undef,
+ # Plaintext/Info
+ 'FILLCOLUMN' => undef,
+# '' => undef,
+}
+],
);
my %info_tests = (
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization.pl
b/tp/t/results/converters_tests/conversion_with_undef_customization.pl
new file mode 100644
index 0000000000..e2634f02b3
--- /dev/null
+++ b/tp/t/results/converters_tests/conversion_with_undef_customization.pl
@@ -0,0 +1,794 @@
+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{'conversion_with_undef_customization'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'type' => 'preamble_before_content'
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Top'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'is_target' => 1,
+ 'normalized' => 'Top'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 1
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'top'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'top',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'text' => '
+',
+ 'type' => 'rawline_arg'
+ }
+ ],
+ 'cmdname' => 'contents',
+ 'extra' => {},
+ 'source_info' => {
+ 'line_nr' => 4
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'text' => '
+',
+ 'type' => 'rawline_arg'
+ }
+ ],
+ 'cmdname' => 'shortcontents',
+ 'extra' => {},
+ 'source_info' => {
+ 'line_nr' => 5
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 2
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'chap'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'e'
+ }
+ ],
+ 'type' => 'following_arg'
+ }
+ ],
+ 'cmdname' => '^',
+ 'source_info' => {
+ 'line_nr' => 7
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'is_target' => 1,
+ 'normalized' => 'chap_00ea'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 7
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Chap'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'e'
+ }
+ ],
+ 'type' => 'following_arg'
+ }
+ ],
+ 'cmdname' => '^',
+ 'source_info' => {
+ 'line_nr' => 8
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'Text'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Go '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 's'
+ }
+ ],
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'samp',
+ 'source_info' => {
+ 'line_nr' => 10
+ }
+ }
+ ],
+ 'type' => 'paragraph'
+ }
+ ],
+ 'type' => 'brace_command_context'
+ }
+ ],
+ 'cmdname' => 'footnote',
+ 'extra' => {},
+ 'source_info' => {
+ 'line_nr' => 10
+ }
+ },
+ {
+ 'text' => '
+'
+ }
+ ],
+ 'type' => 'paragraph'
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'entry'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'cindex',
+ 'extra' => {
+ 'element_node' => {},
+ 'index_entry' => [
+ 'cp',
+ 1
+ ]
+ },
+ 'info' => {
+ 'command_name' => 'cindex',
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 12
+ },
+ 'type' => 'index_entry_command'
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {
+ 'section_number' => '1'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 8
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'sec'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'is_target' => 1,
+ 'isindex' => 1,
+ 'normalized' => 'sec'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 14
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Section'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'cp'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'printindex',
+ 'extra' => {
+ 'misc_args' => [
+ 'cp'
+ ]
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 17
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'cmdname' => 'deftypefn',
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'extra' => {
+ 'def_role' => 'category'
+ },
+ 'text' => 'category'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'type'
+ },
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'name'
+ },
+ 'text' => 'name'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'typearg'
+ },
+ 'text' => 'something'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => '(',
+ 'type' => 'delimiter'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'typearg'
+ },
+ 'text' => 'aa'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => ')',
+ 'type' => 'delimiter'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'extra' => {
+ 'def_command' => 'deftypefn',
+ 'def_index_element' => {},
+ 'element_node' => {},
+ 'index_entry' => [
+ 'fn',
+ 1
+ ],
+ 'original_def_cmdname' => 'deftypefn'
+ },
+ 'source_info' => {
+ 'line_nr' => 19
+ },
+ 'type' => 'def_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'A def.
+'
+ }
+ ],
+ 'type' => 'paragraph'
+ }
+ ],
+ 'type' => 'def_item'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'deftypefn'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'deftypefn'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 21
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 19
+ }
+ }
+ ],
+ 'extra' => {
+ 'section_number' => '1.1'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'line_nr' => 15
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'conversion_with_undef_customization'}{'contents'}[4]{'contents'}[3]{'extra'}{'element_node'}
= $result_trees{'conversion_with_undef_customization'}{'contents'}[3];
+$result_trees{'conversion_with_undef_customization'}{'contents'}[6]{'contents'}[3]{'contents'}[0]{'extra'}{'def_index_element'}
=
$result_trees{'conversion_with_undef_customization'}{'contents'}[6]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'conversion_with_undef_customization'}{'contents'}[6]{'contents'}[3]{'contents'}[0]{'extra'}{'element_node'}
= $result_trees{'conversion_with_undef_customization'}{'contents'}[5];
+
+$result_texis{'conversion_with_undef_customization'} = '@node Top
+@top top
+
+@contents
+@shortcontents
+
+@node chap@^e
+@chapter Chap@^e
+
+Text@footnote{Go @samp{s}}
+
+@cindex entry
+
+@node sec
+@section Section
+
+@printindex cp
+
+@deftypefn category type name something ( aa )
+A def.
+@end deftypefn
+';
+
+
+$result_texts{'conversion_with_undef_customization'} = 'top
+***
+
+
+1 Chape^
+********
+
+Text
+
+
+1.1 Section
+===========
+
+
+category: type name something ( aa )
+A def.
+';
+
+$result_sectioning{'conversion_with_undef_customization'} = {
+ 'extra' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ },
+ 'section_childs' => [
+ {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'chap_00ea'
+ }
+ },
+ 'section_childs' => [
+ {
+ 'cmdname' => 'section',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'isindex' => 1,
+ 'normalized' => 'sec'
+ }
+ },
+ 'section_directions' => {
+ 'up' => {}
+ },
+ 'section_level' => 2,
+ 'section_number' => '1.1'
+ }
+ }
+ ],
+ 'section_directions' => {
+ 'up' => {}
+ },
+ 'section_level' => 1,
+ 'section_number' => '1',
+ 'toplevel_directions' => {
+ 'prev' => {},
+ 'up' => {}
+ }
+ }
+ }
+ ],
+ 'section_level' => 0,
+ 'sectioning_root' => {},
+ 'toplevel_directions' => {}
+ }
+ }
+ ],
+ 'section_level' => -1
+ }
+};
+$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0]{'extra'}{'section_childs'}[0]{'extra'}{'section_childs'}[0]{'extra'}{'section_directions'}{'up'}
=
$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0]{'extra'}{'section_childs'}[0];
+$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0]{'extra'}{'section_childs'}[0]{'extra'}{'section_directions'}{'up'}
=
$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0];
+$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0]{'extra'}{'section_childs'}[0]{'extra'}{'toplevel_directions'}{'prev'}
=
$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0];
+$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0]{'extra'}{'section_childs'}[0]{'extra'}{'toplevel_directions'}{'up'}
=
$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0];
+$result_sectioning{'conversion_with_undef_customization'}{'extra'}{'section_childs'}[0]{'extra'}{'sectioning_root'}
= $result_sectioning{'conversion_with_undef_customization'};
+
+$result_nodes{'conversion_with_undef_customization'} = [
+ {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'top',
+ 'extra' => {}
+ },
+ 'node_directions' => {
+ 'next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'section_number' => '1'
+ }
+ },
+ 'node_directions' => {
+ 'prev' => {},
+ 'up' => {}
+ },
+ 'normalized' => 'chap_00ea'
+ }
+ }
+ },
+ 'normalized' => 'Top'
+ }
+ },
+ {},
+ {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'section',
+ 'extra' => {
+ 'section_number' => '1.1'
+ }
+ },
+ 'isindex' => 1,
+ 'node_directions' => {
+ 'up' => {}
+ },
+ 'normalized' => 'sec'
+ }
+ }
+];
+$result_nodes{'conversion_with_undef_customization'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'prev'}
= $result_nodes{'conversion_with_undef_customization'}[0];
+$result_nodes{'conversion_with_undef_customization'}[0]{'extra'}{'node_directions'}{'next'}{'extra'}{'node_directions'}{'up'}
= $result_nodes{'conversion_with_undef_customization'}[0];
+$result_nodes{'conversion_with_undef_customization'}[1] =
$result_nodes{'conversion_with_undef_customization'}[0]{'extra'}{'node_directions'}{'next'};
+$result_nodes{'conversion_with_undef_customization'}[2]{'extra'}{'node_directions'}{'up'}
=
$result_nodes{'conversion_with_undef_customization'}[0]{'extra'}{'node_directions'}{'next'};
+
+$result_menus{'conversion_with_undef_customization'} = [
+ {
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ },
+ {
+ 'extra' => {
+ 'normalized' => 'chap_00ea'
+ }
+ },
+ {
+ 'extra' => {
+ 'normalized' => 'sec'
+ }
+ }
+];
+
+$result_errors{'conversion_with_undef_customization'} = [];
+
+
+$result_floats{'conversion_with_undef_customization'} = {};
+
+
+$result_indices_sort_strings{'conversion_with_undef_customization'} = {
+ 'cp' => [
+ 'entry'
+ ],
+ 'fn' => [
+ 'name'
+ ]
+};
+
+
+1;
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_docbook/conversion_with_undef_customization.xml
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_docbook/conversion_with_undef_customization.xml
new file mode 100644
index 0000000000..3f0571e565
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_docbook/conversion_with_undef_customization.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY tex "TeX">
+ <!ENTITY latex "LaTeX">
+]>
+<book id="conversion_with_undef_customization.xml" lang="en">
+<chapter label="1" id="chap_00ea">
+<title>Chapê</title>
+
+<para>Text<footnote><para>Go <literal>s</literal></para></footnote>
+</para>
+<indexterm role="cp"><primary>entry</primary></indexterm>
+
+<sect1 label="1.1" id="sec">
+<title>Section</title>
+
+<index role="cp"></index>
+
+<synopsis><indexterm role="fn"><primary>name</primary></indexterm><phrase
role="category"><emphasis role="bold">category</emphasis>:</phrase>
<returnvalue>type</returnvalue> <function>name</function>
<type>something</type> ( <type>aa</type> )</synopsis>
+<blockquote><para>A def.
+</para></blockquote></sect1>
+</chapter>
+</book>
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/chap_00ea.html
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/chap_00ea.html
new file mode 100644
index 0000000000..fe6259edb3
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/chap_00ea.html
@@ -0,0 +1,52 @@
+
+<html>
+<!-- Created by (null), http://www.gnu.org/software/texinfo/ -->
+<head>
+
+<title>chapê (top)</title>
+
+<meta name="description" content="chapê (top)">
+<meta name="keywords" content="chapê (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span.program-in-footer {font-size: smaller}
+span:hover a.copiable-link {visibility: visible}
+td.menu-entry-description {vertical-align: top}
+td.menu-entry-destination {vertical-align: top}
+-->
+</style>
+
+
+</head>
+
+<body >
+<div class="chapter-level-extent" id="chap_00ea">
+<h2 class="chapter" id="Chape"><span>1 Chapê<a class="copiable-link"
href="#Chape"> ¶</a></span></h2>
+
+<p>Text<a class="footnote" id="DOCF1" href="#FOOT1"><sup></sup></a>
+</p>
+<a class="index-entry-id" id="index-entry"></a>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td class="menu-entry-destination"> <a href="sec.html" rel="index"
accesskey="1">sec</a></td><td> </td><td
class="menu-entry-description">
+</td></tr>
+</table>
+</div>
+<div class="footnotes-segment">
+<h4 class="footnotes-heading">Footnotes</h4>
+
+<h5 class="footnote-body-heading"><a id="FOOT1" href="#DOCF1">()</a></h5>
+<p>Go <samp class="samp">s</samp></p>
+</div>
+<p>
+ <span class="program-in-footer">This document was generated on <em
class="emph">a sunny day</em>.</span>
+</p>
+
+
+</body>
+</html>
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/conversion_with_undef_customization_abt.html
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/conversion_with_undef_customization_abt.html
new file mode 100644
index 0000000000..c4b54a50e2
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/conversion_with_undef_customization_abt.html
@@ -0,0 +1,39 @@
+
+<html>
+<!-- Created by (null), http://www.gnu.org/software/texinfo/ -->
+<head>
+
+<title>About This Document (top)</title>
+
+<meta name="description" content="About This Document (top)">
+<meta name="keywords" content="About This Document (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body >
+<div class="element-about" id="SEC_About">
+<div class="nav-panel">
+<p>
+[<a href="chap_00ea.html" title="Index" rel="index">Index</a>][<a
href="#SEC_About" title="About (help)" rel="help"> ? </a>]</p>
+</div>
+<h2 class="about-heading">About This Document</h2>
+
+<p>
+There are no buttons for this document.</p>
+</div><p>
+ <span class="program-in-footer">This document was generated on <em
class="emph">a sunny day</em>.</span>
+</p>
+
+
+</body>
+</html>
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/index.html
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/index.html
new file mode 100644
index 0000000000..a0d2523ef6
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/index.html
@@ -0,0 +1,57 @@
+
+<html>
+<!-- Created by (null), http://www.gnu.org/software/texinfo/ -->
+<head>
+
+<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">
+
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+pre.menu-comment-preformatted {font-family: serif}
+span.program-in-footer {font-size: smaller}
+span:hover a.copiable-link {visibility: visible}
+td.menu-entry-description {vertical-align: top}
+td.menu-entry-destination {vertical-align: top}
+th.menu-comment {text-align:left}
+-->
+</style>
+
+
+</head>
+
+<body >
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="chap_00ea.html" accesskey="n" rel="next">chapê</a>
[<a href="chap_00ea.html" title="Index" rel="index">Index</a>][<a
href="conversion_with_undef_customization_abt.html#SEC_About" title="About
(help)" rel="help"> ? </a>]</p>
+</div>
+<h1 class="top" id="top"><span>top<a class="copiable-link" href="#top">
¶</a></span></h1>
+
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td class="menu-entry-destination"> <a href="chap_00ea.html"
accesskey="1">chapê</a></td><td> </td><td
class="menu-entry-description">
+</td></tr>
+<tr><th class="menu-comment" colspan="3"><pre
class="menu-comment-preformatted">
+
+</pre></th></tr><tr><th class="menu-comment" colspan="3"><pre
class="menu-comment-preformatted"> — The Detailed Node Listing —
+
+Chapê
+
+</pre></th></tr><tr><td class="menu-entry-destination"> <a href="sec.html"
rel="index" accesskey="2">sec</a></td><td> </td><td
class="menu-entry-description">
+</td></tr>
+</table>
+</div>
+<p>
+ <span class="program-in-footer">This document was generated on <em
class="emph">a sunny day</em>.</span>
+</p>
+
+
+</body>
+</html>
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/sec.html
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/sec.html
new file mode 100644
index 0000000000..57ec0675f2
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_html/sec.html
@@ -0,0 +1,56 @@
+
+<html>
+<!-- Created by (null), http://www.gnu.org/software/texinfo/ -->
+<head>
+
+<title>sec (top)</title>
+
+<meta name="description" content="sec (top)">
+<meta name="keywords" content="sec (top)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
+span.program-in-footer {font-size: smaller}
+span:hover a.copiable-link {visibility: visible}
+strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top; padding-left: 1em}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left; padding-left: 1em}
+-->
+</style>
+
+
+</head>
+
+<body >
+<div class="section-level-extent" id="sec">
+<h3 class="section" id="Section"><span>1.1 Section<a class="copiable-link"
href="#Section"> ¶</a></span></h3>
+
+<div class="printindex cp-printindex">
+<table class="cp-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th
class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"></td></tr>
+<tr><th id="sec_cp_letter-E">E</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a
href="chap_00ea.html#index-entry">entry</a></td><td
class="printindex-index-section"><a
href="chap_00ea.html">chapê</a></td></tr>
+<tr><td colspan="3"></td></tr>
+</table>
+</div>
+
+<dl class="first-deftypefn">
+<dt class="deftypefn" id="index-name"><span class="category-def">category:
</span><span><code class="def-type">type</code> <strong
class="def-name">name</strong> <code class="def-code-arguments">something ( aa
)</code><a class="copiable-link" href="#index-name"> ¶</a></span></dt>
+<dd><p>A def.
+</p></dd></dl>
+</div>
+<p>
+ <span class="program-in-footer">This document was generated on <em
class="emph">a sunny day</em>.</span>
+</p>
+
+
+</body>
+</html>
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_info/conversion_with_undef_customization.info
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_info/conversion_with_undef_customization.info
new file mode 100644
index 0000000000..0900b859cb
Binary files /dev/null and
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_info/conversion_with_undef_customization.info
differ
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_latex/conversion_with_undef_customization.tex
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_latex/conversion_with_undef_customization.tex
new file mode 100644
index 0000000000..542571549e
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_latex/conversion_with_undef_customization.tex
@@ -0,0 +1,76 @@
+\documentclass{book}
+\usepackage{amsfonts}
+\usepackage{amsmath}
+\usepackage[gen]{eurosym}
+\usepackage{textcomp}
+\usepackage{graphicx}
+\usepackage{etoolbox}
+\usepackage{titleps}
+\usepackage[T1]{fontenc}
+\usepackage{imakeidx}
+\usepackage{tabularx}
+\usepackage{float}
+% use hidelinks to remove boxes around links to be similar to Texinfo TeX
+\usepackage[hidelinks]{hyperref}
+
+\makeatletter
+\newcommand{\Texinfosettitle}{No Title}%
+
+% no index headers
+\indexsetup{level=\relax,toclevel=section}%
+\makeindex[name=cp,title=]%
+\makeindex[name=fn,title=]%
+
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
+\renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
+\newenvironment{Texinfopreformatted}{%
+ \par\GNUTobeylines\obeyspaces\frenchspacing\parskip=\z@\parindent=\z@}{}
+{\catcode`\^^M=13 \gdef\GNUTobeylines{\catcode`\^^M=13 \def^^M{\null\par}}}
+\newenvironment{Texinfoindented}{\begin{list}{}{}\item\relax}{\end{list}}
+
+% used for substitutions in commands
+\newcommand{\Texinfoplaceholder}[1]{}
+
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{}
\chaptertitle{}][][\thepage]
+ {\chaptername{} \thechapter{}
\chaptertitle{}}{}{\thepage}}
+
+% allow line breaking at underscore
+\let\Texinfounderscore\_
+\renewcommand{\_}{\Texinfounderscore\discretionary{}{}{}}
+\renewcommand{\includegraphics}[1]{\fbox{FIG \detokenize{#1}}}
+
+\makeatother
+% set default for @setchapternewpage
+\makeatletter
+\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\Texinfoplaceholder{setchapternewpage
placeholder}\clearpage}{}{}
+\makeatother
+\pagestyle{single}%
+
+\begin{document}
+\tableofcontents\newpage
+\label{anchor:Top}%
+\chapter{{Chap\^{e}}}
+\label{anchor:chap_00ea}%
+
+Text\footnote{Go `\texttt{s}'}
+
+\index[cp]{entry@entry}%
+
+\section{{Section}}
+\label{anchor:sec}%
+
+\printindex[cp]
+
+
+\noindent\begin{tabularx}{\linewidth}{@{}Xr}
+\rightskip=5em plus 1 fill \hangindent=2em \hyphenpenalty=10000
+\texttt{type name something\ (\ aa\ )}& [category]
+\end{tabularx}
+
+\index[fn]{name@\texttt{name}}%
+\begin{quote}
+\unskip{\parskip=0pt\noindent}%
+A def.
+\end{quote}
+\end{document}
diff --git
a/tp/t/results/converters_tests/conversion_with_undef_customization/res_xml/conversion_with_undef_customization.xml
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_xml/conversion_with_undef_customization.xml
new file mode 100644
index 0000000000..1f82c31986
--- /dev/null
+++
b/tp/t/results/converters_tests/conversion_with_undef_customization/res_xml/conversion_with_undef_customization.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!DOCTYPE texinfo PUBLIC "-//GNU//DTD TexinfoML V7.1//EN"
"http://www.gnu.org/software/texinfo/dtd/7.1/texinfo.dtd">
+<texinfo>
+<filename file="conversion_with_undef_customization.xml"></filename>
+<node name="Top" spaces=" "><nodename>Top</nodename><nodenext
automatic="on">chap<accent type="circ"
bracketed="off">e</accent></nodenext></node>
+<top spaces=" "><sectiontitle>top</sectiontitle>
+
+<contents></contents>
+<shortcontents></shortcontents>
+
+</top>
+<node name="chap_00ea" spaces=" "><nodename>chap<accent type="circ"
bracketed="off">e</accent></nodename><nodeprev
automatic="on">Top</nodeprev><nodeup automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Chap<accent type="circ"
bracketed="off">e</accent></sectiontitle>
+
+<para>Text<footnote><para>Go <samp>s</samp></para></footnote>
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp"
number="1">entry</indexterm></cindex>
+
+<node name="sec" spaces=" "><nodename>sec</nodename><nodeup
automatic="on">chap<accent type="circ"
bracketed="off">e</accent></nodeup></node>
+<section spaces=" "><sectiontitle>Section</sectiontitle>
+
+<printindex spaces=" " value="cp" line="cp"></printindex>
+
+<deftypefn spaces=" " endspaces=" "><definitionterm><indexterm index="fn"
number="1">name</indexterm><defcategory>category</defcategory>
<deftype>type</deftype> <deffunction>name</deffunction>
<defparamtype>something</defparamtype> <defdelimiter>(</defdelimiter>
<defparamtype>aa</defparamtype> <defdelimiter>)</defdelimiter></definitionterm>
+<definitionitem><para>A def.
+</para></definitionitem></deftypefn>
+</section>
+</chapter>
+</texinfo>