texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: Add test results.


From: Patrice Dumas
Subject: branch master updated: Add test results.
Date: Mon, 02 Jan 2023 17:43:53 -0500

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 707b453122 Add test results.
707b453122 is described below

commit 707b4531228f6fb6faae77cea26a806caa67b74e
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Jan 2 23:43:36 2023 +0100

    Add test results.
---
 tp/t/results/languages/documentlanguage.pl         | 998 +++++++++++++++++++++
 .../res_html/documentlanguage.html                 |  77 ++
 .../res_info/documentlanguage.info                 | Bin 0 -> 555 bytes
 tp/t/results/languages/documentlanguage_option.pl  | 998 +++++++++++++++++++++
 .../res_html/documentlanguage.html                 |  77 ++
 .../res_info/documentlanguage.info                 | Bin 0 -> 554 bytes
 tp/t/results/languages/documentlanguage_unknown.pl | 998 +++++++++++++++++++++
 .../res_html/documentlanguage.html                 |  77 ++
 .../res_info/documentlanguage.info                 | Bin 0 -> 553 bytes
 9 files changed, 3225 insertions(+)

diff --git a/tp/t/results/languages/documentlanguage.pl 
b/tp/t/results/languages/documentlanguage.pl
new file mode 100644
index 0000000000..432b1883b0
--- /dev/null
+++ b/tp/t/results/languages/documentlanguage.pl
@@ -0,0 +1,998 @@
+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{'documentlanguage'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'text' => '\\input texinfo @c -*-texinfo-*-
+',
+                  'type' => 'text_before_beginning'
+                },
+                {
+                  'text' => '
+',
+                  'type' => 'text_before_beginning'
+                }
+              ],
+              'type' => 'preamble_before_beginning'
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' this document is setup to detect when the 
documentlanguage was not
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' this document is setup to detect when the documentlanguage 
was not
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' set according to command line, but according to 
document.  This
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' set according to command line, but according to document.  
This
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' is important to test that in the Parser, as 
converters initialized with
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' is important to test that in the Parser, as converters 
initialized with
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' Texinfo::Convert::Converter converter() and with 
values accessed by
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' Texinfo::Convert::Converter converter() and with values 
accessed by
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' get_conf() will use the command line.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' get_conf() will use the command line.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' This is tricky to demonstrate, as 
documentlanguage is not used much
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' This is tricky to demonstrate, as documentlanguage is not 
used much
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' in Parser.  It is used in two places to set the 
documentlanguage extra
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' in Parser.  It is used in two places to set the 
documentlanguage extra
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' value, 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' value, 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' 1) for the untranslated type, for the prefix of 
@def* and 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' 1) for the untranslated type, for the prefix of @def* and 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' 2) for the @def* line commands with added index 
entries that need to 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' 2) for the @def* line commands with added index entries 
that need to 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => '    be translated, like \'{name} of {class}\'.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  '    be translated, like \'{name} of {class}\'.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' The untranslated type is in general translated 
in the converters
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' The untranslated type is in general translated in the 
converters
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' without using the extra documentlanguage key 
value, so getting it 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' without using the extra documentlanguage key value, so 
getting it 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' wrong does not have any consequence.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' wrong does not have any consequence.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' The @def* translated added indices are 
translated relatively early,
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' The @def* translated added indices are translated 
relatively early,
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' before the converter, and the extra 
documentlanguage key is used to
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' before the converter, and the extra documentlanguage key 
is used to
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' get the language, so if the wrong language is 
set, it will show up
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' get the language, so if the wrong language is set, it will 
show up
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' in the index generated by @printindex.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' in the index generated by @printindex.
+'
+                ]
+              }
+            }
+          ],
+          'type' => 'preamble_before_setfilename'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'documentlanguage.info'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'setfilename',
+              'extra' => {
+                'text_arg' => 'documentlanguage.info'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 21,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'pt'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentlanguage',
+              'extra' => {
+                'text_arg' => 'pt'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 23,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            }
+          ],
+          'type' => 'preamble_before_content'
+        }
+      ],
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 25,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top section'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 26,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'isindex' => 1,
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'chapter'
+          }
+        ],
+        'normalized' => 'chapter'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 28,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'chapter'
+                    }
+                  ],
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'chapter'
+                }
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 31,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'deftypemethod',
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'extra' => {
+                            'documentlanguage' => 'pt'
+                          },
+                          'text' => 'Method',
+                          'type' => 'untranslated'
+                        }
+                      ],
+                      'extra' => {
+                        'def_role' => 'category'
+                      },
+                      'type' => 'bracketed_inserted'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'spaces'
+                      },
+                      'text' => ' ',
+                      'type' => 'spaces_inserted'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'class'
+                      },
+                      'text' => 'class'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'spaces'
+                      },
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'type'
+                      },
+                      'text' => 'data-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' => 'arguments'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'extra' => {
+                'def_command' => 'deftypemethod',
+                'def_parsed_hash' => {
+                  'category' => {},
+                  'class' => {},
+                  'name' => {},
+                  'type' => {}
+                },
+                'documentlanguage' => 'pt',
+                'index_entry' => {
+                  'content_normalized' => [
+                    {},
+                    {
+                      'text' => ' on '
+                    },
+                    {}
+                  ],
+                  'entry_content' => [
+                    {},
+                    {
+                      'text' => ' na '
+                    },
+                    {}
+                  ],
+                  'entry_element' => {},
+                  'entry_node' => {},
+                  'entry_number' => 1,
+                  'in_code' => 1,
+                  'index_at_command' => 'deftypemethod',
+                  'index_ignore_chars' => {},
+                  'index_name' => 'fn',
+                  'index_type_command' => 'deftypemethod'
+                },
+                'original_def_cmdname' => 'deftypemethod'
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 33,
+                'macro' => ''
+              },
+              'type' => 'def_line'
+            },
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'Some text.
+'
+                    }
+                  ],
+                  'type' => 'paragraph'
+                }
+              ],
+              'type' => 'def_item'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'deftypemethod'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'text_arg' => 'deftypemethod'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 35,
+                'macro' => ''
+              }
+            }
+          ],
+          'info' => {
+            'spaces_before_argument' => ' '
+          },
+          'source_info' => {
+            'file_name' => 'documentlanguage.texi',
+            'line_nr' => 33,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'fn'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => '
+'
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'printindex',
+          'extra' => {
+            'misc_args' => [
+              'fn'
+            ]
+          },
+          'info' => {
+            'spaces_before_argument' => ' '
+          },
+          'source_info' => {
+            'file_name' => 'documentlanguage.texi',
+            'line_nr' => 37,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 29,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'text' => '
+',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'bye'
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'documentlanguage'}{'contents'}[1]{'extra'}{'node_content'}[0] = 
$result_trees{'documentlanguage'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'documentlanguage'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[3]{'extra'}{'node_content'}[0] = 
$result_trees{'documentlanguage'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'documentlanguage'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'documentlanguage'}{'contents'}[3];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'category'}
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'class'}
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'name'}
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'type'}
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[0]
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[2]
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_content'}[0]
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_content'}[2]
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_element'}
 = 
