texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Convert/Converter.pm (comma_index_su


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Convert/Converter.pm (comma_index_subentries_tree), tp/Texinfo/Convert/HTML.pm (_convert_printindex_command) tp/Texinfo/Convert/Plaintext.pm (process_printindex): replace convert_index_subentries() with comma_index_subentries_tree() which returns a tree instead of converting it.
Date: Sat, 22 Jan 2022 11:01: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 3255ea2a9c * tp/Texinfo/Convert/Converter.pm 
(comma_index_subentries_tree), tp/Texinfo/Convert/HTML.pm 
(_convert_printindex_command) tp/Texinfo/Convert/Plaintext.pm 
(process_printindex): replace convert_index_subentries() with 
comma_index_subentries_tree() which returns a tree instead of converting it.
3255ea2a9c is described below

commit 3255ea2a9c6c6c31568ff0f5cf5ce2b277bca346
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Jan 22 17:01:37 2022 +0100

    * tp/Texinfo/Convert/Converter.pm (comma_index_subentries_tree),
    tp/Texinfo/Convert/HTML.pm (_convert_printindex_command)
    tp/Texinfo/Convert/Plaintext.pm (process_printindex):
    replace convert_index_subentries() with comma_index_subentries_tree()
    which returns a tree instead of converting it.
    
    * tp/Texinfo/Convert/HTML.pm (_convert_float_command)
    (_convert_def_line_type, _convert): do not pass undef element to
    convert_tree()/_convert().  Call cluck in _convert() if an undef
    element is passed.
    
    * tp/Texinfo/Convert/HTML.pm (_convert_xref_commands, label_command):
    use only label_command to avoid accessing internal converter information.
    
    * tp/Texinfo/Convert/HTML.pm (_convert_xref_commands): change in
    spacing.
---
 ChangeLog                       |  19 ++++++
 tp/TODO                         |  18 +++++-
 tp/Texinfo/Convert/Converter.pm |  15 +++--
 tp/Texinfo/Convert/HTML.pm      | 140 +++++++++++++++++++++++-----------------
 tp/Texinfo/Convert/Plaintext.pm |  24 +++----
 5 files changed, 133 insertions(+), 83 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 323581ccf5..aedb64dd94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2022-01-22  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/Converter.pm (comma_index_subentries_tree),
+       tp/Texinfo/Convert/HTML.pm (_convert_printindex_command)
+       tp/Texinfo/Convert/Plaintext.pm (process_printindex):
+       replace convert_index_subentries() with comma_index_subentries_tree()
+       which returns a tree instead of converting it.
+
+       * tp/Texinfo/Convert/HTML.pm (_convert_float_command)
+       (_convert_def_line_type, _convert): do not pass undef element to
+       convert_tree()/_convert().  Call cluck in _convert() if an undef
+       element is passed.
+
+       * tp/Texinfo/Convert/HTML.pm (_convert_xref_commands, label_command):
+       use only label_command to avoid accessing internal converter 
information.
+
+       * tp/Texinfo/Convert/HTML.pm (_convert_xref_commands): change in
+       spacing.
+
 2022-01-22  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Convert/HTML.pm (_convert_item_command): check
diff --git a/tp/TODO b/tp/TODO
index a627250ead..76c9d03006 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -44,7 +44,13 @@ Some internal state used in conversion:
   $self->{'expanded_formats_hash'}
  _convert_itemize_command
   $self->{'css_map'}
-  
+ _get_copiable_anchor (called by 2 convert functions)
+  $self->{'paragraph_symbol'}
+ _convert_index_command
+  @{$self->{'multiple_pass'}}
+ _convert_printindex_command
+  $self->{'index_entries_by_letter'}
+  $self->{'ignore_notice'}++
 
  _default_format_button
   $self->{'current_root_element'} (for from_element_direction())
@@ -57,6 +63,8 @@ Some internal state used in conversion:
 Some private function used in conversion
  _convert_informative_command
   _translate_names
+ _convert_printindex_command
+  _new_document_context
 
 Some private variables used in conversion
  _convert_footnote_command:
@@ -67,6 +75,8 @@ Some private variables used in conversion
  _convert_indented_command
  _convert_quotation_command
   %small_alias
+ _convert_printindex_command
+  %formatted_index_entries
 
 in page_head, use $self->title_string() 
 
@@ -98,7 +108,7 @@ default_types_open
 
 
 
-Type '_converted' and '_string' for 'text'.
+Type '_converted' and '_string' and '_code' for 'text'.
 
 used in _direction_href_attributes, _get_links
 'BUTTONS_ACCESSKEY' 'BUTTONS_REL'
@@ -111,6 +121,7 @@ from_element_direction
 command_target command_filename command_string command_id command_href
 command_contents_href
 special_element (argument: a $special_element_direction?)
+command_root_element_command label_command
 
 required use of
 in_string()
@@ -143,11 +154,12 @@ Texinfo::Common::section_level()
 Texinfo::Common::set_informative_command_value()
 $self->preformatted_classes_stack
 self->html_non_breaking_space()
+$self->html_line_break_element()
 $self->{'floats'}
 $self->convert_tree_new_formatting_context()
 $self->html_convert_css_string_for_list_mark()
 $self->table_item_content_tree() (Converter)
-
+$self->comma_index_subentries_tree() (Converter)
 
 Profiling
 =========
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index 042c92db0c..87d2e21009 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -1275,21 +1275,22 @@ sub convert_accents($$$;$)
   }
 }
 
