texinfo-commits
[Top][All Lists]
Advanced

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

[7827] parsetexi more sortas


From: gavinsmith0123
Subject: [7827] parsetexi more sortas
Date: Sun, 11 Jun 2017 14:28:30 -0400 (EDT)

Revision: 7827
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7827
Author:   gavin
Date:     2017-06-11 14:28:30 -0400 (Sun, 11 Jun 2017)
Log Message:
-----------
parsetexi more sortas

Modified Paths:
--------------
    trunk/tp/parsetexi/parser.c
    trunk/tp/parsetexi/separator.c

Modified: trunk/tp/parsetexi/parser.c
===================================================================
--- trunk/tp/parsetexi/parser.c 2017-06-11 17:49:57 UTC (rev 7826)
+++ trunk/tp/parsetexi/parser.c 2017-06-11 18:28:30 UTC (rev 7827)
@@ -1110,32 +1110,6 @@
                                  "command_as_argument", current);
           current = current->parent;
         }
-      else if (current->parent->cmd == CM_sortas)
-        {
-          int i;
-          for (i = 0; i < current->contents.number; i++)
-            {
-              if (current->type == ET_empty_line_after_command
-                  || current->type == ET_empty_spaces_after_command
-                  || current->type == ET_empty_spaces_before_argument
-                  || current->type == ET_empty_spaces_after_close_brace)
-                continue;
-
-              if (current->text.end > 0)
-                {
-                  ELEMENT *index_elt;
-                  if (current->parent->parent
-                      && (command_flags(current->parent->parent)
-                          & CF_index_entry_command))
-                    {
-                      index_elt = current->parent->parent;
-                      add_extra_string (index_elt, "sortas",
-                                        current->text.text);
-                    }
-
-                }
-            }
-        }
       else if (command_flags (current) & CF_accent) // 3996 - accent commands
         {
           if (strchr (whitespace_chars_except_newline, *line))

Modified: trunk/tp/parsetexi/separator.c
===================================================================
--- trunk/tp/parsetexi/separator.c      2017-06-11 17:49:57 UTC (rev 7826)
+++ trunk/tp/parsetexi/separator.c      2017-06-11 18:28:30 UTC (rev 7827)
@@ -268,7 +268,10 @@
           /* The Perl code here checks that the popped context and the
              parent command match as strings. */
         }
-      else if (command_data(current->parent->cmd).data > 0) /* sic */
+      else if (command_data(current->parent->cmd).data > 0
+                 /* (the Perl code has > 1 here, but this is a deliberate
+                    difference) */
+               && current->parent->cmd != CM_sortas) /* FIXME special case */
         {
           // 5033
           /* @inline* always have end spaces considered as normal text */
@@ -481,6 +484,34 @@
           add_extra_element (current->parent->parent->parent,
                              "command_as_argument", current->parent);
         }
+      else if (current->parent->cmd == CM_sortas)
+        {
+          int i;
+          for (i = 0; i < current->contents.number; i++)
+            {
+              ELEMENT *e = current->contents.list[i];
+
+              if (e->type == ET_empty_line_after_command
+                  || e->type == ET_empty_spaces_after_command
+                  || e->type == ET_empty_spaces_before_argument
+                  || e->type == ET_empty_spaces_after_close_brace)
+                continue;
+
+              if (e->text.end > 0)
+                {
+                  ELEMENT *index_elt;
+                  if (current->parent->parent
+                      && current->parent->parent->parent
+                      && (command_flags(current->parent->parent->parent)
+                          & CF_index_entry_command))
+                    {
+                      index_elt = current->parent->parent->parent;
+                      add_extra_string (index_elt, "sortas",
+                                        e->text.text);
+                    }
+                }
+            }
+        }
       register_global_command (current->parent->cmd, current->parent);
 
       // 5190




reply via email to

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