texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp Texinfo/Parser.pm t/results/macro/ar...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Parser.pm t/results/macro/ar...
Date: Thu, 30 Sep 2010 06:49:47 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/09/30 06:49:47

Modified files:
        tp/Texinfo     : Parser.pm 
Added files:
        tp/t/results/macro: arg_not_closed.pl macro_expansion.pl 

Log message:
        Expand user macro lines.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/arg_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_expansion.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- Texinfo/Parser.pm   30 Sep 2010 06:02:28 -0000      1.30
+++ Texinfo/Parser.pm   30 Sep 2010 06:49:47 -0000      1.31
@@ -40,7 +40,6 @@
   parser
   tree_to_texi      
   parse_texi_text
-  parse_texi_line
   errors
 ) ] );
 
@@ -503,31 +502,51 @@
   return $parser;
 }
 
-sub parse_texi_text($$;$)
+sub _text_to_lines($)
 {
-  my $self = shift;
   my $text = shift;
-  my $lines_nr = shift;
-  if (!ref($text)) {
     my $chomped = chomp($text);
-    $text = [ map {$_."\n"} split (/\n/, $text, -1) ];
-    chomp($text->[-1]) unless ($chomped);
-  }
-  if (defined($lines_nr) and !ref($lines_nr)) {
-    my $first_line = $lines_nr;
+  my $lines = [ map {$_."\n"} split (/\n/, $text, -1) ];
+  chomp($lines->[-1]) unless ($chomped);
+  return $lines;
+}
+
+sub _complete_line_nr($$;$$$)
+{
+  my $lines = shift;
+  my $first_line = shift;
+  my $file = shift;
+  my $macro = shift;
+  my $fixed_line_number = shift;
+  $macro = '' if (!defined($macro));
+  $file = '' if (!defined($file));
+  my $lines_nr;
+
+  my $line_index = $first_line;
+  if (defined($first_line)) {
     $lines_nr = [];
-    foreach my $index(0..scalar(@$text)-1) {
-       $lines_nr->[$index] = { 'line_nr' => ($index+$first_line),
-                                'file_name' => '', 'macro' => '' };
+    foreach my $index(0..scalar(@$lines)-1) {
+       $line_index = $index+$first_line if (!$fixed_line_number);
+       
+       $lines_nr->[$index] = { 'line_nr' => $line_index,
+                                'file_name' => $file, 'macro' => $macro };
     }
   }
-  return $self->_internal_parse_text($text, $lines_nr);
+  return $lines_nr;
 }
 
-sub parse_texi_line($$;$)
+sub parse_texi_text($$;$)
 {
   my $self = shift;
-  return $self->_internal_parse_text([$_[0]], [$_[1]], 1);
+  my $text = shift;
+  my $lines_nr = shift;
+  if (!ref($text)) {
+    $text = _text_to_lines($text);
+  }
+  if (defined($lines_nr) and !ref($lines_nr)) {
+    $lines_nr = _complete_line_nr($text, $lines_nr);
+  }
+  return $self->_internal_parse_text($text, $lines_nr);
 }
 
 sub tree_to_texi ($);
@@ -1168,7 +1187,20 @@
                                      $arguments, $line_nr);
           print STDERR "MACROBODY: $expanded".'||||||'."\n" 
              if ($self->{'debug'}); 
-          
+          my $expanded_lines = _text_to_lines($expanded);
+          $expanded_lines = [''] if !(@$expanded_lines);
+          print STDERR "1MACRO EXPANSION LINES: ".join('|', @$expanded_lines)
+                                       ."\nEND LINES\n" if ($self->{'debug'});
+          chomp ($expanded_lines->[-1]);
+          my $new_lines_nr = _complete_line_nr($expanded_lines, 
+                              $line_nr->{'line_nr'}, $line_nr->{'file_name'},
+                              $expanded_macro->{'args'}->[0]->{'text'}, 1);
+          unshift @$text, $line;
+          unshift @$lines_array, $line_nr;
+          $line = shift @$expanded_lines;
+          $line_nr = shift @$new_lines_nr;
+          unshift @$text, @$expanded_lines;
+          unshift @$lines_array, @$new_lines_nr;
           next;
         }
 

