texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: Add test implementing the API documentation examp


From: Patrice Dumas
Subject: branch master updated: Add test implementing the API documentation example codes
Date: Mon, 15 Aug 2022 04:09:34 -0400

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new aaa52f4f37 Add test implementing the API documentation example codes
aaa52f4f37 is described below

commit aaa52f4f3793516007002b9ed55d9a3791721210
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Aug 15 10:09:04 2022 +0200

    Add test implementing the API documentation example codes
---
 doc/customization_api.texi                         |  62 +-
 doc/texinfo.texi                                   |   2 +-
 tp/Texinfo/Convert/Converter.pm                    |   8 +
 tp/Texinfo/Convert/HTML.pm                         |  31 +-
 tp/init/documentation_examples.pm                  |   3 +-
 tp/t/html_tests.t                                  |   2 +-
 tp/t/init_files_tests.t                            |  32 +-
 .../init_files_tests/documentation_examples.pl     | 836 +++++++++++++++++++++
 .../res_html/documentation_examples_fot.html       |  41 +
 .../documentation_examples/res_html/index.html     |  57 ++
 .../res_html/prepended_to_filenames-my-node.html   |  32 +
 11 files changed, 1074 insertions(+), 32 deletions(-)

diff --git a/doc/customization_api.texi b/doc/customization_api.texi
index 744e96425b..4baff3998b 100644
--- a/doc/customization_api.texi
+++ b/doc/customization_api.texi
@@ -498,15 +498,18 @@ texinfo_register_no_arg_command_formatting('-', undef, 
'&shy;');
 If you want @code{<small>...</small>} to be output for @code{@@enddots}
 in normal context and @code{...} to be output in other contexts, call
 @example
-texinfo_register_no_arg_command_formatting('enddots', 'normal', '...', 
'small');
-texinfo_register_no_arg_command_formatting('enddots', 'preformatted', '...');
+texinfo_register_no_arg_command_formatting('enddots',
+                                           'normal', '...', 'small');
+texinfo_register_no_arg_command_formatting('enddots',
+                                           'preformatted', '...');
 @end example
 
 If you want @code{error--&gt;} to be used for @code{@@error} in every context,
 with a translation when the document language changes, call
 
 @example
-texinfo_register_no_arg_command_formatting('error', undef, undef, undef, 
'error--&gt;');
+texinfo_register_no_arg_command_formatting('error', undef, undef, undef,
+                                           'error--&gt;');
 @end example
 
 @quotation Warning
@@ -548,20 +551,22 @@ If @var{$html_element} is undefined and @var{$in_quotes} 
is not set, the formatt
 argument is output as is.
 @end defun
 
-For example, to set @code{@@t@{argument@}} to be formatted as
+For example, to set @code{@@sansserif@{argument@}} to be formatted as
 @code{<code>@var{argument}</code>} in normal and preformatted context,
 and as a quoted string in string context, use:
 
 @example
-texinfo_register_style_command_formatting ('t', 'code', 0, 'normal');
-texinfo_register_style_command_formatting ('t', 'code', 0, 'preformatted');
-texinfo_register_style_command_formatting ('t', undef, 1, 'string');
+texinfo_register_style_command_formatting('sansserif', 'code', 0, 'normal');
+texinfo_register_style_command_formatting('sansserif', 'code', 0,
+                                          'preformatted');
+texinfo_register_style_command_formatting('sansserif', undef, 1, 'string');
 @end example
 
 To output the formatted argument of @code{@@t} as is:
 @example
 foreach my $context ('normal', 'example', string') @{
-  texinfo_register_style_command_formatting ('t', undef, undef, $context);
+  texinfo_register_style_command_formatting ('t', undef,
+                                             undef, $context);
 @}
 @end example
 
@@ -652,7 +657,8 @@ Some examples of use:
 @example
 my @@all_included_rules = $converter->css_get_info('rules');
 my $all_default_selector_styles = $converter->css_get_info('styles');