-# Add any index sub-entries specified with @subentry, separated by commas.
-sub convert_index_subentries {
+# index sub-entries specified with @subentry, separated by commas.
+sub comma_index_subentries_tree {
   my ($self, $entry) = @_;
 
-  my $result = '';
+  my @contents;
   my $tmp = $entry->{'command'};
   while ($tmp->{'extra'} and $tmp->{'extra'}->{'subentry'}) {
     $tmp = $tmp->{'extra'}->{'subentry'};
-    $result .= $self->convert_tree({'text' => ', '});
-    $result .= $self->convert_tree($tmp->{'args'}->[0]);
+    push @contents, {'text' => ', '}, $tmp->{'args'}->[0];
   }
-  return $result;
+  if (scalar(@contents)) {
+    return {'contents' => \@contents};
+  }
+  return undef;
 }
 
-
 # This method allows to count words in elements and returns an array
 # and a text already formatted.
 sub sort_element_counts($$;$$)
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 724f800292..bd067301c7 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -918,7 +918,10 @@ sub label_command($$)
 {
   my $self = shift;
   my $label = shift;
-  return $self->{'labels'}->{$label};
+  if ($self->{'labels'}) {
+    return $self->{'labels'}->{$label};
+  }
+  return undef;
 }
 
 sub special_element($$)
@@ -3995,7 +3998,8 @@ sub _convert_float_command($$$$$)
     }
   } else {
     $caption_text = $self->convert_tree_new_formatting_context(
-      $caption->{'args'}->[0], 'float caption');
+      $caption->{'args'}->[0], 'float caption')
+       if (defined($caption));
   }
   
   my $float_type_number_caption = '';
@@ -4332,7 +4336,7 @@ sub _convert_xref_commands($$$$)
 
   my $file_arg_tree;
   my $file = '';
