texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/ext/tex4ht.pm (tex4ht_prepare): outputing to


From: Patrice Dumas
Subject: branch master updated: * tp/ext/tex4ht.pm (tex4ht_prepare): outputing to a null device is not an error.
Date: Tue, 09 Aug 2022 08:33:15 -0400

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

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 4bba16ef4b * tp/ext/tex4ht.pm (tex4ht_prepare): outputing to a null 
device is not an error.
4bba16ef4b is described below

commit 4bba16ef4b9c63684183f4f964c4217c8a30b1c3
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Tue Aug 9 14:33:02 2022 +0200

    * tp/ext/tex4ht.pm (tex4ht_prepare): outputing to a null
    device is not an error.
    
    * tp/ext/tex4ht.pm (tex4ht_process): chdir to the processing
    directory only if there is some processing.  Add css import later,
    in tex4ht_process_format, if there was some processing.
    
    * tp/ext/tex4ht.pm (tex4ht_convert_command): output default
    formatting if the commands were not collected, or there is no
    result at all for a command, indicating a failure.
    
    * tp/ext/tex4ht.pm (tex4ht_process, tex4ht_convert_command):
    rename tex4ht_convert as tex4ht_process and tex4ht_do_tex
    as tex4ht_convert_command.
    
    * tp/ext/latex2html.pm (l2h_process, l2h_convert_command)
    (l2h_finish): outputing to a null device is not an error.
    Use $latex_commands_count undef to express that the commands
    were not collected.
---
 ChangeLog                                          |  22 ++++
 tp/ext/latex2html.pm                               |  59 ++++++---
 tp/ext/tex4ht.pm                                   | 146 +++++++++++++--------
 .../encod\303\251/tex_complex_tex4ht_tex.tex"      |   2 +-
 .../tex_encod\303\251_utf8_tex4ht_tex.tex"         |   2 +-
 .../tex_t4ht_res/tex_complex_tex4ht_tex.tex        |   2 +-
 .../tex_t4ht_res/tex_tex4ht_tex.tex                |   2 +-
 .../tex_accents_httex/tex_accents_tex4ht_tex.tex   |   2 +-
 .../tex_complex_httex/tex_complex_tex4ht_tex.tex   |   2 +-
 .../tex_encode_latin1_tex4ht_tex.tex               |   2 +-
 .../tex_encod\303\251_utf8_tex4ht_tex.tex"         |   2 +-
 .../tex_eqalign_httex/tex_eqalign_tex4ht_tex.tex   |   2 +-
 .../tex_gdef_httex/tex_gdef_tex4ht_tex.tex         |   2 +-
 .../res_parser/tex_httex/tex_tex4ht_tex.tex        |   2 +-
 14 files changed, 160 insertions(+), 89 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b763203e40..38a3040519 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2022-08-09  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/ext/tex4ht.pm (tex4ht_prepare): outputing to a null
+       device is not an error.
+
+       * tp/ext/tex4ht.pm (tex4ht_process): chdir to the processing
+       directory only if there is some processing.  Add css import later,
+       in tex4ht_process_format, if there was some processing.
+
+       * tp/ext/tex4ht.pm (tex4ht_convert_command): output default
+       formatting if the commands were not collected, or there is no
+       result at all for a command, indicating a failure.
+
+       * tp/ext/tex4ht.pm (tex4ht_process, tex4ht_convert_command):
+       rename tex4ht_convert as tex4ht_process and tex4ht_do_tex
+       as tex4ht_convert_command.
+
+       * tp/ext/latex2html.pm (l2h_process, l2h_convert_command)
+       (l2h_finish): outputing to a null device is not an error.
+       Use $latex_commands_count undef to express that the commands
+       were not collected.
+
 2022-08-08  Gavin Smith  <gavinsmith0123@gmail.com>
 
        Block more ligatures in LaTeX
