texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Convert/Info.pm (output): encode dir


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Convert/Info.pm (output): encode directory name before creating.
Date: Wed, 02 Mar 2022 09:51:11 -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 a5a617a9e8 * tp/Texinfo/Convert/Info.pm (output): encode directory 
name before creating.
a5a617a9e8 is described below

commit a5a617a9e803d7544de8924e215eb755dc671055
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Mar 2 15:49:17 2022 +0100

    * tp/Texinfo/Convert/Info.pm (output): encode directory name
    before creating.
---
 ChangeLog                                          |   5 +
 tp/Makefile.am                                     |   2 +
 tp/TODO                                            |  55 ++-
 tp/Texinfo/Convert/Info.pm                         |   4 +-
 tp/t/formats_encodings.t                           |   6 +
 .../manual_simple_latin1_with_error.texi           |  13 +
 .../input_files/manual_simple_utf8_with_error.texi |  11 +
 .../manual_simple_latin1_with_error.pl             | 471 +++++++++++++++++++++
 .../res_html/Chapitre.html                         |  36 ++
 .../res_html/esseule.html                          |  31 ++
 .../res_html/index.html                            |  43 ++
 .../res_info/manual_simple_latin1_with_error.info  |  37 ++
 .../manual_simple_utf8_with_error.pl               | 426 +++++++++++++++++++
 .../res_html/Chapitre.html                         |  36 ++
 .../res_html/esseule.html                          |  31 ++
 .../res_html/index.html                            |  42 ++
 .../res_info/manual_simple_utf8_with_error.info    |  37 ++
 tp/tests/Makefile.am                               |   2 +
 tp/tests/formatting/list-of-tests                  |   1 +
 "tp/tests/included_lat\356n1.texi"                 |   4 +
 tp/tests/other/Makefile.am                         |   1 +
 tp/tests/other/list-of-tests                       |   5 +
 .../manual_include_accented_file_name_latin1.texi  |  11 +
 .../manual_include_accented_file_name_latin1.1     |   0
 .../manual_include_accented_file_name_latin1.2     |   1 +
 .../manual_include_accented_file_name_latin1.info  |  25 ++
 ...her_manual_include_accented_file_name_latin1.sh |  25 ++
 27 files changed, 1343 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6273ed226c..37ffd0656e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-03-01  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/Info.pm (output): encode directory name
+       before creating.
+
 2022-03-01  Gavin Smith  <gavinsmith0123@gmail.com>
 
        Encoding of #line argument in XS parser.
diff --git a/tp/Makefile.am b/tp/Makefile.am
index af5f24bcca..3cf247b34e 100644
--- a/tp/Makefile.am
+++ b/tp/Makefile.am
@@ -202,6 +202,8 @@ test_files = \
  t/input_files/index_split.texi \
  t/input_files/japanese_utf8.texi \
  t/input_files/japanese_shift_jis.texi \
+ t/input_files/manual_simple_utf8_with_error.texi \
+ t/input_files/manual_simple_latin1_with_error.texi \
  t/input_files/minimal_empty_empty.texi \
  t/input_files/minimal_empty_with_bye.texi \
  t/input_files/minimal_empty_with_input.texi \
diff --git a/tp/TODO b/tp/TODO
index e5dbfcbfc4..8c92ef7a79 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -34,38 +34,60 @@ bytes.  To check that they can never be upgraded + document
  Can come from parse_texi_file, CPP line or @include file, through
  $self->{'input'}, and $source_info, ends up in the tree in source_info
  and in error messages through line_warn line_error.
- $source_info->{'file_name'} passed through 
+ $source_info->{'file_name'} passed through
 
  $self->{'info'}->{'input_file_name'}
  $self->{'info'}->{'input_directory'}
 
 * XS Parser seems ok
 