-my $titlefont_header_style = $converter->css_get_info('styles', 
'h1.titlefont');
+my $titlefont_header_style = $converter->css_get_info('styles',
+                                                      'h1.titlefont');
 
 $converter->css_add_info('styles', 'h1.titlefont', 'text-align:center');
 $converter->css_add_info('imports', "\@@import \"special.css\";\n");
@@ -672,7 +678,8 @@ registered for the @samp{structure} stage:
 sub my_function_set_some_css @{
   my $converter = shift;
 
-  $converter->css_add_info('styles', 'h1.titlefont', 'text-align:center');
+  $converter->css_add_info('styles', 'h1.titlefont',
+                           'text-align:center');
   # ... more calls to  $converter->css_add_info();
 @}
 
@@ -1562,6 +1569,17 @@ For example:
 $converter->set_conf('footnotestyle', 'separate');
 @end example
 
+Some customization variables, in particular some customization variables
+associated with @@-commands, can be reset to the value they had before starting
+the conversion.  For example, they are reset in order to obtain their value
+before the conversion.  Also when their value at the end of the preambule or
+at the end of the document is needed, and 
+there are no @@-commands at those locations in the Texinfo manual.  If a value
+set by @code{set_conf} is intended to be found when the customization variable
+value is reset, @code{set_conf} should be called early.  For example, when 
called from
+a user-defined function called at different stage, it should be called in
+the @samp{setup} stage (@pxref{Init File Calling at Different Stages}).
+
 The values set in converter with @code{set_conf} will not override command-line
 set customization variables, nor variables set in init files.  This is the
 expected behaviour, in particular when the values are set from the document.
@@ -1723,7 +1741,8 @@ sub my_node_file_name($$$) @{
   return $node_file_name
 @}
 
-texinfo_register_file_id_setting_function('node_file_name', 
\&my_node_file_name);
+texinfo_register_file_id_setting_function('node_file_name',
+                                          \&my_node_file_name);
 @end example
 
 @menu
@@ -1787,6 +1806,11 @@ considered to be the Top element may be determined with
 $converter->element_is_tree_unit_top(\%unit_element);
 @end example
 
+The information on tree elements may be interesting for those functions
+(@pxref{Texinfo Tree Elements in User Defined Functions}).  The @code{extra}
+key @code{associated_section} of a node element and @code{associated_node}
+of a sectioning command element may also be useful.
+
 
 @node Customizing Output Target Names
 @section Customizing Output Target Names
@@ -1817,6 +1841,14 @@ array containing the Texinfo tree contents of the 
command label.
 should return the target (@var{$target}).
 @end deftypefn
 
+The element corresponding to the label can be found with @code{label_command}
+(@pxref{Target Commands Links@comma{} Texts and Associated Commands}):
+@example
+my $element;
+$element = $converter->label_command($label_info->@{'normalized'@})
+  if (defined($label_info->@{'normalized'@}));
+@end example
+
 For sectioning commands, in addition to the sectioning command target,
 targets for the sectioning command in table of contents and in short table
 of contents are needed. The following function reference is for sectioning 
command related
@@ -1870,7 +1902,8 @@ There are four places for user defined functions:
 @item setup
 Called right after completing main program customization information
 with converter specific customization information, but before anything else is
-done, including collecting the output files names.
+done, including collecting the output files names and registering the
+customization variables pre-conversion values.
 @c the information on input file names directories is probably available
 @c somewhere, but we do not want those to be used, in general, rather
 @c we mostly want document_name to be used
@@ -2786,7 +2819,8 @@ my $explained_commands_hash
     = $converter->shared_conversion_state('explained_commands', @{@});
 $explained_commands_hash->@{'key'@} = 'value';
 
-my $foot_num_reference = 
$converter->shared_conversion_state('footnote_number', 0);
+my $foot_num_reference
+     = $converter->shared_conversion_state('footnote_number', 0);
 $@{$foot_num_reference@}++;
 @end example
 
@@ -2972,7 +3006,7 @@ To get the Texinfo tree unit element associated with 
other global element
 directions, such as @samp{Top} or @samp{Index}, use
 @code{global_direction_element}:
 