-  if (defined($args->[3]->{'monospacetext'}) 
+  if (defined($args->[3]->{'monospacetext'})
               and $args->[3]->{'monospacetext'} ne '') {
     $file_arg_tree = $args->[3]->{'tree'};
     $file = $args->[3]->{'monospacetext'};
@@ -4346,11 +4350,10 @@ sub _convert_xref_commands($$$$)
       and $root->{'extra'}->{'node_argument'}
       and defined($root->{'extra'}->{'node_argument'}->{'normalized'})
       and !$root->{'extra'}->{'node_argument'}->{'manual_content'}
-      and $self->{'labels'}
-      and 
$self->{'labels'}->{$root->{'extra'}->{'node_argument'}->{'normalized'}}) {
-    my $node 
-     = 
$self->label_command($root->{'extra'}->{'node_argument'}->{'normalized'}); 
-    # This is the node if USE_NODES, otherwise this may be the sectioning 
+      and 
$self->label_command($root->{'extra'}->{'node_argument'}->{'normalized'})) {
+    my $node
+     = 
$self->label_command($root->{'extra'}->{'node_argument'}->{'normalized'});
+    # This is the node if USE_NODES, otherwise this may be the sectioning
     # command (if the sectioning command is really associated to the node)
     my $command = $self->command_root_element_command($node);
     $command = $node if (!$node->{'extra'}->{'associated_section'}
@@ -4391,11 +4394,11 @@ sub _convert_xref_commands($$$$)
                                                        and 
!$self->in_string());
 
     # maybe use {'extra'}->{'node_argument'}?
-    my $is_section = ($command->{'cmdname'} ne 'node' 
+    my $is_section = ($command->{'cmdname'} ne 'node'
                       and $command->{'cmdname'} ne 'anchor'
                       and $command->{'cmdname'} ne 'float');
     if ($cmdname eq 'pxref') {
-      $tree = $self->gdt('see {reference_name}', 
+      $tree = $self->gdt('see {reference_name}',
         { 'reference_name' => {'type' => '_converted', 'text' => $reference} 
});
     } elsif ($cmdname eq 'xref' or $cmdname eq 'inforef') {
       $tree = $self->gdt('See {reference_name}',
@@ -4406,12 +4409,16 @@ sub _convert_xref_commands($$$$)
     }
   } else {
     # external reference
+
+    # We setup a node_entry based on the parsed node entry instead of
+    # simply using the parsed node entry to be able to use the $file argument
     my $node_entry = {};
-    $node_entry->{'node_content'} = 
$root->{'extra'}->{'node_argument'}->{'node_content'}
+    $node_entry->{'node_content'}
+     = $root->{'extra'}->{'node_argument'}->{'node_content'}
       if ($root->{'extra'}->{'node_argument'}
           and $root->{'extra'}->{'node_argument'}->{'node_content'});
-    $node_entry->{'normalized'} = 
$root->{'extra'}->{'node_argument'}->{'normalized'} 
-      if ($root->{'extra'}->{'node_argument'} 
+    $node_entry->{'normalized'} = 
$root->{'extra'}->{'node_argument'}->{'normalized'}
+      if ($root->{'extra'}->{'node_argument'}
           and exists($root->{'extra'}->{'node_argument'}->{'normalized'}));
 
     # file argument takes precedence over the file in the node (file)node entry
@@ -4421,7 +4428,7 @@ sub _convert_xref_commands($$$$)
              and $root->{'extra'}->{'node_argument'}->{'manual_content'}) {
       $node_entry->{'manual_content'}
         = $root->{'extra'}->{'node_argument'}->{'manual_content'};
-      my $file_with_node_tree = {'type' => '_code', 
+      my $file_with_node_tree = {'type' => '_code',
                                   'contents' => 
[@{$node_entry->{'manual_content'}}]};
       $file = $self->convert_tree($file_with_node_tree, 'node file in ref');
     }
@@ -4445,12 +4452,12 @@ sub _convert_xref_commands($$$$)
     }
 
     # not exactly sure when it happens.  Something like @ref{(file),,,Manual}?
-    $name = $args->[0]->{'monospace'} 
+    $name = $args->[0]->{'monospace'}
        if (!defined($name)
            # FIXME could it really be Top?
            and ($self->get_conf('KEEP_TOP_EXTERNAL_REF')
                 or $args->[0]->{'monospace'} ne 'Top'));
-      
+     
     $name = '' if (!defined($name));
     my $reference = $name;
     my $book_reference = '';
@@ -4471,22 +4478,22 @@ sub _convert_xref_commands($$$$)
     }
     if ($cmdname eq 'pxref') {
       if (($book ne '') and ($href ne '') and ($reference ne '')) {
-        $tree = $self->gdt('see {reference} in @cite{{book}}', 
-            { 'reference' => {'type' => '_converted', 'text' => $reference}, 
+        $tree = $self->gdt('see {reference} in @cite{{book}}',
+            { 'reference' => {'type' => '_converted', 'text' => $reference},
               'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($book_reference ne '') {
-        $tree = $self->gdt('see @cite{{book_reference}}', 
-            { 'book_reference' => {'type' => '_converted', 
+        $tree = $self->gdt('see @cite{{book_reference}}',
+            { 'book_reference' => {'type' => '_converted',
                                    'text' => $book_reference }});
       } elsif (($book ne '') and ($reference ne '')) {
-        $tree = $self->gdt('see `{section}\' in @cite{{book}}', 
-            { 'section' => {'type' => '_converted', 'text' => $reference}, 
+        $tree = $self->gdt('see `{section}\' in @cite{{book}}',
+            { 'section' => {'type' => '_converted', 'text' => $reference},
               'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($book ne '') { # should seldom or even never happen
-        $tree = $self->gdt('see @cite{{book}}', 
+        $tree = $self->gdt('see @cite{{book}}',
               {'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($href ne '') {
-        $tree = $self->gdt('see {reference}', 
+        $tree = $self->gdt('see {reference}',
              { 'reference' => {'type' => '_converted', 'text' => $reference} 
});
       } elsif ($reference ne '') {
         $tree = $self->gdt('see `{section}\'', {
@@ -4494,22 +4501,22 @@ sub _convert_xref_commands($$$$)
       }
     } elsif ($cmdname eq 'xref' or $cmdname eq 'inforef') {
       if (($book ne '') and ($href ne '') and ($reference ne '')) {
-        $tree = $self->gdt('See {reference} in @cite{{book}}', 
-            { 'reference' => {'type' => '_converted', 'text' => $reference}, 
+        $tree = $self->gdt('See {reference} in @cite{{book}}',
+            { 'reference' => {'type' => '_converted', 'text' => $reference},
               'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($book_reference ne '') {
-        $tree = $self->gdt('See @cite{{book_reference}}', 
-            { 'book_reference' => {'type' => '_converted', 
+        $tree = $self->gdt('See @cite{{book_reference}}',
+            { 'book_reference' => {'type' => '_converted',
                                    'text' => $book_reference }});
       } elsif (($book ne '') and ($reference ne '')) {
-        $tree = $self->gdt('See `{section}\' in @cite{{book}}', 
-            { 'section' => {'type' => '_converted', 'text' => $reference}, 
+        $tree = $self->gdt('See `{section}\' in @cite{{book}}',
+            { 'section' => {'type' => '_converted', 'text' => $reference},
               'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($book ne '') { # should seldom or even never happen
-        $tree = $self->gdt('See @cite{{book}}', 
+        $tree = $self->gdt('See @cite{{book}}',
               {'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($href ne '') {
-        $tree = $self->gdt('See {reference}', 
+        $tree = $self->gdt('See {reference}',
              { 'reference' => {'type' => '_converted', 'text' => $reference} 
});
       } elsif ($reference ne '') {
         $tree = $self->gdt('See `{section}\'', {
@@ -4517,28 +4524,28 @@ sub _convert_xref_commands($$$$)
       }
     } else {
       if (($book ne '') and ($href ne '') and ($reference ne '')) {
-        $tree = $self->gdt('{reference} in @cite{{book}}', 
-            { 'reference' => {'type' => '_converted', 'text' => $reference}, 
+        $tree = $self->gdt('{reference} in @cite{{book}}',
+            { 'reference' => {'type' => '_converted', 'text' => $reference},
               'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($book_reference ne '') {
-        $tree = $self->gdt('@cite{{book_reference}}', 
-            { 'book_reference' => {'type' => '_converted', 
+        $tree = $self->gdt('@cite{{book_reference}}',
+            { 'book_reference' => {'type' => '_converted',
                                    'text' => $book_reference }});
       } elsif (($book ne '') and ($reference ne '')) {
-        $tree = $self->gdt('`{section}\' in @cite{{book}}', 
-            { 'section' => {'type' => '_converted', 'text' => $reference}, 
+        $tree = $self->gdt('`{section}\' in @cite{{book}}',
+            { 'section' => {'type' => '_converted', 'text' => $reference},
               'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($book ne '') { # should seldom or even never happen
-        $tree = $self->gdt('@cite{{book}}', 
+        $tree = $self->gdt('@cite{{book}}',
               {'book' => {'type' => '_converted', 'text' => $book }});
       } elsif ($href ne '') {
-        $tree = $self->gdt('{reference}', 
+        $tree = $self->gdt('{reference}',
              { 'reference' => {'type' => '_converted', 'text' => $reference} 
});
       } elsif ($reference ne '') {
         $tree = $self->gdt('`{section}\'', {
               'section' => {'type' => '_converted', 'text' => $reference} });
       }
-    } 
+    }
     if (!defined($tree)) {
       # May happen if there is no argument
       #die "external: $cmdname, ($args), '$name' '$file' '$book' '$href' 
'$reference'. tree undef";
@@ -4562,8 +4569,8 @@ sub _convert_index_command($$$$)
   my $args = shift;
 
   my $index_id = $self->command_id($command);
-  if (defined($index_id) and $index_id ne '' 
-      and !@{$self->{'multiple_pass'}} 
+  if (defined($index_id) and $index_id ne ''
+      and !@{$self->{'multiple_pass'}}
       and !$self->in_string()) {
     my $result = &{$self->{'format_separate_anchor'}}($self, $index_id,
                                                       'index-entry-id');
@@ -4590,7 +4597,7 @@ sub _convert_printindex_command($$$$)
   } else {
     return '';
   }
-  if (!$self->{'index_entries_by_letter'} 
+  if (!$self->{'index_entries_by_letter'}
       or !$self->{'index_entries_by_letter'}->{$index_name}
       or !@{$self->{'index_entries_by_letter'}->{$index_name}}) {
     return '';
@@ -4688,22 +4695,22 @@ sub _convert_printindex_command($$$$)
       }
 
       my $entry;
+      my $subentries_tree = 
$self->comma_index_subentries_tree($index_entry_ref);
       if ($index_entry_ref->{'in_code'}) {
         $entry = $self->convert_tree({'type' => '_code',
-                                      'contents' => 
$index_entry_ref->{'content'}},
-                                      "index $index_name l $letter index entry 
$entry_nr");
+                                     'contents' => 
$index_entry_ref->{'content'}},
+                             "index $index_name l $letter index entry 
$entry_nr");
+        $entry .= $self->convert_tree({'type' => '_code',
+                                     'contents' => 
$subentries_tree->{'contents'}},
+                        "index $index_name l $letter index sub entries 
$entry_nr")
+           if (defined($subentries_tree));
       } else {
         $entry = $self->convert_tree({'contents' => 
$index_entry_ref->{'content'}},
-                                      "index $index_name l $letter index entry 
$entry_nr");
-      }
-      # cannot introduce a _code type element, since convert_index_subentries
-      # expects an index command directly as argument.
-      if ($index_entry_ref->{'in_code'}) {
-        push @{$self->{'document_context'}->[-1]->{'monospace'}}, 1;
-      }
-      $entry .= $self->convert_index_subentries($index_entry_ref);
-      if ($index_entry_ref->{'in_code'}) {
-        pop @{$self->{'document_context'}->[-1]->{'monospace'}};
+                              "index $index_name l $letter index entry 
$entry_nr");
+        $entry .= $self->convert_tree(
+                                  {'contents'  => 
$subentries_tree->{'contents'}},
+                        "index $index_name l $letter index sub entries 
$entry_nr")
+           if (defined($subentries_tree));
       }
       if ($already_formatted) {
         $self->{'ignore_notice'}--;
@@ -5417,15 +5424,20 @@ sub _convert_def_line_type($$$$)
   if (!$self->get_conf('DEF_TABLE')) {
     my $tree;
     my $name;
-    if ($command->{'extra'}->{'def_parsed_hash'}->{'name'}) {
+    if ($command->{'extra'} and $command->{'extra'}->{'def_parsed_hash'}
+        and defined($command->{'extra'}->{'def_parsed_hash'}->{'name'})) {
       $name = $command->{'extra'}->{'def_parsed_hash'}->{'name'};
     } else {
       $name = '';
     }
-    my $category = $command->{'extra'}->{'def_parsed_hash'}->{'category'};
+    my $category;
+    if ($command->{'extra'} and $command->{'extra'}->{'def_parsed_hash'}
+        and defined($command->{'extra'}->{'def_parsed_hash'}->{'category'})) {
+      $category = $command->{'extra'}->{'def_parsed_hash'}->{'category'};
+    }
     my $category_result = '';
     my $category_tree;
-    if ($category) {
+    if (defined($category) and $category ne '') {
       $category_tree
         = {'type' => '_code',
            'contents'=>[$self->gdt("{category}: ", {'category' => $category})]
@@ -5448,7 +5460,8 @@ sub _convert_def_line_type($$$$)
              or ($command_name eq 'deftypecv'
                  and !$command->{'extra'}->{'def_parsed_hash'}->{'type'}))
             and !$command->{'extra'}->{'def_parsed_hash'}->{'class'})) {
-      $category_result = $self->convert_tree($category_tree);
+      $category_result = $self->convert_tree($category_tree)
+        if (defined($category_tree));
       if ($arguments) {
         $tree = $self->gdt("\@strong{{name}} \@emph{{arguments}}", {
                 'name' => $name,
@@ -5504,7 +5517,8 @@ sub _convert_def_line_type($$$$)
                   $strings);
         }
       }
-      $category_result = $self->convert_tree($category_tree);
+      $category_result = $self->convert_tree($category_tree)
+        if (defined($category_tree));
     # with a class, no type
     } elsif ($command_name eq 'defcv'
              or ($command_name eq 'deftypecv'
@@ -9256,6 +9270,10 @@ sub _convert($$;$)
 {
   my $self = shift;
   my $element = shift;
+  if (!defined($element)) {
+    cluck('BUG: _convert: element UNDEF');
+    return '';
+  }
   # only used for debug
   my $explanation = shift;
 
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index 50863a4b2a..54cc3bedd2 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -1283,10 +1283,15 @@ sub process_printindex($$;$)
   foreach my $entry (@{$self->{'index_entries'}->{$index_name}}) {
     next if ($ignored_entries{$entry});
     my $entry_tree = {'contents' => $entry->{'content'}};
+    my $subentries_tree = $self->comma_index_subentries_tree($entry);
     if ($entry->{'in_code'}) {
       $entry_tree->{'type'} = '_code';
+      $subentries_tree->{'type'} = '_code'
+        if (defined($subentries_tree));
     } else {
       $entry_tree->{'type'} = 'frenchspacing';
+       $subentries_tree->{'type'} = 'frenchspacing'
+        if (defined($subentries_tree));
     }
     my $entry_text = '';
 
@@ -1294,15 +1299,9 @@ sub process_printindex($$;$)
                                    {'indent' => 0, 'suppress_styles' => 1});
     push @{$self->{'formatters'}}, $formatter;
     $entry_text = $self->_convert($entry_tree);
-    # cannot introduce a _code type element, since convert_index_subentries
-    # expects an index command directly as argument.
-    if ($entry->{'in_code'}) {
-      _open_code($formatter);
-    }
-    $entry_text .= $self->convert_index_subentries($entry);
-    if ($entry->{'in_code'}) {
-      _close_code($formatter);
-    }
+    $entry_text .= $self->_convert($subentries_tree)
+      if (defined($subentries_tree));
+
     $entry_text .= _count_added($self, $formatter->{'container'},
                   Texinfo::Convert::Paragraph::end($formatter->{'container'}));
     pop @{$self->{'formatters'}};
@@ -1311,9 +1310,10 @@ sub process_printindex($$;$)
 
     # FIXME protect instead
     if ($entry_text =~ /:/ and $self->get_conf('INDEX_SPECIAL_CHARS_WARNING')) 
{
-      $self->line_warn ($self, sprintf(__("Index entry in \@%s with : produces 
invalid Info: %s"),
-                                 $entry->{'index_at_command'},
-          Texinfo::Convert::Texinfo::convert_to_texinfo($entry_tree)), 
+      $self->line_warn ($self,
+        sprintf(__("Index entry in \@%s with : produces invalid Info: %s"),
+                $entry->{'index_at_command'},
+                Texinfo::Convert::Texinfo::convert_to_texinfo($entry_tree)),
                         $entry->{'command'}->{'line_nr'});
     }
 



reply via email to

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