-check with latin1
-CPP directive with encoded characters, UTF8 Texinfo manual
+Tests in non utf8 locales
+
+Tests ok
+
+t/formats_encodings.t manual_simple_utf8_with_error
+utf8 manual with errors involving non ascii strings
+./texi2any.pl ./t/input_files/manual_simple_utf8_with_error.texi
+
+t/formats_encodings.t manual_simple_latin1_with_error
+latin1 manual with errors involving non ascii strings
+./texi2any.pl ./t/input_files/manual_simple_latin1_with_error.texi
+
+tests/formatting cpp_lines
+CPP directive with non ascii characters, utf8 manual
 ./texi2any.pl -I ./t/include/ ./t/input_files/cpp_lines.texi
 accentêd:7: warning: làng is not a valid language code
 The file is UTF-8 encoded, the @documentencoding is obeyed which leads
-to an incorrect encoding, in the Parser, to UTF-8, and not to the latin1
+in the Parser, to an UTF-8 encoding of include file name, and not to the latin1
 encoding which should be used for the output messages encoding.
 This output is by (Gavin) design.
 
-Tests more interesting in non utf8 locale
-./texi2any.pl --set TEXINFO_OUTPUT_FORMAT=debugtree --set USE_NODES=0 -o 
résultat/encodé.txt ./t/input_files/simplest_no_node_section.texi
-
+many_input_files/output_dir_file_non_ascii.sh
+non ascii output directory, utf8 manual
 ./texi2any.pl -o encodé/ ./t/input_files/simplest.texi
 
-+ need to have file names/file content encoded in the non utf8 locale
 test of non ascii included file name in utf8 locale is already in formatting:
 formatting/osé.texi:@include included_akçentêd.texi
-But the test needs also to be done in non utf8 locale
-./texi2any.pl include_acc.texi
+./texi2any.pl --force -I tests/ tests/formatting/os*.texi
+The file name is utf-8 encoded in messages, which is expected as we do not
+decode/encode file names from the command linr for messages
+osé.texi:15: warning: undefined flag: vùr
 
-CPP line directive with accented characters already in tests:
-./t/input_files/cpp_lines.texi
-But the test needs also to be done in non utf8 locale (still TODO for XS 
Parser)
-./texi2any.pl cpp_line_latin1.texi
+t/80include.t cpp_line_latin1
+CPP directive with non ascii characters, latin1 manual
+./texi2any.pl --force ./t/input_files/cpp_line_latin1.texi
 
+Issue to add 'tests/included_lat'$'\356''n1.texi' in make dist
+tests/other manual_include_accented_file_name_latin1
+./texi2any.pl --force -I tests/ 
tests/other/manual_include_accented_file_name_latin1.texi
+
+
+additional tests TODO
++ need to have file names/file content encoded in the non utf8 locale
++ the test needs also to be done in non utf8 locale
+
+tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
+tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
 test l2h and tex4ht with non ascii file names in non utf8 locale.
 corresponds to tex_l2h_output_dir_non_ascii.sh
 tex_t4ht_output_dir_non_ascii.sh.
@@ -77,8 +99,7 @@ epub tests would also be interesting in 8 byte locale, with
  File Names and Paths MUST be UTF-8 [Unicode] encoded.
 First step would be to force that.
 
-
-
+Test more interesting in non utf8 locale
 Add tests even if not as interesting in UTF8 locale as in non UTF8?
 ./texi2any.pl --set TEXINFO_OUTPUT_FORMAT=debugtree --set USE_NODES=0 -o 
résultat/encodé.txt ./t/input_files/simplest_no_node_section.texi
 
@@ -109,7 +130,7 @@ html_image_file_location_name: $image_path
 
 Document new return of html_image_file_location_name
 
-Document 
+Document
 LOCALE_OUTPUT_ENCODING_NAME.
 Add DOC_ENCODING_FOR_INPUT_FILE_NAME,
 DOC_ENCODING_FOR_OUTPUT_FILE_NAME,