-@deftypefun @var{\%element} 
@var{$converter}->global_target_elements_directions (@var{$direction})
+@deftypefun @var{\%element} @var{$converter}->global_direction_element 
(@var{$direction})
 Return the Texinfo tree unit element corresponding to direction
 @var{$direction}, or @code{undef} if the direction is not a global direction.
 @end deftypefun
diff --git a/doc/texinfo.texi b/doc/texinfo.texi
index 9422cc8249..e52d265b8c 100644
--- a/doc/texinfo.texi
+++ b/doc/texinfo.texi
@@ -3191,7 +3191,7 @@ like this:
 @end example
 
 This is no longer necessary, as the @samp{Top} node is now never output 
-for printed output.  The @samp{Top} is not output for DocBook either.
+for printed output.  The @samp{Top} node is not output for DocBook either.
 
 
 @node Texinfo Document Structure
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index d5e0f08023..ac63bf58ea 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -989,6 +989,13 @@ sub set_global_document_commands($$;$)
       # for commands not appearing in the document, this should set the
       # same value, the converter initialization value
       $self->set_conf($global_command, _command_init($global_command, 
$init_conf));
+      # NOTE if the variable is set from an handler, or in the converter after
+      # $init_conf was set, but before starting the conversion, it is ignored 
here
+      # and the $init_conf value is set.  The previously set value could be
+      # in $self->get_conf(), but what is available from $self->get_conf() 
could
+      # also be a value set by a previous call of set_global_document_commands.
+      # There is no easy way to deal with this issue, other than making sure 
that
+      # a configuration value that is expected to be set early is set in 
$init_conf.
     }
   } else {
     foreach my $global_command (@{$selected_commands}) {
@@ -1000,6 +1007,7 @@ sub set_global_document_commands($$;$)
       if (not defined($element)) {
         # commands not appearing in the document, this should set the
         # same value, the converter initialization value
+        # the NOTE above in 'before' holds here too.
         $self->set_conf($global_command,
                         _command_init($global_command, $init_conf));
       }
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 7bfc3449ac..38c1ebcb06 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -7515,7 +7515,8 @@ sub _new_sectioning_command_target($$)
 # conversion to HTML is done on-demand, upon call to command_text
 # and similar functions.
 # Note that 'node_filename', which is set here for Top target information
-# too, is not used later for Top anchors or links, see the NOTE below.
+# too, is not used later for Top anchors or links, see the NOTE below
+# associated with setting TOP_NODE_FILE_TARGET.
 sub _set_root_commands_targets_node_files($$)
 {
   my $self = shift;
@@ -9371,6 +9372,10 @@ sub output($$)
   my $self = shift;
   my $root = shift;
 
+  $self->{'current_filename'} = undef;
+
+  $self->{'shared_conversion_state'} = {};
+
   # no splitting when writing to the null device or to stdout or returning
   # a string
   if (defined($self->get_conf('OUTFILE'))
@@ -9427,15 +9432,6 @@ sub output($$)
     $self->set_conf('SHOW_TITLE', 1);
   }
 
-  # the configuration has potentially been modified for
-  # this output file especially.  Set a corresponding initial
-  # configuration.
-  $self->{'output_init_conf'} = { %{$self->{'conf'}} };
-
-  $self->{'current_filename'} = undef;
-
-  $self->{'shared_conversion_state'} = {};
-
   # set information, to have some information for run_stage_handlers.
   # Some information is not available yet.
   $self->_reset_info();
@@ -9444,6 +9440,11 @@ sub output($$)
   return undef unless ($setup_status < $handler_fatal_error_level
                        and $setup_status > -$handler_fatal_error_level);
 
+  # the configuration has potentially been modified for
+  # this output file especially.  Set a corresponding initial
+  # configuration.
+  $self->{'output_init_conf'} = { %{$self->{'conf'}} };
+
   if ($self->get_conf('HTML_MATH')
         and $self->get_conf('HTML_MATH') eq 'mathjax') {
     # See https://www.gnu.org/licenses/javascript-labels.html
@@ -9494,7 +9495,8 @@ sub output($$)
   # Get the list of "elements" to be processed, i.e. nodes or sections.
   # This should return undef if called on a tree without node or sections.
   my ($tree_units, $special_elements)
-    = $self->_prepare_conversion_tree_units($root, $destination_directory, 
$document_name);
+    = $self->_prepare_conversion_tree_units($root, $destination_directory,
+                                            $document_name);
 
   Texinfo::Structuring::split_pages($tree_units, $self->get_conf('SPLIT'));
 
@@ -9897,9 +9899,10 @@ sub output($$)
       # @titlepage, and @titlepage is not used.
       my $filename = $self->command_filename($node);
       my $node_filename;
-      # NOTE 'node_filename' is not used for Top, so the other manual
-      # must use the same convention to get it right.  We avoid doing
-      # also 'node_filename' to avoid unneeded redirection files.
+      # NOTE 'node_filename' is not used for Top, TOP_NODE_FILE_TARGET
+      # is.  The other manual must use the same convention to get it
+      # right.  We do not do 'node_filename' as a redirection file
+      # either.
       if ($node->{'extra'} and $node->{'extra'}->{'normalized'}
           and $node->{'extra'}->{'normalized'} eq 'Top'
           and defined($self->get_conf('TOP_NODE_FILE_TARGET'))) {
diff --git a/tp/init/documentation_examples.pm 
b/tp/init/documentation_examples.pm
index 7053d568c2..a0f3f212b5 100644
--- a/tp/init/documentation_examples.pm
+++ b/tp/init/documentation_examples.pm
@@ -1,6 +1,7 @@
 # API documentation code examples implemented, to check syntax
 # and also expected effects.  Only for code that is not already elsewhere,
-# nor is too complex to set up.
+# nor is too complex to set up.  Some of those customization results
+# are silly, just for the sake of checking.
 
 use strict;
 
diff --git a/tp/t/html_tests.t b/tp/t/html_tests.t
index cb06848a9b..f8d97d14e5 100644
--- a/tp/t/html_tests.t
+++ b/tp/t/html_tests.t
@@ -717,7 +717,7 @@ my @file_tests = (
 @node @^i
 ', {'test_split' => 'section'}, {'SPLIT' => 'chapter'}],
 # NOTE the result is incorrect, the first footnote text is at the
-# end of the file but the link is towards the sparate file.
+# end of the file but the link is towards the separate file.
 # The manual states that the footnotestyle should be in the preamble,
 # so it needs not to be fixed.
 ['footnotestyle_separate_late',
diff --git a/tp/t/init_files_tests.t b/tp/t/init_files_tests.t
index 9d0502f51c..0c44709c93 100644
--- a/tp/t/init_files_tests.t
+++ b/tp/t/init_files_tests.t
@@ -30,8 +30,38 @@ pt @error{}.
 }],
 );
 
+my @file_tests = (
+['documentation_examples',
+'
+@settitle @email{someone@@example.com, me} @sansserif{in--title} @error{}
+
+@node Top
+
+@sansserif{in--text} @- p--n. @error{}
+@xref{my node}@footnote{in footnote}.
+@titlefont{in titlefont}
+@email{a@@b.c, someone}
+
+@math{@sansserif{in--math} @- a=b @error{}}
+
+@example
+@sansserif{in--example} @- c. @error{}
+@end example
+
+
+@node my node
+
+',{'init_files' => ['documentation_examples.pm']},
+],
+);
+
 foreach my $test (@test_cases) {
   push @{$test->[2]->{'test_formats'}}, 'html';
 }
 
-run_all('init_files_tests', [@test_cases]);
+foreach my $test (@file_tests) {
+  push @{$test->[2]->{'test_formats'}}, 'file_html';
+  $test->[2]->{'test_input_file_name'} = $test->[0] . '.texi';
+}
+
+run_all('init_files_tests', [@test_cases, @file_tests]);
diff --git a/tp/t/results/init_files_tests/documentation_examples.pl 
b/tp/t/results/init_files_tests/documentation_examples.pl
new file mode 100644
index 0000000000..3ddb575739
--- /dev/null
+++ b/tp/t/results/init_files_tests/documentation_examples.pl
@@ -0,0 +1,836 @@
+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{'documentation_examples'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'someone'
+                        },
+                        {
+                          'cmdname' => '@',
+                          'parent' => {}
+                        },
+                        {
+                          'parent' => {},
+                          'text' => 'example.com'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    },
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'me'
+                        }
+                      ],
+                      'extra' => {
+                        'spaces_before_argument' => ' '
+                      },
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'email',
+                  'contents' => [],
+                  'parent' => {},
+                  'source_info' => {
+                    'file_name' => '',
+                    'line_nr' => 2,
+                    'macro' => ''
+                  }
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in--title'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'sansserif',
+                  'contents' => [],
+                  'parent' => {},
+                  'source_info' => {
+                    'file_name' => '',
+                    'line_nr' => 2,
+                    'macro' => ''
+                  }
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'error',
+                  'contents' => [],
+                  'parent' => {},
+                  'source_info' => {
+                    'file_name' => '',
+                    'line_nr' => 2,
+                    'macro' => ''
+                  }
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'settitle',
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 2,
+            'macro' => ''
+          }
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'parent' => {},
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in--text'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'sansserif',
+              'contents' => [],
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 6,
+                'macro' => ''
+              }
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'cmdname' => '-',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' p--n. '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'error',
+              'contents' => [],
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 6,
+                'macro' => ''
+              }
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my node'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'my node'
+                        }
+                      ],
+                      'extra' => {
+                        'spaces_after_argument' => '
+'
+                      },
+                      'parent' => {},
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'node',
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'empty_line'
+                    }
+                  ],
+                  'extra' => {
+                    'node_content' => [
+                      {}
+                    ],
+                    'nodes_manuals' => [
+                      {
+                        'node_content' => [
+                          {}
+                        ],
+                        'normalized' => 'my-node'
+                      }
+                    ],
+                    'normalized' => 'my-node',
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'source_info' => {
+                    'file_name' => '',
+                    'line_nr' => 18,
+                    'macro' => ''
+                  }
+                },
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'my-node'
+                }
+              },
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 7,
+                'macro' => ''
+              }
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in footnote'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'footnote',
+              'contents' => [],
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 7,
+                'macro' => ''
+              }
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'in titlefont'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'titlefont',
+          'contents' => [],
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 8,
+            'macro' => ''
+          }
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'a'
+                    },
+                    {
+                      'cmdname' => '@',
+                      'parent' => {}
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'b.c'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'someone'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'email',
+              'contents' => [],
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 9,
+                'macro' => ''
+              }
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'in--math'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'brace_command_arg'
+                        }
+                      ],
+                      'cmdname' => 'sansserif',
+                      'contents' => [],
+                      'parent' => {},
+                      'source_info' => {
+                        'file_name' => '',
+                        'line_nr' => 11,
+                        'macro' => ''
+                      }
+                    },
+                    {
+                      'parent' => {},
+                      'text' => ' '
+                    },
+                    {
+                      'cmdname' => '-',
+                      'parent' => {}
+                    },
+                    {
+                      'parent' => {},
+                      'text' => ' a=b '
+                    },
+                    {
+                      'args' => [
+                        {
+                          'contents' => [],
+                          'parent' => {},
+                          'type' => 'brace_command_arg'
+                        }
+                      ],
+                      'cmdname' => 'error',
+                      'contents' => [],
+                      'parent' => {},
+                      'source_info' => {
+                        'file_name' => '',
+                        'line_nr' => 11,
+                        'macro' => ''
+                      }
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'math',
+              'contents' => [],
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 11,
+                'macro' => ''
+              }
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'example',
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line_after_command'
+            },
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'in--example'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'sansserif',
+                  'contents' => [],
+                  'parent' => {},
+                  'source_info' => {
+                    'file_name' => '',
+                    'line_nr' => 14,
+                    'macro' => ''
+                  }
+                },
+                {
+                  'parent' => {},
+                  'text' => ' '
+                },
+                {
+                  'cmdname' => '-',
+                  'parent' => {}
+                },
+                {
+                  'parent' => {},
+                  'text' => ' c. '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'error',
+                  'contents' => [],
+                  'parent' => {},
+                  'source_info' => {
+                    'file_name' => '',
+                    'line_nr' => 14,
+                    'macro' => ''
+                  }
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'preformatted'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'example'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'example',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'example'
+              },
+              'parent' => {},
+              'source_info' => {
+                'file_name' => '',
+                'line_nr' => 15,
+                'macro' => ''
+              }
+            }
+          ],
+          'extra' => {
+            'end_command' => {}
+          },
+          'parent' => {},
+          'source_info' => {
+            'file_name' => '',
+            'line_nr' => 13,
+            'macro' => ''
+          }
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => '',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {}
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[1];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[4];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[4]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[0]{'parent'} = 
$result_trees{'documentation_examples'};
+$result_trees{'documentation_examples'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[4];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'};
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'};
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'extra'}{'node_content'}[0]
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'}{'parent'}
 = $result_trees{'documentation_examples'};
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[7]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[2];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'args'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'contents'}[1]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[6]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[7]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[0]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[2]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[3]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[4];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[4]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'contents'}[5]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[1]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[2]{'args'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[2];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[2]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'extra'}{'end_command'}
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'contents'}[2];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[9]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[10]{'parent'}
 = $result_trees{'documentation_examples'}{'contents'}[1];
