texinfo-commits
[Top][All Lists]
Advanced

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

[7502] parsetexi remove convert_to_normalized


From: gavinsmith0123
Subject: [7502] parsetexi remove convert_to_normalized
Date: Sat, 12 Nov 2016 13:04:29 +0000 (UTC)

Revision: 7502
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7502
Author:   gavin
Date:     2016-11-12 13:04:28 +0000 (Sat, 12 Nov 2016)
Log Message:
-----------
parsetexi remove convert_to_normalized

Modified Paths:
--------------
    trunk/tp/parsetexi/ChangeLog
    trunk/tp/parsetexi/Parsetexi.pm
    trunk/tp/parsetexi/convert.c
    trunk/tp/parsetexi/convert.h

Modified: trunk/tp/parsetexi/ChangeLog
===================================================================
--- trunk/tp/parsetexi/ChangeLog        2016-11-10 18:36:28 UTC (rev 7501)
+++ trunk/tp/parsetexi/ChangeLog        2016-11-12 13:04:28 UTC (rev 7502)
@@ -1,3 +1,7 @@
+2016-11-12  Gavin Smith  <address@hidden>
+
+       * convert.c (convert_to_normalized): Remove.
+
 2016-09-21  Gavin Smith  <address@hidden>
 
        * input.c (convert_to_utf8): Start on converting the character 

Modified: trunk/tp/parsetexi/Parsetexi.pm
===================================================================
--- trunk/tp/parsetexi/Parsetexi.pm     2016-11-10 18:36:28 UTC (rev 7501)
+++ trunk/tp/parsetexi/Parsetexi.pm     2016-11-12 13:04:28 UTC (rev 7502)
@@ -241,10 +241,8 @@
   }
 }
 
-# Loop through the top-level elements in the tree, collecting node 
-# elements into $ROOT->{'nodes').  This is used in 
-# Structuring.pm:nodes_tree.
-sub _complete_node_list ($$) {
+# For each node, call _find_menus_of_node.
+sub _complete_node_menus ($$) {
   my $self = shift;
   my $root = shift;
 
@@ -253,11 +251,6 @@
   }
   foreach my $child (@{$root->{'contents'}}) {
     if ($child->{'cmdname'} and $child->{'cmdname'} eq 'node') {
-      push $self->{'nodes'}, $child;
-
-      $child->{'extra'}->{'normalized'} = 
-       $child->{'extra'}{'nodes_manuals'}[0]{'normalized'};
-
       _find_menus_of_node ($child);
     }
   }
@@ -298,7 +291,7 @@
   parse_file ($file_name);
   my $TREE = build_texinfo_tree ();
   get_parser_info ($self);
-  _complete_node_list ($self, $TREE);
+  _complete_node_menus ($self, $TREE);
 
   # line 899
   my $text_root;
@@ -395,7 +388,7 @@
     }
 
     get_parser_info($self);
-    _complete_node_list ($self, $tree);
+    _complete_node_menus ($self, $tree);
     return $tree;
 }
 

Modified: trunk/tp/parsetexi/convert.c
===================================================================
--- trunk/tp/parsetexi/convert.c        2016-11-10 18:36:28 UTC (rev 7501)
+++ trunk/tp/parsetexi/convert.c        2016-11-12 13:04:28 UTC (rev 7502)
@@ -165,315 +165,3 @@
 }
 #undef ADD
 