diff --git a/tp/Texinfo/Convert/Info.pm b/tp/Texinfo/Convert/Info.pm
index 338156bd86..bbf07d67fb 100644
--- a/tp/Texinfo/Convert/Info.pm
+++ b/tp/Texinfo/Convert/Info.pm
@@ -59,8 +59,10 @@ sub output($)
 
   my ($output_file, $destination_directory, $output_filename,
      $document_name, $input_basefile) = $self->determine_files_and_directory();
+  my ($encoded_destination_directory, $dir_encoding)
+    = $self->encoded_output_file_name($destination_directory);
   my ($succeeded, $created_directory)
-    = $self->create_destination_directory($destination_directory);
+    = $self->create_destination_directory($encoded_destination_directory);
   return undef unless $succeeded;
 
   # for format_node
diff --git a/tp/t/formats_encodings.t b/tp/t/formats_encodings.t
index e4bb8c9215..ad93a7c0cf 100644
--- a/tp/t/formats_encodings.t
+++ b/tp/t/formats_encodings.t
@@ -351,6 +351,12 @@ undef, {'test_file' => 'japanese_shift_jis.texi'}
 ['sample_utf8',
 undef, {'test_file' => 'sample_utf8.texi'}
 ],
+['manual_simple_utf8_with_error',
+undef, {'test_file' => 'manual_simple_utf8_with_error.texi'}
+],
+['manual_simple_latin1_with_error',
+undef, {'test_file' => 'manual_simple_latin1_with_error.texi'}
+],
 ['at_commands_in_refs_utf8',
 '@setfilename at_commands_in_refs_utf8.info
 @documentencoding utf-8
diff --git a/tp/t/input_files/manual_simple_latin1_with_error.texi 
b/tp/t/input_files/manual_simple_latin1_with_error.texi
new file mode 100644
index 0000000000..0b00d780db
--- /dev/null
+++ b/tp/t/input_files/manual_simple_latin1_with_error.texi
@@ -0,0 +1,13 @@
+\input texinfo.tex
+
+@documentencoding iso-8859-1
+
+@node Top
+@top Test�
+
+@node �sseul�
+
+@node Chapitr�
+@chapter Chapitr�
+
+@value{non_conn�e}
diff --git a/tp/t/input_files/manual_simple_utf8_with_error.texi 
b/tp/t/input_files/manual_simple_utf8_with_error.texi
new file mode 100644
index 0000000000..f8d2dd5901
--- /dev/null
+++ b/tp/t/input_files/manual_simple_utf8_with_error.texi
@@ -0,0 +1,11 @@
+\input texinfo.tex
+
+@node Top
+@top Testé
+
+@node ésseulé
+
+@node Chapitré
+@chapter Chapitré
+
+@value{non_connùe}
diff --git a/tp/t/results/formats_encodings/manual_simple_latin1_with_error.pl 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error.pl
new file mode 100644
index 0000000000..1e68a66ec2
--- /dev/null
+++ b/tp/t/results/formats_encodings/manual_simple_latin1_with_error.pl
@@ -0,0 +1,471 @@
+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{'manual_simple_latin1_with_error'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '\\input texinfo.tex
+',
+              'type' => 'text_before_beginning'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'text_before_beginning'
+            }
+          ],
+          'parent' => {},
+          'type' => 'preamble_before_beginning'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'iso-8859-1'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentencoding',
+              'extra' => {
+                'input_encoding_name' => 'iso-8859-1',
+                'input_perl_encoding' => 'iso-8859-1',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'iso-8859-1'
+              },
+              'parent' => {},
+              'source_info' => {
+                'file_name' => 'manual_simple_latin1_with_error.texi',
+                'line_nr' => 3,
+                'macro' => ''
+              }
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line'
+            }
+          ],
+          'parent' => {},
+          'type' => 'preamble_before_content'
+        }
+      ],
+      'parent' => {},
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_latin1_with_error.texi',
+        'line_nr' => 5,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "Test\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_latin1_with_error.texi',
+        'line_nr' => 6,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "\x{e9}sseul\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => '_00e9sseul_00e9'
+          }
+        ],
+        'normalized' => '_00e9sseul_00e9',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_latin1_with_error.texi',
+        'line_nr' => 8,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "Chapitr\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Chapitr_00e9'
+          }
+        ],
+        'normalized' => 'Chapitr_00e9',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_latin1_with_error.texi',
+        'line_nr' => 10,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "Chapitr\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'value',
+          'contents' => [],
+          'parent' => {},
+          'type' => "non_conn\x{f9}e"
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_latin1_with_error.texi',
+        'line_nr' => 11,
+        'macro' => ''
+      }
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[0]{'parent'} = 
$result_trees{'manual_simple_latin1_with_error'};
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'args'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[1];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[1]{'parent'} = 
$result_trees{'manual_simple_latin1_with_error'};
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[2]{'args'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[2];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[2];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[2]{'parent'} = 
$result_trees{'manual_simple_latin1_with_error'};
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'args'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[3];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[3];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[3]{'parent'} = 
$result_trees{'manual_simple_latin1_with_error'};
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'args'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[4];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'extra'}{'node_content'}[0]
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[4]{'parent'} = 
$result_trees{'manual_simple_latin1_with_error'};
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'args'}[0];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'manual_simple_latin1_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_latin1_with_error'}{'contents'}[5]{'parent'} = 
$result_trees{'manual_simple_latin1_with_error'};
+
+$result_texis{'manual_simple_latin1_with_error'} = '\\input texinfo.tex
+
+@documentencoding iso-8859-1
+
+@node Top
+@top Testé
+
+@node ésseulé
+
+@node Chapitré
+@chapter Chapitré
+
+@value{non_connùe}
+';
+
+
+$result_texts{'manual_simple_latin1_with_error'} = '
+Testé
+*****
+
+
+1 Chapitré
+**********
+
+
+';
+
+$result_sectioning{'manual_simple_latin1_with_error'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'structure' => {}
+          }
+        },
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Chapitr_00e9'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'manual_simple_latin1_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'manual_simple_latin1_with_error'};
+
+$result_nodes{'manual_simple_latin1_with_error'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'normalized' => 'Chapitr_00e9'
+      },
+      'structure' => {
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'manual_simple_latin1_with_error'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'manual_simple_latin1_with_error'};
+$result_nodes{'manual_simple_latin1_with_error'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'manual_simple_latin1_with_error'};
+
+$result_menus{'manual_simple_latin1_with_error'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'structure' => {}
+};
+
+$result_errors{'manual_simple_latin1_with_error'} = [
+  {
+    'error_line' => "warning: undefined flag: non_conn\x{f9}e
+",
+    'file_name' => 'manual_simple_latin1_with_error.texi',
+    'line_nr' => 13,
+    'macro' => '',
+    'text' => "undefined flag: non_conn\x{f9}e",
+    'type' => 'warning'
+  },
+  {
+    'error_line' => "warning: node `\x{e9}sseul\x{e9}' unreferenced
+",
+    'file_name' => 'manual_simple_latin1_with_error.texi',
+    'line_nr' => 8,
+    'macro' => '',
+    'text' => "node `\x{e9}sseul\x{e9}' unreferenced",
+    'type' => 'warning'
+  }
+];
+
+
+$result_floats{'manual_simple_latin1_with_error'} = {};
+
+
+1;
diff --git 
a/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/Chapitre.html
 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/Chapitre.html
