[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[6824] parsetexi update
From: |
Gavin D. Smith |
Subject: |
[6824] parsetexi update |
Date: |
Wed, 02 Dec 2015 10:14:29 +0000 |
Revision: 6824
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6824
Author: gavin
Date: 2015-12-02 10:14:28 +0000 (Wed, 02 Dec 2015)
Log Message:
-----------
parsetexi update
Modified Paths:
--------------
trunk/parsetexi/api.c
trunk/parsetexi/end_line.c
trunk/parsetexi/handle_commands.c
trunk/parsetexi/parser.c
Modified: trunk/parsetexi/api.c
===================================================================
--- trunk/parsetexi/api.c 2015-12-01 23:18:34 UTC (rev 6823)
+++ trunk/parsetexi/api.c 2015-12-02 10:14:28 UTC (rev 6824)
@@ -171,8 +171,10 @@
e->hv = newHV ();
}
- if (e->parent && e->parent_type != route_not_in_tree)
+ if (e->parent) // && e->parent_type != route_not_in_tree)
{
+ if (!e->parent->hv)
+ e->parent->hv = newHV ();
sv = newRV_inc ((SV *) e->parent->hv);
hv_store (e->hv, "parent", strlen ("parent"), sv, 0);
}
@@ -180,6 +182,8 @@
i.e. the only out-of-tree elements are simple text elements
(or other elements with no children) - otherwise we shall fail
to set "parent" properly. */
+ /* FIXME: Sometimes extra values have parent set - try to remove this
+ in the Perl code as well. */
if (e->type)
{
Modified: trunk/parsetexi/end_line.c
===================================================================
--- trunk/parsetexi/end_line.c 2015-12-01 23:18:34 UTC (rev 6823)
+++ trunk/parsetexi/end_line.c 2015-12-02 10:14:28 UTC (rev 6824)
@@ -896,7 +896,7 @@
e = new_element (ET_command_as_argument);
e->cmd = CM_bullet;
e->parent_type = route_not_in_tree;
- //e->parent = current; // FIXME: done in Perl code
+ e->parent = current;
add_extra_key_element (current, "command_as_argument", e);
contents = new_element (ET_NONE);
@@ -909,10 +909,23 @@
}
else if (item_line_command (current->cmd)
&& !lookup_extra_key (current, "command_as_argument"))
- {
- ELEMENT *e = new_element (ET_command_as_argument);
+ { // 3064
+ ELEMENT *e, *contents, *contents2;
+
+ e = new_element (ET_command_as_argument);
e->cmd = CM_asis;
+ e->parent_type = route_not_in_tree;
+ e->parent = current;
add_extra_key_element (current, "command_as_argument", e);
+
+ contents = new_element (ET_NONE);
+ contents2 = new_element (ET_NONE);
+ contents2->parent_type = route_not_in_tree;
+ add_to_contents_as_array (contents2, e);
+ add_to_element_contents (contents, contents2);
+ add_extra_key_contents_array (current, "block_command_line_contents",
+ contents);
+ // FIXME: code duplication
}
{
Modified: trunk/parsetexi/handle_commands.c
===================================================================
--- trunk/parsetexi/handle_commands.c 2015-12-01 23:18:34 UTC (rev 6823)
+++ trunk/parsetexi/handle_commands.c 2015-12-02 10:14:28 UTC (rev 6824)
@@ -130,7 +130,7 @@
text_append_n (&misc_arg->text,
args->contents.list[i]->text.text,
args->contents.list[i]->text.end);
- add_to_element_contents (misc, misc_arg);
+ add_to_element_args (misc, misc_arg);
}
/* TODO: Could we have just set misc->args directly as args? */
@@ -181,7 +181,7 @@
if (cmd == CM_item || cmd == CM_itemx
|| cmd == CM_headitem || cmd == CM_tab)
{
- ELEMENT *misc = 0, *parent;
+ ELEMENT *parent;
/* @itemize or @enumerate */ // 4443
if ((parent = item_container_parent (current)))
Modified: trunk/parsetexi/parser.c
===================================================================
--- trunk/parsetexi/parser.c 2015-12-01 23:18:34 UTC (rev 6823)
+++ trunk/parsetexi/parser.c 2015-12-02 10:14:28 UTC (rev 6824)
@@ -288,7 +288,6 @@
if (last_child
&& (last_child->type == ET_empty_line_after_command
- || last_child->type == ET_empty_line_after_command
|| last_child->type == ET_empty_spaces_before_argument
|| last_child->type == ET_empty_spaces_after_close_brace))
{
@@ -645,6 +644,7 @@
if (is_end_current_command (current, &line, &end_cmd))
{
ELEMENT *last_child;
+ ELEMENT *raw_command = current;
last_child = last_contents_child (current);
@@ -696,8 +696,8 @@
}
else
{
- debug ("CLOSED raw %s", command_name(end_cmd));
- start_empty_line_after_command (current, &line, 0); // 3831
+ debug ("CLOSED raw %s", command_name(end_cmd)); // 3830
+ start_empty_line_after_command (current, &line, raw_command);
}
}
else /* 3833 save the line verbatim */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [6824] parsetexi update,
Gavin D. Smith <=