+$result_trees{'documentation_examples'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'documentation_examples'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentation_examples'}{'contents'}[1]{'parent'} = 
$result_trees{'documentation_examples'};
+$result_trees{'documentation_examples'}{'contents'}[2] = 
$result_trees{'documentation_examples'}{'contents'}[1]{'contents'}[1]{'contents'}[6]{'extra'}{'label'};
+
+$result_texis{'documentation_examples'} = '
+@settitle @email{someone@@example.com, me} @sansserif{in--title} @error{}
+
+@node Top
+
+@sansserif{in--text} @- p--n. @error{}
+@xref{my node}@footnote{in footnote}.
+@titlefont{in titlefont}
+@email{a@@b.c, someone}
+
+@math{@sansserif{in--math} @- a=b @error{}}
+
+@example
+@sansserif{in--example} @- c. @error{}
+@end example
+
+
+@node my node
+
+';
+
+
+$result_texts{'documentation_examples'} = '
+
+
+in-text  p-n. error-->
+my node.
+in titlefont
+someone
+
+in--math  a=b error-->
+
+in--example  c. error-->
+
+
+
+';
+
+$result_nodes{'documentation_examples'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 'my-node'
+      },
+      'structure' => {
+        'node_prev' => {}
+      }
+    }
+  }
+};
+$result_nodes{'documentation_examples'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'documentation_examples'};
+
+$result_menus{'documentation_examples'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'structure' => {}
+};
+
+$result_errors{'documentation_examples'} = [];
+
+
+$result_floats{'documentation_examples'} = {};
+
+
+1;
diff --git 
a/tp/t/results/init_files_tests/documentation_examples/res_html/documentation_examples_fot.html
 
