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: Sun, 03 Oct 2010 17:58:03 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/03 17:58:03

Modified files:
        tp             : TODO 
        tp/Texinfo     : Parser.pm 
        tp/t           : 50value.t 55conditionals.t 60macro.t 
Added files:
        tp/t           : 30sectioning.t 58alias.t 
        tp/t/results/alias: bad_line.pl simple.pl 
        tp/t/results/conditionals: nested_ignore.pl 
        tp/t/results/macro: implicit_quoting_one_arg.pl 
                            implicit_quoting_recursion.pl 
                            macro_in_brace_command.pl 
        tp/t/results/sectioning: node.pl sections.pl 
        tp/t/results/value: value_in_node.pl value_node_directions.pl 

Log message:
        @-command name cannot begin with -, since @- is already an @-command.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/50value.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/55conditionals.t?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/60macro.t?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/30sectioning.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/58alias.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/alias/bad_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/alias/simple.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/conditionals/nested_ignore.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/implicit_quoting_one_arg.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/implicit_quoting_recursion.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_in_brace_command.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/node.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/sections.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/value_in_node.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/value_node_directions.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- TODO        3 Oct 2010 11:51:36 -0000       1.5
+++ TODO        3 Oct 2010 17:58:02 -0000       1.6
@@ -20,3 +20,9 @@
 
 parse @sp a bit more.
 
+tests in test/macros
+glossary.texi
+
+bib-example.texi (big test)
+macro-at.texi (the macro part is already done)
+include_macro.texi

Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- Texinfo/Parser.pm   3 Oct 2010 15:29:41 -0000       1.39
+++ Texinfo/Parser.pm   3 Oct 2010 17:58:02 -0000       1.40
@@ -1218,8 +1218,9 @@
         $current = _end_block_command($self, $current, $line_nr,
                                                 $end_command);
         last unless ($line =~ /\S/);
