texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp TODO Texinfo/Parser.pm t/50value.t t...


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Parser.pm t/50value.t t...
Date: Sat, 02 Oct 2010 13:25:08 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/02 13:25:08

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
        tp/t           : 50value.t 60macro.t 
Added files:
        tp/t           : 70value_and_macro.t 
        tp/t/results/macro: macro_no_arg_bad_expansion.pl 
                            macro_no_arg_expansion.pl 
        tp/t/results/value: empty_set.pl 
        tp/t/results/value_and_macro: comma_value_in_macro_arg.pl 
                                      macro_in_value.pl 
                                      value_in_macro_body.pl 
                                      value_in_macro_formal_arg.pl 

Log message:
        Hansle empty @set.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/50value.t?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/60macro.t?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/70value_and_macro.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_no_arg_bad_expansion.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_no_arg_expansion.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/empty_set.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value_and_macro/macro_in_value.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value_and_macro/value_in_macro_body.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- TODO        30 Sep 2010 22:03:52 -0000      1.3
+++ TODO        2 Oct 2010 13:25:07 -0000       1.4
@@ -15,3 +15,11 @@
 test root_commands, like nodes and sections
 values and user defined macro expansion in line @-commands, line
 @-commands argument checking.
+
+Test @set with an argument but no space following it. In ifset tests.
+
+test something @macro
+qsmlsmqldk
address@hidden macro sqjsqdlkjhdsq
+
+

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- Texinfo/Parser.pm   2 Oct 2010 10:03:41 -0000       1.34
+++ Texinfo/Parser.pm   2 Oct 2010 13:25:07 -0000       1.35
@@ -1976,9 +1976,11 @@
 
 
   if ($command eq 'set') {
-    if ($line =~ /^(\s+)([\w\-]+)(\s+)(.*)$/) {
-      $args = [$2, $4];
-      $self->{'values'}->{$2} = $4;
+    if ($line =~ /^\s+([\w\-]+)\s*(.*?)\s*$/) {
+      my $name = $1;
+      my $arg = $2;
+      $args = [$name, $arg];
+      $self->{'values'}->{$name} = $arg;
     } else {
       _line_error ($self, sprintf($self->
                     __("%c%s requires a name"), ord('@'), $command), $line_nr);

Index: t/50value.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/50value.t,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/50value.t 2 Oct 2010 10:03:41 -0000       1.2
+++ t/50value.t 2 Oct 2010 13:25:08 -0000       1.3
@@ -23,8 +23,12 @@
 '@set zero 0
 Value
 @value{zero}'
-]
+],
+['empty_set',
+'@set myspace
 
+1 @value{myspace} 1
+']
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/60macro.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/60macro.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/60macro.t 2 Oct 2010 10:03:41 -0000       1.4
+++ t/60macro.t 2 Oct 2010 13:25:08 -0000       1.5
@@ -45,6 +45,20 @@
 @end macro
 @end macro
 '],
+['macro_no_arg_expansion',
+'@macro test1
+res1
address@hidden macro
+
address@hidden abc
+'],
+['macro_no_arg_bad_expansion',
+'@macro test1
+res1
address@hidden macro
+
address@hidden abc
+'],
 ['macro_expansion','
 @macro macro1 {arg1, arg2 }
 result of a macro with \arg1\ and 

Index: t/70value_and_macro.t
===================================================================
RCS file: t/70value_and_macro.t
diff -N t/70value_and_macro.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/70value_and_macro.t       2 Oct 2010 13:25:08 -0000       1.1
@@ -0,0 +1,53 @@
+use strict;
+
+use Test::More;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+['macro_in_value',
+'@macro ab
+a
+
+b
address@hidden macro
+
address@hidden flagab @ab
+
+flagab: @value{flagab}
+'],
+['comma_value_in_macro_arg',
+'@set comma ,
+
address@hidden macro1 { arg1 , arg2 }
+result: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ @emph{\\arg2\\}
address@hidden macro
+
address@hidden { arg1 @value{comma} arg2 }
+'],
+['value_in_macro_body',
+'@set bodyarg \\arg\\ 
+
address@hidden testvaluebody { arg }
+result: @address@hidden  }
address@hidden macro
+
address@hidden
+'],
+['value_in_macro_formal_arg',
+'@set argument arg 
+
address@hidden testvalue { arg , address@hidden }
+result: @emph{\\arg\\} the \\the\\ thearg \\thearg\\ with value address@hidden
address@hidden macro
+
address@hidden
+']
+);
+
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('value_and_macro', address@hidden, $arg_test_case,
+   $arg_generate, $arg_debug);
+

Index: t/results/macro/macro_no_arg_bad_expansion.pl
===================================================================
RCS file: t/results/macro/macro_no_arg_bad_expansion.pl
diff -N t/results/macro/macro_no_arg_bad_expansion.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/macro_no_arg_bad_expansion.pl       2 Oct 2010 13:25:08 
-0000       1.1
@@ -0,0 +1,75 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_no_arg_bad_expansion'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'test1',
+          'type' => 'macro_name'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'res1
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'macro_line' => ' test1
+',
+        'macrobody' => 'res1
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'res1 abc
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0];
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0];
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_no_arg_bad_expansion'};
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[1]{'parent'} = 
$result_trees{'macro_no_arg_bad_expansion'};
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'macro_no_arg_bad_expansion'}{'contents'}[2];
+$result_trees{'macro_no_arg_bad_expansion'}{'contents'}[2]{'parent'} = 
$result_trees{'macro_no_arg_bad_expansion'};
+
+$result_texts{'macro_no_arg_bad_expansion'} = '@macro test1
+res1
address@hidden macro
+
+res1 abc
+';
+
+$result_errors{'macro_no_arg_bad_expansion'} = [
+  {
+    'error_line' => ':5: warning: @test1 defined with zero or more than one 
argument should be invoked with {}
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@test1 defined with zero or more than one argument should be 
invoked with {}',
+    'type' => 'warning'
+  }
+];
+
+

Index: t/results/macro/macro_no_arg_expansion.pl
===================================================================
RCS file: t/results/macro/macro_no_arg_expansion.pl
diff -N t/results/macro/macro_no_arg_expansion.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/macro_no_arg_expansion.pl   2 Oct 2010 13:25:08 -0000       
1.1
@@ -0,0 +1,65 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_no_arg_expansion'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'test1',
+          'type' => 'macro_name'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'res1
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'macro_line' => ' test1
+',
+        'macrobody' => 'res1
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'res1 abc
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'macro_no_arg_expansion'}{'contents'}[0];
+$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_no_arg_expansion'}{'contents'}[0];
+$result_trees{'macro_no_arg_expansion'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_no_arg_expansion'};
+$result_trees{'macro_no_arg_expansion'}{'contents'}[1]{'parent'} = 
$result_trees{'macro_no_arg_expansion'};
+$result_trees{'macro_no_arg_expansion'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'macro_no_arg_expansion'}{'contents'}[2];
+$result_trees{'macro_no_arg_expansion'}{'contents'}[2]{'parent'} = 
$result_trees{'macro_no_arg_expansion'};
+
+$result_texts{'macro_no_arg_expansion'} = '@macro test1
+res1
address@hidden macro
+
+res1 abc
+';
+
+$result_errors{'macro_no_arg_expansion'} = [];
+
+

Index: t/results/value/empty_set.pl
===================================================================
RCS file: t/results/value/empty_set.pl
diff -N t/results/value/empty_set.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value/empty_set.pl        2 Oct 2010 13:25:08 -0000       1.1
@@ -0,0 +1,54 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'empty_set'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'myspace',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => '',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '1  1
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'empty_set'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'empty_set'}{'contents'}[0];
+$result_trees{'empty_set'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'empty_set'}{'contents'}[0];
+$result_trees{'empty_set'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_set'};
+$result_trees{'empty_set'}{'contents'}[1]{'parent'} = 
$result_trees{'empty_set'};
+$result_trees{'empty_set'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'empty_set'}{'contents'}[2];
+$result_trees{'empty_set'}{'contents'}[2]{'parent'} = 
$result_trees{'empty_set'};
+
+$result_texts{'empty_set'} = '@set myspace 
+
+1  1
+';
+
+$result_errors{'empty_set'} = [];
+
+

Index: t/results/value_and_macro/comma_value_in_macro_arg.pl
===================================================================
RCS file: t/results/value_and_macro/comma_value_in_macro_arg.pl
diff -N t/results/value_and_macro/comma_value_in_macro_arg.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value_and_macro/comma_value_in_macro_arg.pl       2 Oct 2010 
13:25:08 -0000       1.1
@@ -0,0 +1,154 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'comma_value_in_macro_arg'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'comma',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => ',',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      '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: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ 
@emph{\\arg2\\}
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'arg1' => 0,
+          'arg2' => 1
+        },
+        'macro_line' => ' macro1 { arg1 , arg2 }
+',
+        'macrobody' => 'result: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ 
@emph{\\arg2\\}
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'result: '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'arg1 , arg2 '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'emph',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' protected \\ -> \\arg1\\ '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'emph',
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    }
+  ]
+};
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'args'}[0]{'parent'} 
= $result_trees{'comma_value_in_macro_arg'}{'contents'}[0];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'args'}[1]{'parent'} 
= $result_trees{'comma_value_in_macro_arg'}{'contents'}[0];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[0]{'parent'} = 
$result_trees{'comma_value_in_macro_arg'};
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[1]{'parent'} = 
$result_trees{'comma_value_in_macro_arg'};
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[2]{'args'}[0]{'parent'} 
= $result_trees{'comma_value_in_macro_arg'}{'contents'}[2];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[2]{'args'}[1]{'parent'} 
= $result_trees{'comma_value_in_macro_arg'}{'contents'}[2];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[2]{'args'}[2]{'parent'} 
= $result_trees{'comma_value_in_macro_arg'}{'contents'}[2];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[2];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[2]{'parent'} = 
$result_trees{'comma_value_in_macro_arg'};
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[3]{'parent'} = 
$result_trees{'comma_value_in_macro_arg'};
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[4];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[1];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[4];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[4];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[3];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'contents'}[3]{'parent'}
 = $result_trees{'comma_value_in_macro_arg'}{'contents'}[4];
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[4]{'parent'} = 
$result_trees{'comma_value_in_macro_arg'};
+$result_trees{'comma_value_in_macro_arg'}{'contents'}[5]{'parent'} = 
$result_trees{'comma_value_in_macro_arg'};
+
+$result_texts{'comma_value_in_macro_arg'} = '@set comma ,
+
address@hidden macro1 { arg1 , arg2 }
+result: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ @emph{\\arg2\\}
address@hidden macro
+
+result: @emph{arg1 , arg2 } protected \\ -> \\arg1\\ @emph{}
+';
+
+$result_errors{'comma_value_in_macro_arg'} = [];
+
+