b/tp/t/results/init_files_tests/documentation_examples/res_html/documentation_examples_fot.html
new file mode 100644
index 0000000000..988f9a2817
--- /dev/null
+++ 
b/tp/t/results/init_files_tests/documentation_examples/res_html/documentation_examples_fot.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Footnotes (someone@example.com (me) undefined text-align:center, is 
undef|end|separate in&ndash;title error--&gt;)</title>
+
+<meta name="description" content="Footnotes (someone@example.com (me) 
undefined text-align:center, is undef|end|separate in&ndash;title error--&gt;)">
+<meta name="keywords" content="Footnotes (someone@example.com (me) undefined 
text-align:center, is undef|end|separate in&ndash;title error--&gt;)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="element-footnotes" id="SEC_Footnotes">
+<div class="nav-panel">
+<p>
+ &nbsp; </p>
+</div>
+<hr>
+<h4 class="footnotes-heading">Footnotes</h4>
+
+<h5 class="footnote-body-heading"><a id="FOOT1" 
href="index.html#DOCF1">(1)</a></h5>
+<p>in footnote <code>HTML</code> text </p>
+<h5 class="footnote-body-heading"><a id="FOOT1_2" 
href="index.html#DOCF1_2">(2)</a></h5>
+<p>in footnote <code>HTML</code> text </p>
+</div><hr>
+<div class="nav-panel">
+<p>
+ &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/init_files_tests/documentation_examples/res_html/index.html 
b/tp/t/results/init_files_tests/documentation_examples/res_html/index.html
new file mode 100644
index 0000000000..b874129497
--- /dev/null
+++ b/tp/t/results/init_files_tests/documentation_examples/res_html/index.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Top (someone@example.com (me) undefined text-align:center, is 
undef|end|separate in&ndash;title error--&gt;)</title>
+
+<meta name="description" content="Top (someone@example.com (me) undefined 
text-align:center, is undef|end|separate in&ndash;title error--&gt;)">
+<meta name="keywords" content="Top (someone@example.com (me) undefined 
text-align:center, is undef|end|separate in&ndash;title error--&gt;)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#prepended_to_labels-Top" rel="start" title="Top">
+<link href="prepended_to_filenames-my-node.html" rel="next" title="my node">
+<style type="text/css">
+<!--
+div.example {margin-left: 3.2em}
+h1.titlefont {text-align:center}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+
+
+<a class="node-id" id="prepended_to_labels-Top"></a><div class="nav-panel">
+<p>
+Next: <a href="prepended_to_filenames-my-node.html" accesskey="n" 
rel="next">my node</a> &nbsp; </p>
+</div>
+<hr>
+<h1 class="node">Top</h1>
+
+<p><code class="sansserif">in&ndash;text</code> &shy; p--n. error--&gt;
+See <a class="xref" href="prepended_to_filenames-my-node.html">my node</a><a 
class="footnote" id="DOCF1_2" 
href="documentation_examples_fot.html#FOOT1_2"><sup>2</sup></a>.
+ <code>HTML</code> text </p><h1 class="titlefont">in titlefont</h1>
+<p><a class="email" href="mailto:a@b.c";>someone</a> [undefined 
text-align:center, is undef|end|separate]
+ <code>HTML</code> text </p>
+<p><em class="math"><code class="sansserif">in--math</code> &shy; a=b 
error--&gt;</em>
+ <code>HTML</code> text </p>
+<div class="example">
+<pre class="example-preformatted"><code 
class="sansserif">in&ndash;example</code> &shy; c. error--&gt;
+</pre></div>
+
+
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="prepended_to_filenames-my-node.html" accesskey="n" 
rel="next">my node</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/init_files_tests/documentation_examples/res_html/prepended_to_filenames-my-node.html
 
b/tp/t/results/init_files_tests/documentation_examples/res_html/prepended_to_filenames-my-node.html
new file mode 100644
index 0000000000..8adfd24617
--- /dev/null
+++ 
b/tp/t/results/init_files_tests/documentation_examples/res_html/prepended_to_filenames-my-node.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>my node (someone@example.com (me) undefined text-align:center, is 
undef|end|separate in&ndash;title error--&gt;)</title>
+
+<meta name="description" content="my node (someone@example.com (me) undefined 
text-align:center, is undef|end|separate in&ndash;title error--&gt;)">
+<meta name="keywords" content="my node (someone@example.com (me) undefined 
text-align:center, is undef|end|separate in&ndash;title error--&gt;)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="index.html" rel="prev" title="Top">
+
+
+</head>
+
+<body lang="en">
+<a class="node-id" id="prepended_to_labels-my-node"></a><div class="nav-panel">
+<p>
+Previous: <a href="index.html" accesskey="p" rel="prev">Top</a> &nbsp; </p>
+</div>
+<hr>
+<h4 class="node">my node</h4>
+
+
+
+
+</body>
+</html>



reply via email to

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