Index: t/results/macro/arg_not_closed.pl
===================================================================
RCS file: t/results/macro/arg_not_closed.pl
diff -N t/results/macro/arg_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/arg_not_closed.pl   30 Sep 2010 06:49:47 -0000      1.1
@@ -0,0 +1,90 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'arg_not_closed'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'foo',
+          'type' => 'macro_name'
+        },
+        {
+          'parent' => {},
+          'text' => 'arg',
+          'type' => 'macro_arg'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'foo
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'arg' => 0
+        },
+        'macro_line' => ' foo {arg}
+',
+        'macrobody' => 'foo
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'call foo'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    }
+  ]
+};
+$result_trees{'arg_not_closed'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[0];
+$result_trees{'arg_not_closed'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[0];
+$result_trees{'arg_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[0];
+$result_trees{'arg_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'arg_not_closed'};
+$result_trees{'arg_not_closed'}{'contents'}[1]{'parent'} = 
$result_trees{'arg_not_closed'};
+$result_trees{'arg_not_closed'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'arg_not_closed'}{'contents'}[2];
+$result_trees{'arg_not_closed'}{'contents'}[2]{'parent'} = 
$result_trees{'arg_not_closed'};
+$result_trees{'arg_not_closed'}{'contents'}[3]{'parent'} = 
$result_trees{'arg_not_closed'};
+
+$result_texts{'arg_not_closed'} = '@macro foo {arg}
+foo
address@hidden macro
+
+call foo
+';
+
+$result_errors{'arg_not_closed'} = [
+  {
+    'error_line' => ':5: @foo missing close brace
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@foo missing close brace',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/macro/macro_expansion.pl
===================================================================
RCS file: t/results/macro/macro_expansion.pl
diff -N t/results/macro/macro_expansion.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/macro_expansion.pl  30 Sep 2010 06:49:47 -0000      1.1
@@ -0,0 +1,536 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_expansion'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'macro1',
+          'type' => 'macro_name'
+        },
+        {
+          'parent' => {},
+          'text' => 'arg1',
+          'type' => 'macro_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'arg2',
+          'type' => 'macro_arg'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'result of a macro with \\arg1\\ and 
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '@verbatim
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '\\arg2\\
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '@end verbatim
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'arg1' => 0,
+          'arg2' => 1
+        },
+        'macro_line' => ' macro1 {arg1, arg2 }
+',
+        'macrobody' => 'result of a macro with \\arg1\\ and 
address@hidden
+\\arg2\\
address@hidden verbatim
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '2 simple args. result of a macro with first arg and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'second arg
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '3 simple args. result of a macro with one  and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'two, three
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'comma in command. result of a macro with aaa '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'a macro , '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'samp',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' bbb and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'call on the line. result of a macro with  and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => ' my arg.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'recursive call. result of a macro with first arg and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '@macro1{nested second arg}
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'protect stuff. result of a macro with first , arg and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '{} \\ 
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'multi-line arg. result of a macro with arg 1
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'now and 
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'cmdname' => 'verbatim',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'arg3
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '.'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'macro_expansion'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'args'}[1]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'args'}[2]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'contents'}[2]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'contents'}[3]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[1]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[2]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[3];
+$result_trees{'macro_expansion'}{'contents'}[3]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[4];
+$result_trees{'macro_expansion'}{'contents'}[4]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[5];
+$result_trees{'macro_expansion'}{'contents'}[5]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[6]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[7];
+$result_trees{'macro_expansion'}{'contents'}[7]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[8]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[8];
+$result_trees{'macro_expansion'}{'contents'}[8]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[9]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[9];
+$result_trees{'macro_expansion'}{'contents'}[9]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[10]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[11];
+$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[11];
+$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[2]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[11];
+$result_trees{'macro_expansion'}{'contents'}[11]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[12]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[12];
+$result_trees{'macro_expansion'}{'contents'}[12]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[13]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[13];
+$result_trees{'macro_expansion'}{'contents'}[13]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[14]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[15]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[15];
+$result_trees{'macro_expansion'}{'contents'}[15]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[16]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[16];
+$result_trees{'macro_expansion'}{'contents'}[16]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[17]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[17];
+$result_trees{'macro_expansion'}{'contents'}[17]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[18]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[19]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[19];
+$result_trees{'macro_expansion'}{'contents'}[19]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[20]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[20];
+$result_trees{'macro_expansion'}{'contents'}[20]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[21]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[21];
+$result_trees{'macro_expansion'}{'contents'}[21]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[22]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[23]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[23];
+$result_trees{'macro_expansion'}{'contents'}[23]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[24]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[24];
+$result_trees{'macro_expansion'}{'contents'}[24]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[25]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[25];
+$result_trees{'macro_expansion'}{'contents'}[25]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[26]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[27]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[27];
+$result_trees{'macro_expansion'}{'contents'}[27]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[28]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[29]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[29];
+$result_trees{'macro_expansion'}{'contents'}[29]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[30]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[30];
+$result_trees{'macro_expansion'}{'contents'}[30]{'contents'}[1]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[30];
+$result_trees{'macro_expansion'}{'contents'}[30]{'contents'}[2]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[30];
+$result_trees{'macro_expansion'}{'contents'}[30]{'parent'} = 
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[31]{'contents'}[0]{'parent'} = 
$result_trees{'macro_expansion'}{'contents'}[31];
+$result_trees{'macro_expansion'}{'contents'}[31]{'parent'} = 
$result_trees{'macro_expansion'};
+
+$result_texts{'macro_expansion'} = '
address@hidden macro1 {arg1, arg2 }
+result of a macro with \arg1\ and 
address@hidden
+\arg2\
address@hidden verbatim
address@hidden macro
+
+2 simple args. result of a macro with first arg and 
address@hidden
+second arg
address@hidden verbatim
+.
+
+3 simple args. result of a macro with one  and 
address@hidden
+two, three
address@hidden verbatim
+.
+
+comma in command. result of a macro with aaa @samp{a macro , } bbb and 
address@hidden
+
address@hidden verbatim
+.
+
+call on the line. result of a macro with  and 
address@hidden
+
address@hidden verbatim
+ my arg.
+
+recursive call. result of a macro with first arg and 
address@hidden
address@hidden second arg}
address@hidden verbatim
+.
+
+protect stuff. result of a macro with first , arg and 
address@hidden
+{} \ 
address@hidden verbatim
+.
+
+multi-line arg. result of a macro with arg 1
+
+now and 
address@hidden
+arg3
+
+
address@hidden verbatim
+.';
+
+$result_errors{'macro_expansion'} = [
+  {
+    'error_line' => ':15: warning: @macro1 defined with zero or more than one 
argument should be invoked with {}
+',
+    'file_name' => '',
+    'line_nr' => 15,
+    'macro' => '',
+    'text' => '@macro1 defined with zero or more than one argument should be 
invoked with {}',
+    'type' => 'warning'
+  }
+];
+
+



reply via email to

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