$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0];
+$result_trees{'documentlanguage'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_node'}
 = $result_trees{'documentlanguage'}{'contents'}[3];
+
+$result_texis{'documentlanguage'} = '\\input texinfo @c -*-texinfo-*-
+
+@c this document is setup to detect when the documentlanguage was not
+@c set according to command line, but according to document.  This
+@c is important to test that in the Parser, as converters initialized with
+@c Texinfo::Convert::Converter converter() and with values accessed by
+@c get_conf() will use the command line.
+@c This is tricky to demonstrate, as documentlanguage is not used much
+@c in Parser.  It is used in two places to set the documentlanguage extra
+@c value, 
+@c 1) for the untranslated type, for the prefix of @def* and 
+@c 2) for the @def* line commands with added index entries that need to 
+@c    be translated, like \'{name} of {class}\'.
+@c The untranslated type is in general translated in the converters
+@c without using the extra documentlanguage key value, so getting it 
+@c wrong does not have any consequence.
+@c The @def* translated added indices are translated relatively early,
+@c before the converter, and the extra documentlanguage key is used to
+@c get the language, so if the wrong language is set, it will show up
+@c in the index generated by @printindex.
+@setfilename documentlanguage.info
+
+@documentlanguage pt
+
+@node Top
+@top top section
+
+@node chapter
+@chapter Chapter
+
+@xref{chapter}.
+
+@deftypemethod class data-type name arguments
+Some text.
+@end deftypemethod
+
+@printindex fn
+
+@bye
+';
+
+
+$result_texts{'documentlanguage'} = '
+
+top section
+***********
+
+1 Chapter
+*********
+
+chapter.
+
+Method on class: data-type name arguments
+Some text.
+
+
+';
+
+$result_sectioning{'documentlanguage'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {},
+            'structure' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'isindex' => 1,
+                    'normalized' => 'chapter'
+                  },
+                  'info' => {},
+                  'structure' => {}
+                }
+              },
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = $result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = $result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'documentlanguage'};
+
+$result_nodes{'documentlanguage'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'info' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'isindex' => 1,
+        'normalized' => 'chapter'
+      },
+      'info' => {},
+      'structure' => {
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'documentlanguage'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'documentlanguage'};
+$result_nodes{'documentlanguage'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'documentlanguage'};
+
+$result_menus{'documentlanguage'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {}
+};
+
+$result_errors{'documentlanguage'} = [];
+
+
+$result_floats{'documentlanguage'} = {};
+
+
+$result_indices_sort_strings{'documentlanguage'} = {
+  'fn' => [
+    'name na class'
+  ]
+};
+
+
+1;
diff --git 
a/tp/t/results/languages/documentlanguage/res_html/documentlanguage.html 
b/tp/t/results/languages/documentlanguage/res_html/documentlanguage.html
new file mode 100644
index 0000000000..aca95d746a
--- /dev/null
+++ b/tp/t/results/languages/documentlanguage/res_html/documentlanguage.html
@@ -0,0 +1,77 @@
+<!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 section</title>
+
+<meta name="description" content="top section">
+<meta name="keywords" content="top section">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<link href="#chapter" rel="index" title="chapter">
+<link href="#chapter" rel="next" title="chapter">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
+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 lang="pt">
+
+
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="#chapter" accesskey="n" rel="next">Chapter</a> &nbsp; [<a 
href="#chapter" title="Index" rel="index">Index</a>]</p>
+</div>
+<h1 class="top" id="top-section">top section</h1>
+
+<ul class="mini-toc">
+<li><a href="#chapter" accesskey="1">Chapter</a></li>
+</ul>
+<hr>
+<div class="chapter-level-extent" id="chapter">
+<div class="nav-panel">
+<p>
+Previous: <a href="#Top" accesskey="p" rel="prev">top section</a>, Up: <a 
href="#Top" accesskey="u" rel="up">top section</a> &nbsp; [<a href="#chapter" 
title="Index" rel="index">Index</a>]</p>
+</div>
+<h2 class="chapter" id="Chapter">1, Chapter</h2>
+
+<p>Veja <a class="xref" href="#chapter">Chapter</a>.
+</p>
+<dl class="first-deftypeop first-deftypemethod-alias-first-deftypeop">
+<dt class="deftypeop deftypemethod-alias-deftypeop" 
id="index-name-on-class"><span class="category-def">Method on <code 
class="code">class</code>: </span><span><code class="def-type">data-type</code> 
<strong class="def-name">name</strong> <code 
class="def-code-arguments">arguments</code><a class="copiable-link" 
href='#index-name-on-class'> &para;</a></span></dt>
+<dd><p>Some text.
+</p></dd></dl>
+
+<div class="printindex fn-printindex">
+<table class="fn-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Entrada de 
&Iacute;ndice</th><th 
class="sections-header-printindex">Se&ccedil;&atilde;o</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="chapter_fn_letter-N">N</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-name-on-class"><code>name na class</code></a></td><td 
class="printindex-index-section"><a href="#chapter">chapter</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+</table>
+</div>
+
+</div>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/languages/documentlanguage/res_info/documentlanguage.info 
b/tp/t/results/languages/documentlanguage/res_info/documentlanguage.info
new file mode 100644
index 0000000000..deea772ff1
Binary files /dev/null and 
b/tp/t/results/languages/documentlanguage/res_info/documentlanguage.info differ
diff --git a/tp/t/results/languages/documentlanguage_option.pl 
b/tp/t/results/languages/documentlanguage_option.pl
new file mode 100644
index 0000000000..21ab69ae66
--- /dev/null
+++ b/tp/t/results/languages/documentlanguage_option.pl
@@ -0,0 +1,998 @@
+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{'documentlanguage_option'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'text' => '\\input texinfo @c -*-texinfo-*-
+',
+                  'type' => 'text_before_beginning'
+                },
+                {
+                  'text' => '
+',
+                  'type' => 'text_before_beginning'
+                }
+              ],
+              'type' => 'preamble_before_beginning'
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' this document is setup to detect when the 
documentlanguage was not
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' this document is setup to detect when the documentlanguage 
was not
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' set according to command line, but according to 
document.  This
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' set according to command line, but according to document.  
This
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' is important to test that in the Parser, as 
converters initialized with
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' is important to test that in the Parser, as converters 
initialized with
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' Texinfo::Convert::Converter converter() and with 
values accessed by
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' Texinfo::Convert::Converter converter() and with values 
accessed by
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' get_conf() will use the command line.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' get_conf() will use the command line.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' This is tricky to demonstrate, as 
documentlanguage is not used much
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' This is tricky to demonstrate, as documentlanguage is not 
used much
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' in Parser.  It is used in two places to set the 
documentlanguage extra
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' in Parser.  It is used in two places to set the 
documentlanguage extra
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' value, 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' value, 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' 1) for the untranslated type, for the prefix of 
@def* and 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' 1) for the untranslated type, for the prefix of @def* and 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' 2) for the @def* line commands with added index 
entries that need to 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' 2) for the @def* line commands with added index entries 
that need to 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => '    be translated, like \'{name} of {class}\'.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  '    be translated, like \'{name} of {class}\'.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' The untranslated type is in general translated 
in the converters
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' The untranslated type is in general translated in the 
converters
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' without using the extra documentlanguage key 
value, so getting it 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' without using the extra documentlanguage key value, so 
getting it 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' wrong does not have any consequence.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' wrong does not have any consequence.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' The @def* translated added indices are 
translated relatively early,
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' The @def* translated added indices are translated 
relatively early,
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' before the converter, and the extra 
documentlanguage key is used to
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' before the converter, and the extra documentlanguage key 
is used to
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' get the language, so if the wrong language is 
set, it will show up
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' get the language, so if the wrong language is set, it will 
show up
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' in the index generated by @printindex.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' in the index generated by @printindex.
+'
+                ]
+              }
+            }
+          ],
+          'type' => 'preamble_before_setfilename'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'documentlanguage.info'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'setfilename',
+              'extra' => {
+                'text_arg' => 'documentlanguage.info'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 21,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'pt'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentlanguage',
+              'extra' => {
+                'text_arg' => 'pt'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 23,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            }
+          ],
+          'type' => 'preamble_before_content'
+        }
+      ],
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 25,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top section'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 26,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'isindex' => 1,
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'chapter'
+          }
+        ],
+        'normalized' => 'chapter'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 28,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'chapter'
+                    }
+                  ],
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'chapter'
+                }
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 31,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'deftypemethod',
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'extra' => {
+                            'documentlanguage' => 'fr'
+                          },
+                          'text' => 'Method',
+                          'type' => 'untranslated'
+                        }
+                      ],
+                      'extra' => {
+                        'def_role' => 'category'
+                      },
+                      'type' => 'bracketed_inserted'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'spaces'
+                      },
+                      'text' => ' ',
+                      'type' => 'spaces_inserted'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'class'
+                      },
+                      'text' => 'class'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'spaces'
+                      },
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'type'
+                      },
+                      'text' => 'data-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' => 'arguments'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'extra' => {
+                'def_command' => 'deftypemethod',
+                'def_parsed_hash' => {
+                  'category' => {},
+                  'class' => {},
+                  'name' => {},
+                  'type' => {}
+                },
+                'documentlanguage' => 'fr',
+                'index_entry' => {
+                  'content_normalized' => [
+                    {},
+                    {
+                      'text' => ' on '
+                    },
+                    {}
+                  ],
+                  'entry_content' => [
+                    {},
+                    {
+                      'text' => ' de '
+                    },
+                    {}
+                  ],
+                  'entry_element' => {},
+                  'entry_node' => {},
+                  'entry_number' => 1,
+                  'in_code' => 1,
+                  'index_at_command' => 'deftypemethod',
+                  'index_ignore_chars' => {},
+                  'index_name' => 'fn',
+                  'index_type_command' => 'deftypemethod'
+                },
+                'original_def_cmdname' => 'deftypemethod'
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 33,
+                'macro' => ''
+              },
+              'type' => 'def_line'
+            },
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'Some text.
+'
+                    }
+                  ],
+                  'type' => 'paragraph'
+                }
+              ],
+              'type' => 'def_item'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'deftypemethod'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'text_arg' => 'deftypemethod'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 35,
+                'macro' => ''
+              }
+            }
+          ],
+          'info' => {
+            'spaces_before_argument' => ' '
+          },
+          'source_info' => {
+            'file_name' => 'documentlanguage.texi',
+            'line_nr' => 33,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'fn'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => '
+'
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'printindex',
+          'extra' => {
+            'misc_args' => [
+              'fn'
+            ]
+          },
+          'info' => {
+            'spaces_before_argument' => ' '
+          },
+          'source_info' => {
+            'file_name' => 'documentlanguage.texi',
+            'line_nr' => 37,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 29,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'text' => '
+',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'bye'
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'documentlanguage_option'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'documentlanguage_option'}{'contents'}[3];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'category'}
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'class'}
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'name'}
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'type'}
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[2]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_content'}[0]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_content'}[2]
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_element'}
 = 