diff --git a/tp/ext/latex2html.pm b/tp/ext/latex2html.pm
index bace9441f6..b243857968 100644
--- a/tp/ext/latex2html.pm
+++ b/tp/ext/latex2html.pm
@@ -111,8 +111,7 @@ sub l2h_to_latex($$$$$)
   my $latex_texts = shift;
 
   unless (open(L2H_LATEX, ">$l2h_latex_path_string")) {
-    #$self->document_error($self, sprintf(__(
-    $self->document_warn($self, sprintf(__(
+    $self->document_error($self, sprintf(__(
           "l2h: could not open latex file %s for writing: %s"),
                                   $l2h_latex_path_name, $!));
     return 0;
@@ -164,7 +163,8 @@ sub l2h_process($$)
   my $document_root = shift;
   @latex_texts = ();           # array used to associate the index with
                                # a latex text.
-  $latex_commands_count = 0;   # number of latex Texinfo commands collected
+  $latex_commands_count = undef;
+                               # number of latex Texinfo commands collected
   $latex_texts_count = 0;      # number of latex texts stored, two same text
                                # are only stored once
   $latex_to_convert_count = 0; # number of latex texts that should pass through
@@ -187,8 +187,6 @@ sub l2h_process($$)
   $image_count = 1;
 
   $html_output_count = 0;   # html text outputed in html result file
-  return -1 if (defined($self->get_conf('OUTFILE'))
-        and $Texinfo::Common::null_device_file{$self->get_conf('OUTFILE')});
 
   $docu_name = $self->get_info('document_name');
   # destination dir -- generated images are put there, should be the same
@@ -221,13 +219,22 @@ sub l2h_process($$)
   $debug = $self->get_conf('DEBUG');
   $verbose = $self->get_conf('VERBOSE');
 
+  # no point in doing anything in that case.  Reusing cached information
+  # may have been relevant, but the cache file should not exist
+  # (cache file is /dev/null-l2h_cache.pm).
+  return 0 if (defined($self->get_conf('OUTFILE'))
+       and $Texinfo::Common::null_device_file{$self->get_conf('OUTFILE')});
+
+  my $l2h_skip = $self->get_conf('L2H_SKIP');
+
   # open the database that holds cached text
-  l2h_init_cache($self) if (!defined($self->get_conf('L2H_SKIP'))
-                            or $self->get_conf('L2H_SKIP'));
+  l2h_init_cache($self) if (!defined($l2h_skip) or $l2h_skip);
+
 
   my @replaced_commands = ('tex', 'math', 'displaymath');
   my $collected_commands = Texinfo::Common::collect_commands_list_in_tree(
                                         $document_root, \@replaced_commands);
+
   my $texinfo_command_index = 0;     # index of latex elements/commands 
processed
   my @latex_text_indices_to_convert; # indices of latex texts that should be 
converted
   my %latex_text_indices;        # associate a latex text with the index in the
@@ -289,6 +296,7 @@ sub l2h_process($$)
   } else {
     # no handled command, nothing to do
     warn "# l2h: no handled commands\n" if ($verbose);
+    $latex_commands_count = 0;
     return 0;
   }
   $latex_to_convert_count = scalar(@latex_text_indices_to_convert);
@@ -300,15 +308,14 @@ sub l2h_process($$)
   # when there are tex constructs to convert (not everything
   # comes from the cache)
   if ($latex_to_convert_count > 0) {
-    unless ($self->get_conf('L2H_SKIP')) {
+    unless ($l2h_skip) {
       my $l2h_to_latex_status
         = l2h_to_latex($self, $l2h_latex_path_string, $l2h_latex_path_name,
                        \@latex_text_indices_to_convert, \@latex_texts);
       return 1 unless ($l2h_to_latex_status);
 
       # the non equality of $latex_converted_count and $latex_to_convert_count
-      # is the preferred indicator of skipping this stage (and possible failure
-      # but in case of failure, the converter normally aborts).
+      # is the preferred indicator of skipping this stage or failure.
       $latex_converted_count = $latex_to_convert_count;
     }
 
@@ -323,7 +330,7 @@ sub l2h_process($$)
       # Not the same number of converted elements and retrieved elements.
       if ($latex_converted_count != $html_converted_count) {
         # unless latex2html somewhat mangles the output this cannot
-        # actually happen, so it could also be presented as a bug.
+        # actually happen, so it could also be presented as an error or a bug.
         $self->document_warn($self, sprintf(__(
           "latex2html.pm: processing produced %d items in HTML; expected %d"),
                           $html_converted_count, $latex_converted_count));
@@ -531,9 +538,10 @@ sub l2h_retrieve_from_html($$)
                                                  $encoded_l2h_html_file_name);
 
   if (! open(L2H_HTML, "<$l2h_html_path_string")) {
-    $self->document_warn($self,
+    $self->document_error($self,
                 sprintf(__("l2h: could not open %s: %s"),
                                  $l2h_html_path_name, $!));
+    # return empty array
     return @html_retrieved_text_indices;
   }
   # the file content is UTF-8 encoded
@@ -586,8 +594,16 @@ sub l2h_convert_command($$$;$$)
   my $args = shift;
   my $content = shift;
 
+  # the initialization did not went to the point of commands
+  # collections, return the default formatting.
+  if (not defined($latex_commands_count)) {
+    return &{$self->default_command_conversion($cmdname)}($self,
+                               $cmdname, $command, $args, $content);
+  }
+
   my $command_count = $commands_counters{$command};
   my $latex_text_index = $commands_text_index{$command};
+
   ################################## begin debug section (incorrect counts)
   if (!defined($command_count)) {
     $self->present_bug_message("l2h: conversion of ${cmdname}, undef 
command_count");
@@ -620,15 +636,16 @@ sub l2h_convert_command($$$;$$)
     $result .= "\n" if ($cmdname eq 'tex');
   } else {
     # if the result is not in @l2h_from_html, it should in general mean that
-    # the conversion was skipped, as failures in general cause the converter
-    # to abort.  It could also happen if latex2html somehow mangled the output.
+    # the conversion was skipped or there was an error or maybe latex2html
+    # somehow mangled the output.
     $extract_error_count++;
     # Expected error if the conversion to html failed or was skipped,
     # additional warning only if the conversion seems to have proceeded 
normally.
     if ($latex_converted_count == $latex_to_convert_count
         and $latex_converted_count == $html_converted_count) {
-      # it could also probably be marked as a bug as there is no situation
-      # in which this could happen given the check on succeeding conversion.
+      # it could also probably be marked as a bug (or error) as there is no
+      # situation in which this could happen with the conditions on succeeding
+      # conversion.
       $self->document_warn($self, sprintf(__(
         "l2h: could not extract the fragment %d for \@%s, text %d, from HTML"),
                    $command_count, $cmdname, $latex_text_index));
@@ -649,6 +666,8 @@ sub l2h_finish($)
 {
   my $self = shift;
 
+  return 0 if (not defined($latex_commands_count));
+
   if ($verbose) {
     if ($extract_error_count + $invalid_text_index_count) {
       warn "# l2h: finish ($extract_error_count extract errors, 
$invalid_text_index_count invalid index errors)\n";
@@ -668,8 +687,7 @@ sub l2h_finish($)
     }
   }
 
-  # return in case of error or, more likely, skipped run, as the
-  # errors cause the converter to abort.
+  # return in case of error or skipped run
   return 0 if ($latex_converted_count != $latex_to_convert_count
                or $latex_converted_count != $html_converted_count);
 
@@ -739,11 +757,12 @@ sub l2h_init_cache($)
     if ($verbose and scalar(keys(%l2h_cache)));
 }
 
-# store all the text obtained through latex2html
+# store all the text obtained through latex2html or from previous runs cache
 sub l2h_store_cache($)
 {
   my $self = shift;
-  return unless $latex_texts_count;
+  # do not reset the cache if there was no new conversion
+  return unless ($html_converted_count);
   my ($key, $value);
   my ($encoded_l2h_cache_path_name, $l2h_cache_path_encoding)
     = $self->encoded_output_file_name($l2h_cache_path_name);
diff --git a/tp/ext/tex4ht.pm b/tp/ext/tex4ht.pm
index 3044f2dc26..b69f44f91c 100644
--- a/tp/ext/tex4ht.pm
+++ b/tp/ext/tex4ht.pm
@@ -40,12 +40,13 @@ use Texinfo::Common;
 use Texinfo::Convert::Texinfo;
 
 texinfo_register_handler('structure', \&tex4ht_prepare);
-texinfo_register_handler('init', \&tex4ht_convert);
+# could probably be done also in the 'structure' phase
+texinfo_register_handler('init', \&tex4ht_process);
 texinfo_register_handler('finish', \&tex4ht_finish);
 
-texinfo_register_command_formatting('math', \&tex4ht_do_tex);
-texinfo_register_command_formatting('tex', \&tex4ht_do_tex);
-texinfo_register_command_formatting('displaymath', \&tex4ht_do_tex);
+texinfo_register_command_formatting('math', \&tex4ht_convert_command);
+texinfo_register_command_formatting('tex', \&tex4ht_convert_command);
+texinfo_register_command_formatting('displaymath', \&tex4ht_convert_command);
 
 {
 
@@ -80,9 +81,9 @@ if (!defined($tex4ht_command_texi)) {
 
 }
 
-my %commands = ();
+my %commands;
 # style of output
-my %formats = ();
+my %formats;
 
 my $tex4ht_initial_dir;
 my $tex4ht_out_dir;
@@ -93,7 +94,16 @@ sub tex4ht_prepare($$)
   my $self = shift;
   my $document_root = shift;
 
-  return -1 if (defined($self->get_conf('OUTFILE'))
+  # this initialization may not be needed, but it is cleaner anyway,
+  # in case there is more than one texinfo file processed.
+  # In that case, it is indeed better to clear the structures.  Note that
+  # even if the structures are not cleared, the results should be ok in most
+  # cases, as everything that needs to be changed should be rewritten, so it
+  # does not matter if there are remaining results from the previous file.
+  %commands = ();
+  %formats = ();
+
+  return 0 if (defined($self->get_conf('OUTFILE'))
         and $Texinfo::Common::null_device_file{$self->get_conf('OUTFILE')});
 
   $tex4ht_initial_dir = Cwd::abs_path;
@@ -104,14 +114,6 @@ sub tex4ht_prepare($$)
   my $document_name = $self->get_info('document_name');
   my $tex4ht_basename = "${document_name}_tex4ht";
 
-  # this initialization doesn't seems to be needed, but it is cleaner anyway,
-  # in case there is more than one texinfo file processed.
-  # In that case, it is indeed better to clear the structures.  Note that
-  # even if the structures are not cleared, the results are ok, as everything
-  # that needs to be changed should be rewritten, so it does not matter
-  # if there are remaining results from the previous file.
-  %commands = ();
-  %formats = ();
   $commands{'math'}->{'style'} = $Texinfo::TeX4HT::STYLE_MATH;
   $commands{'tex'}->{'style'} = $Texinfo::TeX4HT::STYLE_TEX;
   $commands{'displaymath'}->{'style'} = $Texinfo::TeX4HT::STYLE_TEX;
@@ -129,7 +131,8 @@ sub tex4ht_prepare($$)
     $commands{$command}->{'counter'}++;
   }
 
-  foreach my $format (keys(%format_collected_commands)) {
+  # prepare tex4ht input files for each format
+  foreach my $format (sort(keys(%format_collected_commands))) {
     $formats{$format}->{'basename'} = $tex4ht_basename . "_$format";
     my $suffix = '.tex';
     $suffix = '.texi' if ($format eq 'texi');
@@ -158,17 +161,15 @@ sub tex4ht_prepare($$)
     if (scalar(@{$format_collected_commands{$format}}) > 0) {
       local *TEX4HT_TEXFILE;
       unless (open(*TEX4HT_TEXFILE, ">$encoded_tex4ht_file_path_name")) {
-        $self->document_warn($self,
+        $self->document_error($self,
                 sprintf(__("tex4ht.pm: could not open %s: %s"),
                                       $tex4ht_file_path_name, $!));
         return 1;
       }
-      $formats{$format}->{'handle'} = *TEX4HT_TEXFILE;
-
-      my $fh = $formats{$format}->{'handle'};
+      my $fh = *TEX4HT_TEXFILE;
       my $comment = '@c';
       $comment = '%' if ($format ne 'texi');
-      $comment .= " Automatically generated\n";
+      $comment .= " Automatically generated by the t4ht Texinfo HTML 
extension\n";
       if ($format eq 'texi') {
         print $fh "\\input texinfo
 \@setfilename $formats{$format}->{'basename'}.info\n";
@@ -184,9 +185,9 @@ sub tex4ht_prepare($$)
       foreach my $element (@{$format_collected_commands{$format}}) {
         $formats{$format}->{'counter'}++;
         my $counter = $formats{$format}->{'counter'};
-        my $command = $element->{'cmdname'};
+        my $cmdname = $element->{'cmdname'};
         my $tree;
-        if ($command eq 'math') {
+        if ($cmdname eq 'math') {
           $tree = $element->{'args'}->[0];
         } else {
           $tree = {'contents' => [@{$element->{'contents'}}]};
@@ -219,20 +220,20 @@ sub tex4ht_prepare($$)
           $after_comment_close = "\\Hnewline \\Hnewline}\n";
         }
 
-        my $begin_comment = "<!-- tex4ht_begin $formats{$format}->{'basename'} 
$command $counter -->";
+        my $begin_comment = "<!-- tex4ht_begin $formats{$format}->{'basename'} 
$cmdname $counter -->";
         print $fh "$before_comment_open$begin_comment$after_comment_open";
-        if ($command eq 'tex') {
+        if ($cmdname eq 'tex') {
           print $fh $text;
-        } elsif ($command eq 'math') {
+        } elsif ($cmdname eq 'math') {
           if ($format eq 'texi') {
             print $fh '@math{' . $text . "}\n";
           } else {
             print $fh "\\IgnorePar \$" . $text . "\$";
           }
-        } elsif ($command eq 'displaymath') {
+        } elsif ($cmdname eq 'displaymath') {
           print $fh "\n\$\$" . $text . "\$\$\n";
         }
-        my $end_comment = "<!-- tex4ht_end $formats{$format}->{'basename'} 
$command $counter -->";
+        my $end_comment = "<!-- tex4ht_end $formats{$format}->{'basename'} 
$cmdname $counter -->";
         print $fh "$before_comment_close$end_comment$after_comment_close";
       }
       # finish the tex file
@@ -243,19 +244,27 @@ sub tex4ht_prepare($$)
       } else {
         print $fh "\n\@bye\n";
       }
+      # FIXME check close error
       close ($fh);
-      # this has to be done during the 'process' phase, in 'output' it is
-      # too late.
-      $self->css_add_info('imports',
-                    "\@import \"$formats{$format}->{'basename'}.css\";\n");
     }
   }
   return 0;
 }
 
-sub tex4ht_convert($)
+# run tex4ht and extract HTML for all the formats
+sub tex4ht_process($)
 {
   my $self = shift;
+
+  # check first that there are collected commands before attempting chdir.
+  # Alternatively, could have checked if scalar(keys(%commands)) is 0.
+  my $total_count = 0;
+  foreach my $format (keys(%formats)) {
+    $total_count += $formats{$format}->{'counter'}
+       if ($formats{$format}->{'counter'});
+  }
+  return 0 if ($total_count == 0);
+
   my ($encoded_tex4ht_out_dir, $tex4ht_out_dir_encoding)
     = $self->encoded_output_file_name($tex4ht_out_dir);
   unless (chdir $encoded_tex4ht_out_dir) {
@@ -274,22 +283,24 @@ sub tex4ht_convert($)
   unless (chdir $tex4ht_initial_dir) {
     $self->document_warn($self, sprintf(__(
           "tex4ht.pm: unable to return to initial directory: %s"), $!));
-    return 1;
+    return 1 + $errors;
   }
-  return 0;
+  return $errors;
 }
 
+# run tex4ht and extract HTML fragments from the result file
 sub tex4ht_process_format($$) {
   my $self = shift;
   my $format = shift;
-  
+
   return 0 unless ($formats{$format}->{'counter'});
 
   $self->document_warn($self,
               sprintf(__("tex4ht.pm: output file missing: %s"),
                                $formats{$format}->{'basefile_name'}))
     unless (-f $formats{$format}->{'basefile_path'});
-  # now run tex4ht
+
+  # run tex4ht
   my $options = '';
   if ($format eq 'tex' and defined($Texinfo::TeX4HT::tex4ht_options_tex)) {
     $options = $Texinfo::TeX4HT::tex4ht_options_tex;
@@ -319,7 +330,7 @@ sub tex4ht_process_format($$) {
   # if tex fails, it will read from STDIN and the input may trigger
   # diverse actions by tex.
   if (not(open(TEX4HT, "|-", $encoded_cmd))) {
-    $self->document_warn($self, sprintf(__(
+    $self->document_error($self, sprintf(__(
                          "tex4ht.pm: command failed: %s"), $cmd));
     return 1;
   }
@@ -330,6 +341,9 @@ sub tex4ht_process_format($$) {
     return 1;
   }
 
+  $self->css_add_info('imports',
+            "\@import \"$formats{$format}->{'basename'}.css\";\n");
+
   # extract the html from the file created by tex4ht
   my $html_basefile = $formats{$format}->{'html_basefile_name'};
   my $encoded_html_basefile = $formats{$format}->{'html_basefile_path'};
@@ -345,16 +359,16 @@ sub tex4ht_process_format($$) {
   while ($line = <TEX4HT_HTMLFILE>) {
     #print STDERR "$encoded_html_basefile: while $line";
     if ($line =~ /!-- tex4ht_begin $formats{$format}->{'basename'} (\w+) (\d+) 
--/) {
-      my $command = $1;
+      my $cmdname = $1;
       my $count = $2;
       my $text = '';
       my $end_found = 0;
       while ($line = <TEX4HT_HTMLFILE>) {
-        #print STDERR "while search $command $count $line";
-        if ($line =~ /!-- tex4ht_end $formats{$format}->{'basename'} $command 
$count --/) {
+        #print STDERR "while search $cmdname $count $line";
+        if ($line =~ /!-- tex4ht_end $formats{$format}->{'basename'} $cmdname 
$count --/) {
           $got_count++;
-          chomp($text) if ($command eq 'math');
-          
$commands{$command}->{'results'}->{$formats{$format}->{'commands'}->[$count-1]} 
= $text;
+          chomp($text) if ($cmdname eq 'math');
+          
$commands{$cmdname}->{'results'}->{$formats{$format}->{'commands'}->[$count-1]} 
= $text;
           $end_found = 1;
           last;
         } else {
@@ -362,15 +376,18 @@ sub tex4ht_process_format($$) {
         }
       }
       unless ($end_found) {
+        # should be a bug or mangled output
         $self->document_warn($self, sprintf(__(
-                               "tex4ht.pm: end of %s item %d not found"),
-                                      $format, $count));
+                               "tex4ht.pm: end of %s item %d for \@%s not 
found"),
+                                      $format, $count, $cmdname));
       }
     }
   }
   if ($got_count != $formats{$format}->{'counter'}) {
+    # unless tex4ht somehow mangles the output, this should
+    # never happen, could also be considered as en error or a bug.
     $self->document_warn($self, sprintf(__(
-       "tex4ht.pm: processing produced %d items in HTML; expected %d, the 
number of items found in the document for %s"),
+       "tex4ht.pm: processing produced %d items in HTML; expected %d for 
format %s"),
                                  $got_count, $formats{$format}->{'counter'},
                                  $format));
   }
@@ -378,18 +395,31 @@ sub tex4ht_process_format($$) {
   return 0;
 }
 
-sub tex4ht_do_tex($$$;$$)
+sub tex4ht_convert_command($$$;$$)
 {
   my $self = shift;
-  my $cmdname = shift;;
+  my $cmdname = shift;
   my $command = shift;
-
-  # return the resulting html
-  if (exists ($commands{$cmdname}->{'results'}->{$command})
+  my $args = shift;
+  my $content = shift;
+
+  if (not defined ($commands{$cmdname})) {
+    # nothing was collected, do the usual output
+    return &{$self->default_command_conversion($cmdname)}($self,
+                               $cmdname, $command, $args, $content);
+  } elsif (not defined ($commands{$cmdname}->{'results'})) {
+    # no results at all for that command, also do the usual output
+    warn "tex4ht.pm: no results at all for \@$cmdname (element $command)\n"
+           if ($self->get_conf('VERBOSE'));
+    return &{$self->default_command_conversion($cmdname)}($self,
+                               $cmdname, $command, $args, $content);
+  } elsif (exists($commands{$cmdname}->{'results'}->{$command})
       and defined($commands{$cmdname}->{'results'}->{$command})) {
+    # return the resulting html
     $commands{$cmdname}->{'output_counter'}++;
     return $commands{$cmdname}->{'results'}->{$command};
   } else {
+    # probably a bug in that case
     $self->document_warn($self, sprintf(__(
                        "tex4ht.pm: output has no HTML item for \@%s %s"),
                                   $cmdname, $command));
@@ -407,20 +437,20 @@ sub tex4ht_finish($)
       if (not defined($commands{$command}->{'output_counter'})) {
         if (defined($commands{$command}->{'counter'})) {
           $self->document_warn($self, sprintf(__(
-           "tex4ht.pm: output counter UNDEF; expected %d, the number of items 
found in the document for \@%s"),
+           "tex4ht.pm: output counter UNDEF; expected %d for \@%s"),
                                  $commands{$command}->{'counter'}, $command));
         } else {
-          $self->document_warn($self, sprintf(__(
-            "tex4ht.pm: UNDEF expected items in the document for \@%s"),
-                                             $command));
+          warn sprintf(__(
+            "tex4ht.pm: no expected items in the document for \@%s"),
+                                             $command)."\n";
         }
       } elsif ($commands{$command}->{'output_counter'} != 
$commands{$command}->{'counter'}) {
         # NOTE with math commands in @copying and multiple @insertcopying,
         # there may be more items output than found in the document tree
-        $self->document_warn($self, sprintf(__(
-           "tex4ht.pm: processing retrieved %d items in HTML; expected %d, the 
number of items found in the document for \@%s"),
+        warn sprintf(__(
+           "tex4ht.pm: processing retrieved %d items in HTML; collected %d for 
\@%s"),
                                   $commands{$command}->{'output_counter'},
-                                  $commands{$command}->{'counter'}, $command));
+                                  $commands{$command}->{'counter'}, 
$command)."\n";
       }
     }
   }
diff --git 
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
 
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
index 479366754f..1ee040b273 100644
--- 
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
+++ 
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex tex 1 
-->\Hnewline}
 $$\partial_{\eta} g(\eta(t),\varphi(t));
diff --git 
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_utf8_tex4ht_tex.tex"
 
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_utf8_tex4ht_tex.tex"
index 25269dd21a..8bd558da7e 100644
--- 
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_utf8_tex4ht_tex.tex"
+++ 
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_utf8_tex4ht_tex.tex"
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_encod�_utf8_tex4ht_tex tex 1 
-->\Hnewline}
 $$
diff --git a/tp/tests/many_input_files/tex_t4ht_res/tex_complex_tex4ht_tex.tex 
b/tp/tests/many_input_files/tex_t4ht_res/tex_complex_tex4ht_tex.tex
index 479366754f..1ee040b273 100644
--- a/tp/tests/many_input_files/tex_t4ht_res/tex_complex_tex4ht_tex.tex
+++ b/tp/tests/many_input_files/tex_t4ht_res/tex_complex_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex tex 1 
-->\Hnewline}
 $$\partial_{\eta} g(\eta(t),\varphi(t));
diff --git a/tp/tests/many_input_files/tex_t4ht_res/tex_tex4ht_tex.tex 
b/tp/tests/many_input_files/tex_t4ht_res/tex_tex4ht_tex.tex
index 9d2bcf922f..57f40b13ab 100644
--- a/tp/tests/many_input_files/tex_t4ht_res/tex_tex4ht_tex.tex
+++ b/tp/tests/many_input_files/tex_t4ht_res/tex_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex tex 1 -->\Hnewline}
 
diff --git 
a/tp/tests/tex_html/res_parser/tex_accents_httex/tex_accents_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_accents_httex/tex_accents_tex4ht_tex.tex
index 1c787a234e..ffb3f5a1bc 100644
--- a/tp/tests/tex_html/res_parser/tex_accents_httex/tex_accents_tex4ht_tex.tex
+++ b/tp/tests/tex_html/res_parser/tex_accents_httex/tex_accents_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_accents_tex4ht_tex tex 1 
-->\Hnewline}
 T\'et
diff --git 
a/tp/tests/tex_html/res_parser/tex_complex_httex/tex_complex_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_complex_httex/tex_complex_tex4ht_tex.tex
index 479366754f..1ee040b273 100644
--- a/tp/tests/tex_html/res_parser/tex_complex_httex/tex_complex_tex4ht_tex.tex
+++ b/tp/tests/tex_html/res_parser/tex_complex_httex/tex_complex_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex tex 1 
-->\Hnewline}
 $$\partial_{\eta} g(\eta(t),\varphi(t));
diff --git 
a/tp/tests/tex_html/res_parser/tex_encoded_latin1_httex/tex_encode_latin1_tex4ht_tex.tex
 
b/tp/tests/tex_html/res_parser/tex_encoded_latin1_httex/tex_encode_latin1_tex4ht_tex.tex
index 065458417d..e6a03448c1 100644
--- 
a/tp/tests/tex_html/res_parser/tex_encoded_latin1_httex/tex_encode_latin1_tex4ht_tex.tex
+++ 
b/tp/tests/tex_html/res_parser/tex_encoded_latin1_httex/tex_encode_latin1_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_encode_latin1_tex4ht_tex tex 
1 -->\Hnewline}
 $$
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_utf8_httex/tex_encod\303\251_utf8_tex4ht_tex.tex"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_utf8_httex/tex_encod\303\251_utf8_tex4ht_tex.tex"
index 25269dd21a..8bd558da7e 100644
--- 
"a/tp/tests/tex_html/res_parser/tex_encoded_utf8_httex/tex_encod\303\251_utf8_tex4ht_tex.tex"
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_utf8_httex/tex_encod\303\251_utf8_tex4ht_tex.tex"
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_encod�_utf8_tex4ht_tex tex 1 
-->\Hnewline}
 $$
diff --git 
a/tp/tests/tex_html/res_parser/tex_eqalign_httex/tex_eqalign_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_eqalign_httex/tex_eqalign_tex4ht_tex.tex
index 90b92f1b3d..2d8eb38cfa 100644
--- a/tp/tests/tex_html/res_parser/tex_eqalign_httex/tex_eqalign_tex4ht_tex.tex
+++ b/tp/tests/tex_html/res_parser/tex_eqalign_httex/tex_eqalign_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_eqalign_tex4ht_tex 
displaymath 1 -->\Hnewline}
 
diff --git 
a/tp/tests/tex_html/res_parser/tex_gdef_httex/tex_gdef_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_gdef_httex/tex_gdef_tex4ht_tex.tex
index a74d023629..ea629bbd10 100644
--- a/tp/tests/tex_html/res_parser/tex_gdef_httex/tex_gdef_tex4ht_tex.tex
+++ b/tp/tests/tex_html/res_parser/tex_gdef_httex/tex_gdef_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_gdef_tex4ht_tex tex 1 
-->\Hnewline}
   \gdef\Desig{\buildrel \rm def \over \equiv}
diff --git a/tp/tests/tex_html/res_parser/tex_httex/tex_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_httex/tex_tex4ht_tex.tex
index 9d2bcf922f..57f40b13ab 100644
--- a/tp/tests/tex_html/res_parser/tex_httex/tex_tex4ht_tex.tex
+++ b/tp/tests/tex_html/res_parser/tex_httex/tex_tex4ht_tex.tex
@@ -1,4 +1,4 @@
-% Automatically generated
+% Automatically generated by the t4ht Texinfo HTML extension
 \csname tex4ht\endcsname
 \HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex tex 1 -->\Hnewline}
 



reply via email to

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