[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[7970] _abort_empty_line
From: |
gavinsmith0123 |
Subject: |
[7970] _abort_empty_line |
Date: |
Mon, 25 Sep 2017 14:42:42 -0400 (EDT) |
Revision: 7970
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7970
Author: gavin
Date: 2017-09-25 14:42:41 -0400 (Mon, 25 Sep 2017)
Log Message:
-----------
_abort_empty_line
Modified Paths:
--------------
trunk/ChangeLog
trunk/tp/Texinfo/Parser.pm
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2017-09-25 18:28:59 UTC (rev 7969)
+++ trunk/ChangeLog 2017-09-25 18:42:41 UTC (rev 7970)
@@ -1,5 +1,11 @@
2017-09-25 Gavin Smith <address@hidden>
+ * tp/Texinfo/Parser.pm (_abort_empty_line): Change code to
+ keep track of which element refers to space element in its
+ 'extra' hash. No functional change intended.
+
+2017-09-25 Gavin Smith <address@hidden>
+
* tp/Texinfo/Parser.pm (_abort_empty_line): Change the name of a
variable. Use a variable to simplify the code.
Modified: trunk/tp/Texinfo/Parser.pm
===================================================================
--- trunk/tp/Texinfo/Parser.pm 2017-09-25 18:28:59 UTC (rev 7969)
+++ trunk/tp/Texinfo/Parser.pm 2017-09-25 18:42:41 UTC (rev 7970)
@@ -2146,47 +2146,51 @@
my $spaces_element = $current->{'contents'}->[-1];
+ my $owning_element;
+ if ($current->{'extra'}
+ and $current->{'extra'}->{'spaces_before_argument'}
+ and $current->{'extra'}->{'spaces_before_argument'}
+ eq $spaces_element) {
+ $owning_element = $current;
+ } elsif ($current->{'parent'} and $current->{'parent'}->{'extra'}
+ and $current->{'parent'}->{'extra'}->{'spaces_before_argument'}
+ and $current->{'parent'}->{'extra'}->{'spaces_before_argument'}
+ eq $spaces_element) {
+ $owning_element = $current->{'parent'};
+ } elsif ($current->{'extra'}
+ and $current->{'extra'}->{'spaces_after_command'}
+ and $current->{'extra'}->{'spaces_after_command'}
+ eq $spaces_element) {
+ $owning_element = $current;
+ } elsif ($current->{'parent'} and $current->{'parent'}->{'extra'}
+ and $current->{'parent'}->{'extra'}->{'spaces_after_command'}
+ and $current->{'parent'}->{'extra'}->{'spaces_after_command'}
+ eq $spaces_element) {
+ $owning_element = $current->{'parent'};
+ }
+
print STDERR "ABORT EMPTY "
- .$spaces_element->{'type'}
- ." additional text |$additional_spaces|,"
- ." current |$current->{'contents'}->[-1]->{'text'}|\n"
- if ($self->{'DEBUG'});
+ .$spaces_element->{'type'}
+ ." additional text |$additional_spaces|,"
+ ." current |$spaces_element->{'text'}|\n"
+ if ($self->{'DEBUG'});
$spaces_element->{'text'} .= $additional_spaces;
# remove empty 'empty*before'.
if ($spaces_element->{'text'} eq '') {
- # as we remove 'empty_spaces_before_argument', 'spaces_before_argument'
- # is removed from 'extra' too.
- if ($current->{'extra'}
- and $current->{'extra'}->{'spaces_before_argument'}
- and $current->{'extra'}->{'spaces_before_argument'}
- eq $spaces_element) {
- delete ($current->{'extra'}->{'spaces_before_argument'});
- delete ($current->{'extra'}) if !(keys(%{$current->{'extra'}}));
- } elsif ($current->{'parent'} and $current->{'parent'}->{'extra'}
- and $current->{'parent'}->{'extra'}->{'spaces_before_argument'}
- and $current->{'parent'}->{'extra'}->{'spaces_before_argument'}
- eq $spaces_element) {
- delete ($current->{'parent'}->{'extra'}->{'spaces_before_argument'});
- delete ($current->{'parent'}->{'extra'})
- if !(keys(%{$current->{'parent'}->{'extra'}}));
- } elsif ($current->{'extra'}
- and $current->{'extra'}->{'spaces_after_command'}
- and $current->{'extra'}->{'spaces_after_command'}
- eq $spaces_element) {
- delete ($current->{'extra'}->{'spaces_after_command'});
- delete ($current->{'extra'})
- if !(keys(%{$current->{'extra'}}));
- } elsif ($current->{'parent'} and $current->{'parent'}->{'extra'}
- and $current->{'parent'}->{'extra'}->{'spaces_after_command'}
- and $current->{'parent'}->{'extra'}->{'spaces_after_command'}
- eq $spaces_element) {
- delete ($current->{'parent'}->{'extra'}->{'spaces_after_command'});
- delete ($current->{'parent'}->{'extra'})
- if !(keys(%{$current->{'parent'}->{'extra'}}));
+ pop @{$current->{'contents'}};
+
+ if ($owning_element
+ and $owning_element->{'extra'}->{'spaces_before_argument'}) {
+ delete ($owning_element->{'extra'}->{'spaces_before_argument'});
+ delete ($owning_element->{'extra'})
+ if !(keys(%{$owning_element->{'extra'}}));
+ } elsif ($owning_element
+ and $owning_element->{'extra'}->{'spaces_after_command'}) {
+ delete ($owning_element->{'extra'}->{'spaces_after_command'});
+ delete ($owning_element->{'extra'})
+ if !(keys(%{$owning_element->{'extra'}}));
}
-
- pop @{$current->{'contents'}}
} elsif ($spaces_element->{'type'} eq 'empty_line') {
# exactly the same condition than to begin a paragraph
if ((!$current->{'type'} or $type_with_paragraph{$current->{'type'}})
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [7970] _abort_empty_line,
gavinsmith0123 <=