texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Gavin D. Smith
Date: Sat, 12 Nov 2022 17:25:46 -0500 (EST)

branch: release/7.0
commit 556525720b869dd34fac58d7a1ad5f378f5348ab
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Nov 12 22:13:13 2022 +0000

    * tp/Texinfo/Convert/DocBook.pm (_convert): avoid formatting when
    contents is not set.
    
    * tp/Texinfo/Convert/Converter.pm (table_item_content_tree):
    explicitely handle undef $contents argument.
---
 ChangeLog                       |  8 ++++++++
 tp/Texinfo/Convert/Converter.pm |  4 ++++
 tp/Texinfo/Convert/DocBook.pm   | 20 ++++++++++++++------
 3 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4028095489..9d27c5c72c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-11-08  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/DocBook.pm (_convert): avoid formatting when
+       contents is not set.
+
+       * tp/Texinfo/Convert/Converter.pm (table_item_content_tree):
+       explicitely handle undef $contents argument.
+
 2022-11-08  Gavin Smith  <gavinsmith0123@gmail.com>
 
        * tp/texi2any.pl: Call _encode_message on messages passed to
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index 792cdaaab3..1c18523bf1 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -1326,6 +1326,10 @@ sub table_item_content_tree($$$)
   my $contents = shift;
 
   my $table_item_tree = {'parent' => $element};
+
+  return $table_item_tree
+    if (!defined($contents));
+
   my $table_command = $element->{'parent'}->{'parent'}->{'parent'};
   if ($table_command->{'extra'}
      and $table_command->{'extra'}->{'command_as_argument'}) {
diff --git a/tp/Texinfo/Convert/DocBook.pm b/tp/Texinfo/Convert/DocBook.pm
index 3313777380..edc58ad35f 100644
--- a/tp/Texinfo/Convert/DocBook.pm
+++ b/tp/Texinfo/Convert/DocBook.pm
@@ -747,12 +747,15 @@ sub _convert($$;$)
                and $element->{'parent'}->{'type'}
                and $element->{'parent'}->{'type'} eq 'table_term') {
 
-        my $table_item_tree = $self->table_item_content_tree($element,
-                                         
$element->{'args'}->[0]->{'contents'});
-
         $result .= "<term>";
         $result .= $self->_index_entry($element);
-        $result .= $self->_convert($table_item_tree);
+        if ($element->{'args'}->[0]
+            and $element->{'args'}->[0]->{'contents'}) {
+          my $table_item_tree = $self->table_item_content_tree($element,
+                                         
$element->{'args'}->[0]->{'contents'});
+
+          $result .= $self->_convert($table_item_tree);
+        }
         chomp ($result);
         $result .= "\n";
         $result .= "</term>";
@@ -1030,6 +1033,7 @@ sub _convert($$;$)
           } else {
             if (scalar(@{$element->{'args'}}) == 5
                 and defined($element->{'args'}->[-1])
+                and $element->{'args'}->[-1]->{'contents'}
                 and @{$element->{'args'}->[-1]->{'contents'}}) {
               $book_contents = $element->{'args'}->[-1]->{'contents'};
             }
@@ -1329,7 +1333,9 @@ sub _convert($$;$)
       } elsif ($element->{'cmdname'} eq 'abbr' or $element->{'cmdname'} eq 
'acronym') {
         my $argument;
         if (scalar(@{$element->{'args'}}) >= 1
-            and defined($element->{'args'}->[0]) and 
@{$element->{'args'}->[0]->{'contents'}}) {
+            and defined($element->{'args'}->[0])
+            and $element->{'args'}->[0]->{'contents'}
+            and @{$element->{'args'}->[0]->{'contents'}}) {
           my $arg = $self->_convert({'contents' 
                       => $element->{'args'}->[0]->{'contents'}});
           if ($arg ne '') {
@@ -1344,7 +1350,9 @@ sub _convert($$;$)
         }
         #
         if (scalar(@{$element->{'args'}}) == 2
-           and defined($element->{'args'}->[-1]) and 
@{$element->{'args'}->[-1]->{'contents'}}) {
+           and defined($element->{'args'}->[-1])
+           and $element->{'args'}->[-1]->{'contents'}
+           and @{$element->{'args'}->[-1]->{'contents'}}) {
           if (defined($argument)) {
             my $tree = $self->gdt('{abbr_or_acronym} ({explanation})',
                            {'abbr_or_acronym' => {'type' => '_converted',



reply via email to

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