texinfo-commits
[Top][All Lists]
Advanced

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

[8203] avoid _trim_spaces_comment_from_content


From: gavinsmith0123
Subject: [8203] avoid _trim_spaces_comment_from_content
Date: Sat, 22 Sep 2018 09:07:02 -0400 (EDT)

Revision: 8203
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=8203
Author:   gavin
Date:     2018-09-22 09:07:01 -0400 (Sat, 22 Sep 2018)
Log Message:
-----------
avoid _trim_spaces_comment_from_content

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/tp/Texinfo/Parser.pm
    trunk/tp/Texinfo/XS/parsetexi/separator.c
    trunk/tp/t/02coverage.t
    trunk/tp/t/results/coverage/invalid_U.pl

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2018-09-22 13:00:13 UTC (rev 8202)
+++ trunk/ChangeLog     2018-09-22 13:07:01 UTC (rev 8203)
@@ -1,5 +1,12 @@
 2018-09-22  Gavin Smith  <address@hidden>
 
+       * tp/Texinfo/Parser.pm (_parse_texi) <@U>: Don't call
+       _trim_spaces_comment_from_content.
+       * t/02coverage.t (invalid_U): Add use of @U with whitespace 
+       surrounding argument.
+
+2018-09-22  Gavin Smith  <address@hidden>
+
        * tp/Texinfo/Parser.pm (_parse_texi) <@errormsg>: Don't call
        _trim_spaces_comment_from_content.
        * t/02coverage.t (test_errormsg): Add use of @errormsg with 