$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0];
+$result_trees{'documentlanguage_option'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_node'}
 = $result_trees{'documentlanguage_option'}{'contents'}[3];
+
+$result_texis{'documentlanguage_option'} = '\\input texinfo @c -*-texinfo-*-
+
+@c this document is setup to detect when the documentlanguage was not
+@c set according to command line, but according to document.  This
+@c is important to test that in the Parser, as converters initialized with
+@c Texinfo::Convert::Converter converter() and with values accessed by
+@c get_conf() will use the command line.
+@c This is tricky to demonstrate, as documentlanguage is not used much
+@c in Parser.  It is used in two places to set the documentlanguage extra
+@c value, 
+@c 1) for the untranslated type, for the prefix of @def* and 
+@c 2) for the @def* line commands with added index entries that need to 
+@c    be translated, like \'{name} of {class}\'.
+@c The untranslated type is in general translated in the converters
+@c without using the extra documentlanguage key value, so getting it 
+@c wrong does not have any consequence.
+@c The @def* translated added indices are translated relatively early,
+@c before the converter, and the extra documentlanguage key is used to
+@c get the language, so if the wrong language is set, it will show up
+@c in the index generated by @printindex.
+@setfilename documentlanguage.info
+
+@documentlanguage pt
+
+@node Top
+@top top section
+
+@node chapter
+@chapter Chapter
+
+@xref{chapter}.
+
+@deftypemethod class data-type name arguments
+Some text.
+@end deftypemethod
+
+@printindex fn
+
+@bye
+';
+
+
+$result_texts{'documentlanguage_option'} = '
+
+top section
+***********
+
+1 Chapter
+*********
+
+chapter.
+
+Method on class: data-type name arguments
+Some text.
+
+
+';
+
+$result_sectioning{'documentlanguage_option'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {},
+            'structure' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'isindex' => 1,
+                    'normalized' => 'chapter'
+                  },
+                  'info' => {},
+                  'structure' => {}
+                }
+              },
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage_option'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'documentlanguage_option'};
+
+$result_nodes{'documentlanguage_option'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'info' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'isindex' => 1,
+        'normalized' => 'chapter'
+      },
+      'info' => {},
+      'structure' => {
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'documentlanguage_option'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'documentlanguage_option'};
+$result_nodes{'documentlanguage_option'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'documentlanguage_option'};
+
+$result_menus{'documentlanguage_option'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {}
+};
+
+$result_errors{'documentlanguage_option'} = [];
+
+
+$result_floats{'documentlanguage_option'} = {};
+
+
+$result_indices_sort_strings{'documentlanguage_option'} = {
+  'fn' => [
+    'name de class'
+  ]
+};
+
+
+1;
diff --git 
a/tp/t/results/languages/documentlanguage_option/res_html/documentlanguage.html 
b/tp/t/results/languages/documentlanguage_option/res_html/documentlanguage.html
new file mode 100644
index 0000000000..fe21f45fb3
--- /dev/null
+++ 
b/tp/t/results/languages/documentlanguage_option/res_html/documentlanguage.html
@@ -0,0 +1,77 @@
+<!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 section</title>
+
+<meta name="description" content="top section">
+<meta name="keywords" content="top section">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<link href="#chapter" rel="index" title="chapter">
+<link href="#chapter" rel="next" title="chapter">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
+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 lang="fr">
+
+
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="#chapter" accesskey="n" rel="next">Chapter</a> &nbsp; [<a 
href="#chapter" title="Index" rel="index">Index</a>]</p>
+</div>
+<h1 class="top" id="top-section">top section</h1>
+
+<ul class="mini-toc">
+<li><a href="#chapter" accesskey="1">Chapter</a></li>
+</ul>
+<hr>
+<div class="chapter-level-extent" id="chapter">
+<div class="nav-panel">
+<p>
+Previous: <a href="#Top" accesskey="p" rel="prev">top section</a>, Up: <a 
href="#Top" accesskey="u" rel="up">top section</a> &nbsp; [<a href="#chapter" 
title="Index" rel="index">Index</a>]</p>
+</div>
+<h2 class="chapter" id="Chapter">1 Chapter</h2>
+
+<p>Voir <a class="xref" href="#chapter">Chapter</a>.
+</p>
+<dl class="first-deftypeop first-deftypemethod-alias-first-deftypeop">
+<dt class="deftypeop deftypemethod-alias-deftypeop" 
id="index-name-on-class"><span class="category-def">Method de <code 
class="code">class</code>&nbsp;: </span><span><code 
class="def-type">data-type</code> <strong class="def-name">name</strong> <code 
class="def-code-arguments">arguments</code><a class="copiable-link" 
href='#index-name-on-class'> &para;</a></span></dt>
+<dd><p>Some text.
+</p></dd></dl>
+
+<div class="printindex fn-printindex">
+<table class="fn-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Entr&eacute;e 
d&rsquo;index</th><th class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="chapter_fn_letter-N">N</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-name-on-class"><code>name de class</code></a></td><td 
class="printindex-index-section"><a href="#chapter">chapter</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+</table>
+</div>
+
+</div>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/languages/documentlanguage_option/res_info/documentlanguage.info 
b/tp/t/results/languages/documentlanguage_option/res_info/documentlanguage.info
new file mode 100644
index 0000000000..c32efe9dab
Binary files /dev/null and 
b/tp/t/results/languages/documentlanguage_option/res_info/documentlanguage.info 
differ
diff --git a/tp/t/results/languages/documentlanguage_unknown.pl 
b/tp/t/results/languages/documentlanguage_unknown.pl
new file mode 100644
index 0000000000..d2bafad35d
--- /dev/null
+++ b/tp/t/results/languages/documentlanguage_unknown.pl
@@ -0,0 +1,998 @@
+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{'documentlanguage_unknown'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'text' => '\\input texinfo @c -*-texinfo-*-
+',
+                  'type' => 'text_before_beginning'
+                },
+                {
+                  'text' => '
+',
+                  'type' => 'text_before_beginning'
+                }
+              ],
+              'type' => 'preamble_before_beginning'
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' this document is setup to detect when the 
documentlanguage was not
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' this document is setup to detect when the documentlanguage 
was not
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' set according to command line, but according to 
document.  This
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' set according to command line, but according to document.  
This
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' is important to test that in the Parser, as 
converters initialized with
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' is important to test that in the Parser, as converters 
initialized with
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' Texinfo::Convert::Converter converter() and with 
values accessed by
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' Texinfo::Convert::Converter converter() and with values 
accessed by
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' get_conf() will use the command line.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' get_conf() will use the command line.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' This is tricky to demonstrate, as 
documentlanguage is not used much
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' This is tricky to demonstrate, as documentlanguage is not 
used much
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' in Parser.  It is used in two places to set the 
documentlanguage extra
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' in Parser.  It is used in two places to set the 
documentlanguage extra
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' value, 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' value, 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' 1) for the untranslated type, for the prefix of 
@def* and 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' 1) for the untranslated type, for the prefix of @def* and 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' 2) for the @def* line commands with added index 
entries that need to 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' 2) for the @def* line commands with added index entries 
that need to 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => '    be translated, like \'{name} of {class}\'.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  '    be translated, like \'{name} of {class}\'.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' The untranslated type is in general translated 
in the converters
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' The untranslated type is in general translated in the 
converters
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' without using the extra documentlanguage key 
value, so getting it 
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' without using the extra documentlanguage key value, so 
getting it 
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' wrong does not have any consequence.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' wrong does not have any consequence.
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' The @def* translated added indices are 
translated relatively early,
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' The @def* translated added indices are translated 
relatively early,
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' before the converter, and the extra 
documentlanguage key is used to
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' before the converter, and the extra documentlanguage key 
is used to
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' get the language, so if the wrong language is 
set, it will show up
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' get the language, so if the wrong language is set, it will 
show up
+'
+                ]
+              }
+            },
+            {
+              'args' => [
+                {
+                  'text' => ' in the index generated by @printindex.
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'extra' => {
+                'misc_args' => [
+                  ' in the index generated by @printindex.
+'
+                ]
+              }
+            }
+          ],
+          'type' => 'preamble_before_setfilename'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'documentlanguage.info'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'setfilename',
+              'extra' => {
+                'text_arg' => 'documentlanguage.info'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 21,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'pt'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentlanguage',
+              'extra' => {
+                'text_arg' => 'pt'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 23,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            }
+          ],
+          'type' => 'preamble_before_content'
+        }
+      ],
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 25,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'top section'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 26,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'isindex' => 1,
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'chapter'
+          }
+        ],
+        'normalized' => 'chapter'
+      },
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 28,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Chapter'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => '
+'
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'chapter'
+                    }
+                  ],
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'chapter'
+                }
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 31,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'deftypemethod',
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'extra' => {
+                            'documentlanguage' => 'unknown'
+                          },
+                          'text' => 'Method',
+                          'type' => 'untranslated'
+                        }
+                      ],
+                      'extra' => {
+                        'def_role' => 'category'
+                      },
+                      'type' => 'bracketed_inserted'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'spaces'
+                      },
+                      'text' => ' ',
+                      'type' => 'spaces_inserted'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'class'
+                      },
+                      'text' => 'class'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'spaces'
+                      },
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    },
+                    {
+                      'extra' => {
+                        'def_role' => 'type'
+                      },
+                      'text' => 'data-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' => 'arguments'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'extra' => {
+                'def_command' => 'deftypemethod',
+                'def_parsed_hash' => {
+                  'category' => {},
+                  'class' => {},
+                  'name' => {},
+                  'type' => {}
+                },
+                'documentlanguage' => 'unknown',
+                'index_entry' => {
+                  'content_normalized' => [
+                    {},
+                    {
+                      'text' => ' on '
+                    },
+                    {}
+                  ],
+                  'entry_content' => [
+                    {},
+                    {
+                      'text' => ' on '
+                    },
+                    {}
+                  ],
+                  'entry_element' => {},
+                  'entry_node' => {},
+                  'entry_number' => 1,
+                  'in_code' => 1,
+                  'index_at_command' => 'deftypemethod',
+                  'index_ignore_chars' => {},
+                  'index_name' => 'fn',
+                  'index_type_command' => 'deftypemethod'
+                },
+                'original_def_cmdname' => 'deftypemethod'
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 33,
+                'macro' => ''
+              },
+              'type' => 'def_line'
+            },
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'Some text.
+'
+                    }
+                  ],
+                  'type' => 'paragraph'
+                }
+              ],
+              'type' => 'def_item'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'deftypemethod'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'text_arg' => 'deftypemethod'
+              },
+              'info' => {
+                'spaces_before_argument' => ' '
+              },
+              'source_info' => {
+                'file_name' => 'documentlanguage.texi',
+                'line_nr' => 35,
+                'macro' => ''
+              }
+            }
+          ],
+          'info' => {
+            'spaces_before_argument' => ' '
+          },
+          'source_info' => {
+            'file_name' => 'documentlanguage.texi',
+            'line_nr' => 33,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'fn'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => '
+'
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'printindex',
+          'extra' => {
+            'misc_args' => [
+              'fn'
+            ]
+          },
+          'info' => {
+            'spaces_before_argument' => ' '
+          },
+          'source_info' => {
+            'file_name' => 'documentlanguage.texi',
+            'line_nr' => 37,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => ' '
+      },
+      'source_info' => {
+        'file_name' => 'documentlanguage.texi',
+        'line_nr' => 29,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'text' => '
+',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'bye'
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'documentlanguage_unknown'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'documentlanguage_unknown'}{'contents'}[3];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'category'}
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'class'}
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'name'}
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'type'}
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[2]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_content'}[0]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_content'}[2]
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_element'}
 = 