new file mode 100644
index 0000000000..417c56e5d5
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/Chapitre.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Chapitr� (Test�)</title>
+
+<meta name="description" content="Chapitr� (Test�)">
+<meta name="keywords" content="Chapitr� (Test�)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="index.html" rel="up" title="Top">
+<link href="index.html" rel="prev" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Chapitr_00e9">
+<div class="nav-panel">
+<p>
+Previous: <a href="index.html" accesskey="p" rel="prev">Test�</a>, Up: <a 
href="index.html" accesskey="u" rel="up">Test�</a> &nbsp; </p>
+</div>
+<hr>
+<h2 class="chapter" id="Chapitre">1 Chapitr�</h2>
+
+{No value for &lsquo;non_conn�e&rsquo;}
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/esseule.html
 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/esseule.html
new file mode 100644
index 0000000000..ca11d5bbb3
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/esseule.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>�sseul� (Test�)</title>
+
+<meta name="description" content="�sseul� (Test�)">
+<meta name="keywords" content="�sseul� (Test�)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+
+
+</head>
+
+<body lang="en">
+<a class="node-id" id="g_t_00e9sseul_00e9"></a><div class="nav-panel">
+<p>
+ &nbsp; </p>
+</div>
+<hr>
+<h4 class="node">�sseul�</h4>
+
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/index.html
 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/index.html
