texinfo-commits
[Top][All Lists]
Advanced

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

[7172] parsetexi update


From: gavinsmith0123
Subject: [7172] parsetexi update
Date: Mon, 16 May 2016 19:28:32 +0000 (UTC)

Revision: 7172
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7172
Author:   gavin
Date:     2016-05-16 19:28:31 +0000 (Mon, 16 May 2016)
Log Message:
-----------
parsetexi update

Modified Paths:
--------------
    trunk/tp/parsetexi/api.c
    trunk/tp/parsetexi/end_line.c
    trunk/tp/parsetexi/handle_commands.c

Modified: trunk/tp/parsetexi/api.c
===================================================================
--- trunk/tp/parsetexi/api.c    2016-05-14 21:13:59 UTC (rev 7171)
+++ trunk/tp/parsetexi/api.c    2016-05-16 19:28:31 UTC (rev 7172)
@@ -156,6 +156,9 @@
 
   dTHX;
 
+  if (!value->manual_content && !value->node_content)
+    return newSV(0); /* Perl 'undef' */
+
   hv = newHV ();
 
   if (value->manual_content)
@@ -235,6 +238,9 @@
   /* FIXME sort out all these special cases */
   if (e->contents.number > 0
       || e->type == ET_text_root
+      || e->type == ET_bracketed
+      || e->type == ET_bracketed_def_content
+      || e->type == ET_misc_line_arg
       || e->cmd == CM_image // why image?
       || e->cmd == CM_item && e->parent && e->parent->type == ET_row
       || e->cmd == CM_tab && e->parent && e->parent->type == ET_row
@@ -410,7 +416,8 @@
             case extra_node_spec:
               /* A complex structure - see "parse_node_manual" function
                  in end_line.c */
-              STORE(build_node_spec ((NODE_SPEC_EXTRA *) f));
+              if (f)
+                STORE(build_node_spec ((NODE_SPEC_EXTRA *) f));
               break;
             case extra_node_spec_array:
               {
@@ -725,6 +732,11 @@
               STORE2("content_normalized",
                      newRV_inc ((SV *)(AV *)SvRV(*contents_array)));
             }
+          else
+            {
+              STORE2("content", newRV_inc ((SV *)newAV ()));
+              STORE2("content_normalized", newRV_inc ((SV *)newAV ()));
+            }
         }
       if (e->node)
         STORE2("node", newRV_inc ((SV *)e->node->hv));

Modified: trunk/tp/parsetexi/end_line.c
===================================================================
--- trunk/tp/parsetexi/end_line.c       2016-05-14 21:13:59 UTC (rev 7171)
+++ trunk/tp/parsetexi/end_line.c       2016-05-16 19:28:31 UTC (rev 7172)
@@ -1504,13 +1504,16 @@
         is not empty (_check_empty_node).  */
       //check_node_label ();
 
-      add_extra_contents (current, "node_content",
+      if (nodes_manuals[0])
+        {
+          add_extra_contents (current, "node_content",
                               nodes_manuals[0]->node_content);
 
-      /* This sets 'node_content' and 'normalized' on the node, among
-         other things (which were already set in parse_node_manual).
-         Are we normalizing the name twice? */
-      register_label (current, nodes_manuals[0]);
+          /* This sets 'node_content' and 'normalized' on the node, among
+             other things (which were already set in parse_node_manual).
+             Are we normalizing the name twice? */
+          register_label (current, nodes_manuals[0]);
+        }
 
       current_node = current;
     }

Modified: trunk/tp/parsetexi/handle_commands.c
===================================================================
--- trunk/tp/parsetexi/handle_commands.c        2016-05-14 21:13:59 UTC (rev 
7171)
+++ trunk/tp/parsetexi/handle_commands.c        2016-05-16 19:28:31 UTC (rev 
7172)
@@ -345,7 +345,6 @@
 
                   add_to_element_contents (parent, misc);
                   current = misc;
-                  current = begin_preformatted (current);
                 }
               else
                 {




reply via email to

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