$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0];
+$result_trees{'documentlanguage_unknown'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'index_entry'}{'entry_node'}
 = $result_trees{'documentlanguage_unknown'}{'contents'}[3];
+
+$result_texis{'documentlanguage_unknown'} = '\\input texinfo @c -*-texinfo-*-
+
+@c this document is setup to detect when the documentlanguage was not
+@c set according to command line, but according to document.  This
+@c is important to test that in the Parser, as converters initialized with
+@c Texinfo::Convert::Converter converter() and with values accessed by
+@c get_conf() will use the command line.
+@c This is tricky to demonstrate, as documentlanguage is not used much
+@c in Parser.  It is used in two places to set the documentlanguage extra
+@c value, 
+@c 1) for the untranslated type, for the prefix of @def* and 
+@c 2) for the @def* line commands with added index entries that need to 
+@c    be translated, like \'{name} of {class}\'.
+@c The untranslated type is in general translated in the converters
+@c without using the extra documentlanguage key value, so getting it 
+@c wrong does not have any consequence.
+@c The @def* translated added indices are translated relatively early,
+@c before the converter, and the extra documentlanguage key is used to
+@c get the language, so if the wrong language is set, it will show up
+@c in the index generated by @printindex.
+@setfilename documentlanguage.info
+
+@documentlanguage pt
+
+@node Top
+@top top section
+
+@node chapter
+@chapter Chapter
+
+@xref{chapter}.
+
+@deftypemethod class data-type name arguments
+Some text.
+@end deftypemethod
+
+@printindex fn
+
+@bye
+';
+
+
+$result_texts{'documentlanguage_unknown'} = '
+
+top section
+***********
+
+1 Chapter
+*********
+
+chapter.
+
+Method on class: data-type name arguments
+Some text.
+
+
+';
+
+$result_sectioning{'documentlanguage_unknown'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'info' => {},
+            'structure' => {}
+          }
+        },
+        'info' => {},
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'isindex' => 1,
+                    'normalized' => 'chapter'
+                  },
+                  'info' => {},
+                  'structure' => {}
+                }
+              },
+              'info' => {},
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'documentlanguage_unknown'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'documentlanguage_unknown'};
+
+$result_nodes{'documentlanguage_unknown'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'info' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'info' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'isindex' => 1,
+        'normalized' => 'chapter'
+      },
+      'info' => {},
+      'structure' => {
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'documentlanguage_unknown'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'documentlanguage_unknown'};
+$result_nodes{'documentlanguage_unknown'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'documentlanguage_unknown'};
+
+$result_menus{'documentlanguage_unknown'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'info' => {},
+  'structure' => {}
+};
+
+$result_errors{'documentlanguage_unknown'} = [];
+
+
+$result_floats{'documentlanguage_unknown'} = {};
+
+
+$result_indices_sort_strings{'documentlanguage_unknown'} = {
+  'fn' => [
+    'name on class'
+  ]
+};
+
+
+1;
diff --git 
a/tp/t/results/languages/documentlanguage_unknown/res_html/documentlanguage.html
 
