[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[8184] no spaces_after_command_elt
From: |
gavinsmith0123 |
Subject: |
[8184] no spaces_after_command_elt |
Date: |
Fri, 21 Sep 2018 11:19:30 -0400 (EDT) |
Revision: 8184
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=8184
Author: gavin
Date: 2018-09-21 11:19:29 -0400 (Fri, 21 Sep 2018)
Log Message:
-----------
no spaces_after_command_elt
Modified Paths:
--------------
trunk/ChangeLog
trunk/tp/Texinfo/Parser.pm
trunk/tp/Texinfo/XS/misc.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2018-09-21 10:20:52 UTC (rev 8183)
+++ trunk/ChangeLog 2018-09-21 15:19:29 UTC (rev 8184)
@@ -1,3 +1,10 @@
+2018-09-21 Gavin Smith <address@hidden>
+
+ * tp/Texinfo/Parser.pm (_start_empty_line_after_command):
+ Do not set a 'spaces_after_command_elt' value.
+ (_abort_empty_line): Do not clear a 'spaces_after_command_elt' value.
+ * tp/Texinfo/XS/misc.c (xs_abort_empty_line): Make the same change.
+
2018-09-16 Gavin Smith <address@hidden>
* tp/maintain/regenerate_cmd_tests.sh: Less indirection in test
Modified: trunk/tp/Texinfo/Parser.pm
===================================================================
--- trunk/tp/Texinfo/Parser.pm 2018-09-21 10:20:52 UTC (rev 8183)
+++ trunk/tp/Texinfo/Parser.pm 2018-09-21 15:19:29 UTC (rev 8184)
@@ -2144,11 +2144,6 @@
delete ($owning_element->{'extra'}->{'spaces_before_argument_elt'});
delete ($owning_element->{'extra'})
if !(keys(%{$owning_element->{'extra'}}));
- } elsif ($owning_element
- and $owning_element->{'extra'}->{'spaces_after_command_elt'}) {
- delete ($owning_element->{'extra'}->{'spaces_after_command_elt'});
- delete ($owning_element->{'extra'})
- if !(keys(%{$owning_element->{'extra'}}));
}
} elsif ($spaces_element->{'type'} eq 'empty_line') {
# exactly the same condition than to begin a paragraph
@@ -2169,7 +2164,6 @@
$owning_element->{'extra'}->{'spaces_before_argument'}
= $spaces_element->{'text'};
delete $owning_element->{'extra'}->{'spaces_before_argument_elt'};
- delete $owning_element->{'extra'}->{'spaces_after_command_elt'};
} else {
$spaces_element->{'type'} = 'empty_spaces_after_command';
}
@@ -3418,7 +3412,6 @@
'parent' => $current,
};
if (defined($command)) {
- $command->{'extra'}->{'spaces_after_command_elt'} =
$current->{'contents'}->[-1];
$current->{'contents'}->[-1]->{'extra'} = {'command' => $command};
}
return $line;
Modified: trunk/tp/Texinfo/XS/misc.c
===================================================================
--- trunk/tp/Texinfo/XS/misc.c 2018-09-21 10:20:52 UTC (rev 8183)
+++ trunk/tp/Texinfo/XS/misc.c 2018-09-21 15:19:29 UTC (rev 8184)
@@ -55,7 +55,8 @@
int contents_num;
HV *spaces_elt;
//char *key;
- HV *test_extra;
+ HV *test_extra = 0;
+ HV *command_extra = 0;
HV *owning_elt = 0;
char *type;
@@ -119,7 +120,8 @@
{
owning_elt = (HV *) SvRV (*svp);
svp = hv_fetch (owning_elt, "extra", strlen ("extra"), 0);
- test_extra = (HV *) SvRV (*svp);
+ if (svp)
+ command_extra = (HV *) SvRV (*svp);
}
}
@@ -139,20 +141,19 @@
if (owning_elt)
{
- /* We found an "extra" reference to this element. Remove it. */
- hv_delete (test_extra,
- "spaces_before_argument_elt",
- strlen ("spaces_before_argument_elt"),
- G_DISCARD);
- hv_delete (test_extra,
- "spaces_after_command_elt",
- strlen ("spaces_after_command_elt"),
- G_DISCARD);
+ if (command_extra)
+ {
+ /* We found an "extra" reference to this element. Remove it. */
+ hv_delete (command_extra,
+ "spaces_before_argument_elt",
+ strlen ("spaces_before_argument_elt"),
+ G_DISCARD);
- /* If the extra hash now empty, remove it as well. */
- hv_iterinit (test_extra);
- if (!hv_iternext (test_extra))
- hv_delete (owning_elt, "extra", strlen ("extra"), G_DISCARD);
+ /* If the extra hash now empty, remove it as well. */
+ hv_iterinit (command_extra);
+ if (!hv_iternext (command_extra))
+ hv_delete (owning_elt, "extra", strlen ("extra"), G_DISCARD);
+ }
}
}
else if (!strcmp (type, "empty_line"))
@@ -223,19 +224,21 @@
ptr = SvPV(existing_text_sv, len);
/* Replace element reference with a simple string. */
- hv_store (test_extra,
+ if (!command_extra)
+ {
+ command_extra = newHV ();
+ hv_store (owning_elt, "extra", strlen ("extra"),
+ newRV_inc((SV *)command_extra), 0);
+ }
+ hv_store (command_extra,
"spaces_before_argument",
strlen ("spaces_before_argument"),
newSVpv(ptr, len),
0);
- hv_delete (test_extra,
+ hv_delete (command_extra,
"spaces_before_argument_elt",
strlen ("spaces_before_argument_elt"),
G_DISCARD);
- hv_delete (test_extra,
- "spaces_after_command_elt",
- strlen ("spaces_after_command_elt"),
- G_DISCARD);
}
else
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [8184] no spaces_after_command_elt,
gavinsmith0123 <=