Index: t/results/value_and_macro/macro_in_value.pl
===================================================================
RCS file: t/results/value_and_macro/macro_in_value.pl
diff -N t/results/value_and_macro/macro_in_value.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value_and_macro/macro_in_value.pl 2 Oct 2010 13:25:08 -0000       
1.1
@@ -0,0 +1,143 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_in_value'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'ab',
+          'type' => 'macro_name'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'a
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => 'b
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'macro_line' => ' ab
+',
+        'macrobody' => 'a
+
+b
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'flagab',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => '@ab',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'flagab: a
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'b
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'macro_in_value'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[0];
+$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[0];
+$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[0];
+$result_trees{'macro_in_value'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[0];
+$result_trees{'macro_in_value'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_value'};
+$result_trees{'macro_in_value'}{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_value'};
+$result_trees{'macro_in_value'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[2];
+$result_trees{'macro_in_value'}{'contents'}[2]{'args'}[1]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[2];
+$result_trees{'macro_in_value'}{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_value'};
+$result_trees{'macro_in_value'}{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_value'};
+$result_trees{'macro_in_value'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[4];
+$result_trees{'macro_in_value'}{'contents'}[4]{'parent'} = 
$result_trees{'macro_in_value'};
+$result_trees{'macro_in_value'}{'contents'}[5]{'parent'} = 
$result_trees{'macro_in_value'};
+$result_trees{'macro_in_value'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_value'}{'contents'}[6];
+$result_trees{'macro_in_value'}{'contents'}[6]{'parent'} = 
$result_trees{'macro_in_value'};
+
+$result_texts{'macro_in_value'} = '@macro ab
+a
+
+b
address@hidden macro
+
address@hidden flagab @ab
+
+flagab: a
+
+b
+';
+
+$result_errors{'macro_in_value'} = [
+  {
+    'error_line' => ':9: warning: @ab defined with zero or more than one 
argument should be invoked with {}
+',
+    'file_name' => '',
+    'line_nr' => 9,
+    'macro' => '',
+    'text' => '@ab defined with zero or more than one argument should be 
invoked with {}',
+    'type' => 'warning'
+  }
+];
+
+

Index: t/results/value_and_macro/value_in_macro_body.pl
===================================================================
RCS file: t/results/value_and_macro/value_in_macro_body.pl
diff -N t/results/value_and_macro/value_in_macro_body.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value_and_macro/value_in_macro_body.pl    2 Oct 2010 13:25:08 
-0000       1.1
@@ -0,0 +1,138 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'value_in_macro_body'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'bodyarg',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => '\\arg\\',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'testvaluebody',
+          'type' => 'macro_name'
+        },
+        {
+          'parent' => {},
+          'text' => 'arg',
+          'type' => 'macro_arg'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'result: @address@hidden  }
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'arg' => 0
+        },
+        'macro_line' => ' testvaluebody { arg }
+',
+        'macrobody' => 'result: @address@hidden  }
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'result: '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '\\\\arg\\  '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'emph',
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    }
+  ]
+};
+$result_trees{'value_in_macro_body'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[0];
+$result_trees{'value_in_macro_body'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[0];
+$result_trees{'value_in_macro_body'}{'contents'}[0]{'parent'} = 
$result_trees{'value_in_macro_body'};
+$result_trees{'value_in_macro_body'}{'contents'}[1]{'parent'} = 
$result_trees{'value_in_macro_body'};
+$result_trees{'value_in_macro_body'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[2];
+$result_trees{'value_in_macro_body'}{'contents'}[2]{'args'}[1]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[2];
+$result_trees{'value_in_macro_body'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[2];
+$result_trees{'value_in_macro_body'}{'contents'}[2]{'parent'} = 
$result_trees{'value_in_macro_body'};
+$result_trees{'value_in_macro_body'}{'contents'}[3]{'parent'} = 
$result_trees{'value_in_macro_body'};
+$result_trees{'value_in_macro_body'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[4];
+$result_trees{'value_in_macro_body'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'value_in_macro_body'}{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'value_in_macro_body'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'value_in_macro_body'}{'contents'}[4]{'contents'}[1];
+$result_trees{'value_in_macro_body'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'value_in_macro_body'}{'contents'}[4];
+$result_trees{'value_in_macro_body'}{'contents'}[4]{'parent'} = 
$result_trees{'value_in_macro_body'};
+$result_trees{'value_in_macro_body'}{'contents'}[5]{'parent'} = 
$result_trees{'value_in_macro_body'};
+
+$result_texts{'value_in_macro_body'} = '@set bodyarg \\arg\\
+
address@hidden testvaluebody { arg }
+result: @address@hidden  }
address@hidden macro
+
+result: @emph{\\\\arg\\  }
+';
+
+$result_errors{'value_in_macro_body'} = [
+  {
+    'error_line' => ':7: \\ in macro expansion followed address@hidden' 
instead of parameter name or \\
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '\\ in macro expansion followed address@hidden' instead of 
parameter name or \\',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/value_and_macro/value_in_macro_formal_arg.pl
===================================================================
RCS file: t/results/value_and_macro/value_in_macro_formal_arg.pl
diff -N t/results/value_and_macro/value_in_macro_formal_arg.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value_and_macro/value_in_macro_formal_arg.pl      2 Oct 2010 
13:25:08 -0000       1.1
@@ -0,0 +1,186 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'value_in_macro_formal_arg'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'argument',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'arg',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'testvalue',
+          'type' => 'macro_name'
+        },
+        {
+          'parent' => {},
+          'text' => 'arg',
+          'type' => 'macro_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'address@hidden',
+          'type' => 'macro_arg'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'result: @emph{\\arg\\} the \\the\\ thearg \\thearg\\ with 
value address@hidden
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'arg' => 0,
+          'address@hidden' => 1
+        },
+        'macro_line' => ' testvalue { arg , address@hidden }
+',
+        'macrobody' => 'result: @emph{\\arg\\} the \\the\\ thearg \\thearg\\ 
with value address@hidden
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'result: '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'macro_arg1'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'emph',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => ' the \\the thearg \\thearg with value \\thearg'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    }
+  ]
+};
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'args'}[0]{'parent'} 
= $result_trees{'value_in_macro_formal_arg'}{'contents'}[0];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'args'}[1]{'parent'} 
= $result_trees{'value_in_macro_formal_arg'}{'contents'}[0];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[0]{'parent'} = 
$result_trees{'value_in_macro_formal_arg'};
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[1]{'parent'} = 
$result_trees{'value_in_macro_formal_arg'};
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[2]{'args'}[0]{'parent'} 
= $result_trees{'value_in_macro_formal_arg'}{'contents'}[2];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[2]{'args'}[1]{'parent'} 
= $result_trees{'value_in_macro_formal_arg'}{'contents'}[2];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[2]{'args'}[2]{'parent'} 
= $result_trees{'value_in_macro_formal_arg'}{'contents'}[2];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[2];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[2]{'parent'} = 
$result_trees{'value_in_macro_formal_arg'};
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[3]{'parent'} = 
$result_trees{'value_in_macro_formal_arg'};
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[4];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[1];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[4];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'value_in_macro_formal_arg'}{'contents'}[4];
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[4]{'parent'} = 
$result_trees{'value_in_macro_formal_arg'};
+$result_trees{'value_in_macro_formal_arg'}{'contents'}[5]{'parent'} = 
$result_trees{'value_in_macro_formal_arg'};
+
+$result_texts{'value_in_macro_formal_arg'} = '@set argument arg
+
address@hidden testvalue { arg , address@hidden }
+result: @emph{\\arg\\} the \\the\\ thearg \\thearg\\ with value address@hidden
address@hidden macro
+
+result: @emph{macro_arg1} the \\the thearg \\thearg with value \\thearg
+';
+
+$result_errors{'value_in_macro_formal_arg'} = [
+  {
+    'error_line' => ':3: Bad syntax for @macro
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'Bad syntax for @macro',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':3: Bad or empty @macro formal argument: address@hidden
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'Bad or empty @macro formal argument: address@hidden',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: \\ in macro expansion followed `the\' instead of 
parameter name or \\
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '\\ in macro expansion followed `the\' instead of parameter name 
or \\',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: \\ in macro expansion followed `thearg\' instead of 
parameter name or \\
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '\\ in macro expansion followed `thearg\' instead of parameter 
name or \\',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':7: \\ in macro expansion followed address@hidden' 
instead of parameter name or \\
+',
+    'file_name' => '',
+    'line_nr' => 7,
+    'macro' => '',
+    'text' => '\\ in macro expansion followed address@hidden' instead of 
parameter name or \\',
+    'type' => 'error'
+  }
+];
+
+



reply via email to

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