new file mode 100644
index 0000000000..3630ac815c
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_html/index.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Top (Test�)</title>
+
+<meta name="description" content="Top (Test�)">
+<meta name="keywords" content="Top (Test�)">
+<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="Chapitre.html" rel="next" title="Chapitr�">
+
+
+</head>
+
+<body lang="en">
+
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="Chapitre.html" accesskey="n" rel="next">Chapitr�</a> &nbsp; </p>
+</div>
+<hr>
+<h1 class="top" id="Teste">Test�</h1>
+
+<ul class="mini-toc">
+<li><a href="Chapitre.html" accesskey="1">Chapitr�</a></li>
+</ul>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="Chapitre.html" accesskey="n" rel="next">Chapitr�</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_info/manual_simple_latin1_with_error.info
 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_info/manual_simple_latin1_with_error.info
new file mode 100644
index 0000000000..97bfbd0d58
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_latin1_with_error/res_info/manual_simple_latin1_with_error.info
@@ -0,0 +1,37 @@
+This is manual_simple_latin1_with_error.info, produced from
+manual_simple_latin1_with_error.texi.
+
+
+File: manual_simple_latin1_with_error.info,  Node: Top,  Next: Chapitr�,  Up: 
(dir)
+
+Test�
+*****
+
+* Menu:
+
+* Chapitr�::
+
+
+File: manual_simple_latin1_with_error.info,  Node: �sseul�
+
+
+File: manual_simple_latin1_with_error.info,  Node: Chapitr�,  Prev: Top,  Up: 
Top
+
+1 Chapitr�
+**********
+
+{No value for 'non_conn�e'}
+
+
+
+Tag Table:
+Node: Top99
+Node: �sseul�222
+Node: Chapitr�284
+
+End Tag Table
+
+
+Local Variables:
+coding: iso-8859-1
+End:
diff --git a/tp/t/results/formats_encodings/manual_simple_utf8_with_error.pl 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error.pl
new file mode 100644
index 0000000000..ffe7420065
--- /dev/null
+++ b/tp/t/results/formats_encodings/manual_simple_utf8_with_error.pl
@@ -0,0 +1,426 @@
+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{'manual_simple_utf8_with_error'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '\\input texinfo.tex
+',
+              'type' => 'text_before_beginning'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'text_before_beginning'
+            }
+          ],
+          'parent' => {},
+          'type' => 'preamble_before_beginning'
+        },
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'preamble_before_content'
+        }
+      ],
+      'parent' => {},
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_utf8_with_error.texi',
+        'line_nr' => 3,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "Test\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_utf8_with_error.texi',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "\x{e9}sseul\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => '_00e9sseul_00e9'
+          }
+        ],
+        'normalized' => '_00e9sseul_00e9',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_utf8_with_error.texi',
+        'line_nr' => 6,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "Chapitr\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Chapitr_00e9'
+          }
+        ],
+        'normalized' => 'Chapitr_00e9',
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_utf8_with_error.texi',
+        'line_nr' => 8,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => "Chapitr\x{e9}"
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'value',
+          'contents' => [],
+          'parent' => {},
+          'type' => "non_conn\x{f9}e"
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'parent' => {},
+      'source_info' => {
+        'file_name' => 'manual_simple_utf8_with_error.texi',
+        'line_nr' => 9,
+        'macro' => ''
+      }
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[0]{'parent'} = 
$result_trees{'manual_simple_utf8_with_error'};
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'args'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[1];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[1]{'parent'} = 
$result_trees{'manual_simple_utf8_with_error'};
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[2]{'args'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[2];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[2];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[2]{'parent'} = 
$result_trees{'manual_simple_utf8_with_error'};
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'args'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[3];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[3];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[3]{'parent'} = 
$result_trees{'manual_simple_utf8_with_error'};
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'args'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[4];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'extra'}{'node_content'}[0]
 = 