Modified: trunk/tp/Texinfo/Parser.pm
===================================================================
--- trunk/tp/Texinfo/Parser.pm  2018-09-22 13:00:13 UTC (rev 8202)
+++ trunk/tp/Texinfo/Parser.pm  2018-09-22 13:07:01 UTC (rev 8203)
@@ -5126,9 +5126,10 @@
               $self->line_error($error_message_text, $line_nr)
                 if $error_message_text;
             } elsif ($current->{'parent'}->{'cmdname'} eq 'U') {
-              my @contents = @{$current->{'contents'}};
-              _trim_spaces_comment_from_content (address@hidden);
-              my $arg = $contents[0]->{'text'};
+              my $arg;
+              if ($current->{'contents'}->[0]) {
+                $arg = $current->{'contents'}->[0]->{'text'};
+              }
               if (!defined($arg) || !$arg) {
                 $self->line_warn(__("no argument specified for 
address@hidden"),
                   $line_nr);

Modified: trunk/tp/Texinfo/XS/parsetexi/separator.c
===================================================================
--- trunk/tp/Texinfo/XS/parsetexi/separator.c   2018-09-22 13:00:13 UTC (rev 
8202)
+++ trunk/tp/Texinfo/XS/parsetexi/separator.c   2018-09-22 13:07:01 UTC (rev 
8203)
@@ -428,51 +428,18 @@
         }
       else if (closed_command == CM_errormsg) // 5173
         {
-          int i;
-          /* Find arg */
-          /* Should we use trim_spaces_comment_from_content instead? */
-          for (i = 0; i < current->contents.number; i++)
-            {
-              enum element_type t = current->contents.list[i]->type;
-              if (current->contents.list[i]->text.end > 0
-                  && t != ET_empty_line_after_command
-                  && t != ET_empty_spaces_after_command
-                  && t != ET_empty_spaces_before_argument
-                  && t != ET_empty_space_at_end_def_bracketed
-                  && t != ET_empty_spaces_after_close_brace)
-                break;
-            }
-          if (i == current->contents.number)
-            ;
-          else
-            {
-              char *arg = current->contents.list[i]->text.text;
-              line_error (arg);
-            }
+          char *arg = current->contents.list[i]->text.text;
+          line_error (arg);
         }
       else if (closed_command == CM_U)
         {
-          int i;
-          /* Find arg */
-          /* Should we use trim_spaces_comment_from_content instead? */
-          for (i = 0; i < current->contents.number; i++)
+          if (current->contents.number == 0)
             {
-              enum element_type t = current->contents.list[i]->type;
-              if (current->contents.list[i]->text.end > 0
-                  && t != ET_empty_line_after_command
-                  && t != ET_empty_spaces_after_command
-                  && t != ET_empty_spaces_before_argument
-                  && t != ET_empty_space_at_end_def_bracketed
-                  && t != ET_empty_spaces_after_close_brace)
-                break;
-            }
-          if (i == current->contents.number)
-            {
               line_warn ("no argument specified for @U");
             }
           else
             {
-              char *arg = current->contents.list[i]->text.text;
+              char *arg = current->contents.list[0]->text.text;
               int n = strspn (arg, "0123456789ABCDEFabcdef");
               if (arg[n])
                 {

Modified: trunk/tp/t/02coverage.t
===================================================================
--- trunk/tp/t/02coverage.t     2018-09-22 13:00:13 UTC (rev 8202)
+++ trunk/tp/t/02coverage.t     2018-09-22 13:07:01 UTC (rev 8203)
@@ -544,6 +544,7 @@
 '],
 ['invalid_U',
 '@U @U{} @U{z} @U{abc} @U{9999999999999} @U{110000} @U{10FFFF}
address@hidden 0023 } @U{ wxyz }
 '],
 ['test_errormsg',
 'Some text

Modified: trunk/tp/t/results/coverage/invalid_U.pl
===================================================================
--- trunk/tp/t/results/coverage/invalid_U.pl    2018-09-22 13:00:13 UTC (rev 
8202)
+++ trunk/tp/t/results/coverage/invalid_U.pl    2018-09-22 13:07:01 UTC (rev 
8203)
@@ -146,6 +146,63 @@
           'parent' => {},
           'text' => '
 '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '0023'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => ' ',
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'U',
+          'contents' => [],
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 2,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => ' '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'wxyz'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => ' ',
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'U',
+          'contents' => [],
+          'line_nr' => {},
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
         }
       ],
       'parent' => {},
@@ -184,13 +241,24 @@
 $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[11]{'line_nr'} = 
$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[0]{'line_nr'};
 $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[11]{'parent'} = 
$result_trees{'invalid_U'}{'contents'}[0];
 $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[12]{'parent'} = 
$result_trees{'invalid_U'}{'contents'}[0];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[13]{'args'}[0];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[13]{'args'}[0]{'parent'} 
= $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[13];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[13]{'parent'} = 
$result_trees{'invalid_U'}{'contents'}[0];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[14]{'parent'} = 
$result_trees{'invalid_U'}{'contents'}[0];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[15]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[15]{'args'}[0];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[15]{'args'}[0]{'parent'} 
= $result_trees{'invalid_U'}{'contents'}[0]{'contents'}[15];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[15]{'line_nr'} = 
$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[13]{'line_nr'};
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[15]{'parent'} = 
$result_trees{'invalid_U'}{'contents'}[0];
+$result_trees{'invalid_U'}{'contents'}[0]{'contents'}[16]{'parent'} = 
$result_trees{'invalid_U'}{'contents'}[0];
 $result_trees{'invalid_U'}{'contents'}[0]{'parent'} = 
$result_trees{'invalid_U'};
 
 $result_texis{'invalid_U'} = '@address@hidden @U{z} @U{abc} @U{9999999999999} 
@U{110000} @U{10FFFF}
address@hidden 0023 } @U{ wxyz }
 ';
 
 
 $result_texts{'invalid_U'} = ' z abc 9999999999999 110000 10FFFF
+0023 wxyz
 ';
 
 $result_errors{'invalid_U'} = [
@@ -247,24 +315,36 @@
     'macro' => '',
     'text' => 'argument for @U exceeds Unicode maximum 0x10FFFF: 110000',
     'type' => 'error'
+  },
+  {
+    'error_line' => ':2: non-hex digits in argument for @U: wxyz
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => 'non-hex digits in argument for @U: wxyz',
+    'type' => 'error'
   }
 ];
 
 
 
-$result_converted{'plaintext'}->{'invalid_U'} = 'U+z U+abc U+9999999999999 
U+110000 U+10FFFF
+$result_converted{'plaintext'}->{'invalid_U'} = 'U+z U+abc U+9999999999999 
U+110000 U+10FFFF U+0023 U+wxyz
 ';
 
 
 $result_converted{'html_text'}->{'invalid_U'} = '<p> &#xz; &#xabc; 
&#x9999999999999; &#x110000; &#x10FFFF;
+&#x0023; &#xwxyz;
 </p>';
 
 
 $result_converted{'xml'}->{'invalid_U'} = '<para><U></U> <U>z</U> <U>abc</U> 
<U>9999999999999</U> <U>110000</U> <U>10FFFF</U>
+<U spaces=" ">0023 </U> <U spaces=" ">wxyz </U>
 </para>';
 
 
 $result_converted{'docbook'}->{'invalid_U'} = '<para> &#xz; &#xabc; 
&#x9999999999999; &#x110000; &#x10FFFF;
+&#x0023; &#xwxyz;
 </para>';
 
 $result_converted_errors{'docbook'}->{'invalid_U'} = [




reply via email to

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