-/* Produce normalized node name recursively.  IN_UC is non-zero if we are 
-   converting to upper case.  */
-static void
-convert_to_normalized_internal (ELEMENT *root, TEXT *result, int in_uc)
-{
-#define ADD(x) text_append (result, x)
-
-  /* Empty if ignored type, or ignored brace command, or has a misc arg or 
misc 
-     line arg argument. */
-
-  if (root->cmd == CM_anchor
-      || root->cmd == CM_footnote
-      || root->cmd == CM_shortcaption
-      || root->cmd == CM_caption
-      || root->cmd == CM_hyphenation
-      || root->type == ET_empty_line
-      || root->type == ET_empty_line_after_command
-      || root->type == ET_preamble
-      || root->type == ET_empty_spaces_after_command
-      || root->type == ET_spaces_at_end
-      || root->type == ET_empty_spaces_before_argument
-
-      || root->type == ET_empty_spaces_before_paragraph
-      || root->type == ET_space_at_end_menu_node
-      || root->type == ET_empty_spaces_after_close_brace
-      || root->type == ET_empty_space_at_end_def_bracketed)
-    {
-      ADD ("");
-      return;
-    }
-
-  if (root->args.number >= 1 // 287
-      && (args_child_by_index(root, 0)->type == ET_misc_line_arg
-          || args_child_by_index(root, 0)->type == ET_misc_arg))
-    {
-      ADD ("");
-      return;
-    }
-
-  if (root->text.end > 0)
-    {
-      char *p = root->text.text, *q;
-      while (*p)
-        {
-          q = p;
-          while (isalnum (*q))
-            q++;
-          text_append_n (result, p, q - p);
-          if (in_uc)
-            {
-              char *p2;
-              for (p2 = result->text + result->end - (q - p); *p2; p2++)
-                *p2 = toupper (*p2);
-            }
-          p = q;
-          if (isspace (*p))
-            {
-              text_append (result, "-");
-              p += strspn (p, whitespace_chars);
-            }
-          else if (*p != '\0')
-            {
-              // FIXME: This is completely wrong as far as Unicode is concerned
-              text_printf (result, "_00%02x", *p);
-              p++;
-            }
-        }
-    }
-
-  if (root->cmd != CM_NONE) // 228 NodeNameNormalization.pm
-    {
-      if (command_flags(root) & CF_nobrace || root->cmd == CM_ASTERISK)
-        {
-          switch (root->cmd) // 353 Common.pm
-            {
-            case CM_ASTERISK:
-              ADD("-");
-              break;
-            case CM_SPACE:
-            case CM_TAB:
-            case CM_NEWLINE:
-              ADD("-");
-              break;
-            case CM_HYPHEN:
-            case CM_VERTICAL_BAR:
-            case CM_SLASH:
-            case CM_COLON:
-              break;
-            case CM_EXCLAMATION_MARK:
-            case CM_QUESTION_MARK:
-            case CM_FULL_STOP:
-            case CM_AT_SIGN:
-            case CM_CLOSE_BRACE:
-            case CM_OPEN_BRACE:
-            case CM_BACKSLASH:
-              text_printf (result, "_00%02x", *command_name(root->cmd));
-              break;
-            default:
-              /* Shouldn't get here. */
-              break;
-            }
-          return;
-        }
-      else
-        {
-          /* unicode_character_brace_no_arg_commands line 538 of Unicode.pm */
-          /* text_brace_no_arg_commands line 73 of Text.pm */
-          /* Unicode.pm values have priority. */
-          int not_processed = 0;
-          /* TODO: There are more commands there than are listed in
-             "(texinfo)HTML Xref Command Expansion", like @guillemetleft. */
-
-          /* All of these are non-ASCII characters. */
-
-          /* TODO: How exactly to normalize to Unicode Normalization Form C?
-             It would be better to leave it to Perl, so we don't have to find 
a 
-             Unicode library for C.
-             In that case we should add the UTF-8 character, instead of its
-             _XXXX representation, and normalize, followed by the conversion 
to 
-             the escaped form.
-             Read in Perl with "$characters = decode('UTF-8', $octets,     
-             Encode::FB_CROAK);" */
-
-          switch (root->cmd)
-            {
-            case CM_bullet:
-              ADD("_2022"); break;
-            case CM_copyright:
-              ADD("_00a9"); break;
-            case CM_registeredsymbol:
-              ADD("_00ae"); break;
-            case CM_dots:
-              ADD("_2026"); break;
-            case CM_equiv:
-              ADD("_2261"); break;
-            case CM_expansion:
-              ADD("_21a6"); break;
-            case CM_arrow:
-              ADD("_2192"); break;
-            case CM_minus:
-              ADD("_2212"); break;
-            case CM_point:
-              ADD("_2605"); break;
-            case CM_print:
-              ADD("_22a3"); break;
-            case CM_result:
-              ADD("_21d2"); break;
-            case CM_aa:
-              ADD("_00e5"); break;
-            case CM_AA:
-              ADD("_00c5"); break;
-            case CM_ae:
-              ADD("_00e6"); break;
-            case CM_oe:
-              ADD("_0153"); break;
-            case CM_AE:
-              ADD("_00c6"); break;
-            case CM_OE:
-              ADD("_0152"); break;
-            case CM_o:
-              ADD("_00f8"); break;
-            case CM_O:
-              ADD("_00d8"); break;
-            case CM_ss:
-              ADD("_00df"); break;
-            case CM_DH:
-              ADD("_00d0"); break;
-            case CM_dh:
-              ADD("_00f0"); break;
-            case CM_TH:
-              ADD("_00de"); break;
-            case CM_th:
-              ADD("_00fe"); break;
-            case CM_l:
-              ADD("_0142"); break;
-            case CM_L:
-              ADD("_0141"); break;
-            case CM_exclamdown:
-              ADD("_00a1"); break;
-            case CM_questiondown:
-              ADD("_00bf"); break;
-            case CM_pounds:
-              ADD("_00a3"); break;
-            case CM_ordf:
-              ADD("_00aa"); break;
-            case CM_ordm:
-              ADD("_00ba"); break;
-            case CM_comma:
-              ADD("_002c"); break;
-            case CM_atchar:
-              ADD("_0040"); break;
-            case CM_lbracechar:
-              ADD("_007b"); break;
-            case CM_rbracechar:
-              ADD("_007d"); break;
-            case CM_backslashchar:
-              ADD("_005c"); break;
-            case CM_hashchar:
-              ADD("_0023"); break;
-            case CM_euro:
-              ADD("_20ac"); break;
-            case CM_geq:
-              ADD("_2265"); break;
-            case CM_leq:
-              ADD("_2264"); break;
-            case CM_textdegree:
-              ADD("_00b0"); break;
-            case CM_quotedblleft:
-              ADD("_201c"); break;
-            case CM_quotedblright:
-              ADD("_201d"); break;
-            case CM_quoteleft:
-              ADD("_2018"); break;
-            case CM_quoteright:
-              ADD("_2019"); break;
-            case CM_quotedblbase:
-              ADD("_201e"); break;
-            case CM_quotesinglbase:
-              ADD("_201a"); break;
-            case CM_guillemetleft:
-              ADD("_00ab"); break;
-            case CM_guillemetright:
-              ADD("_00bb"); break;
-            case CM_guillemotleft:
-              ADD("_00ab"); break;
-            case CM_guillemotright:
-              ADD("_00bb"); break;
-            case CM_guilsinglleft:
-              ADD("_2039"); break;
-            case CM_guilsinglright:
-              ADD("_203a"); break;
-            case CM_click:
-              ADD("_2192"); break;
-            case CM_TeX:
-              ADD("TeX"); break;
-            case CM_LaTeX:
-              ADD("LaTeX"); break;
-            case CM_tie:
-              ADD(" "); break;
-            case CM_error:
-              ADD("error-->"); break;
-            default:
-              not_processed = 1;
-            }
-          if (!not_processed)
-            return;
-        }
-
-      /* 300 bracketed. */
-      if (root->type == ET_bracketed)
-        text_append_n (result, "{", 1);
-
-      if (command_flags(root) & CF_accent) //243
-        {
-          /* TODO: Get the Unicode value for the accented character. */
-          return;
-        }
-      // else // 262 ref commands - why would we have these in node names??
-
-      /* For example, the @t command in "@t{makeinfo} Pointer Creation". */
-      else if (root->args.number >= 1 // 287
-               && (args_child_by_index(root, 0)->type == ET_brace_command_arg
-                   || root->cmd == CM_math))
-        {
-          if (root->cmd == CM_sc)
-            in_uc = 1;
-          convert_to_normalized_internal (args_child_by_index(root, 0),
-                                          result, in_uc);
-        }
-    } // 294
-
-  if (root->contents.number > 0) // 295
-    {
-      /* Concatenate the conversion of each contents child. */
-      int i;
-
-      for (i = 0; i < root->contents.number; i++)
-        {
-          convert_to_normalized_internal (root->contents.list[i],
-                                          result, in_uc);
-        }
-    }
-
-  /* 300 bracketed. */
-  if (root->type == ET_bracketed)
-    text_append_n (result, "}", 1);
-
-#undef ADD
-}
-
-/* Replacement for Texinfo::Convert::NodeNameNormalization::normalize_node. */
-char *
-convert_to_normalized (ELEMENT *label)
-{
-  TEXT result;
-
-  if (!label)
-    return "";
-  text_init (&result);
-  convert_to_normalized_internal (label, &result, 0);
-  
-  if (result.end > 0 && isdigit (result.text[0]))
-    {
-      /* prefix "g_t" if starts with a digit */
-      char *s;
-      asprintf (&s, "g_t%s", result.text);
-      free (result.text);
-      return s;
-    }
-  else
-    return result.text;
-}

Modified: trunk/tp/parsetexi/convert.h
===================================================================
--- trunk/tp/parsetexi/convert.h        2016-11-10 18:36:28 UTC (rev 7501)
+++ trunk/tp/parsetexi/convert.h        2016-11-12 13:04:28 UTC (rev 7502)
@@ -1,3 +1,2 @@
-char *convert_to_normalized (ELEMENT *label);
 char *convert_to_texinfo (ELEMENT *e);
 char *convert_to_text (ELEMENT *e, int *superfluous_arg);




reply via email to

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