texinfo-commits
[Top][All Lists]
Advanced

[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&#234;</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&ecirc; (top)</title>
+
+<meta name="description" content="chap&ecirc; (top)">
+<meta name="keywords" content="chap&ecirc; (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&ecirc;<a class="copiable-link" 
href="#Chape"> &para;</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>&nbsp;&nbsp;</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&ecirc;</a> &nbsp; 
[<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"> 
&para;</a></span></h1>
+
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td class="menu-entry-destination"> <a href="chap_00ea.html" 
accesskey="1">chap&ecirc;</a></td><td>&nbsp;&nbsp;</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"> &mdash; The Detailed Node Listing &mdash;
+
+Chap&ecirc;
+
+</pre></th></tr><tr><td class="menu-entry-destination"> <a href="sec.html" 
rel="index" accesskey="2">sec</a></td><td>&nbsp;&nbsp;</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"> &para;</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&ecirc;</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"> &para;</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>



reply via email to

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