$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = 
$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[4]{'parent'} = 
$result_trees{'manual_simple_utf8_with_error'};
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'args'}[0];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'manual_simple_utf8_with_error'}{'contents'}[5];
+$result_trees{'manual_simple_utf8_with_error'}{'contents'}[5]{'parent'} = 
$result_trees{'manual_simple_utf8_with_error'};
+
+$result_texis{'manual_simple_utf8_with_error'} = '\\input texinfo.tex
+
+@node Top
+@top Testé
+
+@node ésseulé
+
+@node Chapitré
+@chapter Chapitré
+
+@value{non_connùe}
+';
+
+
+$result_texts{'manual_simple_utf8_with_error'} = 'Testé
+*****
+
+
+1 Chapitré
+**********
+
+
+';
+
+$result_sectioning{'manual_simple_utf8_with_error'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'structure' => {}
+          }
+        },
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Chapitr_00e9'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'manual_simple_utf8_with_error'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'manual_simple_utf8_with_error'};
+
+$result_nodes{'manual_simple_utf8_with_error'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'normalized' => 'Chapitr_00e9'
+      },
+      'structure' => {
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'manual_simple_utf8_with_error'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'manual_simple_utf8_with_error'};
+$result_nodes{'manual_simple_utf8_with_error'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'manual_simple_utf8_with_error'};
+
+$result_menus{'manual_simple_utf8_with_error'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'structure' => {}
+};
+
+$result_errors{'manual_simple_utf8_with_error'} = [
+  {
+    'error_line' => "warning: undefined flag: non_conn\x{f9}e
+",
+    'file_name' => 'manual_simple_utf8_with_error.texi',
+    'line_nr' => 11,
+    'macro' => '',
+    'text' => "undefined flag: non_conn\x{f9}e",
+    'type' => 'warning'
+  },
+  {
+    'error_line' => "warning: node `\x{e9}sseul\x{e9}' unreferenced
+",
+    'file_name' => 'manual_simple_utf8_with_error.texi',
+    'line_nr' => 6,
+    'macro' => '',
+    'text' => "node `\x{e9}sseul\x{e9}' unreferenced",
+    'type' => 'warning'
+  }
+];
+
+
+$result_floats{'manual_simple_utf8_with_error'} = {};
+
+
+1;
diff --git 
a/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/Chapitre.html
 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/Chapitre.html
new file mode 100644
index 0000000000..9af4805aec
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/Chapitre.html
@@ -0,0 +1,36 @@
+<!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>Chapitré (Testé)</title>
+
+<meta name="description" content="Chapitré (Testé)">
+<meta name="keywords" content="Chapitré (Testé)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="index.html" rel="up" title="Top">
+<link href="index.html" rel="prev" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Chapitr_00e9">
+<div class="nav-panel">
+<p>
+Previous: <a href="index.html" accesskey="p" rel="prev">Testé</a>, Up: <a 
href="index.html" accesskey="u" rel="up">Testé</a> &nbsp; </p>
+</div>
+<hr>
+<h2 class="chapter" id="Chapitre">1 Chapitré</h2>
+
+{No value for &lsquo;non_connùe&rsquo;}
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/esseule.html
 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/esseule.html
