[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Sun, 29 Sep 2024 09:57:41 -0400 (EDT) |
branch: master
commit 02cb15d311ac78596d4d3796c370c0b8c8c53908
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Jul 1 23:37:05 2024 +0200
* tp/Texinfo/Convert/Plaintext.pm (_convert): simplify args
conditions, use element instead of element contents.
---
ChangeLog | 5 +++++
tp/Texinfo/Convert/Plaintext.pm | 49 ++++++++++++++++-------------------------
2 files changed, 24 insertions(+), 30 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3e2ccd13cc..08f38161fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-07-01 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/Convert/Plaintext.pm (_convert): simplify args
+ conditions, use element instead of element contents.
+
2024-07-01 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Text.pm (_convert): set and use $cmdname earlier.
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index 0b2901df47..fd38b627cf 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -2609,8 +2609,7 @@ sub _convert($$)
_convert($self, $element->{'args'}->[0]);
if ($command eq 'strong'
and $element->{'args'}->[0]->{'contents'}
- and scalar (@{$element->{'args'}->[0]->{'contents'}})
- and $element->{'args'}->[0]->{'contents'}->[0]->{'text'}
+ and defined($element->{'args'}->[0]->{'contents'}->[0]->{'text'})
and $element->{'args'}->[0]->{'contents'}->[0]->{'text'}
=~ /^Note\s/i
and $self->{'converted_format'}
@@ -2668,7 +2667,7 @@ sub _convert($$)
my $text_arg;
if (defined($element->{'args'}->[1])
- and defined($element->{'args'}->[1]->{'contents'})) {
+ and defined($element->{'args'}->[1]->{'contents'})) {
$text_arg = $element->{'args'}->[1];
} elsif (defined($element->{'args'}->[0])
and defined($element->{'args'}->[0]->{'contents'})) {
@@ -3342,9 +3341,8 @@ sub _convert($$)
}
if ($command eq 'quotation'
or $command eq 'smallquotation') {
- if ($element->{'args'} and $element->{'args'}->[0]
- and $element->{'args'}->[0]->{'contents'}
- and scalar(@{$element->{'args'}->[0]->{'contents'}})) {
+ if ($element->{'args'}
+ and $element->{'args'}->[0]->{'contents'}) {
my $prepended = $self->cdt('@b{{quotation_arg}:} ',
{'quotation_arg' => $element->{'args'}->[0]});
$prepended->{'type'} = 'frenchspacing';
@@ -3367,7 +3365,7 @@ sub _convert($$)
int($fraction
* $self->{'text_element_context'}->[-1]->{'max'} +0.5);
}
- } elsif ($element->{'args'} and scalar(@{$element->{'args'}})
+ } elsif ($element->{'args'}
and $element->{'args'}->[0]->{'contents'}) {
foreach my $content (@{$element->{'args'}->[0]->{'contents'}}) {
if ($content->{'type'} and $content->{'type'} eq 'bracketed_arg') {
@@ -3391,9 +3389,8 @@ sub _convert($$)
$self->_anchor($element);
}
} elsif ($command eq 'cartouche') {
- if ($element->{'args'} and $element->{'args'}->[0]
- and $element->{'args'}->[0]->{'contents'}
- and @{$element->{'args'}->[0]->{'contents'}}) {
+ if ($element->{'args'}
+ and $element->{'args'}->[0]->{'contents'}) {
# FIXME reset the paragraph count in cartouche and use a
# specific format_context?
my $prepended = $self->cdt('@center @b{{cartouche_arg}}',
@@ -3415,8 +3412,8 @@ sub _convert($$)
# use settitle for empty @top
# ignore @part
my $heading_element;
- if ($element->{'args'}->[0]->{'contents'}
- and @{$element->{'args'}->[0]->{'contents'}}
+ if ($element->{'args'}
+ and $element->{'args'}->[0]->{'contents'}
and $command ne 'part') {
$heading_element = $element->{'args'}->[0];
} elsif ($command eq 'top') {
@@ -3426,11 +3423,7 @@ sub _convert($$)
}
if ($global_commands and $global_commands->{'settitle'}
and $global_commands->{'settitle'}->{'args'}
- and scalar(@{$global_commands->{'settitle'}->{'args'}})
- and $global_commands->{'settitle'}
- ->{'args'}->[0]->{'contents'}
- and scalar(@{$global_commands->{'settitle'}
- ->{'args'}->[0]->{'contents'}}))
{
+ and $global_commands->{'settitle'}->{'args'}->[0]->{'contents'}) {
$heading_element
= $global_commands->{'settitle'}->{'args'}->[0];
}
@@ -3453,10 +3446,10 @@ sub _convert($$)
}
$self->{'format_context'}->[-1]->{'paragraph_count'} = 0;
} elsif (($command eq 'item' or $command eq 'itemx')
- and $element->{'args'} and $element->{'args'}->[0]
- and $element->{'args'}->[0]->{'type'}
- and $element->{'args'}->[0]->{'type'} eq 'line_arg') {
- if ($element->{'args'} and scalar(@{$element->{'args'}})
+ and $element->{'args'}
+ and $element->{'args'}->[0]->{'type'}
+ and $element->{'args'}->[0]->{'type'} eq 'line_arg') {
+ if ($element->{'args'}
and $element->{'args'}->[0]->{'contents'}) {
my $table_item_tree = $self->table_item_content_tree($element);
$table_item_tree = $element->{'args'}->[0]
@@ -3546,7 +3539,7 @@ sub _convert($$)
$self->{'format_context'}->[-1]->{'paragraph_count'}++;
return $result;
} elsif ($command eq 'exdent') {
- if ($element->{'args'}->[0]
+ if ($element->{'args'}
and $element->{'args'}->[0]->{'contents'}) {
if
($self->{'preformatted_context_commands'}->{$self->{'context'}->[-1]}) {
my $formatter = $self->new_formatter('unfilled',
@@ -3602,9 +3595,8 @@ sub _convert($$)
_stream_output($self, "* Menu:\n\n");
$lines_count += 2;
foreach my $float (@{$floats->{$float_type}}) {
- next if !$float->{'args'} or !$float->{'args'}->[1]
- or !$float->{'args'}->[1]->{'contents'}
- or !@{$float->{'args'}->[1]->{'contents'}};
+ next if (!$float->{'args'} or scalar(@{$float->{'args'}}) < 2
+ or !$float->{'args'}->[1]->{'contents'});
my $float_entry = $self->float_type_number($float);
next if !defined($float_entry);
@@ -3656,7 +3648,7 @@ sub _convert($$)
} elsif ($float->{'extra'}->{'caption'}) {
$caption = $float->{'extra'}->{'caption'};
}
- if ($caption and $caption->{'args'}->[0]
+ if ($caption and $caption->{'args'}
and $caption->{'args'}->[0]->{'contents'}) {
push @{$self->{'context'}}, 'listoffloats';
$self->{'multiple_pass'} = 1;
@@ -3829,10 +3821,7 @@ sub _convert($$)
push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0,
'encoding_disabled' => 1};
$self->_convert({'type' => '_code',
- 'contents' => $content->{'contents'}});
- # note that $content->{'contents'} may be undefined in rare cases,
- # such as in 30sectioning.t in_menu_only_special_ascii_spaces_node
- # test
+ 'contents' => [$content]});
_stream_output($self,
Texinfo::Convert::Paragraph::add_pending_word