+        # REMACRO
       } elsif ($line =~ s/^\@(["'address@hidden,\.!\?\s\*\-\^`=:\|\/\\])//o 
-               or $line =~ s/^\@([a-zA-Z][\w-]*)//o) {
+               or $line =~ s/^\@(\w[\w-]*)//o) {
         my $command = $1;
         $command = $self->{'aliases'}->{$command} 
            if (exists($self->{'aliases'}->{$command}));
@@ -1429,6 +1430,7 @@
           } elsif ($block_commands{$command} eq 'conditional') {
             my $ifvalue_true = 0;
             if ($command eq 'ifclear' or $command eq 'ifset') {
+              # REVALUE
               if ($line =~ /^\s+([\w\-]+)/) {
                 my $name = $1;
                 if ((exists($self->{'values'}->{$name}) and $command eq 
'ifset')
@@ -1987,8 +1989,9 @@
         my $arg_expanded = tree_to_texi ($arg);
         $result .= ' '.$arg_expanded;
      }
-  } elsif ($block_commands{$cmdname}
-            and $block_commands{$cmdname} ne 'raw'
+  } elsif ((($block_commands{$cmdname}
+              and $block_commands{$cmdname} ne 'raw')
+                or $cmdname eq 'node')
             and defined($cmd->{'args'})) {
     die "bad args type (".ref($cmd->{'args'}).") $cmd->{'args'}\n"
       if (ref($cmd->{'args'}) ne 'ARRAY');
@@ -2084,6 +2087,7 @@
 
 
   if ($command eq 'set') {
+    # REVALUE
     if ($line =~ /^\s+([\w\-]+)\s*(.*?)\s*$/) {
       my $name = $1;
       my $arg = $2;
@@ -2097,6 +2101,7 @@
     }
     $line = '';
   } elsif ($command eq 'clear') {
+    # REVALUE
     if ($line =~ /^\s+([\w\-]+)/) {
       $args = [$1];
       delete $self->{'values'}->{$1};
@@ -2108,7 +2113,8 @@
     }
     $line = '';
   } elsif ($command eq 'unmacro') {
-    if ($line =~ /^\s+([\w\-]+)/) {
+    # REMACRO
+    if ($line =~ /^\s+(\w[\w\-]*)/) {
       $args = [$1];
       delete $self->{'macros'}->{$1};
       print STDERR "UNMACRO $1\n" if ($self->{'debug'});
@@ -2118,7 +2124,8 @@
     }
     $line = '';
   } elsif ($command eq 'clickstyle') {
-    if ($line =~ s/^\s+@(address@hidden)({})?\s*//) {
+    # REMACRO
+    if ($line =~ s/^\s+@(\w[\w\-]*)({})?\s*//) {
       $args = ['@'.$1];
       _line_warn ($self, sprintf($self->__("Remaining argument on 
address@hidden line: %s"), $command, $line), $line_nr) if ($line);
     } else {
@@ -2162,7 +2169,22 @@
   my $command = $line_command->{'cmdname'};
   my $arg = $line_command->{'args'}->[0];
 
-  print STDERR "MISC ARGS address@hidden" if ($self->{'debug'});
+  if ($self->{'debug'}) {
+    print STDERR "MISC ARGS address@hidden";
+    if (@{$arg->{'contents'}}) {
+      my $idx = 0;
+      foreach my $content (@{$arg->{'contents'}}) {
+        my $name = '';
+        $name = '@' . $content->{'cmdname'} if ($content->{'cmdname'});
+        my $type = ', t: ';
+        $type .= $content->{'type'} if ($content->{'type'});
+        my $text = ', ';
+        $type .= $content->{'text'} if ($content->{'text'});
+        print STDERR "   -> $idx $name $type $text\n";
+        $idx++;
+      }
+    }
+  }
 
   if (! @{$arg->{'contents'}} 
        or ($arg->{'contents'}->[0]->{'cmdname'} 
@@ -2175,10 +2197,10 @@
 
   if (@{$arg->{'contents'}} > 2 or (@{$arg->{'contents'}} == 2
          and (!$arg->{'contents'}->[1]->{'cmdname'} 
-              or $arg->{'contents'}->[1]->{'cmdname'} ne 'c' 
-              or $arg->{'contents'}->[1]->{'cmdname'} ne 'comment'))
+              or ($arg->{'contents'}->[1]->{'cmdname'} ne 'c' 
+                  and $arg->{'contents'}->[1]->{'cmdname'} ne 'comment')))
          or (!defined($arg->{'contents'}->[0]->{'text'}))) {
-    _line_error ($self, sprintf($self->__("Bad argument to address@hidden"),
+    _line_error ($self, sprintf($self->__("Bad argument to address@hidden"),
        $command), $line_nr);
   }
   return undef if (!defined($arg->{'contents'}->[0]->{'text'}));
@@ -2186,16 +2208,18 @@
   my $line = $arg->{'contents'}->[0]->{'text'};  
 
   if ($command eq 'alias') {
-    if ($line =~ s/^([\w-]+)(\s*=\s*)([\w-]+)(\s*)//) {
+    # REMACRO
+    if ($line =~ s/^(\w[\w-]*)(\s*=\s*)(\w[\w-]*)(\s*)//) {
       $self->{'aliases'}->{$1} = $3;
-      $args = [$2, $4];
+      $args = [$1, $3];
     } else {
       _line_error ($self, sprintf($self->
                               __("Bad argument to address@hidden"), $command), 
$line_nr);
     }
 
   } elsif ($command eq 'definfoenclose') {
-    if ($line =~ s/^([\w\-]+)\s*,\s*([^\s]+)\s*,\s*([^\s]+)//) {
+    # REMACRO
+    if ($line =~ s/^(\w[\w\-]*)\s*,\s*([^\s,]+)\s*,\s*([^\s,]+)//) {
       $args = [$1, $2, $3 ];
       $self->{'definfoenclose'}->{$1} = [ $2, $3 ];
       print STDERR "DEFINFOENCLOSE address@hidden: $2, $3\n" if 
($self->{'debug'});
@@ -2204,7 +2228,8 @@
                               __("Bad argument to address@hidden"), $command), 
$line_nr);
     }
   } elsif ($command eq 'defindex' || $command eq 'defcodeindex') {
-    if ($line =~ /^(\w+)\s*/) {
+    # REMACRO
+    if ($line =~ /^(\w[\w\-]*)\s*/) {
       my $name = $1;
       if ($forbidden_index_name{$name}) {
         _line_error($self, sprintf($self->
@@ -2218,7 +2243,8 @@
                    __("Bad argument to address@hidden: %s"), $command, $line), 
$line_nr);
     }
   } elsif ($command eq 'synindex' || $command eq 'syncodeindex') {
-    if ($line =~ /^(\w+)\s+(\w+)/) {
+    # REMACRO
+    if ($line =~ /^(\w[\w\-]*)\s+(\w[\w\-]*)/) {
       my $index_from = $1;
       my $index_to = $2;
       _line_error ($self, sprintf($self->__("Unknown from index `%s' in 
address@hidden"), $index_from, $command), $line_nr)

Index: t/50value.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/50value.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/50value.t 2 Oct 2010 13:25:08 -0000       1.3
+++ t/50value.t 3 Oct 2010 17:58:03 -0000       1.4
@@ -28,6 +28,42 @@
 '@set myspace
 
 1 @value{myspace} 1
+'],
+['value_in_node',
+'@set node1 Node 1
+
address@hidden Top, (dir), (dir), (dir)
address@hidden Expansion in Node Names
+
address@hidden
+* @value{node1}  ::
address@hidden menu
+
address@hidden @value{node1},, Top, Top
address@hidden Chapter 1
+
address@hidden sec1 Section 1.1
+
address@hidden
+* @value{sec1}::
address@hidden menu
+
address@hidden Section 1.1, , Node 1, Node 1
+
address@hidden@value{node1}}.
+'],
+['value_node_directions',
+'@set a--foo bar
+
address@hidden Top, @value{a--foo}, (dir), (dir)
address@hidden Var @value{a--foo}
address@hidden
+
address@hidden @value{a--foo}, BarFoo, Top, (dir)
address@hidden BarFoo
+
address@hidden BarFoo, , @value{a--foo}, (dir)
address@hidden bar
 ']
 );
 

Index: t/55conditionals.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/55conditionals.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/55conditionals.t  3 Oct 2010 11:51:37 -0000       1.1
+++ t/55conditionals.t  3 Oct 2010 17:58:03 -0000       1.2
@@ -12,6 +12,22 @@
 
 @end ifset
 '],
+['nested_ignore',
+'@ignore
address@hidden
+
address@hidden ignore
+
address@hidden
address@hidden iftex
address@hidden
address@hidden ignore
+
address@hidden 
address@hidden ifclear
address@hidden
address@hidden ignore
+']
 );
 
 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.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/60macro.t 3 Oct 2010 11:51:37 -0000       1.8
+++ t/60macro.t 3 Oct 2010 17:58:03 -0000       1.9
@@ -103,6 +103,21 @@
 now, arg3
 
 }.'],
+['implicit_quoting_one_arg',
+'
address@hidden FIXME{a}
address@hidden: \a\}
address@hidden macro
+
address@hidden arguments, separated by commas, are processed here}
+'],
+['implicit_quoting_recursion',
+'@rmacro cat{a,b}
+\a\\\\b\
address@hidden rmacro
+
address@hidden@address@hidden@address@hidden@cat{na, to}, po}, co}, tu}, 
oto},tam}
+'],
 ['arg_not_closed',
 '@macro foo {arg}
 foo
@@ -228,6 +243,20 @@
 
 @address@hidden for macro2}
 '],
+['macro_in_brace_command',
+'@macro foo
+foo-expansion
address@hidden macro
+
address@hidden bar
+bar-expansion
address@hidden macro
+
address@hidden @bullet
address@hidden @address@hidden@@@bar{}},
+  also helped.
address@hidden itemize
+'],
 ['complex_argument',
 '@macro macro2{arg}
 coucou \arg\ after arg

Index: t/30sectioning.t
===================================================================
RCS file: t/30sectioning.t
diff -N t/30sectioning.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/30sectioning.t    3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,29 @@
+use strict;
+
+use Test::More;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+[ 'node',
+'
address@hidden one arg 
address@hidden one arg, two arg
address@hidden one arg, two arg, three arg
address@hidden one arg, two arg, three arg, four arg
address@hidden one arg, two arg, three arg, four arg, five arg
+
address@hidden comment @comment
+
address@hidden arg1 @comma{} arg2, @,cedilla, @strong{comma in strong,} @c 
comma , end
+'],
+['sections',
+'@chapter a chapter
+']
+);
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('sectioning', address@hidden, $arg_test_case,
+   $arg_generate, $arg_debug);
+

Index: t/58alias.t
===================================================================
RCS file: t/58alias.t
diff -N t/58alias.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/58alias.t 3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,33 @@
+use strict;
+
+use Test::More;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+[ 'simple',
+'@alias myalias = code
+
address@hidden o-ther_alias=verb @c comment
+
+Should be code: @myalias{code}
+
+Should be verb: @o-ther_alias{!verb!}
+
address@hidden @myalias
address@hidden table item (code)
address@hidden table
+'],
+['bad_line',
+'
address@hidden garbage_on_line =cmd garbage
+
address@hidden garbage_on_line =cmd @code{in code}
+']
+);
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('alias', address@hidden, $arg_test_case,
+   $arg_generate, $arg_debug);
+

Index: t/results/alias/bad_line.pl
===================================================================
RCS file: t/results/alias/bad_line.pl
diff -N t/results/alias/bad_line.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/alias/bad_line.pl 3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,117 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'bad_line'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'garbage_on_line =cmd garbage
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'alias',
+      'parent' => {},
+      'special' => {
+        'misc_args' => [
+          'garbage_on_line',
+          'cmd'
+        ]
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'garbage_on_line =cmd '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'in code'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'code',
+              'parent' => {},
+              'remaining_args' => 0
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'alias',
+      'parent' => {},
+      'special' => {
+        'misc_args' => [
+          'garbage_on_line',
+          'cmd'
+        ]
+      }
+    }
+  ]
+};
+$result_trees{'bad_line'}{'contents'}[0]{'parent'} = $result_trees{'bad_line'};
+$result_trees{'bad_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'bad_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'bad_line'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'bad_line'}{'contents'}[1];
+$result_trees{'bad_line'}{'contents'}[1]{'parent'} = $result_trees{'bad_line'};
+$result_trees{'bad_line'}{'contents'}[2]{'parent'} = $result_trees{'bad_line'};
+$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'bad_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[1];
+$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'bad_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'bad_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'bad_line'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'bad_line'}{'contents'}[3];
+$result_trees{'bad_line'}{'contents'}[3]{'parent'} = $result_trees{'bad_line'};
+
+$result_texts{'bad_line'} = '
address@hidden garbage_on_line =cmd garbage
+
address@hidden garbage_on_line =cmd @code{in code}
+';
+
+$result_errors{'bad_line'} = [
+  {
+    'error_line' => ':4: Bad argument to @alias
+',
+    'file_name' => '',
+    'line_nr' => 4,
+    'macro' => '',
+    'text' => 'Bad argument to @alias',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/alias/simple.pl
===================================================================
RCS file: t/results/alias/simple.pl
diff -N t/results/alias/simple.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/alias/simple.pl   3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,249 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'simple'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'myalias = code
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'alias',
+      'parent' => {},
+      'special' => {
+        'misc_args' => [
+          'myalias',
+          'code'
+        ]
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'o-ther_alias=verb '
+            },
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => ' comment
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'alias',
+      'parent' => {},
+      'special' => {
+        'misc_args' => [
+          'o-ther_alias',
+          'verb'
+        ]
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'Should be code: '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'code'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'code',
+          'parent' => {},
+          'remaining_args' => 0
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'Should be verb: '
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'verb',
+                  'type' => 'raw'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'verb',
+          'parent' => {},
+          'remaining_args' => 0,
+          'type' => '!'
+        },
+        {
+          'parent' => {},
+          'text' => '
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'cmdname' => 'code',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'table',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'table item (code)
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'item',
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'remaining_args' => 0
+    }
+  ]
+};
+$result_trees{'simple'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0]{'args'}[0];
+$result_trees{'simple'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[0];
+$result_trees{'simple'}{'contents'}[0]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[1]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[2]{'args'}[0];
+$result_trees{'simple'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'simple'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[2]{'args'}[0];
+$result_trees{'simple'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[2];
+$result_trees{'simple'}{'contents'}[2]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[3]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[4];
+$result_trees{'simple'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'simple'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[4]{'contents'}[1];
+$result_trees{'simple'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[4];
+$result_trees{'simple'}{'contents'}[4]{'contents'}[2]{'parent'} = 
$result_trees{'simple'}{'contents'}[4];
+$result_trees{'simple'}{'contents'}[4]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[5]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[6];
+$result_trees{'simple'}{'contents'}[6]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[6]{'contents'}[1]{'args'}[0];
+$result_trees{'simple'}{'contents'}[6]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[6]{'contents'}[1];
+$result_trees{'simple'}{'contents'}[6]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[6];
+$result_trees{'simple'}{'contents'}[6]{'contents'}[2]{'parent'} = 
$result_trees{'simple'}{'contents'}[6];
+$result_trees{'simple'}{'contents'}[6]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[7]{'parent'} = $result_trees{'simple'};
+$result_trees{'simple'}{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[8]{'args'}[0];
+$result_trees{'simple'}{'contents'}[8]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[8]{'args'}[0];
+$result_trees{'simple'}{'contents'}[8]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[8];
+$result_trees{'simple'}{'contents'}[8]{'contents'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[8];
+$result_trees{'simple'}{'contents'}[8]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'simple'}{'contents'}[8]{'contents'}[1]{'args'}[0];
+$result_trees{'simple'}{'contents'}[8]{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'simple'}{'contents'}[8]{'contents'}[1];
+$result_trees{'simple'}{'contents'}[8]{'contents'}[1]{'parent'} = 
$result_trees{'simple'}{'contents'}[8];
+$result_trees{'simple'}{'contents'}[8]{'parent'} = $result_trees{'simple'};
+
+$result_texts{'simple'} = '@alias myalias = code
+
address@hidden o-ther_alias=verb @c comment
+
+Should be code: @code{code}
+
+Should be verb: @verb{!verb!}
+
address@hidden @code
address@hidden table item (code)
address@hidden table
+';
+
+$result_errors{'simple'} = [];
+
+

Index: t/results/conditionals/nested_ignore.pl
===================================================================
RCS file: t/results/conditionals/nested_ignore.pl
diff -N t/results/conditionals/nested_ignore.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/conditionals/nested_ignore.pl     3 Oct 2010 17:58:03 -0000       
1.1
@@ -0,0 +1,103 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'nested_ignore'} = {
+  'contents' => [
+    {
+      'cmdname' => 'ignore',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '@ignore
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'ignore',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '@end iftex
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '@ifinfo
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'ignore',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '@end ifclear
+',
+          'type' => 'raw'
+        },
+        {
+          'parent' => {},
+          'text' => '@ifclear
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[0];
+$result_trees{'nested_ignore'}{'contents'}[0]{'parent'} = 
$result_trees{'nested_ignore'};
+$result_trees{'nested_ignore'}{'contents'}[1]{'parent'} = 
$result_trees{'nested_ignore'};
+$result_trees{'nested_ignore'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[2];
+$result_trees{'nested_ignore'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[2];
+$result_trees{'nested_ignore'}{'contents'}[2]{'parent'} = 
$result_trees{'nested_ignore'};
+$result_trees{'nested_ignore'}{'contents'}[3]{'parent'} = 
$result_trees{'nested_ignore'};
+$result_trees{'nested_ignore'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'nested_ignore'}{'contents'}[4];
+$result_trees{'nested_ignore'}{'contents'}[4]{'parent'} = 
$result_trees{'nested_ignore'};
+
+$result_texts{'nested_ignore'} = '@ignore
address@hidden
+
address@hidden ignore
+
address@hidden
address@hidden iftex
address@hidden
address@hidden ignore
+
address@hidden
address@hidden ifclear
address@hidden
address@hidden ignore
+';
+
+$result_errors{'nested_ignore'} = [];
+
+

Index: t/results/macro/implicit_quoting_one_arg.pl
===================================================================
RCS file: t/results/macro/implicit_quoting_one_arg.pl
diff -N t/results/macro/implicit_quoting_one_arg.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/implicit_quoting_one_arg.pl 3 Oct 2010 17:58:03 -0000       
1.1
@@ -0,0 +1,103 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'implicit_quoting_one_arg'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'FIXME',
+          'type' => 'macro_name'
+        },
+        {
+          'parent' => {},
+          'text' => 'a',
+          'type' => 'macro_arg'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '@strong{FIXME: \\a\\}
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'a' => 0
+        },
+        'macro_line' => ' FIXME{a}
+',
+        'macrobody' => '@strong{FIXME: \\a\\}
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'FIXME: Many arguments, separated by commas, are 
processed here'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'strong',
+          'parent' => {},
+          'remaining_args' => 0
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    }
+  ]
+};
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[0]{'parent'} = 
$result_trees{'implicit_quoting_one_arg'};
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[1]{'args'}[0]{'parent'} 
= $result_trees{'implicit_quoting_one_arg'}{'contents'}[1];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[1]{'args'}[1]{'parent'} 
= $result_trees{'implicit_quoting_one_arg'}{'contents'}[1];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[1];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[1]{'parent'} = 
$result_trees{'implicit_quoting_one_arg'};
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[2]{'parent'} = 
$result_trees{'implicit_quoting_one_arg'};
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'implicit_quoting_one_arg'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[3]{'contents'}[0];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'implicit_quoting_one_arg'}{'contents'}[3];
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[3]{'parent'} = 
$result_trees{'implicit_quoting_one_arg'};
+$result_trees{'implicit_quoting_one_arg'}{'contents'}[4]{'parent'} = 
$result_trees{'implicit_quoting_one_arg'};
+
+$result_texts{'implicit_quoting_one_arg'} = '
address@hidden FIXME{a}
address@hidden: \\a\\}
address@hidden macro
+
address@hidden: Many arguments, separated by commas, are processed here}
+';
+
+$result_errors{'implicit_quoting_one_arg'} = [];
+
+

Index: t/results/macro/implicit_quoting_recursion.pl
===================================================================
RCS file: t/results/macro/implicit_quoting_recursion.pl
diff -N t/results/macro/implicit_quoting_recursion.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/implicit_quoting_recursion.pl       3 Oct 2010 17:58:03 
-0000       1.1
@@ -0,0 +1,81 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'implicit_quoting_recursion'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'cat',
+          'type' => 'macro_name'
+        },
+        {
+          'parent' => {},
+          'text' => 'a',
+          'type' => 'macro_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'b',
+          'type' => 'macro_arg'
+        }
+      ],
+      'cmdname' => 'rmacro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '\\a\\\\b\\
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'args_index' => {
+          'a' => 0,
+          'b' => 1
+        },
+        'macro_line' => ' cat{a,b}
+',
+        'macrobody' => '\\a\\\\b\\
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'natopocotuototam
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[0];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[0]{'parent'} = 
$result_trees{'implicit_quoting_recursion'};
+$result_trees{'implicit_quoting_recursion'}{'contents'}[1]{'parent'} = 
$result_trees{'implicit_quoting_recursion'};
+$result_trees{'implicit_quoting_recursion'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'implicit_quoting_recursion'}{'contents'}[2];
+$result_trees{'implicit_quoting_recursion'}{'contents'}[2]{'parent'} = 
$result_trees{'implicit_quoting_recursion'};
+
+$result_texts{'implicit_quoting_recursion'} = '@rmacro cat{a,b}
+\\a\\\\b\\
address@hidden rmacro
+
+natopocotuototam
+';
+
+$result_errors{'implicit_quoting_recursion'} = [];
+
+

Index: t/results/macro/macro_in_brace_command.pl
===================================================================
RCS file: t/results/macro/macro_in_brace_command.pl
diff -N t/results/macro/macro_in_brace_command.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/macro/macro_in_brace_command.pl   3 Oct 2010 17:58:03 -0000       
1.1
@@ -0,0 +1,185 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_in_brace_command'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'foo',
+          'type' => 'macro_name'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'foo-expansion
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'macro_line' => ' foo
+',
+        'macrobody' => 'foo-expansion
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'bar',
+          'type' => 'macro_name'
+        }
+      ],
+      'cmdname' => 'macro',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'bar-expansion
+',
+          'type' => 'raw'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'macro_line' => ' bar
+',
+        'macrobody' => 'bar-expansion
+'
+      }
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'cmdname' => 'bullet',
+              'parent' => {},
+              'type' => 'command_as_argument'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'itemize',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'cmdname' => 'item',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'foo-expansion'
+                        },
+                        {
+                          'cmdname' => '@',
+                          'parent' => {}
+                        },
+                        {
+                          'parent' => {},
+                          'text' => 'bar-expansion'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => 'email',
+                  'parent' => {},
+                  'remaining_args' => 1
+                },
+                {
+                  'parent' => {},
+                  'text' => ',
+'
+                },
+                {
+                  'parent' => {},
+                  'text' => '  also helped.
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'paragraph'
+            }
+          ],
+          'parent' => {}
+        }
+      ],
+      'parent' => {},
+      'remaining_args' => 0
+    }
+  ]
+};
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'macro_in_brace_command'}{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[0]{'parent'} = 
$result_trees{'macro_in_brace_command'};
+$result_trees{'macro_in_brace_command'}{'contents'}[1]{'parent'} = 
$result_trees{'macro_in_brace_command'};
+$result_trees{'macro_in_brace_command'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'macro_in_brace_command'}{'contents'}[2];
+$result_trees{'macro_in_brace_command'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[2];
+$result_trees{'macro_in_brace_command'}{'contents'}[2]{'parent'} = 
$result_trees{'macro_in_brace_command'};
+$result_trees{'macro_in_brace_command'}{'contents'}[3]{'parent'} = 
$result_trees{'macro_in_brace_command'};
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[4]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[4]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'macro_in_brace_command'}{'contents'}[4];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[4];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'macro_in_brace_command'}{'contents'}[4];
+$result_trees{'macro_in_brace_command'}{'contents'}[4]{'parent'} = 
$result_trees{'macro_in_brace_command'};
+
+$result_texts{'macro_in_brace_command'} = '@macro foo
+foo-expansion
address@hidden macro
+
address@hidden bar
+bar-expansion
address@hidden macro
+
address@hidden @bullet
address@hidden @email{foo-expansion@@bar-expansion},
+  also helped.
address@hidden itemize
+';
+
+$result_errors{'macro_in_brace_command'} = [];
+
+

Index: t/results/sectioning/node.pl
===================================================================
RCS file: t/results/sectioning/node.pl
diff -N t/results/sectioning/node.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/sectioning/node.pl        3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,410 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'node'} = {
+  'contents' => [
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'one arg 
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 4
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'one arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'two arg
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 3
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'one arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'two arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'three arg
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 2
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'one arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'two arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'three arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'four arg
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'one arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'two arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'three arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'four arg'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'five arg
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 0
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'comment '
+            },
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'comment',
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 4
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'arg1 '
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'comma',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => ' arg2'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => 'c'
+                }
+              ],
+              'cmdname' => ',',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => 'edilla'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'comma in strong,'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'strong',
+              'parent' => {},
+              'remaining_args' => 0
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => ' comma , end
+',
+                  'type' => 'misc_arg'
+                }
+              ],
+              'cmdname' => 'c',
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 2
+    }
+  ]
+};
+$result_trees{'node'}{'contents'}[0]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[1]{'args'}[0];
+$result_trees{'node'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[1];
+$result_trees{'node'}{'contents'}[1]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[2]{'args'}[0];
+$result_trees{'node'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[2];
+$result_trees{'node'}{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[2]{'args'}[1];
+$result_trees{'node'}{'contents'}[2]{'args'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[2];
+$result_trees{'node'}{'contents'}[2]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[3]{'args'}[0];
+$result_trees{'node'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[3];
+$result_trees{'node'}{'contents'}[3]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[3]{'args'}[1];
+$result_trees{'node'}{'contents'}[3]{'args'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[3];
+$result_trees{'node'}{'contents'}[3]{'args'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[3]{'args'}[2];
+$result_trees{'node'}{'contents'}[3]{'args'}[2]{'parent'} = 
$result_trees{'node'}{'contents'}[3];
+$result_trees{'node'}{'contents'}[3]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[4]{'args'}[0];
+$result_trees{'node'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[4];
+$result_trees{'node'}{'contents'}[4]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[4]{'args'}[1];
+$result_trees{'node'}{'contents'}[4]{'args'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[4];
+$result_trees{'node'}{'contents'}[4]{'args'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[4]{'args'}[2];
+$result_trees{'node'}{'contents'}[4]{'args'}[2]{'parent'} = 
$result_trees{'node'}{'contents'}[4];
+$result_trees{'node'}{'contents'}[4]{'args'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[4]{'args'}[3];
+$result_trees{'node'}{'contents'}[4]{'args'}[3]{'parent'} = 
$result_trees{'node'}{'contents'}[4];
+$result_trees{'node'}{'contents'}[4]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[5]{'args'}[0];
+$result_trees{'node'}{'contents'}[5]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[5];
+$result_trees{'node'}{'contents'}[5]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[5]{'args'}[1];
+$result_trees{'node'}{'contents'}[5]{'args'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[5];
+$result_trees{'node'}{'contents'}[5]{'args'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[5]{'args'}[2];
+$result_trees{'node'}{'contents'}[5]{'args'}[2]{'parent'} = 
$result_trees{'node'}{'contents'}[5];
+$result_trees{'node'}{'contents'}[5]{'args'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[5]{'args'}[3];
+$result_trees{'node'}{'contents'}[5]{'args'}[3]{'parent'} = 
$result_trees{'node'}{'contents'}[5];
+$result_trees{'node'}{'contents'}[5]{'args'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[5]{'args'}[4];
+$result_trees{'node'}{'contents'}[5]{'args'}[4]{'parent'} = 
$result_trees{'node'}{'contents'}[5];
+$result_trees{'node'}{'contents'}[5]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[6]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[7]{'args'}[0];
+$result_trees{'node'}{'contents'}[7]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'node'}{'contents'}[7]{'args'}[0]{'contents'}[1];
+$result_trees{'node'}{'contents'}[7]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[7]{'args'}[0];
+$result_trees{'node'}{'contents'}[7]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[7];
+$result_trees{'node'}{'contents'}[7]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[8]{'parent'} = $result_trees{'node'};
+$result_trees{'node'}{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[0];
+$result_trees{'node'}{'contents'}[9]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'node'}{'contents'}[9]{'args'}[0]{'contents'}[1];
+$result_trees{'node'}{'contents'}[9]{'args'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[0];
+$result_trees{'node'}{'contents'}[9]{'args'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[0];
+$result_trees{'node'}{'contents'}[9]{'args'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[9];
+$result_trees{'node'}{'contents'}[9]{'args'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'node'}{'contents'}[9]{'args'}[1]{'contents'}[0];
+$result_trees{'node'}{'contents'}[9]{'args'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[1];
+$result_trees{'node'}{'contents'}[9]{'args'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[1];
+$result_trees{'node'}{'contents'}[9]{'args'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[9];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[0];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[2];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[2];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[2];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'node'}{'contents'}[9]{'args'}[2];
+$result_trees{'node'}{'contents'}[9]{'args'}[2]{'parent'} = 
$result_trees{'node'}{'contents'}[9];
+$result_trees{'node'}{'contents'}[9]{'parent'} = $result_trees{'node'};
+
+$result_texts{'node'} = '
address@hidden one arg 
address@hidden one arg, two arg
address@hidden one arg, two arg, three arg
address@hidden one arg, two arg, three arg, four arg
address@hidden one arg, two arg, three arg, four arg, five arg
+
address@hidden comment @comment
+
address@hidden arg1 @comma{} arg2, @,cedilla, @strong{comma in strong,} @c 
comma , end
+';
+
+$result_errors{'node'} = [];
+
+

Index: t/results/sectioning/sections.pl
===================================================================
RCS file: t/results/sectioning/sections.pl
diff -N t/results/sectioning/sections.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/sectioning/sections.pl    3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,33 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'sections'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'a chapter
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'sections'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'sections'}{'contents'}[0]{'args'}[0];
+$result_trees{'sections'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'sections'}{'contents'}[0];
+$result_trees{'sections'}{'contents'}[0]{'parent'} = $result_trees{'sections'};
+
+$result_texts{'sections'} = '@chapter a chapter
+';
+
+$result_errors{'sections'} = [];
+
+

Index: t/results/value/value_in_node.pl
===================================================================
RCS file: t/results/value/value_in_node.pl
diff -N t/results/value/value_in_node.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value/value_in_node.pl    3 Oct 2010 17:58:03 -0000       1.1
@@ -0,0 +1,442 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'value_in_node'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'node1',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'Node 1',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Expansion in Node Names
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'menu',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '* ',
+              'type' => 'menu_entry_leading_text'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'Node 1  '
+                }
+              ],
+              'parent' => {},
+              'type' => 'menu_entry_node'
+            },
+            {
+              'parent' => {},
+              'text' => '::
+',
+              'type' => 'menu_entry_separator'
+            },
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'menu_entry_description'
+            }
+          ],
+          'parent' => {},
+          'type' => 'menu_entry'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Node 1'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Chapter 1
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'sec1',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'Section 1.1',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'cmdname' => 'menu',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '* ',
+              'type' => 'menu_entry_leading_text'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'Section 1.1'
+                }
+              ],
+              'parent' => {},
+              'type' => 'menu_entry_node'
+            },
+            {
+              'parent' => {},
+              'text' => '::
+',
+              'type' => 'menu_entry_separator'
+            },
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'menu_entry_description'
+            }
+          ],
+          'parent' => {},
+          'type' => 'menu_entry'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Section 1.1'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Node 1'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Node 1
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'Node 1'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'xref',
+          'parent' => {},
+          'remaining_args' => 4
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ]
+};
+$result_trees{'value_in_node'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[0]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[1]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[2];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[2]{'args'}[1];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[1]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[2];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[2]{'args'}[2];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[2]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[2];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[2]{'args'}[3];
+$result_trees{'value_in_node'}{'contents'}[2]{'args'}[3]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[2];
+$result_trees{'value_in_node'}{'contents'}[2]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[3]{'args'}[0];
+$result_trees{'value_in_node'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[3];
+$result_trees{'value_in_node'}{'contents'}[3]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[4]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'args'}[1];
+$result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'args'}[3]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[5];
+$result_trees{'value_in_node'}{'contents'}[5]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[6]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[7]{'args'}[0];
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[7];
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[1]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[7];
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[7]{'args'}[2];
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[2]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[7];
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[7]{'args'}[3];
+$result_trees{'value_in_node'}{'contents'}[7]{'args'}[3]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[7];
+$result_trees{'value_in_node'}{'contents'}[7]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[8]{'args'}[0];
+$result_trees{'value_in_node'}{'contents'}[8]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[8];
+$result_trees{'value_in_node'}{'contents'}[8]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[9]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[10]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[10];
+$result_trees{'value_in_node'}{'contents'}[10]{'args'}[1]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[10];
+$result_trees{'value_in_node'}{'contents'}[10]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[11]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'args'}[1];
+$result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'args'}[3]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[12]{'contents'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[12];
+$result_trees{'value_in_node'}{'contents'}[12]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[13]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[14]{'args'}[0];
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[14];
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[1]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[14];
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[14]{'args'}[2];
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[2]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[14];
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[14]{'args'}[3];
+$result_trees{'value_in_node'}{'contents'}[14]{'args'}[3]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[14];
+$result_trees{'value_in_node'}{'contents'}[14]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[15]{'parent'} = 
$result_trees{'value_in_node'};
+$result_trees{'value_in_node'}{'contents'}[16]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[16]{'contents'}[0]{'args'}[0];
+$result_trees{'value_in_node'}{'contents'}[16]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'value_in_node'}{'contents'}[16]{'contents'}[0];
+$result_trees{'value_in_node'}{'contents'}[16]{'contents'}[0]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[16];
+$result_trees{'value_in_node'}{'contents'}[16]{'contents'}[1]{'parent'} = 
$result_trees{'value_in_node'}{'contents'}[16];
+$result_trees{'value_in_node'}{'contents'}[16]{'parent'} = 
$result_trees{'value_in_node'};
+
+$result_texts{'value_in_node'} = '@set node1 Node 1
+
address@hidden Top, (dir), (dir), (dir)
address@hidden Expansion in Node Names
+
address@hidden
+* Node 1  ::
address@hidden menu
+
address@hidden Node 1, , Top, Top
address@hidden Chapter 1
+
address@hidden sec1 Section 1.1
+
address@hidden
+* Section 1.1::
address@hidden menu
+
address@hidden Section 1.1, , Node 1, Node 1
+
address@hidden 1}.
+';
+
+$result_errors{'value_in_node'} = [];
+
+

Index: t/results/value/value_node_directions.pl
===================================================================
RCS file: t/results/value/value_node_directions.pl
diff -N t/results/value/value_node_directions.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/value/value_node_directions.pl    3 Oct 2010 17:58:03 -0000       
1.1
@@ -0,0 +1,301 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'value_node_directions'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'a--foo',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => 'bar',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bar'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Var bar
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'parent' => {}
+    },
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => 'bar
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bar'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'BarFoo'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'BarFoo
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'normal_line'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'BarFoo'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bar'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => '(dir)
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'parent' => {},
+      'remaining_args' => 1
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bar
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'parent' => {}
+    }
+  ]
+};
+$result_trees{'value_node_directions'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[0];
+$result_trees{'value_node_directions'}{'contents'}[0]{'args'}[1]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[0];
+$result_trees{'value_node_directions'}{'contents'}[0]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[1]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[2]{'args'}[0];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[2];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[2]{'args'}[1];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[1]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[2];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[2]{'args'}[2];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[2]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[2];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[2]{'args'}[3];
+$result_trees{'value_node_directions'}{'contents'}[2]{'args'}[3]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[2];
+$result_trees{'value_node_directions'}{'contents'}[2]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[3]{'args'}[0];
+$result_trees{'value_node_directions'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[3];
+$result_trees{'value_node_directions'}{'contents'}[3]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[4]{'contents'}[0]{'parent'} 
= $result_trees{'value_node_directions'}{'contents'}[4];
+$result_trees{'value_node_directions'}{'contents'}[4]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[5]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[6]{'args'}[0];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[6];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[6]{'args'}[1];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[1]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[6];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[6]{'args'}[2];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[2]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[6];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[6]{'args'}[3];
+$result_trees{'value_node_directions'}{'contents'}[6]{'args'}[3]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[6];
+$result_trees{'value_node_directions'}{'contents'}[6]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[7]{'args'}[0];
+$result_trees{'value_node_directions'}{'contents'}[7]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[7];
+$result_trees{'value_node_directions'}{'contents'}[7]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[8]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[9]{'args'}[0];
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[9];
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[1]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[9];
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[9]{'args'}[2];
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[2]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[9];
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[9]{'args'}[3];
+$result_trees{'value_node_directions'}{'contents'}[9]{'args'}[3]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[9];
+$result_trees{'value_node_directions'}{'contents'}[9]{'parent'} = 
$result_trees{'value_node_directions'};
+$result_trees{'value_node_directions'}{'contents'}[10]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'value_node_directions'}{'contents'}[10]{'args'}[0];
+$result_trees{'value_node_directions'}{'contents'}[10]{'args'}[0]{'parent'} = 
$result_trees{'value_node_directions'}{'contents'}[10];
+$result_trees{'value_node_directions'}{'contents'}[10]{'parent'} = 
$result_trees{'value_node_directions'};
+
+$result_texts{'value_node_directions'} = '@set a--foo bar
+
address@hidden Top, bar, (dir), (dir)
address@hidden Var bar
+bar
+
address@hidden bar, BarFoo, Top, (dir)
address@hidden BarFoo
+
address@hidden BarFoo, , bar, (dir)
address@hidden bar
+';
+
+$result_errors{'value_node_directions'} = [];
+
+



reply via email to

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