texinfo-commits
[Top][All Lists]
Advanced

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

[7129] parsetexi update


From: Gavin D. Smith
Subject: [7129] parsetexi update
Date: Sun, 24 Apr 2016 12:58:17 +0000

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

Modified Paths:
--------------
    trunk/tp/parsetexi/Parsetexi.pm
    trunk/tp/parsetexi/Parsetexi.xs
    trunk/tp/parsetexi/api.c
    trunk/tp/parsetexi/api.h
    trunk/tp/parsetexi/end_line.c

Modified: trunk/tp/parsetexi/Parsetexi.pm
===================================================================
--- trunk/tp/parsetexi/Parsetexi.pm     2016-04-24 11:35:42 UTC (rev 7128)
+++ trunk/tp/parsetexi/Parsetexi.pm     2016-04-24 12:58:14 UTC (rev 7129)
@@ -133,8 +133,10 @@
   $parser->{'gettext'} = $parser_default_configuration{'gettext'};
   $parser->{'pgettext'} = $parser_default_configuration{'pgettext'};
 
-  wipe_values ();
-  init_index_commands ();
+  ## wipe_values ();
+  ## init_index_commands ();
+  ## init_floats ();
+  reset_parser ();
   # fixme: these are overwritten immediately after
   if (defined($conf)) {
     foreach my $key (keys (%$conf)) {

Modified: trunk/tp/parsetexi/Parsetexi.xs
===================================================================
--- trunk/tp/parsetexi/Parsetexi.xs     2016-04-24 11:35:42 UTC (rev 7128)
+++ trunk/tp/parsetexi/Parsetexi.xs     2016-04-24 12:58:14 UTC (rev 7129)
@@ -112,3 +112,6 @@
 HV *
 build_global_info ()
 
+void
+reset_parser ()
+

Modified: trunk/tp/parsetexi/api.c
===================================================================
--- trunk/tp/parsetexi/api.c    2016-04-24 11:35:42 UTC (rev 7128)
+++ trunk/tp/parsetexi/api.c    2016-04-24 12:58:14 UTC (rev 7129)
@@ -37,12 +37,19 @@
 ELEMENT *Root;
 
 static void
-reset_parser ()
+reset_floats ()
 {
+  floats_number = 0;
+}
+
+void
+reset_parser (void)
+{
   wipe_user_commands ();
   init_index_commands ();
   wipe_errors ();
   reset_context_stack ();
+  reset_floats ();
   current_node = current_section = 0;
 }
 

Modified: trunk/tp/parsetexi/api.h
===================================================================
--- trunk/tp/parsetexi/api.h    2016-04-24 11:35:42 UTC (rev 7128)
+++ trunk/tp/parsetexi/api.h    2016-04-24 12:58:14 UTC (rev 7129)
@@ -6,6 +6,7 @@
 char *element_type_name (ELEMENT *element);
 int num_contents_children (ELEMENT *e);
 int num_args_children (ELEMENT *e);
+void reset_parser (void);
 
 //HV *build_global_info (void);
 

Modified: trunk/tp/parsetexi/end_line.c
===================================================================
--- trunk/tp/parsetexi/end_line.c       2016-04-24 11:35:42 UTC (rev 7128)
+++ trunk/tp/parsetexi/end_line.c       2016-04-24 12:58:14 UTC (rev 7129)
@@ -1239,7 +1239,7 @@
     }
   else if (arg_type == MISC_text) /* 3118 */
     {
-      char *text;
+      char *text = 0;
      
       /* argument string has to be parsed as Texinfo. This calls convert in 
          Common/Text.pm on the first element of current->args. */
@@ -1249,9 +1249,23 @@
 
       // TODO: Convert properly.
       if (current->args.number > 0)
-        text = text_convert (current->args.list[0]);
-      else
-        text = "foo";
+        {
+          int i;
+          ELEMENT *arg = current->args.list[0];
+          for (i = 0; i < arg->contents.number; i++)
+            {
+              ELEMENT *e = arg->contents.list[i];
+              if (e->type != ET_empty_spaces_after_command
+                  && e->type != ET_spaces_at_end
+                  && e->text.end > 0)
+                {
+                  text = e->text.text;
+                  break;
+                }
+            }
+        }
+      if (!text)
+        text = "";
 
       if (!text || !strcmp (text, ""))
         {




reply via email to

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