new file mode 100644
index 0000000000..f1e1501fcf
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/esseule.html
@@ -0,0 +1,31 @@
+<!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>ésseulé (Testé)</title>
+
+<meta name="description" content="ésseulé (Testé)">
+<meta name="keywords" content="ésseulé (Testé)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+
+
+</head>
+
+<body lang="en">
+<a class="node-id" id="g_t_00e9sseul_00e9"></a><div class="nav-panel">
+<p>
+ &nbsp; </p>
+</div>
+<hr>
+<h4 class="node">ésseulé</h4>
+
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/index.html
 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/index.html
new file mode 100644
index 0000000000..1555765b23
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_html/index.html
@@ -0,0 +1,42 @@
+<!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 (Testé)</title>
+
+<meta name="description" content="Top (Testé)">
+<meta name="keywords" content="Top (Testé)">
+<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="Chapitre.html" rel="next" title="Chapitré">
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="Chapitre.html" accesskey="n" rel="next">Chapitré</a> &nbsp; </p>
+</div>
+<hr>
+<h1 class="top" id="Teste">Testé</h1>
+
+<ul class="mini-toc">
+<li><a href="Chapitre.html" accesskey="1">Chapitré</a></li>
+</ul>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="Chapitre.html" accesskey="n" rel="next">Chapitré</a> &nbsp; </p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_info/manual_simple_utf8_with_error.info
 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_info/manual_simple_utf8_with_error.info
new file mode 100644
index 0000000000..ac95e8b7e7
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/manual_simple_utf8_with_error/res_info/manual_simple_utf8_with_error.info
@@ -0,0 +1,37 @@
+This is manual_simple_utf8_with_error.info, produced from
+manual_simple_utf8_with_error.texi.
+
+
+File: manual_simple_utf8_with_error.info,  Node: Top,  Next: Chapitré,  Up: 
(dir)
+
+Testé
+*****
+
+* Menu:
+
+* Chapitré::
+
+
+File: manual_simple_utf8_with_error.info,  Node: ésseulé
+
+
+File: manual_simple_utf8_with_error.info,  Node: Chapitré,  Prev: Top,  Up: Top
+
+1 Chapitré
+**********
+
+{No value for ‘non_connùe’}
+
+
+
+Tag Table:
+Node: Top95
+Node: ésseulé219
+Node: Chapitré281
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/tp/tests/Makefile.am b/tp/tests/Makefile.am
index cff570e931..11e8b1afcb 100644
--- a/tp/tests/Makefile.am
+++ b/tp/tests/Makefile.am
@@ -61,5 +61,7 @@ tex-html-checks tex-html-check: all
 other-checks: all
        $(MAKE) $(AM_MAKEFLAGS) check OTHER_TESTS=yes 
TESTS='$(type_other_one_test_files_generated_list)' SUBDIRS=
 
+# FIXME add
+# included_lat*n1.texi
 EXTRA_DIST = run_parser_all.sh parser_tests.sh \
  $(one_test_files_generated_list) coverage_macro.texi included_akçentêd.texi
diff --git a/tp/tests/formatting/list-of-tests 
b/tp/tests/formatting/list-of-tests
index 5bbcd7a3bc..e93f8459d6 100644
--- a/tp/tests/formatting/list-of-tests
+++ b/tp/tests/formatting/list-of-tests
@@ -23,3 +23,4 @@ non_ascii_command_line osé.texi --html --split=Mekanïk 
--document-language=Des
 
 # test for the copying of image with non ascii characters for epub
 non_ascii_test_epub osé.texi --init epub3.pm -c 'EPUB_CREATE_CONTAINER 0'
