texinfo-commits
[Top][All Lists]
Advanced

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

[7137] parsetexi update


From: Gavin D. Smith
Subject: [7137] parsetexi update
Date: Sun, 24 Apr 2016 16:52:41 +0000

Revision: 7137
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7137
Author:   gavin
Date:     2016-04-24 16:52:40 +0000 (Sun, 24 Apr 2016)
Log Message:
-----------
parsetexi update

Modified Paths:
--------------
    trunk/tp/parsetexi/def.c
    trunk/tp/parsetexi/end_line.c

Modified: trunk/tp/parsetexi/def.c
===================================================================
--- trunk/tp/parsetexi/def.c    2016-04-24 16:02:45 UTC (rev 7136)
+++ trunk/tp/parsetexi/def.c    2016-04-24 16:52:40 UTC (rev 7137)
@@ -122,18 +122,22 @@
     {
       ELEMENT *bracketed = remove_from_contents (e, 0);
       ELEMENT *returned = new_element (ET_bracketed_def_content);
+      KEY_PAIR *k;
 
-      // isolate_last_space (bracketed, ET_empty_space_at_end_def_bracketed);
+      isolate_last_space (bracketed, ET_empty_space_at_end_def_bracketed);
 
       returned->contents = bracketed->contents;
       returned->parent_type = route_not_in_tree;
+      k = lookup_extra_key (bracketed, "spaces_before_argument");
+      if (k)
+        add_extra_element (returned, "spaces_before_argument", k->value);
 
       return returned;
     }
   else if (e->contents.list[0]->cmd != CM_NONE) // 2363
     {
       ret = remove_from_contents (e, 0);
-      //ret->parent = 0;
+      ret->parent = 0;
       return ret;
     }
   else

Modified: trunk/tp/parsetexi/end_line.c
===================================================================
--- trunk/tp/parsetexi/end_line.c       2016-04-24 16:02:45 UTC (rev 7136)
+++ trunk/tp/parsetexi/end_line.c       2016-04-24 16:52:40 UTC (rev 7137)
@@ -907,21 +907,25 @@
               memcpy (new, e, sizeof (ELEMENT));
               new->type = ET_bracketed_multitable_prototype;
               new->parent = 0;
+              new->extra_number = 0;
               new->parent_type = route_not_in_tree;
               add_to_contents_as_array (prototypes, new);
             }
           else if (e->text.end > 0) // 2893
             {
-              /* TODO: Split the text up by whitespace. */
-
-              if (e->text.text[strspn (e->text.text, whitespace_chars)])
+              /* Split the text up by whitespace. */
+              char *p, *p2;
+              p = e->text.text;
+              while (1)
                 {
                   ELEMENT *new;
-                  new = malloc (sizeof (ELEMENT));
-                  memcpy (new, e, sizeof (ELEMENT));
-                  new->type = ET_row_prototype;
-                  new->parent = 0;
+                  p2 = p + strspn (p, whitespace_chars);
+                  if (!*p2)
+                    break;
+                  p = p2 + strcspn (p2, whitespace_chars);
+                  new = new_element (ET_row_prototype);
                   new->parent_type = route_not_in_tree;
+                  text_append_n (&new->text, p2, p - p2);
                   add_to_contents_as_array (prototypes, new);
                 }
             }
@@ -937,13 +941,7 @@
                 }
               else if (e->cmd != CM_c && e->cmd != CM_comment)
                 {
-                  /* Copy element. */
-                  ELEMENT *new;
-                  new = malloc (sizeof (ELEMENT));
-                  memcpy (new, e, sizeof (ELEMENT));
-                  new->parent = 0;
-                  new->parent_type = route_not_in_tree;
-                  add_to_contents_as_array (prototypes, new);
+                  add_to_contents_as_array (prototypes, e);
                 }
             }
         }




reply via email to

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