b/tp/t/results/languages/documentlanguage_unknown/res_html/documentlanguage.html
new file mode 100644
index 0000000000..fd4dbc1a3e
--- /dev/null
+++ 
b/tp/t/results/languages/documentlanguage_unknown/res_html/documentlanguage.html
@@ -0,0 +1,77 @@
+<!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 section</title>
+
+<meta name="description" content="top section">
+<meta name="keywords" content="top section">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<link href="#chapter" rel="index" title="chapter">
+<link href="#chapter" rel="next" title="chapter">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
+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 lang="unknown">
+
+
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="#chapter" accesskey="n" rel="next">Chapter</a> &nbsp; [<a 
href="#chapter" title="Index" rel="index">Index</a>]</p>
+</div>
+<h1 class="top" id="top-section">top section</h1>
+
+<ul class="mini-toc">
+<li><a href="#chapter" accesskey="1">Chapter</a></li>
+</ul>
+<hr>
+<div class="chapter-level-extent" id="chapter">
+<div class="nav-panel">
+<p>
+Previous: <a href="#Top" accesskey="p" rel="prev">top section</a>, Up: <a 
href="#Top" accesskey="u" rel="up">top section</a> &nbsp; [<a href="#chapter" 
title="Index" rel="index">Index</a>]</p>
+</div>
+<h2 class="chapter" id="Chapter">1 Chapter</h2>
+
+<p>See <a class="xref" href="#chapter">Chapter</a>.
+</p>
+<dl class="first-deftypeop first-deftypemethod-alias-first-deftypeop">
+<dt class="deftypeop deftypemethod-alias-deftypeop" 
id="index-name-on-class"><span class="category-def">Method on <code 
class="code">class</code>: </span><span><code class="def-type">data-type</code> 
<strong class="def-name">name</strong> <code 
class="def-code-arguments">arguments</code><a class="copiable-link" 
href='#index-name-on-class'> &para;</a></span></dt>
+<dd><p>Some text.
+</p></dd></dl>
+
+<div class="printindex fn-printindex">
+<table class="fn-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"><hr></td></tr>
+<tr><th id="chapter_fn_letter-N">N</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-name-on-class"><code>name on class</code></a></td><td 
class="printindex-index-section"><a href="#chapter">chapter</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+</table>
+</div>
+
+</div>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/languages/documentlanguage_unknown/res_info/documentlanguage.info
 
b/tp/t/results/languages/documentlanguage_unknown/res_info/documentlanguage.info
new file mode 100644
index 0000000000..5eba613a0f
Binary files /dev/null and 
b/tp/t/results/languages/documentlanguage_unknown/res_info/documentlanguage.info
 differ



reply via email to

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