+
diff --git "a/tp/tests/included_lat\356n1.texi" 
"b/tp/tests/included_lat\356n1.texi"
new file mode 100644
index 0000000000..7c5cc48ea2
--- /dev/null
+++ "b/tp/tests/included_lat\356n1.texi"
@@ -0,0 +1,4 @@
+
+o� �l @'e.
+
+@unknowncmd
diff --git a/tp/tests/other/Makefile.am b/tp/tests/other/Makefile.am
index f77ee99a65..3d6230849f 100644
--- a/tp/tests/other/Makefile.am
+++ b/tp/tests/other/Makefile.am
@@ -1,5 +1,6 @@
 EXTRA_DIST = \
  highlight_example.texi \
+ manual_include_accented_file_name_latin1.texi \
  list-of-tests res_parser_html
 
 DISTCLEANFILES = tests.log tests.out
diff --git a/tp/tests/other/list-of-tests b/tp/tests/other/list-of-tests
index b3a23008f1..e192e1d87b 100644
--- a/tp/tests/other/list-of-tests
+++ b/tp/tests/other/list-of-tests
@@ -1,3 +1,8 @@
 # formats :_html
 
 highlight_syntax_example highlight_example.texi --html 
--init=highlight_syntax.pm
+
+# test of non utf8 encoded file name in non utf8 document
+# FIXME here because the included file can not be in dist
+manual_include_accented_file_name_latin1 
manual_include_accented_file_name_latin1.texi --info
+
diff --git a/tp/tests/other/manual_include_accented_file_name_latin1.texi 
b/tp/tests/other/manual_include_accented_file_name_latin1.texi
new file mode 100644
index 0000000000..4a7c197478
--- /dev/null
+++ b/tp/tests/other/manual_include_accented_file_name_latin1.texi
@@ -0,0 +1,11 @@
+\input texinfo @c -*-texinfo-*-
+@documentencoding ISO-8859-1
+
+@top top
+@node Top
+
+This is a very simple texi manual @  <>.
+
+@include included_lat�n1.texi
+
+@bye
diff --git 
a/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.1
 
b/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.1
new file mode 100644
index 0000000000..e69de29bb2
diff --git 
a/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.2
 
b/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.2
new file mode 100644
index 0000000000..dbed70f47d
--- /dev/null
+++ 
b/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.2
@@ -0,0 +1 @@
+included_lat�n1.texi:4: unknown command `unknowncmd'
diff --git 
a/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.info
 
b/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.info
new file mode 100644
index 0000000000..e79ffbb0a0
--- /dev/null
+++ 
b/tp/tests/other/res_parser_html/manual_include_accented_file_name_latin1/manual_include_accented_file_name_latin1.info
@@ -0,0 +1,25 @@
+This is manual_include_accented_file_name_latin1.info, produced by
+texi2any version from manual_include_accented_file_name_latin1.texi.
+
+top
+***
+
+
+File: manual_include_accented_file_name_latin1.info,  Node: Top,  Up: (dir)
+
+This is a very simple texi manual   <>.
+
+   o� �l �.
+
+
+
+
+Tag Table:
+Node: Top146
+
+End Tag Table
+
+
+Local Variables:
+coding: iso-8859-1
+End:
diff --git 
a/tp/tests/test_scripts/other_manual_include_accented_file_name_latin1.sh 
b/tp/tests/test_scripts/other_manual_include_accented_file_name_latin1.sh
new file mode 100755
index 0000000000..14b274c6fa
--- /dev/null
+++ b/tp/tests/test_scripts/other_manual_include_accented_file_name_latin1.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$OTHER_TESTS" != z"yes"; then
+  echo "Skipping other tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=other
+name='manual_include_accented_file_name_latin1'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+



reply via email to

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